/* kid.css v1 (lane KD). Scoped under body.kid. Contract: master plan 2.7 and 3x.
   Tiers: body.kid-young (ages 4 to 8) and body.kid-older (8 to 14). A .k-young block inside an older page gets young sizing.
   Colour pairs are checked by lanes/kd/contrast.mjs. White on red is never used for body text. Yellow is never text on white. */
@font-face {
  font-family: "Andika";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/andika-400-latin.woff2) format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: "Andika";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/andika-700-latin.woff2) format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+2000-206F, U+20AC, U+2122;
}

body.kid {
  --k-red: #d6453c;
  --k-yellow: #f2c230;
  --k-blue: #2d5bd7;
  --k-green: #257a4e;
  --k-leaf: #4caf63;
  --k-leaf2: #6fcf85;
  --k-cream: #fff7ed;
  --k-ink: #121212;
  --k-white: #fff;
  --k-blue-soft: #e9eefc;
  --k-green-soft: #e3f3ea;
  --k-yellow-soft: #fdf4d6;
  --k-red-soft: #fbe7e5;
  --k-blue-ink: #1f3b8c;
  --k-red-ink: #8e2b25;
  --k-yellow-ink: #6b5000;
  --k-green-ink: #1b5a39;
  --k-muted: #5c5c5c;
  --k-star: #8a5f00;
  --k-line: #8c8c86;
  --k-sky: #dce7ff;
  --k-mint: #d8f1e1;
  --k-peach: #ffe3d0;
  --k-sun: #ffefb3;
  --k-lilac: #e8e1fa;
  --k-read: "Andika", "Atkinson Hyperlegible", Figtree, system-ui, sans-serif;
  --k-r: 22px;
  --k-target: 56px;
  --k-choice: 64px;
  --k-gap: 12px;
  --k-shadow: 0 6px 0 rgba(18, 18, 18, 0.16);
  background: var(--k-cream);
}
body.kid-older {
  --k-r: 16px;
  --k-target: 48px;
  --k-choice: 56px;
  --k-gap: 10px;
}
body.kid-young main {
  font-family: var(--k-read);
  font-size: 22px;
  line-height: 1.6;
}
body.kid-older main {
  font-family: var(--sans);
  font-size: 19px;
  line-height: 1.6;
}
body.kid main {
  background: var(--k-cream);
  color: var(--k-ink);
}
body.kid main section {
  padding: 0;
  border-top: 0;
  background: none;
}
body.kid main h1,
body.kid main h2,
body.kid main h3 {
  font-family: var(--display);
  letter-spacing: -0.02em;
}
body.kid-young main h1 {
  font-size: clamp(2.4rem, 9vw, 3.6rem);
  line-height: 1.04;
}
body.kid-young main h2 {
  font-size: clamp(1.8rem, 6vw, 2.4rem);
}
body.kid-older main h1 {
  font-size: clamp(2.1rem, 6vw, 3rem);
}
body.kid main .lede {
  font-family: inherit;
  font-size: 1.1em;
  color: var(--k-ink);
  max-width: 40em;
}
body.kid .crumbs {
  font-family: var(--sans);
  font-size: 16px;
}
body.kid main a {
  color: var(--k-blue);
}
body.kid main a:hover {
  color: var(--k-blue-ink);
}

/* Focus: 3px ring with a white halo so it shows on blue, yellow and cream */
body.kid :focus-visible {
  outline: 3px solid var(--k-blue);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff;
  border-radius: inherit;
}
body.kid .k-btn.blue:focus-visible,
body.kid .sz-btn.main:focus-visible {
  outline-color: var(--k-ink);
}

/* Wavy divider (inline SVG as background) */
.k-wave {
  height: 28px;
  margin: 34px 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='28' viewBox='0 0 80 28'%3E%3Cpath d='M0 14 Q20 -2 40 14 T80 14' fill='none' stroke='%234caf63' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E")
    repeat-x center/80px 28px;
}

