*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--sky:#5BA3D9;--sky-light:#EAF4FC;--sky-pale:#F0F7FD;
--green:#6DC26D;--green-dark:#4A8C3F;--green-light:#E8F5E8;
--yellow:#FFD93D;--yellow-light:#FFF8E1;
--coral:#FF8A80;--coral-light:#FFF0EE;
--wood:#A67C52;--wood-light:#F5EDE4;
--white:#FFFFFF;--gray-50:#F8FAFC;--gray-100:#F1F5F9;--gray-200:#E2E8F0;--gray-300:#CBD5E1;--gray-400:#94A3B8;--gray-500:#64748B;--gray-600:#475569;--gray-700:#334155;--gray-800:#1E293B;--gray-900:#0F172A;
--radius:12px;--radius-lg:20px;--radius-full:9999px;
--shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow:0 4px 12px rgba(0,0,0,.1);--shadow-lg:0 8px 30px rgba(0,0,0,.12);
--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
--transition:0.2s ease;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--gray-800);background:var(--white);line-height:1.7;font-size:16px;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--sky);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--green-dark)}
ul{list-style:none}
h1,h2,h3,h4{line-height:1.3;color:var(--gray-900)}
h1{font-size:clamp(1.8rem,4vw,2.8rem)}
h2{font-size:clamp(1.4rem,3vw,2rem)}
h3{font-size:clamp(1.1rem,2.5vw,1.4rem)}
p{margin-bottom:1rem}
.container{max-width:1120px;margin:0 auto;padding:0 1.25rem}
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--sky);color:#fff;padding:.5rem 1rem;border-radius:var(--radius);z-index:9999;font-weight:600}
.skip-link:focus{top:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.75rem;border-radius:var(--radius-full);font-weight:600;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:all var(--transition);font-family:var(--font);text-decoration:none;line-height:1.4}
.btn--primary{background:var(--green);color:#fff;border-color:var(--green)}
.btn--primary:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow)}
.btn--secondary{background:transparent;color:var(--sky);border-color:var(--sky)}
.btn--secondary:hover{background:var(--sky);color:#fff;transform:translateY(-1px)}
.btn--coral{background:var(--coral);color:#fff;border-color:var(--coral)}
.btn--coral:hover{background:#E57373;border-color:#E57373;color:#fff}
.btn--small{padding:.5rem 1.25rem;font-size:.875rem}

/* Age Gate */
.age-gate{position:fixed;inset:0;background:rgba(15,23,42,.85);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px)}
.age-gate__box{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;max-width:420px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}
.age-gate__icon{margin-bottom:1rem}
.age-gate__box h2{margin-bottom:.75rem;color:var(--sky)}
.age-gate__box p{color:var(--gray-600);font-size:.95rem}
.age-gate__actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}

/* Header */
.site-header{background:var(--white);border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1000;padding:.75rem 0}
.site-header__inner{display:flex;align-items:center;justify-content:space-between}
.site-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--gray-800);font-size:1.1rem}
.site-logo__icon{flex-shrink:0}
.site-logo__text{font-weight:400}
.site-logo__text strong{color:var(--sky);font-weight:700}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;flex-direction:column;gap:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--gray-700);border-radius:2px;transition:all var(--transition)}
.main-nav__list{display:flex;gap:.25rem;align-items:center}
.main-nav__list a{padding:.5rem .75rem;border-radius:var(--radius);font-size:.9rem;color:var(--gray-600);font-weight:500;transition:all var(--transition)}
.main-nav__list a:hover,.main-nav__list a.active{color:var(--sky);background:var(--sky-light)}

