{"id":16058,"date":"2026-10-04T21:23:31","date_gmt":"2026-10-05T04:23:31","guid":{"rendered":"https:\/\/kinderroom.com\/home\/?p=16058"},"modified":"2026-10-04T21:41:52","modified_gmt":"2026-10-05T04:41:52","slug":"letter-assessments","status":"publish","type":"post","link":"http:\/\/kinderroom.com\/home\/letter-assessments\/","title":{"rendered":"Letter Assessments"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1144px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- =========================================================\n     KINDERROOM LETTER SOUND CHALLENGE\n     Prototype Version 2\n     Full Avada Code Block\n========================================================== -->\n\n<div id=\"kr-letter-game\">\n\n  <!-- PLAYER SCREEN -->\n  <div id=\"kr-player-screen\" class=\"kr-screen active\">\n\n    <div class=\"kr-game-logo\">\ud83c\udfae<\/div>\n\n    <h1>Who's Playing?<\/h1>\n\n    <p class=\"kr-subtitle\">Find yourself!<\/p>\n\n    <div id=\"kr-player-grid\" class=\"kr-player-grid\"><\/div>\n\n  <\/div>\n\n\n  <!-- MODE SCREEN -->\n  <div id=\"kr-mode-screen\" class=\"kr-screen\">\n\n    <div id=\"kr-selected-player\" class=\"kr-selected-player\"><\/div>\n\n    <h1>Ready to Play?<\/h1>\n\n    <p class=\"kr-subtitle\">Choose your game.<\/p>\n\n    <div class=\"kr-mode-grid\">\n\n      <button\n        class=\"kr-mode-card learning\"\n        onclick=\"KRGame.startGame('learning')\">\n\n        <div class=\"kr-mode-icon\">\ud83d\udd0a<\/div>\n\n        <div class=\"kr-level\">LEVEL 1<\/div>\n\n        <div class=\"kr-mode-title\">\n          LEARNING MODE\n        <\/div>\n\n        <div class=\"kr-mode-description\">\n          Listen to the pictures and find the match!\n        <\/div>\n\n      <\/button>\n\n\n      <button\n        class=\"kr-mode-card challenge\"\n        onclick=\"KRGame.startGame('challenge')\">\n\n        <div class=\"kr-mode-icon\">\u2b50<\/div>\n\n        <div class=\"kr-level\">LEVEL 2<\/div>\n\n        <div class=\"kr-mode-title\">\n          CHALLENGE MODE\n        <\/div>\n\n        <div class=\"kr-mode-description\">\n          Can you find it all by yourself?\n        <\/div>\n\n      <\/button>\n\n    <\/div>\n\n\n    <button\n      class=\"kr-small-button\"\n      onclick=\"KRGame.changePlayer()\">\n\n      Change Player\n\n    <\/button>\n\n  <\/div>\n\n\n  <!-- GAME SCREEN -->\n  <div id=\"kr-game-screen\" class=\"kr-screen\">\n\n    <div class=\"kr-top-bar\">\n\n      <div\n        id=\"kr-mini-player\"\n        class=\"kr-mini-player\">\n      <\/div>\n\n\n      <div class=\"kr-progress-area\">\n\n        <div id=\"kr-question-counter\">\n          Question 1 of 10\n        <\/div>\n\n        <div class=\"kr-progress-track\">\n          <div id=\"kr-progress-fill\"><\/div>\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n\n\n    <div\n      id=\"kr-mode-badge\"\n      class=\"kr-mode-badge\">\n    <\/div>\n\n\n    <div class=\"kr-question-text\">\n      Which picture starts with...\n    <\/div>\n\n\n    <div\n      id=\"kr-big-letter\"\n      class=\"kr-big-letter\">\n\n      M m\n\n    <\/div>\n\n\n    <div\n      id=\"kr-picture-grid\"\n      class=\"kr-picture-grid\">\n    <\/div>\n\n\n    <div\n      id=\"kr-learning-controls\"\n      class=\"kr-learning-controls\">\n\n      <div class=\"kr-learning-help\">\n        \ud83d\udd0a Tap the pictures to hear their names.\n      <\/div>\n\n      <button\n        id=\"kr-this-one\"\n        class=\"kr-this-one\"\n        onclick=\"KRGame.confirmLearningAnswer()\"\n        disabled>\n\n        \u2713 THIS ONE!\n\n      <\/button>\n\n    <\/div>\n\n\n    <div\n      id=\"kr-feedback\"\n      class=\"kr-feedback\">\n    <\/div>\n\n  <\/div>\n\n\n  <!-- RESULTS SCREEN -->\n  <div id=\"kr-results-screen\" class=\"kr-screen\">\n\n    <div\n      id=\"kr-results-avatar\"\n      class=\"kr-results-avatar\">\n    <\/div>\n\n\n    <div id=\"kr-results-content\"><\/div>\n\n\n    <div\n      id=\"kr-results-buttons\"\n      class=\"kr-results-buttons\">\n    <\/div>\n\n  <\/div>\n\n<\/div>\n\n\n<style>\n\n\/* =========================================================\n   MAIN GAME\n========================================================= *\/\n\n#kr-letter-game {\n\n  box-sizing: border-box;\n\n  width: 100%;\n  max-width: 1200px;\n  min-height: 700px;\n\n  margin: 20px auto;\n\n  padding: 35px;\n\n  border-radius: 32px;\n\n  background:\n    radial-gradient(\n      circle at top left,\n      #fff6b7 0,\n      transparent 30%\n    ),\n    radial-gradient(\n      circle at top right,\n      #c8f7ff 0,\n      transparent 30%\n    ),\n    linear-gradient(\n      135deg,\n      #eef8ff,\n      #fff6fc\n    );\n\n  font-family:\n    Arial,\n    Helvetica,\n    sans-serif;\n\n  text-align: center;\n\n  color: #263238;\n\n  box-shadow:\n    0 12px 40px\n    rgba(0,0,0,.12);\n\n  overflow: hidden;\n}\n\n\n#kr-letter-game * {\n  box-sizing: border-box;\n}\n\n\n\/* =========================================================\n   SCREENS\n========================================================= *\/\n\n.kr-screen {\n  display: none;\n}\n\n\n.kr-screen.active {\n  display: block;\n}\n\n\n#kr-letter-game h1 {\n\n  margin: 5px 0 8px;\n\n  font-size:\n    clamp(\n      38px,\n      5vw,\n      62px\n    );\n\n  line-height: 1.05;\n\n  color: #263238;\n}\n\n\n.kr-subtitle {\n\n  margin: 0 0 32px;\n\n  font-size: 25px;\n\n  font-weight: 700;\n\n  color: #607d8b;\n}\n\n\n.kr-game-logo {\n  font-size: 72px;\n}\n\n\n\/* =========================================================\n   PLAYER SELECT\n========================================================= *\/\n\n.kr-player-grid {\n\n  display: grid;\n\n  grid-template-columns:\n    repeat(5, 1fr);\n\n  gap: 18px;\n\n  margin: 30px auto;\n}\n\n\n.kr-player-card {\n\n  border:\n    4px solid transparent;\n\n  border-radius: 24px;\n\n  background: #ffffff;\n\n  padding:\n    18px 10px 15px;\n\n  cursor: pointer;\n\n  box-shadow:\n    0 6px 16px\n    rgba(0,0,0,.12);\n\n  transition:\n    transform .15s ease,\n    border-color .15s ease,\n    box-shadow .15s ease;\n}\n\n\n.kr-player-card:hover {\n\n  transform:\n    translateY(-5px)\n    scale(1.02);\n\n  border-color: #4fc3f7;\n\n  box-shadow:\n    0 10px 22px\n    rgba(0,0,0,.16);\n}\n\n\n.kr-player-avatar {\n\n  width: 100px;\n  height: 100px;\n\n  margin:\n    0 auto 10px;\n\n  border-radius: 50%;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  font-size: 64px;\n\n  background: #eef7ff;\n}\n\n\n.kr-player-name {\n\n  font-size: 20px;\n\n  font-weight: 900;\n}\n\n\n\/* =========================================================\n   SELECTED PLAYER\n========================================================= *\/\n\n.kr-selected-player {\n  margin-bottom: 10px;\n}\n\n\n.kr-selected-player\n.kr-player-avatar {\n\n  width: 120px;\n  height: 120px;\n\n  font-size: 78px;\n}\n\n\n.kr-selected-player\n.kr-player-name {\n\n  font-size: 28px;\n}\n\n\n\/* =========================================================\n   MODE SELECT\n========================================================= *\/\n\n.kr-mode-grid {\n\n  display: grid;\n\n  grid-template-columns:\n    1fr 1fr;\n\n  gap: 28px;\n\n  max-width: 900px;\n\n  margin: 35px auto;\n}\n\n\n.kr-mode-card {\n\n  min-height: 330px;\n\n  border: none;\n\n  border-radius: 30px;\n\n  padding: 30px;\n\n  cursor: pointer;\n\n  color: #263238;\n\n  box-shadow:\n    0 10px 24px\n    rgba(0,0,0,.15);\n\n  transition:\n    transform .18s ease,\n    box-shadow .18s ease;\n}\n\n\n.kr-mode-card:hover {\n\n  transform:\n    translateY(-7px)\n    scale(1.015);\n\n  box-shadow:\n    0 16px 30px\n    rgba(0,0,0,.2);\n}\n\n\n.kr-mode-card.learning {\n\n  background:\n    linear-gradient(\n      145deg,\n      #b9f6ca,\n      #e8f5e9\n    );\n}\n\n\n.kr-mode-card.challenge {\n\n  background:\n    linear-gradient(\n      145deg,\n      #ffe082,\n      #fff8e1\n    );\n}\n\n\n.kr-mode-icon {\n  font-size: 75px;\n}\n\n\n.kr-level {\n\n  margin-top: 10px;\n\n  font-size: 21px;\n\n  font-weight: 900;\n\n  letter-spacing: 2px;\n}\n\n\n.kr-mode-title {\n\n  margin-top: 6px;\n\n  font-size: 32px;\n\n  font-weight: 900;\n}\n\n\n.kr-mode-description {\n\n  margin-top: 18px;\n\n  font-size: 21px;\n\n  font-weight: 700;\n\n  line-height: 1.35;\n}\n\n\n\/* =========================================================\n   BUTTONS\n========================================================= *\/\n\n.kr-small-button,\n.kr-big-button,\n.kr-this-one,\n.kr-challenge-button,\n.kr-replay-button {\n\n  border: none;\n\n  cursor: pointer;\n\n  font-family: inherit;\n\n  font-weight: 900;\n\n  transition:\n    transform .15s ease,\n    opacity .15s ease,\n    box-shadow .15s ease;\n}\n\n\n.kr-small-button:hover,\n.kr-big-button:hover,\n.kr-this-one:hover:not(:disabled),\n.kr-challenge-button:hover,\n.kr-replay-button:hover {\n\n  transform: scale(1.04);\n}\n\n\n.kr-small-button {\n\n  padding:\n    14px 24px;\n\n  border-radius: 14px;\n\n  background: #455a64;\n\n  color: white;\n\n  font-size: 17px;\n}\n\n\n.kr-big-button {\n\n  padding:\n    20px 38px;\n\n  border-radius: 18px;\n\n  background: #29b6f6;\n\n  color: white;\n\n  font-size: 25px;\n}\n\n\n.kr-replay-button {\n\n  min-width: 260px;\n\n  padding:\n    22px 34px;\n\n  border-radius: 20px;\n\n  background: #29b6f6;\n\n  color: white;\n\n  font-size: 25px;\n\n  box-shadow:\n    0 7px 0 #0288d1;\n}\n\n\n.kr-challenge-button {\n\n  min-width: 300px;\n\n  padding:\n    22px 34px;\n\n  border-radius: 20px;\n\n  background:\n    linear-gradient(\n      135deg,\n      #ffc107,\n      #ff9800\n    );\n\n  color: #263238;\n\n  font-size: 25px;\n\n  box-shadow:\n    0 7px 0 #ef6c00;\n}\n\n\n.kr-this-one {\n\n  margin-top: 16px;\n\n  padding:\n    20px 44px;\n\n  border-radius: 18px;\n\n  background: #43a047;\n\n  color: white;\n\n  font-size: 27px;\n\n  box-shadow:\n    0 6px 0 #2e7d32;\n}\n\n\n.kr-this-one:disabled {\n\n  cursor: default;\n\n  opacity: .35;\n\n  box-shadow: none;\n}\n\n\n\/* =========================================================\n   GAME TOP BAR\n========================================================= *\/\n\n.kr-top-bar {\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content:\n    space-between;\n\n  gap: 25px;\n\n  margin-bottom: 22px;\n}\n\n\n.kr-mini-player {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 10px;\n\n  min-width: 170px;\n\n  font-size: 19px;\n\n  font-weight: 900;\n}\n\n\n.kr-mini-player\n.kr-player-avatar {\n\n  width: 58px;\n  height: 58px;\n\n  margin: 0;\n\n  font-size: 36px;\n}\n\n\n.kr-progress-area {\n\n  flex: 1;\n\n  max-width: 650px;\n}\n\n\n#kr-question-counter {\n\n  margin-bottom: 7px;\n\n  font-size: 20px;\n\n  font-weight: 900;\n}\n\n\n.kr-progress-track {\n\n  width: 100%;\n  height: 18px;\n\n  border-radius: 20px;\n\n  background: #dbe5ea;\n\n  overflow: hidden;\n}\n\n\n#kr-progress-fill {\n\n  width: 10%;\n  height: 100%;\n\n  border-radius: 20px;\n\n  background:\n    linear-gradient(\n      90deg,\n      #29b6f6,\n      #7e57c2\n    );\n\n  transition:\n    width .3s ease;\n}\n\n\n\/* =========================================================\n   QUESTION\n========================================================= *\/\n\n.kr-mode-badge {\n\n  display: inline-block;\n\n  padding:\n    8px 18px;\n\n  border-radius: 100px;\n\n  margin-bottom: 12px;\n\n  font-size: 16px;\n\n  font-weight: 900;\n\n  letter-spacing: 1px;\n}\n\n\n.kr-mode-badge.learning {\n  background: #c8e6c9;\n}\n\n\n.kr-mode-badge.challenge {\n  background: #ffe082;\n}\n\n\n.kr-question-text {\n\n  font-size: 27px;\n\n  font-weight: 800;\n\n  margin-top: 8px;\n}\n\n\n.kr-big-letter {\n\n  margin:\n    5px 0 20px;\n\n  font-size:\n    clamp(\n      90px,\n      12vw,\n      145px\n    );\n\n  line-height: 1;\n\n  font-weight: 900;\n\n  color: #263238;\n\n  text-shadow:\n    0 5px 0\n    rgba(0,0,0,.08);\n}\n\n\n\/* =========================================================\n   PICTURE CHOICES\n========================================================= *\/\n\n.kr-picture-grid {\n\n  display: grid;\n\n  grid-template-columns:\n    repeat(4, 1fr);\n\n  gap: 20px;\n\n  max-width: 1050px;\n\n  margin: 0 auto;\n}\n\n\n.kr-picture-card {\n\n  min-height: 220px;\n\n  border:\n    5px solid transparent;\n\n  border-radius: 26px;\n\n  background: white;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  cursor: pointer;\n\n  font-size: 120px;\n\n  box-shadow:\n    0 8px 20px\n    rgba(0,0,0,.13);\n\n  transition:\n    transform .15s ease,\n    border-color .15s ease,\n    background .15s ease;\n}\n\n\n.kr-picture-card:hover {\n  transform:\n    translateY(-5px);\n}\n\n\n.kr-picture-card.selected {\n\n  border-color: #29b6f6;\n\n  background: #e1f5fe;\n\n  transform:\n    translateY(-5px)\n    scale(1.02);\n}\n\n\n.kr-picture-card.correct {\n\n  border-color: #43a047;\n\n  background: #e8f5e9;\n\n  animation:\n    krCorrect .5s ease;\n}\n\n\n.kr-picture-card.wrong {\n\n  border-color: #ef5350;\n\n  background: #ffebee;\n\n  animation:\n    krShake .35s ease;\n}\n\n\n.kr-picture-card.locked {\n  pointer-events: none;\n}\n\n\n\/* =========================================================\n   LEARNING MODE\n========================================================= *\/\n\n.kr-learning-controls {\n  margin-top: 22px;\n}\n\n\n.kr-learning-help {\n\n  font-size: 18px;\n\n  font-weight: 800;\n\n  color: #546e7a;\n}\n\n\n\/* =========================================================\n   FEEDBACK\n========================================================= *\/\n\n.kr-feedback {\n\n  min-height: 58px;\n\n  margin-top: 20px;\n\n  font-size: 31px;\n\n  font-weight: 900;\n}\n\n\n.kr-feedback.good {\n  color: #2e7d32;\n}\n\n\n.kr-feedback.try {\n  color: #ef6c00;\n}\n\n\n\/* =========================================================\n   RESULTS\n========================================================= *\/\n\n.kr-results-avatar\n.kr-player-avatar {\n\n  width: 155px;\n  height: 155px;\n\n  font-size: 100px;\n\n  margin-top: 15px;\n}\n\n\n.kr-results-name {\n\n  margin-top: 12px;\n\n  font-size: 38px;\n\n  font-weight: 900;\n}\n\n\n.kr-master-title {\n\n  margin:\n    15px 0 5px;\n\n  font-size:\n    clamp(\n      40px,\n      6vw,\n      70px\n    );\n\n  font-weight: 900;\n\n  color: #f9a825;\n}\n\n\n.kr-results-score {\n\n  margin:\n    15px 0;\n\n  font-size: 58px;\n\n  font-weight: 900;\n}\n\n\n.kr-stars {\n\n  font-size: 62px;\n\n  letter-spacing: 8px;\n}\n\n\n.kr-results-message {\n\n  margin:\n    15px auto 30px;\n\n  max-width: 700px;\n\n  font-size: 25px;\n\n  font-weight: 800;\n\n  line-height: 1.4;\n}\n\n\n.kr-results-buttons {\n\n  display: flex;\n\n  justify-content: center;\n\n  align-items: center;\n\n  flex-wrap: wrap;\n\n  gap: 22px;\n\n  margin-top: 25px;\n\n  padding-bottom: 15px;\n}\n\n\n\/* =========================================================\n   ANIMATIONS\n========================================================= *\/\n\n@keyframes krCorrect {\n\n  0% {\n    transform: scale(1);\n  }\n\n  50% {\n    transform:\n      scale(1.10)\n      rotate(2deg);\n  }\n\n  100% {\n    transform: scale(1);\n  }\n\n}\n\n\n@keyframes krShake {\n\n  0%,\n  100% {\n    transform:\n      translateX(0);\n  }\n\n  25% {\n    transform:\n      translateX(-10px);\n  }\n\n  75% {\n    transform:\n      translateX(10px);\n  }\n\n}\n\n\n\/* =========================================================\n   TABLET\n========================================================= *\/\n\n@media (max-width: 900px) {\n\n  #kr-letter-game {\n    padding: 25px;\n  }\n\n\n  .kr-player-grid {\n\n    grid-template-columns:\n      repeat(3, 1fr);\n\n  }\n\n\n  .kr-picture-grid {\n\n    grid-template-columns:\n      repeat(2, 1fr);\n\n  }\n\n\n  .kr-picture-card {\n    min-height: 200px;\n  }\n\n}\n\n\n\/* =========================================================\n   PHONE\n========================================================= *\/\n\n@media (max-width: 600px) {\n\n  #kr-letter-game {\n\n    padding:\n      18px 12px;\n\n    border-radius: 18px;\n\n  }\n\n\n  .kr-player-grid {\n\n    grid-template-columns:\n      repeat(2, 1fr);\n\n    gap: 12px;\n\n  }\n\n\n  .kr-mode-grid {\n    grid-template-columns: 1fr;\n  }\n\n\n  .kr-mode-card {\n    min-height: 260px;\n  }\n\n\n  .kr-top-bar {\n    flex-direction: column;\n  }\n\n\n  .kr-mini-player {\n    justify-content: center;\n  }\n\n\n  .kr-picture-grid {\n    gap: 12px;\n  }\n\n\n  .kr-picture-card {\n\n    min-height: 155px;\n\n    font-size: 82px;\n\n  }\n\n\n  .kr-big-letter {\n    font-size: 90px;\n  }\n\n\n  .kr-replay-button,\n  .kr-challenge-button {\n\n    width: 100%;\n\n    min-width: 0;\n\n  }\n\n}\n\n<\/style>\n\n\n<script>\n\n(function () {\n\n  \"use strict\";\n\n\n  \/* =======================================================\n     TEMPORARY STUDENTS\n     We will replace these with your actual students.\n  ======================================================= *\/\n\n  const students = [\n\n    { name: \"Maggie\", avatar: \"\ud83d\udc67\" },\n    { name: \"Beckham\", avatar: \"\ud83d\udc66\" },\n    { name: \"Emma\", avatar: \"\ud83d\udc67\" },\n    { name: \"Noah\", avatar: \"\ud83d\udc66\" },\n    { name: \"Olivia\", avatar: \"\ud83d\udc67\" },\n\n    { name: \"Liam\", avatar: \"\ud83d\udc66\" },\n    { name: \"Sophia\", avatar: \"\ud83d\udc67\" },\n    { name: \"Lucas\", avatar: \"\ud83d\udc66\" },\n    { name: \"Mia\", avatar: \"\ud83d\udc67\" },\n    { name: \"Ethan\", avatar: \"\ud83d\udc66\" },\n\n    { name: \"Ava\", avatar: \"\ud83d\udc67\" },\n    { name: \"Mateo\", avatar: \"\ud83d\udc66\" },\n    { name: \"Isabella\", avatar: \"\ud83d\udc67\" },\n    { name: \"James\", avatar: \"\ud83d\udc66\" },\n    { name: \"Luna\", avatar: \"\ud83d\udc67\" },\n\n    { name: \"Henry\", avatar: \"\ud83d\udc66\" },\n    { name: \"Camila\", avatar: \"\ud83d\udc67\" },\n    { name: \"Leo\", avatar: \"\ud83d\udc66\" },\n    { name: \"Amelia\", avatar: \"\ud83d\udc67\" },\n    { name: \"Jack\", avatar: \"\ud83d\udc66\" },\n\n    { name: \"Harper\", avatar: \"\ud83d\udc67\" },\n    { name: \"Daniel\", avatar: \"\ud83d\udc66\" },\n    { name: \"Ella\", avatar: \"\ud83d\udc67\" },\n    { name: \"Sebastian\", avatar: \"\ud83d\udc66\" },\n    { name: \"Chloe\", avatar: \"\ud83d\udc67\" }\n\n  ];\n\n\n  \/* =======================================================\n     TEMPORARY PICTURE BANK\n  ======================================================= *\/\n\n  const pictureBank = {\n\n    A: [\n\n      {\n        word: \"apple\",\n        emoji: \"\ud83c\udf4e\"\n      },\n\n      {\n        word: \"ant\",\n        emoji: \"\ud83d\udc1c\"\n      },\n\n      {\n        word: \"alligator\",\n        emoji: \"\ud83d\udc0a\"\n      }\n\n    ],\n\n\n    B: [\n\n      {\n        word: \"ball\",\n        emoji: \"\u26bd\"\n      },\n\n      {\n        word: \"banana\",\n        emoji: \"\ud83c\udf4c\"\n      },\n\n      {\n        word: \"bear\",\n        emoji: \"\ud83d\udc3b\"\n      }\n\n    ],\n\n\n    C: [\n\n      {\n        word: \"cat\",\n        emoji: \"\ud83d\udc31\"\n      },\n\n      {\n        word: \"car\",\n        emoji: \"\ud83d\ude97\"\n      },\n\n      {\n        word: \"cake\",\n        emoji: \"\ud83c\udf82\"\n      }\n\n    ],\n\n\n    D: [\n\n      {\n        word: \"dog\",\n        emoji: \"\ud83d\udc36\"\n      },\n\n      {\n        word: \"duck\",\n        emoji: \"\ud83e\udd86\"\n      },\n\n      {\n        word: \"donut\",\n        emoji: \"\ud83c\udf69\"\n      }\n\n    ],\n\n\n    F: [\n\n      {\n        word: \"fish\",\n        emoji: \"\ud83d\udc1f\"\n      },\n\n      {\n        word: \"frog\",\n        emoji: \"\ud83d\udc38\"\n      },\n\n      {\n        word: \"fan\",\n        emoji: \"\ud83e\udead\"\n      }\n\n    ],\n\n\n    L: [\n\n      {\n        word: \"lion\",\n        emoji: \"\ud83e\udd81\"\n      },\n\n      {\n        word: \"lemon\",\n        emoji: \"\ud83c\udf4b\"\n      },\n\n      {\n        word: \"leaf\",\n        emoji: \"\ud83c\udf43\"\n      }\n\n    ],\n\n\n    M: [\n\n      {\n        word: \"moon\",\n        emoji: \"\ud83c\udf19\"\n      },\n\n      {\n        word: \"mouse\",\n        emoji: \"\ud83d\udc2d\"\n      },\n\n      {\n        word: \"milk\",\n        emoji: \"\ud83e\udd5b\"\n      }\n\n    ],\n\n\n    P: [\n\n      {\n        word: \"pig\",\n        emoji: \"\ud83d\udc37\"\n      },\n\n      {\n        word: \"pizza\",\n        emoji: \"\ud83c\udf55\"\n      },\n\n      {\n        word: \"pencil\",\n        emoji: \"\u270f\ufe0f\"\n      }\n\n    ],\n\n\n    S: [\n\n      {\n        word: \"sun\",\n        emoji: \"\u2600\ufe0f\"\n      },\n\n      {\n        word: \"snake\",\n        emoji: \"\ud83d\udc0d\"\n      },\n\n      {\n        word: \"sock\",\n        emoji: \"\ud83e\udde6\"\n      }\n\n    ],\n\n\n    T: [\n\n      {\n        word: \"tiger\",\n        emoji: \"\ud83d\udc2f\"\n      },\n\n      {\n        word: \"turtle\",\n        emoji: \"\ud83d\udc22\"\n      },\n\n      {\n        word: \"tomato\",\n        emoji: \"\ud83c\udf45\"\n      }\n\n    ]\n\n  };\n\n\n  \/* =======================================================\n     GAME STATE\n  ======================================================= *\/\n\n  let selectedStudent = null;\n\n  let mode = \"learning\";\n\n  let questions = [];\n\n  let currentQuestionIndex = 0;\n\n  let score = 0;\n\n  let selectedLearningChoice = null;\n\n  let questionLocked = false;\n\n\n  \/* =======================================================\n     HELPERS\n  ======================================================= *\/\n\n  function shuffle(array) {\n\n    const copy = [...array];\n\n    for (\n      let i = copy.length - 1;\n      i > 0;\n      i--\n    ) {\n\n      const j =\n        Math.floor(\n          Math.random() *\n          (i + 1)\n        );\n\n      [\n        copy[i],\n        copy[j]\n      ] = [\n        copy[j],\n        copy[i]\n      ];\n\n    }\n\n    return copy;\n\n  }\n\n\n  function randomItem(array) {\n\n    return array[\n      Math.floor(\n        Math.random() *\n        array.length\n      )\n    ];\n\n  }\n\n\n  function showScreen(id) {\n\n    document\n      .querySelectorAll(\n        \"#kr-letter-game .kr-screen\"\n      )\n      .forEach(\n        screen =>\n          screen.classList.remove(\n            \"active\"\n          )\n      );\n\n\n    document\n      .getElementById(id)\n      .classList.add(\n        \"active\"\n      );\n\n\n    window.scrollTo({\n      top:\n        document\n          .getElementById(\n            \"kr-letter-game\"\n          )\n          .offsetTop - 40,\n\n      behavior: \"smooth\"\n    });\n\n  }\n\n\n  \/* =======================================================\n     COMPUTER VOICE\n  ======================================================= *\/\n\n  function speak(word) {\n\n    if (\n      !(\n        \"speechSynthesis\"\n        in window\n      )\n    ) {\n\n      return;\n\n    }\n\n\n    window\n      .speechSynthesis\n      .cancel();\n\n\n    const speech =\n      new SpeechSynthesisUtterance(\n        word\n      );\n\n\n    speech.rate = 0.78;\n\n    speech.pitch = 1.05;\n\n    speech.volume = 1;\n\n\n    window\n      .speechSynthesis\n      .speak(\n        speech\n      );\n\n  }\n\n\n  \/* =======================================================\n     PLAYER SCREEN\n  ======================================================= *\/\n\n  function buildPlayers() {\n\n    const grid =\n      document.getElementById(\n        \"kr-player-grid\"\n      );\n\n\n    grid.innerHTML = \"\";\n\n\n    students.forEach(\n      (\n        student,\n        index\n      ) => {\n\n        const card =\n          document.createElement(\n            \"div\"\n          );\n\n\n        card.className =\n          \"kr-player-card\";\n\n\n        card.innerHTML = `\n\n          <div class=\"kr-player-avatar\">\n            ${student.avatar}\n          <\/div>\n\n          <div class=\"kr-player-name\">\n            ${student.name}\n          <\/div>\n\n        `;\n\n\n        card.addEventListener(\n          \"click\",\n          function () {\n\n            selectPlayer(index);\n\n          }\n        );\n\n\n        grid.appendChild(card);\n\n      }\n    );\n\n  }\n\n\n  function selectPlayer(index) {\n\n    selectedStudent =\n      students[index];\n\n\n    document\n      .getElementById(\n        \"kr-selected-player\"\n      )\n      .innerHTML = `\n\n        <div class=\"kr-player-avatar\">\n          ${selectedStudent.avatar}\n        <\/div>\n\n        <div class=\"kr-player-name\">\n          Hi, ${selectedStudent.name}!\n        <\/div>\n\n      `;\n\n\n    showScreen(\n      \"kr-mode-screen\"\n    );\n\n  }\n\n\n  \/* =======================================================\n     QUESTION GENERATION\n  ======================================================= *\/\n\n  function buildQuestions() {\n\n    const letters =\n      shuffle(\n        Object.keys(\n          pictureBank\n        )\n      )\n      .slice(\n        0,\n        10\n      );\n\n\n    return letters.map(\n      letter => {\n\n        const correctPicture =\n          randomItem(\n            pictureBank[\n              letter\n            ]\n          );\n\n\n        const otherLetters =\n          shuffle(\n            Object\n              .keys(\n                pictureBank\n              )\n              .filter(\n                otherLetter =>\n                  otherLetter !==\n                  letter\n              )\n          )\n          .slice(\n            0,\n            3\n          );\n\n\n        const distractors =\n          otherLetters.map(\n            otherLetter => {\n\n              return {\n\n                ...randomItem(\n                  pictureBank[\n                    otherLetter\n                  ]\n                ),\n\n                letter:\n                  otherLetter,\n\n                correct:\n                  false\n\n              };\n\n            }\n          );\n\n\n        const correctChoice = {\n\n          ...correctPicture,\n\n          letter:\n            letter,\n\n          correct:\n            true\n\n        };\n\n\n        const choices =\n          shuffle([\n\n            correctChoice,\n\n            ...distractors\n\n          ]);\n\n\n        return {\n\n          letter:\n            letter,\n\n          choices:\n            choices\n\n        };\n\n      }\n    );\n\n  }\n\n\n  \/* =======================================================\n     START GAME\n  ======================================================= *\/\n\n  function startGame(\n    selectedMode\n  ) {\n\n    mode =\n      selectedMode;\n\n\n    questions =\n      buildQuestions();\n\n\n    currentQuestionIndex =\n      0;\n\n\n    score =\n      0;\n\n\n    selectedLearningChoice =\n      null;\n\n\n    questionLocked =\n      false;\n\n\n    showScreen(\n      \"kr-game-screen\"\n    );\n\n\n    renderMiniPlayer();\n\n\n    renderQuestion();\n\n  }\n\n\n  function renderMiniPlayer() {\n\n    document\n      .getElementById(\n        \"kr-mini-player\"\n      )\n      .innerHTML = `\n\n        <div class=\"kr-player-avatar\">\n          ${selectedStudent.avatar}\n        <\/div>\n\n        <span>\n          ${selectedStudent.name}\n        <\/span>\n\n      `;\n\n  }\n\n\n  \/* =======================================================\n     QUESTION DISPLAY\n  ======================================================= *\/\n\n  function renderQuestion() {\n\n    questionLocked =\n      false;\n\n\n    selectedLearningChoice =\n      null;\n\n\n    const question =\n      questions[\n        currentQuestionIndex\n      ];\n\n\n    const lower =\n      question\n        .letter\n        .toLowerCase();\n\n\n    document\n      .getElementById(\n        \"kr-big-letter\"\n      )\n      .textContent =\n        question.letter +\n        \" \" +\n        lower;\n\n\n    document\n      .getElementById(\n        \"kr-question-counter\"\n      )\n      .textContent =\n        \"Question \" +\n        (\n          currentQuestionIndex +\n          1\n        ) +\n        \" of \" +\n        questions.length;\n\n\n    const progress =\n      (\n        (\n          currentQuestionIndex +\n          1\n        )\n        \/\n        questions.length\n      )\n      *\n      100;\n\n\n    document\n      .getElementById(\n        \"kr-progress-fill\"\n      )\n      .style.width =\n        progress +\n        \"%\";\n\n\n    const badge =\n      document.getElementById(\n        \"kr-mode-badge\"\n      );\n\n\n    if (\n      mode ===\n      \"learning\"\n    ) {\n\n      badge.textContent =\n        \"\ud83d\udd0a LEVEL 1 \u2022 LEARNING MODE\";\n\n\n      badge.className =\n        \"kr-mode-badge learning\";\n\n    }\n\n    else {\n\n      badge.textContent =\n        \"\u2b50 LEVEL 2 \u2022 CHALLENGE MODE\";\n\n\n      badge.className =\n        \"kr-mode-badge challenge\";\n\n    }\n\n\n    const feedback =\n      document.getElementById(\n        \"kr-feedback\"\n      );\n\n\n    feedback.textContent =\n      \"\";\n\n\n    feedback.className =\n      \"kr-feedback\";\n\n\n    const learningControls =\n      document.getElementById(\n        \"kr-learning-controls\"\n      );\n\n\n    if (\n      mode ===\n      \"learning\"\n    ) {\n\n      learningControls\n        .style\n        .display =\n          \"block\";\n\n    }\n\n    else {\n\n      learningControls\n        .style\n        .display =\n          \"none\";\n\n    }\n\n\n    const confirmButton =\n      document.getElementById(\n        \"kr-this-one\"\n      );\n\n\n    confirmButton.disabled =\n      true;\n\n\n    const grid =\n      document.getElementById(\n        \"kr-picture-grid\"\n      );\n\n\n    grid.innerHTML =\n      \"\";\n\n\n    question\n      .choices\n      .forEach(\n        (\n          choice,\n          index\n        ) => {\n\n          const card =\n            document.createElement(\n              \"div\"\n            );\n\n\n          card.className =\n            \"kr-picture-card\";\n\n\n          card.dataset.index =\n            index;\n\n\n          card.innerHTML =\n            `<span aria-hidden=\"true\">${choice.emoji}<\/span>`;\n\n\n          card.setAttribute(\n\n            \"aria-label\",\n\n            mode ===\n              \"learning\"\n\n              ?\n\n              \"Picture choice. Tap to hear its name.\"\n\n              :\n\n              \"Picture choice.\"\n\n          );\n\n\n          card.addEventListener(\n            \"click\",\n            function () {\n\n              if (\n                questionLocked\n              ) {\n\n                return;\n\n              }\n\n\n              if (\n                mode ===\n                \"learning\"\n              ) {\n\n                selectLearningPicture(\n                  index\n                );\n\n              }\n\n              else {\n\n                answerChallenge(\n                  index\n                );\n\n              }\n\n            }\n          );\n\n\n          grid.appendChild(\n            card\n          );\n\n        }\n      );\n\n  }\n\n\n  \/* =======================================================\n     LEARNING MODE\n  ======================================================= *\/\n\n  function selectLearningPicture(\n    index\n  ) {\n\n    if (\n      questionLocked\n    ) {\n\n      return;\n\n    }\n\n\n    const question =\n      questions[\n        currentQuestionIndex\n      ];\n\n\n    const choice =\n      question\n        .choices[\n          index\n        ];\n\n\n    selectedLearningChoice =\n      index;\n\n\n    document\n      .querySelectorAll(\n        \".kr-picture-card\"\n      )\n      .forEach(\n        card => {\n\n          card.classList.remove(\n            \"selected\",\n            \"wrong\"\n          );\n\n        }\n      );\n\n\n    const selectedCard =\n      document.querySelector(\n        `.kr-picture-card[data-index=\"${index}\"]`\n      );\n\n\n    selectedCard\n      .classList\n      .add(\n        \"selected\"\n      );\n\n\n    document\n      .getElementById(\n        \"kr-this-one\"\n      )\n      .disabled =\n        false;\n\n\n    speak(\n      choice.word\n    );\n\n  }\n\n\n  function confirmLearningAnswer() {\n\n    if (\n      selectedLearningChoice ===\n        null\n      ||\n      questionLocked\n    ) {\n\n      return;\n\n    }\n\n\n    const question =\n      questions[\n        currentQuestionIndex\n      ];\n\n\n    const choice =\n      question\n        .choices[\n          selectedLearningChoice\n        ];\n\n\n    const card =\n      document.querySelector(\n        `.kr-picture-card[data-index=\"${selectedLearningChoice}\"]`\n      );\n\n\n    const feedback =\n      document.getElementById(\n        \"kr-feedback\"\n      );\n\n\n    if (\n      choice.correct\n    ) {\n\n      questionLocked =\n        true;\n\n\n      score++;\n\n\n      card\n        .classList\n        .remove(\n          \"selected\"\n        );\n\n\n      card\n        .classList\n        .add(\n          \"correct\"\n        );\n\n\n      feedback.textContent =\n        \"\ud83c\udf89 Great job!\";\n\n\n      feedback.className =\n        \"kr-feedback good\";\n\n\n      lockPictureCards();\n\n\n      setTimeout(\n        nextQuestion,\n        1500\n      );\n\n    }\n\n    else {\n\n      card\n        .classList\n        .remove(\n          \"selected\"\n        );\n\n\n      card\n        .classList\n        .add(\n          \"wrong\"\n        );\n\n\n      feedback.textContent =\n        \"Almost! Try again!\";\n\n\n      feedback.className =\n        \"kr-feedback try\";\n\n\n      selectedLearningChoice =\n        null;\n\n\n      document\n        .getElementById(\n          \"kr-this-one\"\n        )\n        .disabled =\n          true;\n\n\n      setTimeout(\n        function () {\n\n          card\n            .classList\n            .remove(\n              \"wrong\"\n            );\n\n        },\n\n        650\n      );\n\n    }\n\n  }\n\n\n  \/* =======================================================\n     CHALLENGE MODE\n  ======================================================= *\/\n\n  function answerChallenge(\n    index\n  ) {\n\n    if (\n      questionLocked\n    ) {\n\n      return;\n\n    }\n\n\n    questionLocked =\n      true;\n\n\n    const question =\n      questions[\n        currentQuestionIndex\n      ];\n\n\n    const choice =\n      question\n        .choices[\n          index\n        ];\n\n\n    const selectedCard =\n      document.querySelector(\n        `.kr-picture-card[data-index=\"${index}\"]`\n      );\n\n\n    const feedback =\n      document.getElementById(\n        \"kr-feedback\"\n      );\n\n\n    lockPictureCards();\n\n\n    if (\n      choice.correct\n    ) {\n\n      score++;\n\n\n      selectedCard\n        .classList\n        .add(\n          \"correct\"\n        );\n\n\n      feedback.textContent =\n        \"\ud83c\udf89 Great job!\";\n\n\n      feedback.className =\n        \"kr-feedback good\";\n\n\n      setTimeout(\n        nextQuestion,\n        1500\n      );\n\n    }\n\n    else {\n\n      selectedCard\n        .classList\n        .add(\n          \"wrong\"\n        );\n\n\n      feedback.textContent =\n        \"Good try! Here's the answer.\";\n\n\n      feedback.className =\n        \"kr-feedback try\";\n\n\n      const correctIndex =\n        question\n          .choices\n          .findIndex(\n            item =>\n              item.correct\n          );\n\n\n      const correctCard =\n        document.querySelector(\n          `.kr-picture-card[data-index=\"${correctIndex}\"]`\n        );\n\n\n      setTimeout(\n        function () {\n\n          correctCard\n            .classList\n            .add(\n              \"correct\"\n            );\n\n        },\n\n        400\n      );\n\n\n      setTimeout(\n        nextQuestion,\n        1900\n      );\n\n    }\n\n  }\n\n\n  function lockPictureCards() {\n\n    document\n      .querySelectorAll(\n        \".kr-picture-card\"\n      )\n      .forEach(\n        card => {\n\n          card\n            .classList\n            .add(\n              \"locked\"\n            );\n\n        }\n      );\n\n  }\n\n\n  \/* =======================================================\n     NEXT QUESTION\n  ======================================================= *\/\n\n  function nextQuestion() {\n\n    currentQuestionIndex++;\n\n\n    if (\n      currentQuestionIndex >=\n      questions.length\n    ) {\n\n      showResults();\n\n      return;\n\n    }\n\n\n    renderQuestion();\n\n  }\n\n\n  \/* =======================================================\n     RESULTS\n  ======================================================= *\/\n\n  function showResults() {\n\n    showScreen(\n      \"kr-results-screen\"\n    );\n\n\n    document\n      .getElementById(\n        \"kr-results-avatar\"\n      )\n      .innerHTML = `\n\n        <div class=\"kr-player-avatar\">\n          ${selectedStudent.avatar}\n        <\/div>\n\n        <div class=\"kr-results-name\">\n          ${selectedStudent.name}\n        <\/div>\n\n      `;\n\n\n    const content =\n      document.getElementById(\n        \"kr-results-content\"\n      );\n\n\n    const buttons =\n      document.getElementById(\n        \"kr-results-buttons\"\n      );\n\n\n    \/* =====================================================\n       CHALLENGE MODE - PERFECT SCORE\n    ===================================================== *\/\n\n    if (\n      mode ===\n        \"challenge\"\n      &&\n      score ===\n        10\n    ) {\n\n      content.innerHTML = `\n\n        <div class=\"kr-master-title\">\n          \ud83c\udf89 LETTER SOUND MASTER! \ud83c\udf89\n        <\/div>\n\n        <div class=\"kr-stars\">\n          \u2b50\u2b50\u2b50\n        <\/div>\n\n        <div class=\"kr-results-score\">\n          10 \/ 10\n        <\/div>\n\n        <div class=\"kr-results-message\">\n          Amazing work,\n          ${selectedStudent.name}!\n          You mastered the challenge!\n        <\/div>\n\n      `;\n\n\n      buttons.innerHTML = `\n\n        <button\n          class=\"kr-replay-button\"\n          onclick=\"KRGame.playAgainSameMode()\">\n\n          \ud83d\udd04 PLAY AGAIN\n\n        <\/button>\n\n      `;\n\n    }\n\n\n    \/* =====================================================\n       LEARNING MODE - 10\/10\n       TWO BUTTONS ONLY\n    ===================================================== *\/\n\n    else if (\n      mode ===\n        \"learning\"\n      &&\n      score ===\n        10\n    ) {\n\n      content.innerHTML = `\n\n        <div class=\"kr-master-title\">\n          \ud83c\udf89 GREAT LEARNING! \ud83c\udf89\n        <\/div>\n\n        <div class=\"kr-stars\">\n          \u2b50\u2b50\u2b50\n        <\/div>\n\n        <div class=\"kr-results-score\">\n          10 \/ 10\n        <\/div>\n\n        <div class=\"kr-results-message\">\n          Great job,\n          ${selectedStudent.name}!\n          Now try Challenge Mode!\n        <\/div>\n\n      `;\n\n\n      buttons.innerHTML = `\n\n        <button\n          class=\"kr-replay-button\"\n          onclick=\"KRGame.playAgainSameMode()\">\n\n          \ud83d\udd04 PLAY AGAIN\n\n        <\/button>\n\n\n        <button\n          class=\"kr-challenge-button\"\n          onclick=\"KRGame.goToChallenge()\">\n\n          \u2b50 CHALLENGE MODE\n\n        <\/button>\n\n      `;\n\n    }\n\n\n    \/* =====================================================\n       OTHER SCORES\n    ===================================================== *\/\n\n    else {\n\n      content.innerHTML = `\n\n        <div class=\"kr-master-title\">\n          GREAT JOB!\n        <\/div>\n\n        <div class=\"kr-stars\">\n          \u2b50\n        <\/div>\n\n        <div class=\"kr-results-score\">\n          ${score} \/ 10\n        <\/div>\n\n        <div class=\"kr-results-message\">\n          Nice work,\n          ${selectedStudent.name}!\n          Try again and see if you can\n          get 10 out of 10!\n        <\/div>\n\n      `;\n\n\n      buttons.innerHTML = `\n\n        <button\n          class=\"kr-replay-button\"\n          onclick=\"KRGame.playAgainSameMode()\">\n\n          \ud83d\udd04 PLAY AGAIN\n\n        <\/button>\n\n      `;\n\n    }\n\n  }\n\n\n  \/* =======================================================\n     RESULTS BUTTON ACTIONS\n  ======================================================= *\/\n\n  function playAgainSameMode() {\n\n    startGame(\n      mode\n    );\n\n  }\n\n\n  function goToChallenge() {\n\n    startGame(\n      \"challenge\"\n    );\n\n  }\n\n\n  function changePlayer() {\n\n    selectedStudent =\n      null;\n\n\n    showScreen(\n      \"kr-player-screen\"\n    );\n\n  }\n\n\n  \/* =======================================================\n     PUBLIC FUNCTIONS\n  ======================================================= *\/\n\n  window.KRGame = {\n\n    startGame:\n      startGame,\n\n    confirmLearningAnswer:\n      confirmLearningAnswer,\n\n    playAgainSameMode:\n      playAgainSameMode,\n\n    goToChallenge:\n      goToChallenge,\n\n    changePlayer:\n      changePlayer\n\n  };\n\n\n  \/* =======================================================\n     INITIALIZE\n  ======================================================= *\/\n\n  buildPlayers();\n\n\n})();\n\n<\/script><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-16058","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/posts\/16058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/comments?post=16058"}],"version-history":[{"count":3,"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/posts\/16058\/revisions"}],"predecessor-version":[{"id":16063,"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/posts\/16058\/revisions\/16063"}],"wp:attachment":[{"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/media?parent=16058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/categories?post=16058"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/kinderroom.com\/home\/wp-json\/wp\/v2\/tags?post=16058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}