/* ---------- Sprout (placeholder mascot, CSS background SVG) ---------- */
.k-sprout {
  display: inline-block;
  flex: none;
  width: 112px;
  height: 112px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cellipse cx='60' cy='112' rx='34' ry='6' fill='%23e6d5be'/%3E%3Cpath d='M60 36 C60 26 62 20 66 14' fill='none' stroke='%232e7d43' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M62 24 C46 24 34 16 30 4 C48 6 60 14 62 24Z' fill='%234caf63' stroke='%23257a4e' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M64 20 C78 22 90 14 94 2 C76 4 66 10 64 20Z' fill='%236fcf85' stroke='%23257a4e' stroke-width='3' stroke-linejoin='round'/%3E%3Ccircle cx='60' cy='72' r='38' fill='%236fcf85' stroke='%23257a4e' stroke-width='4'/%3E%3Cellipse cx='47' cy='68' rx='5' ry='7' fill='%23121212'/%3E%3Cellipse cx='73' cy='68' rx='5' ry='7' fill='%23121212'/%3E%3Ccircle cx='49' cy='65' r='2' fill='%23fff'/%3E%3Ccircle cx='75' cy='65' r='2' fill='%23fff'/%3E%3Ccircle cx='38' cy='80' r='6' fill='%23ffb3a7' opacity='.8'/%3E%3Ccircle cx='82' cy='80' r='6' fill='%23ffb3a7' opacity='.8'/%3E%3Cpath d='M50 84 Q60 94 70 84' fill='none' stroke='%23121212' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E")
    no-repeat center/contain;
}
.k-sprout.happy {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cellipse cx='60' cy='112' rx='34' ry='6' fill='%23e6d5be'/%3E%3Cpath d='M60 36 C60 26 62 20 66 14' fill='none' stroke='%232e7d43' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M62 24 C46 24 34 16 30 4 C48 6 60 14 62 24Z' fill='%234caf63' stroke='%23257a4e' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M64 20 C78 22 90 14 94 2 C76 4 66 10 64 20Z' fill='%236fcf85' stroke='%23257a4e' stroke-width='3' stroke-linejoin='round'/%3E%3Ccircle cx='60' cy='72' r='38' fill='%236fcf85' stroke='%23257a4e' stroke-width='4'/%3E%3Cpath d='M40 68 Q47 58 54 68' fill='none' stroke='%23121212' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M66 68 Q73 58 80 68' fill='none' stroke='%23121212' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='36' cy='80' r='6' fill='%23ffb3a7' opacity='.8'/%3E%3Ccircle cx='84' cy='80' r='6' fill='%23ffb3a7' opacity='.8'/%3E%3Cpath d='M46 80 Q60 102 74 80Z' fill='%23121212' stroke='%23121212' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M52 86 Q60 92 68 86' fill='%23ff8a80'/%3E%3C/svg%3E");
}
.k-sprout.big {
  width: 150px;
  height: 150px;
}

/* ---------- hero with instruction ---------- */
.k-hero {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 18px 0 22px;
  padding: 14px 18px 14px 12px;
  background: #fff;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  box-shadow: var(--k-shadow);
}
.k-hero .k-bubble {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  min-width: 0;
}
.k-hero .k-bubble p {
  margin: 0;
  font-weight: 700;
  flex: 1;
}
body.kid-older .k-hero {
  padding: 10px 14px;
}
body.kid-older .k-hero .k-sprout {
  display: none;
}
body.kid-older .k-hero .k-bubble p {
  font-weight: 600;
}
@media (max-width: 560px) {
  .k-hero {
    flex-wrap: wrap;
    gap: 10px;
  }
  .k-hero .k-sprout {
    width: 84px;
    height: 84px;
  }
  .k-hero .k-bubble {
    flex-basis: 100%;
  }
}

/* ---------- speaker button ---------- */
.k-say {
  all: unset;
  box-sizing: border-box;
  flex: none;
  display: inline-grid;
  place-items: center;
  width: var(--k-target);
  height: var(--k-target);
  min-width: 56px;
  min-height: 56px;
  border-radius: 50%;
  background: var(--k-blue);
  color: #fff;
  border: 3px solid var(--k-ink);
  box-shadow: 0 4px 0 rgba(18, 18, 18, 0.25);
  cursor: pointer;
  position: relative;
}
body.kid-older .k-say {
  min-width: 48px;
  min-height: 48px;
  width: 48px;
  height: 48px;
}
.k-say::before {
  content: "";
  width: 60%;
  height: 60%;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H3v6h3l5 4z' fill='black'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M18.5 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E")
    center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H3v6h3l5 4z' fill='black'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M18.5 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E")
    center/contain no-repeat;
}
.k-say:hover {
  background: var(--k-blue-ink);
}
.k-say:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(18, 18, 18, 0.25);
}
.k-say.sm {
  min-width: 56px;
  min-height: 56px;
}

/* ---------- buttons ---------- */
.k-btn {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: var(--k-target);
  padding: 10px 26px;
  border-radius: 999px;
  border: 3px solid var(--k-ink);
  background: var(--k-yellow);
  color: var(--k-ink);
  font: 800 1em/1.2 var(--k-read);
  text-align: center;
  cursor: pointer;
  box-shadow: var(--k-shadow);
  text-decoration: none;
}
body.kid-older .k-btn {
  font-family: var(--sans);
}
body.kid main a.k-btn {
  color: var(--k-ink);
}
.k-btn:hover {
  background: #ffd54f;
}
.k-btn.blue,
body.kid main a.k-btn.blue {
  background: var(--k-blue);
  color: #fff;
}
.k-btn.blue:hover {
  background: var(--k-blue-ink);
}
.k-btn.green,
body.kid main a.k-btn.green {
  background: var(--k-green);
  color: #fff;
}
.k-btn.ghost {
  background: #fff;
}
.k-btn:active {
  transform: translateY(3px);
  box-shadow: 0 3px 0 rgba(18, 18, 18, 0.16);
}
.k-btn[disabled],
.k-btn[aria-disabled="true"] {
  opacity: 0.5;
  cursor: default;
}
.k-btn.round {
  width: var(--k-target);
  padding: 0;
}
.k-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--k-gap);
  align-items: center;
  margin: 16px 0;
}

