:root{--violet:#6C4BFF;--blue:#2F6BFF;--sky:#BFD4FF;--lilac:#D9D0FF;--sun:#FFD84D;--ink:#1E1B3A;--bg:#F6F4FF}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:18px;line-height:1.6}
a{color:var(--violet)}
header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;gap:12px;flex-wrap:wrap}
header img{display:block;height:auto}
.back{font-weight:800;text-decoration:none;border:3px solid var(--ink);border-radius:999px;padding:8px 18px;background:#fff;box-shadow:3px 3px 0 var(--ink);color:var(--ink)}
main{max-width:820px;margin:0 auto;padding:12px 20px 56px}
h1,h2{font-family:Fredoka,system-ui,sans-serif;line-height:1.15}
h1{font-size:clamp(2rem,6vw,3rem);margin:.4em 0 .3em}
h2{font-size:1.7rem;margin:1.8em 0 .5em}
.card{background:#fff;border:3px solid var(--ink);border-radius:24px;box-shadow:6px 6px 0 var(--violet);padding:22px 24px;margin:20px 0}
.btn{display:inline-block;background:var(--violet);color:#fff;font-weight:800;text-decoration:none;border:3px solid var(--ink);border-radius:999px;padding:12px 26px;box-shadow:4px 4px 0 var(--ink);margin:6px 8px 6px 0}
.btn.alt{background:var(--sun);color:var(--ink)}
ul{padding-left:1.2em}
details{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:12px 18px;margin:10px 0}
summary{font-weight:800;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:0;list-style:none}
.grid a{display:block;background:#fff;border:3px solid var(--ink);border-radius:20px;box-shadow:5px 5px 0 var(--blue);padding:16px;text-decoration:none;color:var(--ink);font-weight:800}
.grid span{display:block;font-weight:700;color:var(--violet)}
footer{text-align:center;padding:28px 20px 40px;font-size:.95rem}
footer nav a{margin:0 8px;white-space:nowrap}