/* Layout: a sunny meadow — sky at the top, grass at the bottom, content on soft cloud-white cards.
   Wide single column (max 1040px) with wrapping card grids that stack at phone width. */
:root{
  --sky:#CFEBFA; --meadow:#E4F5D2; --cloud:#FFFFFF; --ink:#22314D; --ink-soft:#4A5A78;
  --tie:#2F5FB3; --daisy:#E9559A; --sun:#FFC93C; --grass:#5DAE4B; --line:rgba(34,49,77,.12);
  --shadow:rgba(34,49,77,.14);
  --display:"Baloo 2","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;
  --body:"Nunito","Segoe UI",system-ui,-apple-system,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --sky:#132544; --meadow:#15301F; --cloud:#1D2E4A; --ink:#F2F5FF; --ink-soft:#C3CDE3;
    --tie:#8FB2FF; --daisy:#FF8CC0; --sun:#FFD166; --grass:#7CCB68; --line:rgba(255,255,255,.14);
    --shadow:rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --sky:#132544; --meadow:#15301F; --cloud:#1D2E4A; --ink:#F2F5FF; --ink-soft:#C3CDE3;
  --tie:#8FB2FF; --daisy:#FF8CC0; --sun:#FFD166; --grass:#7CCB68; --line:rgba(255,255,255,.14);
  --shadow:rgba(0,0,0,.35);
}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;font-family:var(--body);font-size:1.05rem;line-height:1.55;color:var(--ink);
  background:linear-gradient(180deg,var(--sky) 0%,var(--sky) 40%,var(--meadow) 100%);
  background-color:var(--sky);min-height:100vh;
}
img{max-width:100%;display:block}
a{color:var(--tie)}
a:focus-visible,button:focus-visible{outline:4px solid var(--daisy);outline-offset:3px;border-radius:12px}
.wrap{max-width:1040px;margin:0 auto;padding-inline:16px}

/* header */
.site-head{padding-block:14px}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand img{width:52px;height:52px;border-radius:50%;border:3px solid var(--cloud);box-shadow:0 3px 0 var(--shadow)}
.brand span{font-family:var(--display);font-weight:800;font-size:1.35rem;line-height:1}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
nav a{
  display:inline-flex;align-items:center;min-height:44px;padding:4px 16px;border-radius:999px;
  font-family:var(--display);font-weight:700;font-size:1.05rem;text-decoration:none;color:var(--ink);
}
nav a:hover{background:color-mix(in srgb,var(--cloud) 60%,transparent)}
nav a[aria-current="page"]{background:var(--sun);color:#22314D;box-shadow:0 3px 0 #C99A1C}

/* type */
h1,h2,h3{font-family:var(--display);line-height:1.1;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,6vw,3.1rem);font-weight:800}
h2{font-size:clamp(1.6rem,4.4vw,2.2rem);font-weight:800}
h3{font-size:1.35rem;font-weight:800}
.lede{font-size:1.15rem;color:var(--ink-soft);max-width:60ch;margin:0}
.eyebrow{font-family:var(--display);font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--daisy)}

main{display:flex;flex-direction:column;gap:44px;padding-block:8px 48px}
section{display:flex;flex-direction:column;gap:18px}

/* hero */
.hero{position:relative;border-radius:32px;overflow:hidden;box-shadow:0 8px 0 var(--shadow);display:block}
.hero img{width:100%;aspect-ratio:16/9;object-fit:cover;max-width:100%}
.hero-copy{
  background:var(--cloud);border-radius:28px;padding:22px 24px;display:flex;flex-direction:column;gap:12px;
  margin:-56px 16px 0;position:relative;box-shadow:0 6px 0 var(--shadow)
}
@media (min-width:760px){
  .hero{overflow:visible;box-shadow:none}
  .hero img{border-radius:32px;box-shadow:0 8px 0 var(--shadow)}
  .hero-copy{margin:-90px auto 0;max-width:640px;align-items:center;text-align:center}
  .hero-copy .lede{max-width:48ch}
}

/* buttons */
.btns{display:flex;gap:10px;flex-wrap:wrap}
.hero-copy .btns{justify-content:center}
.btn{
  display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:8px 22px;border-radius:999px;border:none;
  font-family:var(--display);font-weight:800;font-size:1.15rem;text-decoration:none;cursor:pointer;
}
.btn.primary{background:var(--daisy);color:#fff;box-shadow:0 5px 0 #A83469}
.btn.soft{background:var(--sun);color:#22314D;box-shadow:0 5px 0 #C99A1C}
.btn:active{transform:translateY(3px)}

/* cards */
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{
  background:var(--cloud);border-radius:26px;overflow:hidden;box-shadow:0 6px 0 var(--shadow);
  display:flex;flex-direction:column;min-width:0;color:var(--ink);text-decoration:none
}
a.card:hover{transform:translateY(-2px)}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.card .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card p{margin:0;color:var(--ink-soft)}
.tag{align-self:flex-start;font-family:var(--display);font-weight:700;font-size:.9rem;padding:2px 12px;border-radius:999px;background:color-mix(in srgb,var(--grass) 22%,transparent);color:var(--ink)}
.card .go{margin-top:auto;font-family:var(--display);font-weight:800;color:var(--daisy)}

.game-art{aspect-ratio:16/9;display:grid;place-items:center;gap:0;background:linear-gradient(135deg,#BFE6F7,#E4F5D2);position:relative}
.game-art .pair{display:flex}
.game-art .pair img{width:108px;height:108px;border-radius:50%;background:#fff;border:4px solid #fff;box-shadow:0 4px 0 rgba(34,49,77,.15);aspect-ratio:1}
.game-art .pair img+img{margin-left:-22px}
.game-art .emoji{position:absolute;font-size:2.4rem}

/* friends strip */
.friends{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.friend{display:flex;flex-direction:column;align-items:center;gap:6px;width:96px;text-align:center}
.friend img{width:88px;height:88px;border-radius:50%;background:#fff;border:3px solid var(--cloud);box-shadow:0 3px 0 var(--shadow)}
.friend b{font-family:var(--display);font-size:1rem;line-height:1.1}

/* parents */
.panel{background:var(--cloud);border-radius:26px;padding:22px 24px;box-shadow:0 6px 0 var(--shadow);display:flex;flex-direction:column;gap:12px}
.panel p,.panel li{max-width:68ch}
.panel ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}
.soon{display:flex;flex-wrap:wrap;gap:8px}
.soon span{background:var(--cloud);border-radius:999px;padding:6px 14px;font-weight:700;box-shadow:0 3px 0 var(--shadow)}

/* footer */
.site-foot{padding-block:24px 36px;border-top:2px dashed var(--line)}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;color:var(--ink-soft);font-size:.95rem}

@media (prefers-reduced-motion: reduce){a.card:hover{transform:none}.btn:active{transform:none}}