/* Hero */
.hero{position:relative;background:linear-gradient(170deg,var(--sky-light) 0%,var(--green-light) 50%,var(--yellow-light) 100%);padding:4rem 0 3rem;overflow:hidden;min-height:480px;display:flex;align-items:center}
.hero__landscape{position:absolute;bottom:0;left:0;right:0;height:200px;pointer-events:none}
.hero__hills{position:absolute;bottom:0;left:0;right:0}
.hero__content{position:relative;z-index:2;max-width:600px}
.hero__badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--white);padding:.35rem 1rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--green-dark);margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}
.hero__title{margin-bottom:1rem;color:var(--gray-900)}
.hero__subtitle{font-size:1.15rem;color:var(--gray-600);margin-bottom:1.75rem;max-width:480px}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero__decor{position:absolute;right:2rem;top:50%;transform:translateY(-50%);z-index:1;opacity:.9}

/* Floating shapes */
.shape{position:absolute;border-radius:50%;opacity:.3;animation:float 6s ease-in-out infinite}
.shape--1{width:60px;height:60px;background:var(--yellow);top:15%;right:20%;animation-delay:0s}
.shape--2{width:40px;height:40px;background:var(--coral);top:25%;right:35%;animation-delay:1s}
.shape--3{width:80px;height:80px;background:var(--sky);bottom:30%;right:10%;animation-delay:2s;border-radius:30%}
.shape--4{width:30px;height:30px;background:var(--green);top:10%;right:45%;animation-delay:3s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}

/* Sections */
.section{padding:4rem 0}
.section--alt{background:var(--gray-50)}
.section--sky{background:var(--sky-light)}
.section--green{background:var(--green-light)}
.section__header{text-align:center;max-width:640px;margin:0 auto 2.5rem}
.section__header p{color:var(--gray-500);margin-top:.5rem;font-size:1.05rem}

/* Game cards */
.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.game-card{background:var(--white);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm);border:2px solid var(--gray-100);transition:all var(--transition);display:flex;flex-direction:column}
.game-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--sky)}
.game-card__icon{width:56px;height:56px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;flex-shrink:0}
.game-card__icon--match{background:var(--yellow-light)}
.game-card__icon--spin{background:var(--coral-light)}
.game-card__icon--memory{background:var(--sky-light)}
.game-card__icon--adventure{background:var(--green-light)}
.game-card__icon--speed{background:var(--wood-light)}
.game-card h3{margin-bottom:.5rem}
.game-card p{color:var(--gray-500);font-size:.9rem;flex:1}
.game-card__footer{margin-top:1rem;display:flex;align-items:center;justify-content:space-between}
.game-card__tag{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:var(--radius-full);background:var(--green-light);color:var(--green-dark)}

/* Feature cards */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}
.feature-card{background:var(--white);padding:1.5rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}
.feature-card__icon{width:48px;height:48px;margin:0 auto 1rem;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:var(--sky-light)}
.feature-card h3{font-size:1.05rem;margin-bottom:.5rem}
.feature-card p{color:var(--gray-500);font-size:.9rem}

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

/* Content blocks */
.content-block{max-width:800px;margin:0 auto}
.content-block h2{margin-top:2rem;margin-bottom:.75rem}
.content-block h3{margin-top:1.5rem;margin-bottom:.5rem;color:var(--sky)}
.content-block ul{margin:.75rem 0;padding-left:1.25rem;list-style:disc}
.content-block ul li{margin-bottom:.5rem;color:var(--gray-600)}
.content-block p{color:var(--gray-600)}

/* Disclaimer bar */
.disclaimer-bar{background:var(--gray-100);padding:.6rem 0;text-align:center;font-size:.8rem;color:var(--gray-500);font-weight:500}

/* FAQ */
.faq-list{max-width:720px;margin:0 auto}
.faq-item{border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden;background:var(--white)}
.faq-item__question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;font:inherit;font-weight:600;font-size:.95rem;color:var(--gray-800);text-align:left;transition:background var(--transition)}
.faq-item__question:hover{background:var(--sky-light)}
.faq-item__arrow{flex-shrink:0;width:20px;height:20px;transition:transform var(--transition)}
.faq-item.open .faq-item__arrow{transform:rotate(180deg)}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-item__answer{max-height:600px}
.faq-item__answer-inner{padding:0 1.25rem 1rem;color:var(--gray-600);font-size:.9rem}

