/* Aha! Brain Puzzles — website: the game's calm notebook look. Fonts are served from here (no font services). */
@font-face { font-family: 'Fredoka'; font-weight: 600; font-display: swap; src: url(fonts/fredoka-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Nunito'; font-weight: 500; font-display: swap; src: url(fonts/nunito-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Nunito'; font-weight: 800; font-display: swap; src: url(fonts/nunito-latin-800-normal.woff2) format('woff2'); }
:root {
  --bg: #e6ece7; --paper: #fdfcf8; --ink: #36404a; --ink-2: #5e6873; --line: #cbd5cd; --sage: #b8d6ae; --sage-ink: #24401f; --gold: #e9be4f;
  --display: 'Fredoka', 'Nunito', system-ui, sans-serif; --body: 'Nunito', system-ui, sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 500 18px/1.6 var(--body); -webkit-text-size-adjust: 100%; }
main { max-width: 760px; margin: 0 auto; padding: 32px 16px 48px; }
.card { background: var(--paper); border-radius: 26px; padding: 28px clamp(20px, 5vw, 44px); box-shadow: 0 1px 2px rgba(54,64,74,.06), 0 8px 24px rgba(54,64,74,.09); }
header.top { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
header.top img { width: 52px; height: 52px; border-radius: 13px; }
header.top a { color: inherit; text-decoration: none; font: 600 24px/1.2 var(--display); }
h1 { font: 600 clamp(30px, 6vw, 40px)/1.15 var(--display); margin: 0 0 6px; }
h2 { font: 600 23px/1.3 var(--display); margin: 34px 0 8px; }
h3 { font-size: 18px; font-weight: 800; margin: 22px 0 4px; }
p, li { margin: 0 0 12px; }
ul { padding-left: 22px; }
a { color: #2f6c8f; text-underline-offset: 2px; }
.muted { color: var(--ink-2); }
.note { background: #eef5ea; border-radius: 16px; padding: 14px 18px; margin: 18px 0; }
table { width: 100%; border-collapse: collapse; margin: 8px 0 16px; font-size: 16px; }
th, td { text-align: left; vertical-align: top; padding: 10px 8px; border-bottom: 1px solid var(--line); }
th { font-weight: 800; }
@media (max-width: 560px) { table, thead, tbody, tr, th, td { display: block; } thead { display: none; } td { border: 0; padding: 2px 0; } tr { border-bottom: 1px solid var(--line); padding: 10px 0; } td:first-child { font-weight: 800; } }
.hero { text-align: center; padding: 40px 20px; }
.hero img { width: 120px; height: 120px; border-radius: 28px; box-shadow: 0 8px 24px rgba(54,64,74,.12); }
.hero .tag { font-size: 21px; color: var(--ink-2); margin: 0 0 20px; }
.btn { display: inline-block; padding: 14px 24px; border-radius: 18px; background: var(--sage); color: var(--sage-ink); font: 600 20px var(--display); text-decoration: none; box-shadow: 0 3px 0 #9cc492; }
footer { text-align: center; color: var(--ink-2); font-size: 15px; margin-top: 26px; }
footer a { color: inherit; margin: 0 8px; }