/* ---------- pictures (placeholder tiles) ---------- */
.k-pic {
  display: grid;
  place-items: center;
  flex: none;
  width: 100%;
  aspect-ratio: 1/1;
  max-width: 160px;
  border-radius: 50%;
  background: var(--k-sun);
  overflow: hidden;
  margin: 0 auto;
}
.k-pic > svg,
.k-pic > img {
  width: 78%;
  height: 78%;
  object-fit: contain;
  display: block;
}
.k-pic > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.k-pic.ph {
  background: repeating-linear-gradient(
    45deg,
    var(--k-sky),
    var(--k-sky) 12px,
    #eef3ff 12px,
    #eef3ff 24px
  );
  border: 3px dashed var(--k-blue);
}
.k-pic.c1 {
  background: var(--k-sun);
}
.k-pic.c2 {
  background: var(--k-mint);
}
.k-pic.c3 {
  background: var(--k-sky);
}
.k-pic.c4 {
  background: var(--k-peach);
}
.k-pic.c5 {
  background: var(--k-lilac);
}
.k-label {
  display: block;
  font-weight: 800;
  text-align: center;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.k-scene {
  border-radius: var(--k-r);
  border: 3px solid var(--k-ink);
  overflow: hidden;
  background: var(--k-sky);
  aspect-ratio: 4/3;
  display: grid;
  place-items: center;
  max-width: 520px;
  margin: 12px auto;
}
.k-scene > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.k-scene.ph {
  border-style: dashed;
  border-color: var(--k-blue);
  background: repeating-linear-gradient(
    45deg,
    var(--k-sky),
    var(--k-sky) 14px,
    #eef3ff 14px,
    #eef3ff 28px
  );
}
.k-scene.ph span {
  background: #fff;
  border-radius: 999px;
  padding: 6px 16px;
  font: 700 0.8em var(--sans);
  color: var(--k-blue-ink);
  border: 2px solid var(--k-blue);
}

/* ---------- tiles (hubs) ---------- */
.k-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
  gap: 18px;
  list-style: none;
  margin: 20px 0;
  padding: 0;
}
.k-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  box-shadow: var(--k-shadow);
  overflow: hidden;
}
.k-tile-link {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  padding: 18px 14px 18px;
  text-decoration: none;
  color: var(--k-ink) !important;
  min-height: var(--k-target);
}
.k-tile-link:hover {
  background: var(--k-yellow-soft);
}
.k-tile .k-say {
  position: absolute;
  top: 10px;
  right: 10px;
}
.k-tile .k-label {
  font-size: 1.2em;
}
.k-tile small {
  display: block;
  text-align: center;
  font: 600 0.78em var(--sans);
  color: var(--k-muted);
}
.k-tile.wide {
  grid-column: 1/-1;
  flex-direction: row;
  align-items: center;
  background: var(--k-leaf2);
}
.k-tile.wide .k-tile-link {
  flex-direction: row;
  align-items: center;
  gap: 20px;
  padding: 16px 80px 16px 20px;
}
.k-tile.wide .k-pic {
  max-width: 120px;
  margin: 0;
}
.k-tile.wide .k-label {
  text-align: left;
  font-size: 1.5em;
}
.k-tile.wide .k-tile-link:hover {
  background: var(--k-leaf);
}
.k-tile .k-done {
  position: absolute;
  left: 10px;
  top: 10px;
  display: none;
  width: 44px;
  height: 44px;
}
.k-tile.is-done .k-done {
  display: block;
}
.k-tile .k-done::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--k-green)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")
    center/70% no-repeat;
  border: 3px solid var(--k-ink);
}
.k-count {
  display: inline-block;
  background: var(--k-yellow);
  border: 3px solid var(--k-ink);
  border-radius: 999px;
  padding: 0 14px;
  font: 800 0.8em/1.6 var(--sans);
  color: var(--k-ink);
}
@media (max-width: 560px) {
  .k-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .k-tile.wide .k-tile-link {
    padding-right: 76px;
    gap: 12px;
  }
  .k-tile.wide .k-pic {
    max-width: 84px;
  }
  .k-tile.wide .k-label {
    font-size: 1.2em;
  }
}

/* ---------- stars ---------- */
.k-stars {
  display: inline-block;
  width: calc(3 * 1.5em);
  height: 1.5em;
  vertical-align: middle;
  position: relative;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8l2.8 5.9 6.4.8-4.7 4.4 1.2 6.4L12 17.2 6.3 20.3l1.2-6.4L2.8 9.5l6.4-.8z' fill='%23fff' stroke='%23121212' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E")
    repeat-x left/1.5em 1.5em;
}
.k-stars::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(var(--n, 0) * 1.5em);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8l2.8 5.9 6.4.8-4.7 4.4 1.2 6.4L12 17.2 6.3 20.3l1.2-6.4L2.8 9.5l6.4-.8z' fill='%23f2c230' stroke='%23121212' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E")
    repeat-x left/1.5em 1.5em;
}
.k-stars[data-n="1"] {
  --n: 1;
}
.k-stars[data-n="2"] {
  --n: 2;
}
.k-stars[data-n="3"] {
  --n: 3;
}
.k-stars.lg {
  font-size: 1.6em;
}

