/* PuniGames — generated from tokens.json */
:root, [data-theme="night"] {
  --ground: #2a1846;
  --ground-video: #281646;
  --raised: #392360;
  --bubble: #392360;
  --ink: #fff3e8;
  --ink-muted: #bfaedb;
  --pink: #ff4f7b;
  --pink-deep: #d61f52;
  --gloss: #ffc2d1;
  --spark: #ffc23c;
  --on-pink: #2a1846;
  --link: var(--gloss);
  --focus: var(--spark);
  --lip-pink: 0 6px 0 #d61f52;
  --lip-raised: 0 8px 0 #1e1034;
}
[data-theme="cream"] {
  --ground: #fff3e8;
  --ground-video: #281646;
  --raised: #ffffff;
  --bubble: #ffd9e2;
  --ink: #2a1846;
  --ink-muted: #6a5788;
  --link: var(--pink-deep);
  --focus: #2a1846;
  --lip-raised: 0 8px 0 #f0dccb;
}
:root {
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 40px;
  --space-5: 72px;
  --radius-s: 12px;
  --radius-m: 20px;
  --radius-l: 32px;
  --radius-pill: 999px;
  --duration-squash: 120ms;
  --duration-pop: 360ms;
  --duration-stagger: 70ms;
  --duration-fade: 600ms;
  --ease-pop: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --font-brand: Fredoka, "Baloo 2", system-ui, sans-serif;
}
.display-xl { font-family: var(--font-brand); font-size: 72px; line-height: 76px; font-weight: 600; letter-spacing: -0.5px; }
.display-l { font-family: var(--font-brand); font-size: 48px; line-height: 54px; font-weight: 600; }
.title { font-family: var(--font-brand); font-size: 28px; line-height: 34px; font-weight: 600; }
.lead { font-family: var(--font-brand); font-size: 21px; line-height: 31px; font-weight: 400; }
.body { font-family: var(--font-brand); font-size: 17px; line-height: 26px; font-weight: 400; }
.label { font-family: var(--font-brand); font-size: 17px; line-height: 20px; font-weight: 600; }
.caption { font-family: var(--font-brand); font-size: 14px; line-height: 20px; font-weight: 500; }
@font-face { font-family: "Fredoka"; src: url("fonts/fredoka.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