/* Contact form */
.contact-form{max-width:560px;margin:0 auto;background:var(--white);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:var(--gray-700)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.7rem 1rem;border:2px solid var(--gray-200);border-radius:var(--radius);font:inherit;font-size:.95rem;transition:border-color var(--transition);background:var(--white)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--sky)}
.form-group textarea{resize:vertical;min-height:120px}

/* Game page layout */
.game-page{padding:2rem 0}
.game-page__header{text-align:center;margin-bottom:2rem}
.game-page__header h1{margin-bottom:.5rem}
.game-page__header p{color:var(--gray-500)}
.game-area{max-width:640px;margin:0 auto;background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:2px solid var(--gray-100)}
.game-area__controls{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.game-area__scoreboard{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.score-item{text-align:center;background:var(--sky-light);padding:.5rem 1.25rem;border-radius:var(--radius);min-width:80px}
.score-item__label{font-size:.7rem;text-transform:uppercase;font-weight:700;color:var(--gray-400);letter-spacing:.05em}
.score-item__value{font-size:1.4rem;font-weight:700;color:var(--sky)}
.game-area__board{display:flex;flex-direction:column;align-items:center;gap:1rem;min-height:200px}
.game-area__instructions{margin-top:1.5rem;padding:1rem;background:var(--yellow-light);border-radius:var(--radius);font-size:.9rem;color:var(--gray-600)}
.game-area__instructions h3{font-size:1rem;margin-bottom:.5rem;color:var(--wood)}
.game-area__instructions ul{padding-left:1.25rem;list-style:disc}
.game-area__instructions ul li{margin-bottom:.25rem}

/* Game-specific */
.match-symbols{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin:1rem 0}
.match-symbol{width:64px;height:64px;border-radius:var(--radius);border:3px solid var(--gray-200);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:2rem;cursor:pointer;transition:all var(--transition);user-select:none}
.match-symbol:hover{border-color:var(--sky);transform:scale(1.05)}
.match-symbol.selected{border-color:var(--green);background:var(--green-light)}
.match-symbol.matched{border-color:var(--yellow);background:var(--yellow-light);animation:pulse .4s}
.match-symbol.wrong{border-color:var(--coral);background:var(--coral-light);animation:shake .4s}

.spin-wheel{width:260px;height:260px;border-radius:50%;border:6px solid var(--wood);position:relative;margin:1rem auto;transition:transform 4s cubic-bezier(.17,.67,.12,.99);overflow:hidden}
.spin-wheel__segment{position:absolute;width:50%;height:50%;transform-origin:100% 100%}
.spin-pointer{width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:24px solid var(--coral);margin:0 auto -6px;position:relative;z-index:2}

.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;max-width:320px;margin:1rem auto}
.memory-card{aspect-ratio:1;border-radius:var(--radius);background:#87CEEB;display:flex;align-items:center;justify-content:center;font-size:1.8rem;cursor:pointer;transition:all .3s;border:2px solid var(--sky);user-select:none;position:relative}
.memory-card__back,.memory-card__front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:inherit}
.memory-card__back{background:#87CEEB;color:var(--gray-600);font-weight:700;font-size:1.5rem}
.memory-card__front{display:none;background:var(--white)}
.memory-card.flipped .memory-card__back,.memory-card.matched .memory-card__back{display:none}
.memory-card.flipped .memory-card__front,.memory-card.matched .memory-card__front{display:flex}
.memory-card.flipped,.memory-card.matched{background:var(--white);border-color:var(--green)}
.memory-card.matched{opacity:.7;cursor:default}
.memory-card:not(.flipped):not(.matched):hover{background:#87CEEB;transform:scale(1.05)}

.tap-area{width:200px;height:200px;border-radius:50%;background:var(--coral);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;font-weight:700;color:#fff;transition:all .1s;user-select:none;margin:1rem auto}
.tap-area:active{transform:scale(.95);background:var(--coral)}
.tap-area.active{background:var(--green);animation:pulse .3s}

.adventure-choices{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:1rem 0}
.adventure-choice{width:72px;height:72px;border-radius:var(--radius-lg);border:3px solid var(--gray-200);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:2.2rem;cursor:pointer;transition:all var(--transition);user-select:none}
.adventure-choice:hover{border-color:var(--green);transform:translateY(-2px)}
.adventure-choice.selected{border-color:var(--green);background:var(--green-light)}

.result-display{text-align:center;padding:1rem;border-radius:var(--radius);margin:1rem 0;font-weight:600;font-size:1.1rem}
.result-display--win{background:var(--green-light);color:var(--green-dark)}
.result-display--lose{background:var(--coral-light);color:#C62828}
.result-display--info{background:var(--sky-light);color:var(--sky)}

@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* Page hero small */
.page-hero{background:linear-gradient(170deg,var(--sky-light),var(--green-light));padding:3rem 0 2.5rem;text-align:center}
.page-hero h1{margin-bottom:.5rem}
.page-hero p{color:var(--gray-500);max-width:540px;margin:0 auto}

/* CTA banner */
.cta-banner{text-align:center;padding:3rem 1rem;background:linear-gradient(135deg,var(--sky-light),var(--yellow-light));border-radius:var(--radius-lg);margin:2rem 0}
.cta-banner h2{margin-bottom:.75rem}
.cta-banner p{color:var(--gray-500);margin-bottom:1.5rem}

/* Footer */
.site-footer{background:var(--gray-900);color:var(--gray-300);padding:3rem 0 1.5rem;margin-top:3rem}
.site-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
.site-footer__brand p{font-size:.9rem;margin-top:.75rem;color:var(--gray-400)}
.site-footer__links h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);margin-bottom:.75rem}
.site-footer__links a{color:var(--gray-300);display:block;padding:.2rem 0;font-size:.9rem}
.site-footer__links a:hover{color:var(--yellow)}
.site-footer__disclaimer{border-top:1px solid var(--gray-700);padding-top:1.25rem;text-align:center;font-size:.8rem;color:var(--gray-400);margin-bottom:1rem}
.site-footer__disclaimer strong{color:var(--coral)}
.site-footer__bottom{text-align:center;font-size:.8rem;color:var(--gray-500)}

/* Streak badge */
.streak-badge{display:inline-flex;align-items:center;gap:.3rem;background:var(--yellow-light);color:var(--wood);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:700}

/* Responsive */
@media(max-width:768px){
.nav-toggle{display:flex}
.main-nav{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--white);box-shadow:var(--shadow-lg);transition:right .3s;z-index:9999;padding:4rem 1.5rem 2rem;overflow-y:auto}
.main-nav.open{right:0}
.main-nav__list{flex-direction:column;gap:0}
.main-nav__list a{padding:.75rem 1rem;font-size:1rem;display:block}
.site-footer__grid{grid-template-columns:1fr 1fr;gap:1.5rem}
.hero{min-height:auto;padding:3rem 0 2rem}
.hero__decor{display:none}
.game-grid{grid-template-columns:1fr}
.feature-grid{grid-template-columns:1fr 1fr}
.memory-grid{grid-template-columns:repeat(4,1fr);max-width:260px}
.spin-wheel{width:200px;height:200px}
}
@media(max-width:480px){
.site-footer__grid{grid-template-columns:1fr}
.feature-grid{grid-template-columns:1fr}
.hero__actions{flex-direction:column;align-items:flex-start}
.game-area{padding:1.25rem}
.match-symbol{width:52px;height:52px;font-size:1.5rem}
.adventure-choice{width:60px;height:60px;font-size:1.8rem}
}