/* ---------- choices ---------- */
.k-choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: var(--k-gap);
  margin: 16px 0;
}
.k-choices.words {
  grid-template-columns: 1fr;
}
.k-choice {
  all: unset;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--k-choice);
  padding: 12px;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  background: #fff;
  font: 800 1.05em/1.2 var(--k-read);
  text-align: center;
  cursor: pointer;
  box-shadow: var(--k-shadow);
}
body.kid-older .k-choice {
  font-family: var(--sans);
}
.k-choice:hover {
  background: var(--k-yellow-soft);
}
.k-choice:active {
  transform: translateY(3px);
  box-shadow: 0 3px 0 rgba(18, 18, 18, 0.16);
}
.k-choice .k-pic {
  max-width: 120px;
}
.k-choice.ok {
  background: var(--k-green-soft);
  border-color: var(--k-green);
  box-shadow: 0 0 0 4px var(--k-green);
}
.k-choice.ok::after {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--k-green)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")
    center/70% no-repeat;
}
.k-choice.try {
  background: var(--k-bg-alt, #f2efe9);
  border-style: dashed;
  border-color: var(--k-line);
  color: var(--k-muted);
}
.k-choice[aria-disabled="true"] {
  cursor: default;
}
.k-choice.toggle[aria-pressed="true"] {
  background: var(--k-yellow);
  border-color: var(--k-ink);
  box-shadow: 0 0 0 4px var(--k-ink);
}
.k-choice.toggle[aria-pressed="true"]::after {
  content: "Heard it";
  font: 800 0.72em var(--sans);
}

/* ---------- game rounds and feedback ---------- */
body.kid .k-game {
  background: #fff;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  padding: 18px;
  margin: 18px 0;
  box-shadow: var(--k-shadow);
}
.k-game > h2 {
  margin: 0 0 10px;
}
.k-dots {
  display: flex;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}
.k-dots li {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid var(--k-ink);
  background: #fff;
}
.k-dots li.now {
  background: var(--k-yellow);
}
.k-dots li.done {
  background: var(--k-green);
}
.k-prompt {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 6px 0;
}
.k-prompt p {
  margin: 0;
  font-weight: 800;
  font-size: 1.15em;
  flex: 1;
}
.k-fb {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  margin: 12px 0 0;
  padding: 6px 14px;
  border-radius: var(--k-r);
  font-weight: 800;
}
.k-fb:empty {
  display: none;
}
.k-fb.good {
  background: var(--k-green-soft);
  color: var(--k-green-ink);
  border: 3px solid var(--k-green);
}
.k-fb.try {
  background: var(--k-red-soft);
  color: var(--k-red-ink);
  border: 3px solid var(--k-red-ink);
}
.k-fb .k-sprout {
  width: 44px;
  height: 44px;
}
.k-end {
  margin-top: 18px;
  padding: 20px;
  border-radius: var(--k-r);
  background: var(--k-yellow-soft);
  border: 3px solid var(--k-ink);
  text-align: center;
}
.k-end[hidden] {
  display: none;
}
.k-end p {
  margin: 10px 0;
}
.k-count-pic {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 14px;
  margin: 8px 0;
  border-radius: var(--k-r);
  background: var(--k-sky);
  min-height: 96px;
}
.k-count-pic svg {
  width: 56px;
  height: 56px;
}

/* tell cards (rhymes, stories) */
.k-tell {
  list-style: none;
  margin: 16px 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.k-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: #fff;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  box-shadow: var(--k-shadow);
}
.k-card .k-line {
  flex: 1;
  min-width: 0;
}
.k-card .k-line p {
  margin: 0;
  font-weight: 700;
  font-size: 1.12em;
}
.k-card .k-do {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 12px;
  border-radius: 999px;
  background: var(--k-yellow-soft);
  border: 2px solid var(--k-yellow-ink);
  color: var(--k-yellow-ink);
  font: 800 0.72em/1.6 var(--sans);
}
.k-card.now {
  background: var(--k-yellow);
  box-shadow: 0 0 0 5px var(--k-ink);
}
.k-card .k-pic {
  max-width: 92px;
  margin: 0;
}
.k-card.scene {
  flex-direction: column;
  align-items: stretch;
}
.k-card.scene .k-scene {
  margin: 0 auto;
  width: 100%;
}
.k-card.scene .k-lineRow {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* ---------- stickers ---------- */
.k-stickers {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr));
  gap: 16px;
  list-style: none;
  margin: 20px 0;
  padding: 0;
}
.k-sticker {
  all: unset;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  background: #fff;
  cursor: pointer;
  text-align: center;
  font: 800 0.85em/1.2 var(--k-read);
  width: 100%;
}
.k-sticker .disc {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #fff;
  box-shadow:
    0 0 0 3px var(--k-ink),
    0 6px 0 rgba(18, 18, 18, 0.18);
  background: var(--k-sun);
}
.k-sticker .disc > svg,
.k-sticker .disc > img {
  display: block;
  width: 100%;
  height: 100%;
}
.k-sticker.locked .disc {
  filter: grayscale(1);
  opacity: 0.35;
  box-shadow: 0 0 0 3px var(--k-line);
}
.k-sticker.locked {
  border-color: var(--k-line);
  color: var(--k-muted);
  border-style: dashed;
}
.k-sticker[aria-pressed="true"] {
  background: var(--k-yellow-soft);
  box-shadow: 0 0 0 4px var(--k-ink);
}
.k-sticker-info {
  margin: 14px 0;
  padding: 14px 18px;
  border-radius: var(--k-r);
  background: var(--k-blue-soft);
  border: 3px solid var(--k-blue-ink);
  min-height: 56px;
  font-weight: 700;
}
.k-cert {
  display: none;
}

/* ---------- grown-ups (calm style) ---------- */
.k-grownups {
  margin: 44px 0 0;
  padding: 6px 20px;
  border-radius: 14px;
  background: #fff;
  border: 2px solid var(--k-line);
  font: 400 16px/1.6 var(--sans);
  color: var(--k-ink);
}
.k-grownups summary {
  cursor: pointer;
  font: 800 17px/1.2 var(--sans);
  padding: 16px 0;
  min-height: 56px;
  display: flex;
  align-items: center;
}
.k-grownups[open] summary {
  border-bottom: 1px solid var(--line);
}
.k-grownups p {
  margin: 14px 0;
}
.k-grownups .mini-cta {
  margin: 14px 0 16px;
  box-shadow: none;
}
.k-grownups a {
  color: var(--blue);
}

/* ---------- external link gate ---------- */
dialog.k-exit {
  max-width: min(92vw, 480px);
  border: 4px solid var(--k-ink);
  border-radius: var(--k-r);
  padding: 26px 24px;
  background: #fff;
  color: var(--k-ink);
  font: 600 19px/1.5 var(--sans);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
}
dialog.k-exit::backdrop {
  background: rgba(18, 18, 18, 0.55);
}
dialog.k-exit h2 {
  font-size: 1.8rem;
  margin: 0 0 10px;
}
dialog.k-exit p {
  margin: 0 0 12px;
}
dialog.k-exit .k-url {
  font: 600 15px var(--sans);
  color: var(--k-muted);
  overflow-wrap: anywhere;
}
dialog.k-exit .k-row {
  margin-bottom: 0;
}

/* ---------- mute toggle (every kid page) ---------- */
.k-mute {
  all: unset;
  box-sizing: border-box;
  position: fixed;
  left: 14px;
  bottom: 14px;
  z-index: 45;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  color: var(--k-ink);
  border: 3px solid var(--k-ink);
  box-shadow: 0 5px 0 rgba(18, 18, 18, 0.25);
  cursor: pointer;
}
.k-mute::before {
  content: "";
  width: 58%;
  height: 58%;
  background: currentColor;
  -webkit-mask: var(--k-ico) center/contain no-repeat;
  mask: var(--k-ico) center/contain no-repeat;
  --k-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V6l10-2v12' fill='none'/%3E%3Ccircle cx='6.5' cy='18' r='2.8' fill='black'/%3E%3Ccircle cx='16.5' cy='16' r='2.8' fill='black'/%3E%3C/svg%3E");
}
.k-mute[data-muted="1"] {
  background: var(--k-ink);
  color: #fff;
}
.k-mute[data-muted="1"]::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  top: 50%;
  height: 4px;
  background: var(--k-red);
  border-radius: 2px;
  transform: rotate(-45deg);
  border: 1px solid #fff;
}
.k-mute:focus-visible {
  outline-offset: 3px;
}

/* ---------- celebrations ---------- */
.k-celebrate {
  position: fixed;
  left: 50%;
  bottom: 84px;
  transform: translateX(-50%);
  z-index: 60;
  width: min(92vw, 420px);
  padding: 18px 20px 16px;
  background: #fff;
  border: 4px solid var(--k-ink);
  border-radius: var(--k-r);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
  text-align: center;
  font: 800 22px/1.3 var(--k-read);
  color: var(--k-ink);
}
.k-celebrate .k-sprout {
  width: 84px;
  height: 84px;
}
.k-celebrate .k-stars {
  font-size: 1.6rem;
  margin: 4px 0;
}
.k-celebrate p {
  margin: 4px 0 10px;
}
.k-celebrate .k-disc {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  margin: 6px auto;
  overflow: hidden;
  border: 4px solid #fff;
  box-shadow: 0 0 0 3px var(--k-ink);
}
.k-celebrate .k-disc > svg,
.k-celebrate .k-disc > img {
  display: block;
  width: 100%;
  height: 100%;
}
.k-celebrate .k-btn {
  margin-top: 4px;
}
.k-confetti {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 59;
}
.k-confetti i {
  position: absolute;
  top: -14px;
  width: 12px;
  height: 18px;
  border-radius: 3px;
  opacity: 0;
  animation: k-fall 2.2s ease-in forwards;
}
@keyframes k-fall {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0);
  }
  100% {
    opacity: 1;
    transform: translate3d(var(--dx, 0), 105vh, 0) rotate(540deg);
  }
}
@keyframes k-pop {
  0% {
    transform: scale(0.3);
    opacity: 0;
  }
  60% {
    transform: scale(1.12);
    opacity: 1;
  }
  100% {
    transform: scale(1);
  }
}
@keyframes k-wiggle {
  0%,
  100% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(-8deg);
  }
  75% {
    transform: rotate(8deg);
  }
}
@keyframes k-nudge {
  25% {
    transform: translateX(-5px);
  }
  75% {
    transform: translateX(5px);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .k-celebrate.fx .k-disc,
  .k-celebrate.fx .k-stars {
    animation: k-pop 0.5s ease-out both;
  }
  .k-celebrate.fx .k-sprout {
    animation: k-wiggle 0.7s ease-in-out 2;
  }
  .k-choice.try {
    animation: k-nudge 0.35s;
  }
  .k-tile-link,
  .k-choice,
  .k-btn {
    transition:
      background 0.15s,
      transform 0.1s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .k-confetti {
    display: none;
  }
  .k-celebrate .k-sprout,
  .k-celebrate .k-disc,
  .k-celebrate .k-stars {
    animation: none;
  }
  * {
    scroll-behavior: auto;
  }
}

/* ---------- practice zone re-skin (sz-*), both tiers ---------- */
body.kid .sz-wrap {
  max-width: 900px;
  padding-top: 22px;
}
body.kid .sz-wrap h1 {
  margin: 10px 0 8px;
}
body.kid .sz-wrap h2 {
  margin: 34px 0 14px;
}
body.kid .sz-tag {
  border-radius: 999px;
  border: 2px solid var(--k-ink);
  padding: 4px 14px;
  font: 800 0.72rem/1.6 var(--sans);
  letter-spacing: 0.06em;
}
body.kid .sz-tag.l1 {
  background: var(--k-red-soft);
  color: var(--k-red-ink);
}
body.kid .sz-tag.l2 {
  background: var(--k-yellow-soft);
  color: var(--k-yellow-ink);
}
body.kid .sz-tag.l3 {
  background: var(--k-blue-soft);
  color: var(--k-blue-ink);
}
body.kid .sz-btn {
  box-sizing: border-box;
  min-height: var(--k-target);
  padding: 10px 24px;
  border: 3px solid var(--k-ink);
  border-radius: 999px;
  background: #fff;
  color: var(--k-ink);
  font: 800 1em/1.2 var(--k-read);
  box-shadow: var(--k-shadow);
}
body.kid-older .sz-btn {
  font-family: var(--sans);
  font-size: 1em;
}
body.kid .sz-btn:hover {
  background: var(--k-yellow-soft);
  color: var(--k-ink);
}
body.kid .sz-btn.main {
  background: var(--k-blue);
  color: #fff;
}
body.kid .sz-btn.main:hover {
  background: var(--k-blue-ink);
  color: #fff;
}
body.kid .sz-btn[aria-pressed="true"] {
  background: var(--k-yellow);
  color: var(--k-ink);
}
body.kid .sz-btn[disabled] {
  opacity: 0.5;
  box-shadow: none;
}
body.kid .sz-btn:active {
  transform: translateY(3px);
  box-shadow: 0 3px 0 rgba(18, 18, 18, 0.16);
}
body.kid .sz-bar {
  gap: 12px;
}
body.kid .sz-hint {
  color: var(--k-muted);
  font-size: 0.9em;
}
body.kid .sz-text {
  background: #fff;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  box-shadow: var(--k-shadow);
  font-family: var(--k-read);
}
body.kid-young .sz-text {
  font-size: 1.32rem;
  line-height: 1.85;
  padding: 24px 26px;
}
body.kid-young .sz-text.lv1 {
  font-size: 1.45rem;
  line-height: 2;
}
body.kid-older .sz-text {
  font-size: 1.2rem;
  line-height: 1.8;
}
body.kid .sz-s.now {
  background: var(--k-yellow);
  box-shadow: 0 0 0 3px var(--k-yellow);
}
body.kid .sz-g {
  background: var(--k-blue-soft);
  color: var(--k-blue-ink);
  border-bottom: 3px dotted var(--k-blue);
  padding: 2px 3px;
}
body.kid .sz-pop {
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  max-width: 600px;
}
body.kid .sz-pop .sz-x {
  width: 56px;
  height: 56px;
  border: 3px solid var(--k-ink);
  background: #fff;
  right: 8px;
  top: 8px;
}
body.kid .sz-pop .sz-pw {
  font-family: var(--display);
}
body.kid .sz-wordbox {
  background: #fff;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
}
body.kid .sz-wordbox summary {
  min-height: 56px;
  display: flex;
  align-items: center;
}
body.kid .sz-q {
  background: #fff;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  box-shadow: var(--k-shadow);
  padding: 20px;
}
body.kid .sz-qt {
  font-size: 1.15em;
}
body.kid .sz-hear {
  box-sizing: border-box;
  width: 56px;
  height: 56px;
  min-width: 56px;
  border: 3px solid var(--k-ink);
  background: var(--k-blue);
  color: #fff;
  box-shadow: 0 4px 0 rgba(18, 18, 18, 0.25);
}
body.kid .sz-hear:hover {
  background: var(--k-blue-ink);
  border-color: var(--k-ink);
}
body.kid .sz-opts {
  gap: 10px;
}
body.kid .sz-opts button {
  box-sizing: border-box;
  min-height: var(--k-choice);
  padding: 12px 18px;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  background: #fff;
  color: var(--k-ink);
  font: 700 1.08em/1.35 var(--k-read);
  box-shadow: var(--k-shadow);
}
body.kid-older .sz-opts button {
  font-family: var(--sans);
}
body.kid .sz-opts button:hover {
  background: var(--k-yellow-soft);
  border-color: var(--k-ink);
}
body.kid .sz-opts button.ok {
  background: var(--k-green-soft);
  border-color: var(--k-green);
  box-shadow: 0 0 0 4px var(--k-green);
}
body.kid .sz-opts button.no {
  background: #f2efe9;
  border-style: dashed;
  border-color: var(--k-line);
  color: var(--k-muted);
  box-shadow: none;
}
body.kid .sz-fb {
  display: block;
  min-height: 1.5em;
  font-weight: 800;
}
body.kid .sz-fb.good {
  color: var(--k-green-ink);
}
body.kid .sz-fb.try {
  color: var(--k-red-ink);
}
body.kid .sz-result {
  background: var(--k-yellow-soft);
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  text-align: center;
}
body.kid .sz-big,
body.kid .sz-stars {
  color: var(--k-star);
}
body.kid .sz-big {
  font-size: 2.6rem;
}
body.kid .sz-chips {
  gap: 10px;
}
body.kid .sz-chips button {
  box-sizing: border-box;
  min-height: var(--k-target);
  padding: 8px 20px;
  border: 3px solid var(--k-ink);
  background: #fff;
  color: var(--k-ink);
  font: 800 1em var(--k-read);
  box-shadow: 0 4px 0 rgba(18, 18, 18, 0.16);
}
body.kid-older .sz-chips button {
  font-family: var(--sans);
}
body.kid .sz-chips button[aria-pressed="true"] {
  background: var(--k-yellow);
  color: var(--k-ink);
  box-shadow: 0 0 0 3px var(--k-ink);
}
body.kid .sz-game {
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  background: #fff;
  box-shadow: var(--k-shadow);
}
body.kid .sz-meta {
  color: var(--k-ink);
}
body.kid .sz-col h3 {
  color: var(--k-muted);
}
body.kid .sz-tile {
  box-sizing: border-box;
  min-height: var(--k-choice);
  padding: 10px 14px;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  background: #fff;
  color: var(--k-ink);
  font: 800 1.15em/1.25 var(--k-read);
  box-shadow: 0 4px 0 rgba(18, 18, 18, 0.16);
}
body.kid-older .sz-tile {
  font-family: var(--sans);
  font-size: 1.05em;
}
body.kid .sz-tile.mean {
  font-weight: 600;
  font-size: 1em;
}
body.kid .sz-tile:hover {
  background: var(--k-yellow-soft);
  border-color: var(--k-ink);
}
body.kid .sz-tile[aria-pressed="true"] {
  background: var(--k-yellow);
  border-color: var(--k-ink);
  box-shadow: 0 0 0 4px var(--k-ink);
}
body.kid .sz-tile.ok {
  background: var(--k-green-soft);
  border-color: var(--k-green);
  box-shadow: 0 0 0 3px var(--k-green);
}
body.kid .sz-tile.ok::after {
  color: var(--k-green-ink);
}
body.kid .sz-tile.no {
  border-color: var(--k-red-ink);
}
body.kid .sz-line {
  background: var(--k-sky);
  border: 3px dashed var(--k-blue);
  border-radius: var(--k-r);
}
body.kid .sz-line:empty::before {
  color: var(--k-blue-ink);
}
body.kid .sz-sentence {
  font-size: 1.35em;
}
body.kid .sz-input {
  box-sizing: border-box;
  min-height: var(--k-choice);
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  font-family: var(--k-read);
  font-size: 1.7rem;
  background: #fff;
  color: var(--k-ink);
}
body.kid .sz-input:focus {
  outline: 3px solid var(--k-blue);
  outline-offset: 3px;
}
body.kid .sz-progress {
  height: 16px;
  border-radius: 8px;
  border: 3px solid var(--k-ink);
  background: #fff;
}
body.kid .sz-progress i {
  background: var(--k-green);
}
body.kid .sz-nospeech {
  background: #fff;
  border: 2px solid var(--k-line);
}
body.kid .sz-cards {
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
}
body.kid .sz-cards a {
  border: 3px solid var(--k-ink);
  border-top-width: 12px;
  border-radius: var(--k-r);
  box-shadow: var(--k-shadow);
  min-height: 136px;
  padding: 16px 18px;
  color: var(--k-ink);
  background: #fff;
}
body.kid .sz-cards a:hover {
  background: var(--k-yellow-soft);
  color: var(--k-ink);
  border-color: var(--k-ink);
}
body.kid .sz-cards a.l1 {
  border-top-color: var(--k-red);
}
body.kid .sz-cards a.l2 {
  border-top-color: var(--k-yellow);
}
body.kid .sz-cards a.l3 {
  border-top-color: var(--k-blue);
}
body.kid .sz-cards span,
body.kid .sz-cards small {
  color: var(--k-muted);
}
body.kid .sz-cards b {
  font-size: 1.1em;
}
body.kid .jump a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: 6px 18px;
  border: 3px solid var(--k-ink);
  border-radius: 999px;
  background: #fff;
  color: var(--k-ink);
  font-weight: 800;
  text-decoration: none;
}
body.kid .jump a:hover {
  background: var(--k-yellow);
  color: var(--k-ink);
}
body.kid .sz-next .sz-btn {
  flex: 1 1 220px;
}
body.kid .sz-stars[data-sz-total] {
  font-size: 1.1rem;
}
body.kid .sz-sec {
  margin-top: 10px;
}
body.kid .sz-cert {
  border-color: var(--k-ink);
}
body.kid .sz-log th,
body.kid .sz-log td {
  border-color: var(--k-ink);
}
body.kid .sz-form input,
body.kid .sz-form select {
  border: 3px solid var(--k-ink);
  border-radius: 14px;
  min-height: 56px;
}
body.kid .mini-cta {
  border: 2px solid var(--k-line);
  border-radius: 14px;
  background: #fff;
}
body.kid .k-young-block {
  background: #fff;
  border: 3px solid var(--k-ink);
  border-radius: var(--k-r);
  padding: 20px;
  margin: 20px 0;
  box-shadow: var(--k-shadow);
  font-family: var(--k-read);
  font-size: 22px;
}
.k-young-block h2 {
  margin: 0 0 6px;
}
.k-young-block .k-tiles {
  margin-bottom: 6px;
}

/* phones: readable and no sideways scroll */
@media (max-width: 560px) {
  body.kid-young main {
    font-size: 21px;
  }
  body.kid .sz-wrap {
    padding: 18px 14px 56px;
  }
  body.kid-young .sz-text {
    padding: 18px;
    font-size: 1.22rem;
  }
  body.kid-young .sz-text.lv1 {
    font-size: 1.3rem;
  }
  body.kid .sz-tile {
    font-size: 1.05em;
    padding: 8px 10px;
  }
  body.kid .sz-game {
    padding: 14px;
  }
  .k-mute {
    left: 10px;
    bottom: 10px;
  }
  .k-celebrate {
    bottom: 76px;
    font-size: 20px;
  }
}
@media (max-width: 360px) {
  body.kid .sz-btn {
    padding: 10px 16px;
  }
}

/* print: kid furniture disappears; the sticker certificate and the existing sz print rules still work */
@media print {
  .k-mute,
  .k-celebrate,
  .k-confetti,
  .k-hero,
  .k-say,
  .k-exit,
  .k-wave,
  .k-grownups {
    display: none !important;
  }
  body.k-print-cert header.top,
  body.k-print-cert footer,
  body.k-print-cert .crumbs,
  body.k-print-cert main > *:not(.k-cert-wrap) {
    display: none !important;
  }
  body.k-print-cert .k-cert {
    display: block !important;
  }
  body.k-print-cert main {
    background: #fff;
  }
  .k-cert {
    border: 10px double #121212;
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    background: #fff;
    break-inside: avoid;
    font-family: var(--k-read);
  }
  .k-cert h2 {
    font-size: 2.4rem;
    margin: 0 0 10px;
  }
  .k-cert .nm {
    display: block;
    font: 800 2.8rem var(--display);
    border-bottom: 3px solid #121212;
    margin: 10px auto 14px;
    min-height: 1.3em;
    max-width: 90%;
  }
  .k-cert .k-cert-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 16px;
  }
  .k-cert .k-cert-grid > span {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #121212;
    display: block;
  }
  .k-cert .k-cert-grid svg,
  .k-cert .k-cert-grid img {
    width: 100%;
    height: 100%;
    display: block;
  }
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ---------- /kids/ page layout ---------- */
.k-wrap{max-width:960px;margin:0 auto;padding:22px 20px 80px}
.k-back{margin:0 0 6px}
.k-nav{justify-content:space-between;margin-top:28px}
.k-num{font:800 3.4rem/1 var(--display);color:var(--k-ink)}
.k-btn svg{flex:none}
.k-choices.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.k-choice .k-pic{max-width:110px}
.k-choice.colour .k-pic{max-width:96px}
.k-card .k-pic{width:84px;max-width:84px}
.k-sec{margin:20px 0}
.k-sec h2{margin:0 0 12px}
.k-tell{margin-top:12px}
@media (max-width:560px){.k-wrap{padding:16px 14px 90px}.k-num{font-size:2.6rem}.k-card{flex-wrap:wrap}.k-card .k-pic{width:64px}}
@media print{body.k-print-cert main .k-wrap>*:not(.k-cert-wrap){display:none!important}}

body.kid [hidden]{display:none!important}

.k-celebrate .k-sprout{width:64px;height:64px}
.k-celebrate .k-discs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0}
.k-celebrate .k-fig{margin:0;width:104px}
.k-celebrate .k-fig figcaption{font:800 .72em/1.2 var(--k-read);margin-top:4px}
.k-celebrate .k-disc{width:84px;height:84px;margin:0 auto}
.k-celebrate p{margin:2px 0 6px}

body.kid .sz-tile{min-width:var(--k-target)}
body.kid .sz-tips a{display:inline-block;padding:12px 0}
body.kid .sz-tips li{margin:2px 0}
body.kid .k-covered{display:none}

/* QA3 a11y: site .btn links keep their own colours inside kid pages (blue on ink failed at 3.2:1) */
body.kid main a.btn{color:#fff}
body.kid main a.btn.ghost,body.kid main a.btn.no{color:var(--k-ink)}
body.kid main a.btn:hover,body.kid main a.btn.ghost:hover{color:#fff}
body.kid .k-tile.wide small{color:var(--k-ink)}
/* QA3 a11y: tier target sizes for lane controls that use site styles */
body.kid-young main :is(.btn,select,summary,input[type=text],input[type=search],input[type=number]),body.kid-young .jump a{min-height:56px}
body.kid-older main :is(.btn,select,summary,input[type=text],input[type=search],input[type=number]){min-height:48px}
