:root {
  font-family: "Avenir Next", "Nunito Sans", sans-serif;
  color: #242822;
  background: #faf9f6;
  font-synthesis: none;
  --green: #c9ef77;
  --ink: #242822;
  --muted: #85867f;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
textarea {
  font: inherit;
}
button,
a,
input,
textarea {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
  color: inherit;
}
button:focus-visible,
a:focus-visible {
  outline: 3px solid #7f59dc;
  outline-offset: 4px;
}
button {
  border: 0;
}
a {
  color: inherit;
}
h1,
h2,
h3,
p {
  margin: 0;
}
button:hover {
  filter: brightness(0.98);
}
button:active {
  transform: translateY(2px);
}
.app-shell {
  max-width: 1440px;
  margin: auto;
  display: grid;
  grid-template-columns: 220px 1fr;
  min-height: 100vh;
}
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 38px 24px;
  border-right: 1px solid #e9e8e1;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 23px;
  font-weight: 1000;
  letter-spacing: -1.1px;
  text-decoration: none;
}
.brand svg {
  width: 36px;
  height: 40px;
}
.nav {
  display: grid;
  gap: 9px;
}
.nav button {
  display: flex;
  align-items: center;
  gap: 13px;
  text-align: left;
  padding: 14px 18px;
  border-radius: 14px;
  background: none;
  font-weight: 800;
  font-size: 15px;
  color: #7f837a;
}
.nav button.active {
  background: #eaf2dc;
  color: #354b21;
}
.nav svg {
  width: 21px;
  height: 21px;
}
.nav .create {
  margin-top: 22px;
}
.side-bottom {
  margin-top: auto;
}
.side-note {
  font-size: 12px;
  color: #98998f;
  line-height: 1.7;
  margin: 18px 8px;
}
.profile-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  text-align: left;
}
.profile-btn strong {
  font-size: 14px;
}
.profile-btn small {
  display: block;
  color: #93968d;
  font-size: 11px;
}
.avatar {
  width: 43px;
  height: 43px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e3d6fa;
  flex-shrink: 0;
  overflow: hidden;
}
.avatar svg {
  width: 40px;
  height: 40px;
}
.main {
  padding: 30px 46px 40px;
  min-width: 0;
}
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 36px;
}
.eyebrow {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.9px;
  color: #8b8e82;
  text-transform: uppercase;
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 11px;
}
.pill {
  border: 1px solid #e6e5df;
  border-radius: 30px;
  padding: 9px 14px;
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 13px;
  font-weight: 900;
  background: white;
}
.pill svg {
  width: 17px;
  height: 17px;
}
.notification {
  background: none;
  position: relative;
  padding: 7px;
}
.notification:after {
  content: "";
  position: absolute;
  right: 8px;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fda285;
}
.hello {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 25px;
}
.hello h1 {
  font-size: 34px;
  letter-spacing: -1.4px;
  font-weight: 1000;
  line-height: 1.2;
}
.hello p {
  color: #898c81;
  margin-top: 8px;
  font-size: 14px;
}
.tiny-label {
  font-size: 11px;
  border-radius: 7px;
  background: #ecece7;
  color: #6f7467;
  padding: 6px 9px;
  font-weight: 800;
}
.hero {
  border-radius: 24px;
  background: #dcecbf;
  min-height: 260px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 31px 34px;
}
.hero-copy {
  position: relative;
  z-index: 2;
  width: 60%;
}
.hero .eyebrow {
  color: #57723a;
  font-size: 10px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.hero h2 {
  font-size: 37px;
  line-height: 1.08;
  letter-spacing: -1.6px;
  font-weight: 1000;
  margin: 12px 0;
}
.hero p {
  font-size: 13px;
  color: #687957;
  line-height: 1.6;
}
.solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  background: #273424;
  color: white;
  border-radius: 12px;
  padding: 13px 21px;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 3px 0 #182517;
  min-height: 46px;
}
.hero .solid {
  margin-top: 20px;
}
.hero-art {
  position: absolute;
  width: 350px;
  height: 285px;
  right: -4px;
  bottom: -15px;
}
.hero-star {
  position: absolute;
  font-size: 24px;
  color: #84a858;
}
.hero .rounds {
  position: absolute;
  right: 25px;
  top: 23px;
  border-radius: 20px;
  padding: 6px 10px;
  font-size: 10px;
  background: #ffffff6b;
  color: #526841;
  font-weight: 800;
}
.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 268px;
  gap: 29px;
  margin-top: 29px;
}
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.section-head h2 {
  font-size: 19px;
  font-weight: 1000;
  letter-spacing: -0.5px;
}
.text-btn {
  background: none;
  font-size: 11px;
  font-weight: 800;
  color: #8a8f80;
  padding: 4px 0;
}
.filters {
  display: flex;
  gap: 7px;
  margin-bottom: 19px;
  overflow: auto;
  scrollbar-width: none;
}
.filter {
  border-radius: 24px;
  background: #f0f0e9;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 800;
  padding: 9px 14px;
  color: #818779;
}
.filter.active {
  background: #2d352b;
  color: white;
}
.game-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 15px;
}
.game-card {
  text-align: left;
  background: none;
  padding: 0;
  min-width: 0;
}
.tile-art {
  height: 151px;
  border-radius: 17px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tile-art > svg {
  width: 100%;
  height: 100%;
}
.tile-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  background: #ffffffd9;
  border-radius: 6px;
  font-size: 8px;
  font-weight: 1000;
  letter-spacing: 0.6px;
  padding: 4px 7px;
}
.tile-play {
  position: absolute;
  right: 11px;
  bottom: 11px;
  width: 25px;
  height: 25px;
  background: #ffffffb8;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 10px;
}
.game-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 11px 2px 0;
}
.game-info h3 {
  font-size: 14px;
  font-weight: 1000;
}
.game-info p {
  font-size: 10px;
  color: #929489;
  margin-top: 3px;
}
.game-info .elo {
  font-size: 10px;
  color: #8b9182;
  font-weight: 800;
}
.panel {
  border: 1px solid #e6e7dd;
  border-radius: 18px;
  padding: 19px;
  background: #fffefa;
}
.friends-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.panel h3 {
  font-size: 14px;
  font-weight: 1000;
}
.live {
  font-size: 9px;
  color: #839c62;
}
.live:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #87b04e;
  border-radius: 50%;
  margin-right: 5px;
}
.friend-row {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 19px;
  font-size: 12px;
}
.friend-row .avatar {
  width: 34px;
  height: 34px;
}
.friend-row .avatar svg {
  width: 33px;
  height: 33px;
}
.friend-row small {
  display: block;
  font-size: 9px;
  color: #999c91;
  margin-top: 2px;
}
.friend-row > button {
  margin-left: auto;
  background: #f1f2eb;
  border-radius: 7px;
  padding: 6px 9px;
  font-size: 10px;
  font-weight: 900;
}
.outline {
  background: transparent;
  border: 1px solid #dfe2d5;
  border-radius: 10px;
  padding: 11px;
  font-size: 11px;
  font-weight: 900;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.panel > .outline {
  width: 100%;
  margin-top: 19px;
}
.weekly {
  margin-top: 18px;
  background: #f4efdf;
  border: none;
}
.weekly .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.week-days {
  display: flex;
  justify-content: space-between;
  margin-top: 19px;
}
.day {
  text-align: center;
  font-size: 9px;
  color: #96917f;
}
.day b {
  display: grid;
  place-items: center;
  margin-top: 7px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #e8e4d7;
  color: #aaa691;
  font-size: 10px;
}
.day.done b {
  background: #f4b95c;
  color: #6c4b1c;
}
.day.today b {
  outline: 2px solid #eeb351;
  outline-offset: 3px;
}
.weekly p {
  font-size: 10px;
  line-height: 1.7;
  color: #9a9079;
  margin-top: 16px;
}
.create-banner {
  margin-top: 18px;
  background: #efeaf8;
  border: none;
  position: relative;
  overflow: hidden;
}
.create-banner p {
  font-size: 11px;
  line-height: 1.7;
  color: #8c7ca7;
  margin: 9px 0 13px;
  max-width: 160px;
}
.create-banner button {
  font-size: 11px;
  font-weight: 900;
  color: #806399;
  background: none;
  padding: 0;
}
.create-banner .spark {
  position: absolute;
  right: 17px;
  bottom: 27px;
  font-size: 40px;
  color: #ad94ce;
}
.footer-line {
  display: flex;
  justify-content: center;
  gap: 7px;
  color: #b2b3a8;
  font-size: 10px;
  margin-top: 32px;
}
.mobile-nav {
  display: none;
}
.screen {
  max-width: 880px;
  margin: auto;
  min-height: 100vh;
  padding: 30px 26px 70px;
}
.game-page {
  min-height: 100vh;
  background: var(--stage, #c5b3eb);
}
.game-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.icon-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff70;
  display: grid;
  place-items: center;
}
.icon-button svg {
  width: 20px;
}
.game-header strong {
  font-size: 16px;
}
.game-header small {
  font-size: 11px;
  background: #ffffff60;
  padding: 8px 12px;
  border-radius: 20px;
}
.game-content {
  max-width: 560px;
  margin: 48px auto 0;
  text-align: center;
}
.game-content .eyebrow {
  color: inherit;
  opacity: 0.65;
}
.game-content h1 {
  font-size: 38px;
  letter-spacing: -1.5px;
  font-weight: 1000;
  margin: 13px 0 10px;
}
.game-content > p {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.75;
}
.clue {
  background: #ffffffd9;
  box-shadow: 0 5px 0 #0000000c;
  border-radius: 18px;
  padding: 24px;
  margin: 27px 0 10px;
  font-size: 23px;
  font-weight: 900;
}
.dial {
  max-width: 440px;
  margin: 0 auto;
  position: relative;
}
.dial svg {
  width: 100%;
  display: block;
}
.dial-labels {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 900;
  margin: 0 6px;
}
.slider {
  width: 100%;
  accent-color: #44325e;
  margin: 25px 0 8px;
  cursor: pointer;
  height: 35px;
}
.hint {
  font-size: 11px;
  opacity: 0.6;
  margin: 8px 0 27px;
}
.wide {
  width: 100%;
  max-width: 430px;
}
.game-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 25px;
  font-size: 11px;
  opacity: 0.7;
}
.progress-dots {
  display: flex;
  gap: 7px;
  justify-content: center;
  margin: 25px 0;
}
.progress-dots span {
  width: 42px;
  height: 7px;
  border-radius: 7px;
  background: #00000013;
}
.progress-dots .done {
  background: #567b37;
}
.result-card {
  background: #fffefa;
  border-radius: 25px;
  padding: 30px;
  margin: 25px 0;
  text-align: center;
}
.result-score {
  font-size: 70px;
  line-height: 1;
  font-weight: 1000;
  letter-spacing: -4px;
}
.score-caption {
  font-size: 12px;
  color: #95978c;
  margin-top: 10px;
}
.stat-row {
  display: flex;
  justify-content: space-evenly;
  border-top: 1px solid #eee;
  margin-top: 23px;
  padding-top: 22px;
  gap: 10px;
}
.stat-row strong {
  display: block;
  font-size: 23px;
}
.stat-row small {
  font-size: 10px;
  color: #92968a;
}
.result-mascot {
  width: 145px;
  height: 145px;
  margin: 0 auto;
}
.progress-list {
  display: grid;
  gap: 11px;
  margin: 25px 0;
}
.progress-item {
  display: flex;
  align-items: center;
  gap: 13px;
  background: #ffffffad;
  border-radius: 15px;
  padding: 16px;
  text-align: left;
}
.progress-item b {
  display: block;
  font-size: 14px;
}
.progress-item small {
  font-size: 10px;
  opacity: 0.6;
}
.progress-item > span:last-child {
  margin-left: auto;
  font-size: 12px;
  font-weight: 900;
}
.progress-num {
  width: 32px;
  height: 32px;
  background: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 900;
}
.word-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 24px 0;
}
.letter {
  height: 65px;
  background: #ffffffd6;
  border-radius: 12px;
  font-size: 25px;
  font-weight: 1000;
  box-shadow: 0 4px 0 #00000012;
}
.letter.selected {
  background: #2c4e69;
  color: #fff;
}
.word-input {
  font-size: 24px;
  font-weight: 900;
  min-height: 40px;
  letter-spacing: 5px;
  margin: 20px 0 0;
}
.found-words {
  font-size: 12px;
  line-height: 2;
  margin: 15px 0;
  min-height: 25px;
}
.cluster-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  margin: 24px 0;
}
.cluster-word {
  font-size: 11px;
  font-weight: 900;
  padding: 20px 3px;
  background: #ffffffbd;
  border-radius: 10px;
  min-width: 0;
}
.cluster-word.selected {
  background: #625073;
  color: white;
}
.solved-group {
  border-radius: 10px;
  background: #a6d79a;
  padding: 13px;
  margin-top: 8px;
  font-size: 12px;
}
.map {
  position: relative;
  background: #bbdbe0;
  border-radius: 18px;
  overflow: hidden;
  margin: 25px 0;
  cursor: crosshair;
}
.map svg {
  width: 100%;
  display: block;
}
.map-pin {
  position: absolute;
  width: 22px;
  height: 22px;
  transform: translate(-50%, -90%);
  font-size: 26px;
  pointer-events: none;
}
.scene {
  border-radius: 18px;
  overflow: hidden;
  margin: 23px 0;
}
.scene svg {
  display: block;
  width: 100%;
}
.input {
  width: 100%;
  border: 1px solid #dddfd3;
  background: #fffefa;
  border-radius: 12px;
  padding: 14px;
  color: #2a3325;
  font-size: 14px;
}
.drawing {
  background: #fffdf4;
  border-radius: 20px;
  margin: 24px 0;
  touch-action: none;
  width: 100%;
  aspect-ratio: 1;
  display: block;
}
.section-page {
  max-width: 900px;
  margin: 35px auto;
}
.section-page h1 {
  font-size: 34px;
  letter-spacing: -1px;
}
.section-page > p {
  color: #95998c;
  font-size: 14px;
  margin: 8px 0 28px;
}
.leader-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
  background: #fff;
  border-bottom: 1px solid #f1f0e9;
}
.leader-row:first-child {
  border-radius: 16px 16px 0 0;
}
.leader-row:last-child {
  border-radius: 0 0 16px 16px;
}
.leader-row .rank {
  width: 20px;
  font-weight: 900;
  color: #999;
}
.leader-row strong {
  font-size: 14px;
}
.leader-row small {
  display: block;
  font-size: 11px;
  color: #979b8e;
}
.leader-row .points {
  margin-left: auto;
  font-weight: 900;
  font-size: 14px;
}
.leader-row.me {
  background: #eaf3da;
}
.profile-mascot {
  width: 180px;
  height: 180px;
  background: #e9dff7;
  border-radius: 40px;
  margin: 25px auto;
}
.accessories {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 25px 0;
}
.accessories button {
  font-size: 24px;
  border-radius: 15px;
  padding: 12px;
  background: #fff;
  border: 2px solid transparent;
}
.accessories button.active {
  border-color: #859f54;
  background: #edf4e3;
}
.creator-box {
  background: #eee7f7;
  border-radius: 22px;
  padding: 26px;
  margin: 25px 0;
}
.creator-box textarea {
  resize: vertical;
  min-height: 120px;
  margin: 18px 0;
}
.template-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 15px 0;
}
.template-options button {
  background: #fff9;
  border-radius: 20px;
  padding: 10px;
  font-size: 11px;
}
.note {
  font-size: 12px;
  color: #8d9385;
  line-height: 1.6;
  margin: 15px 0;
}
#toast {
  position: fixed;
  bottom: 35px;
  left: 50%;
  transform: translate(-50%, 20px);
  background: #293324;
  color: white;
  padding: 13px 22px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 5px 20px #0002;
  z-index: 99;
  opacity: 0;
  transition: 0.2s;
  pointer-events: none;
  max-width: 90vw;
  text-align: center;
}
#toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}
.mini-course {
  height: 250px;
  border-radius: 25px;
  background: #5ea87c;
  position: relative;
  overflow: hidden;
  margin: 25px 0;
  border: 15px solid #43845d;
  touch-action: none;
}
.golf-obstacle {
  position: absolute;
  left: 43%;
  top: 25%;
  width: 15%;
  height: 45%;
  background: #f1d6a7;
  border-radius: 40%;
}
.golf-ball {
  position: absolute;
  width: 14px;
  height: 14px;
  background: white;
  border-radius: 50%;
  box-shadow: 0 3px 3px #0003;
  transform: translate(-50%, -50%);
}
.hole {
  position: absolute;
  left: 84%;
  top: 30%;
  width: 17px;
  height: 17px;
  background: #244d38;
  border-radius: 50%;
}
.flag {
  position: absolute;
  left: 85%;
  top: 14%;
  height: 43px;
  border-left: 2px solid #fff;
}
.flag:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  border-left: 23px solid #ffc563;
  border-bottom: 12px solid transparent;
}
.hidden {
  display: none !important;
}
@media (min-width: 1350px) {
  .main {
    padding-left: 55px;
    padding-right: 55px;
  }
  .tile-art {
    height: 172px;
  }
}
@media (max-width: 1100px) {
  .app-shell {
    grid-template-columns: 180px 1fr;
  }
  .sidebar {
    padding: 30px 16px;
  }
  .main {
    padding: 25px 28px;
  }
  .content-grid {
    grid-template-columns: 1fr 235px;
    gap: 20px;
  }
  .hero-art {
    right: -50px;
  }
  .brand {
    font-size: 20px;
  }
  .hero h2 {
    font-size: 34px;
  }
}
@media (max-width: 900px) {
  .content-grid {
    grid-template-columns: 1fr;
  }
  .right-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .right-col > .panel {
    margin: 0;
  }
  .create-banner {
    display: none;
  }
  .hero-art {
    right: 0;
  }
  .sidebar {
    padding-left: 10px;
    padding-right: 10px;
  }
  .tile-art {
    height: 185px;
  }
  .app-shell {
    grid-template-columns: 165px 1fr;
  }
  .brand {
    font-size: 18px;
    gap: 4px;
  }
  .nav button {
    padding: 13px;
    font-size: 13px;
  }
  .hello h1 {
    font-size: 30px;
  }
}
@media (max-width: 650px) {
  .app-shell {
    display: block;
  }
  .sidebar {
    display: none;
  }
  .main {
    padding: 23px 20px 102px;
  }
  .topbar {
    margin-bottom: 28px;
  }
  .topbar > .eyebrow {
    font-size: 0;
  }
  .topbar > .eyebrow:after {
    content: "miniworlds";
    font-size: 23px;
    font-weight: 1000;
    letter-spacing: -1.2px;
    text-transform: none;
    color: #283324;
  }
  .top-actions {
    gap: 5px;
  }
  .pill {
    padding: 8px 10px;
    font-size: 12px;
  }
  .top-actions .avatar {
    width: 34px;
    height: 34px;
  }
  .notification {
    display: none;
  }
  .hello {
    margin-bottom: 22px;
  }
  .hello h1 {
    font-size: 29px;
  }
  .hello p {
    font-size: 12px;
  }
  .tiny-label {
    display: none;
  }
  .hero {
    min-height: 251px;
    padding: 25px 22px;
    border-radius: 22px;
    align-items: start;
  }
  .hero-copy {
    width: 68%;
  }
  .hero h2 {
    font-size: 31px;
    margin-top: 14px;
    max-width: 230px;
  }
  .hero p {
    font-size: 11px;
    max-width: 190px;
  }
  .hero-art {
    width: 230px;
    height: 230px;
    right: -46px;
    bottom: -20px;
  }
  .hero .rounds {
    display: none;
  }
  .hero .solid {
    font-size: 12px;
    padding: 12px 15px;
    gap: 17px;
    margin-top: 19px;
  }
  .hero .eyebrow {
    font-size: 9px;
    letter-spacing: 1.4px;
  }
  .content-grid {
    margin-top: 27px;
    gap: 28px;
  }
  .section-head h2 {
    font-size: 19px;
  }
  .filters {
    gap: 6px;
    margin-bottom: 17px;
  }
  .filter {
    padding: 8px 13px;
    font-size: 10px;
  }
  .game-grid {
    gap: 21px 12px;
  }
  .tile-art {
    height: 143px;
    border-radius: 15px;
  }
  .game-info h3 {
    font-size: 13px;
  }
  .game-info p {
    font-size: 9px;
  }
  .game-info .elo {
    font-size: 9px;
  }
  .right-col {
    grid-template-columns: 1fr;
  }
  .weekly {
    display: none;
  }
  .mobile-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fffefaee;
    backdrop-filter: blur(15px);
    display: flex;
    justify-content: space-around;
    padding: 12px 10px max(14px, env(safe-area-inset-bottom));
    border-top: 1px solid #e9e9df;
    z-index: 10;
  }
  .mobile-nav button {
    background: none;
    color: #93988b;
    display: grid;
    justify-items: center;
    gap: 4px;
    font-size: 9px;
    font-weight: 900;
  }
  .mobile-nav button.active {
    color: #354c25;
  }
  .mobile-nav svg {
    width: 21px;
    height: 21px;
  }
  .footer-line {
    display: none;
  }
  .screen {
    padding: 22px 20px 45px;
  }
  .game-content {
    margin-top: 35px;
  }
  .game-content h1 {
    font-size: 32px;
  }
  .game-header strong {
    font-size: 14px;
  }
  .game-header small {
    font-size: 10px;
  }
  .clue {
    font-size: 21px;
    padding: 22px;
  }
  .cluster-word {
    font-size: 10px;
    padding: 19px 2px;
  }
  .right-col .panel {
    padding: 20px;
  }
  .section-page {
    margin-top: 15px;
  }
  .section-page h1 {
    font-size: 30px;
  }
  #toast {
    bottom: 90px;
  }
  .result-score {
    font-size: 64px;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
.podium {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 10px;
  max-width: 430px;
  margin: 20px auto 0;
}
.solid svg,
.outline svg {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}
.game-bottom svg {
  width: 15px;
  height: 15px;
}
.top-actions .pill > span {
  display: inline-flex;
}
.game-content .game-bottom {
  font-size: 10px;
}
.brand > svg {
  flex-shrink: 0;
}
.hero-copy .solid svg {
  width: 16px;
}
.notification svg {
  width: 20px;
  height: 20px;
}
.word-board .letter {
  user-select: none;
}
.cluster-word {
  overflow-wrap: anywhere;
}
.game-content .clue {
  overflow-wrap: anywhere;
}
.combo-banner {
  background: #f5df9b;
  color: #84692d;
  border-radius: 20px;
  padding: 8px 12px;
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: 0.8px;
  margin: -10px auto 22px;
  max-width: 320px;
  animation: pop-in 0.45s ease-out;
}
@keyframes pop-in {
  from {
    transform: scale(0.75);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@media (max-width: 650px) {
  .hero-art {
    width: 195px;
    height: 220px;
    right: -20px;
  }
  .hero-art > div {
    left: 0 !important;
    width: 180px !important;
    bottom: 0 !important;
  }
  .hero-art > span:first-of-type {
    left: 10px !important;
    top: 30px !important;
  }
  .hero-art > span:last-of-type {
    right: 15px !important;
    bottom: 7px !important;
    width: 40px !important;
    height: 40px !important;
  }
  .hero-copy {
    width: 70%;
  }
  .hero h2 {
    font-size: 30px;
    max-width: 230px;
  }
}
@media (max-width: 390px) {
  .hero-art {
    right: -36px;
    width: 180px;
  }
  .hero-art > div {
    width: 160px !important;
  }
  .hero h2 {
    font-size: 27px;
  }
  .hello h1 {
    font-size: 27px;
  }
  .game-info .elo {
    font-size: 8px;
  }
}
.content-grid > section,
.right-col {
  min-width: 0;
}
.game-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.content-grid {
  grid-template-columns: minmax(0, 1fr) 268px;
}
.pill {
  white-space: nowrap;
}
.hero-art > svg {
  width: 100%;
  height: 100%;
}
.hero-art > div svg {
  display: block;
  width: 100%;
  height: auto;
}
.profile-mascot > svg,
.result-mascot > svg {
  width: 100%;
  height: 100%;
}
@media (max-width: 1100px) {
  .content-grid {
    grid-template-columns: minmax(0, 1fr) 235px;
  }
}
@media (max-width: 900px) {
  .content-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 650px) {
  .section-head .text-btn {
    display: none;
  }
  .hero-art > div {
    bottom: 0 !important;
  }
  .top-actions {
    gap: 6px;
  }
  .pill {
    font-size: 11px;
    padding: 8px 9px;
  }
  .hero .hero-copy {
    position: relative;
  }
  .game-info {
    gap: 4px;
  }
  .game-info h3 {
    font-size: 12px;
  }
  .game-info p {
    font-size: 9px;
  }
  .game-info .elo {
    flex-shrink: 0;
  }
  .topbar > .eyebrow:after {
    font-size: 22px;
  }
  .hello h1 {
    font-size: 28px;
  }
}
@media (max-width: 350px) {
  .top-actions .pill:nth-child(2) {
    display: none;
  }
}
/* MiniWorlds — warm plush playroom */
:root {
  --ink: #48362d;
  --green: #e8c883;
  color: var(--ink);
  background: #fbf6ed;
}
body {
  background: #fbf6ed;
}
.app-shell {
  max-width: 1500px;
  grid-template-columns: 190px 1fr;
}
.sidebar {
  border-color: #eae0d1;
  background: #fcf8f0;
  padding: 32px 20px;
}
.brand {
  font-size: 21px;
  color: #49382f;
  letter-spacing: -1px;
}
.brand > .plush-wrap {
  width: 37px;
  height: 47px;
}
.plush-wrap {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
}
.plush-wrap > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.momo-badge {
  position: absolute;
  top: -7%;
  right: 0;
  font-size: 22px;
}
.brand > svg {
  display: none;
}
.nav button {
  color: #9c897b;
  font-size: 13px;
  border-radius: 14px;
  padding: 13px 14px;
}
.nav button.active {
  background: #f2dfb3;
  color: #6b4b2c;
  box-shadow:
    inset 0 1px #fff7de,
    0 3px #e6cfa3;
}
.nav .create {
  margin-top: 0;
}
.main {
  padding: 28px 42px 55px;
}
.eyebrow {
  color: #aa8a72;
  font-size: 9px;
  letter-spacing: 1.6px;
}
.topbar {
  margin-bottom: 29px;
}
.pill {
  background: #fffcf5;
  border-color: #eadfce;
  box-shadow: 0 2px #efe3ce;
  color: #755a42;
}
.top-actions .avatar,
.avatar {
  background: #eed9c8;
  border: 2px solid #fff4e0;
}
.top-actions .avatar {
  width: 43px;
  height: 43px;
}
.notification:after {
  background: #c58169;
}
.new-greeting {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 24px;
  gap: 20px;
}
.new-greeting h1 {
  font-size: 38px;
  font-weight: 900;
  letter-spacing: -1.5px;
  margin: 7px 0;
}
.new-greeting h1 > span {
  color: #c18563;
}
.new-greeting p {
  font-size: 13px;
  color: #a28d7d;
  line-height: 1.6;
}
.new-greeting > .outline {
  font-size: 11px;
  background: #fff9ee;
  padding: 12px 16px;
  box-shadow: 0 3px #e8dbca;
  white-space: nowrap;
}
.outline {
  border: 1px solid #dfcdb8;
  color: #775e4b;
  background: #fff9ee;
  border-radius: 13px;
  box-shadow: 0 3px #e4d5c1;
  min-height: 43px;
}
.solid {
  background: linear-gradient(#8d739f, #776084);
  border: 1px solid #a18aac;
  box-shadow:
    0 4px #5c4968,
    inset 0 1px #baa7c8;
  border-radius: 14px;
  color: #fff9ec;
  font-weight: 900;
  min-height: 49px;
  padding: 13px 22px;
  transition:
    transform 0.15s,
    box-shadow 0.15s;
}
.solid:active,
.outline:active,
.candy-button:active {
  transform: translateY(3px);
  box-shadow: 0 1px #8b674d;
}
.solid:hover {
  filter: brightness(1.06);
}
.plush-hero {
  height: 330px;
  position: relative;
  overflow: hidden;
  border-radius: 25px;
  background: #f0b48c;
  border: 1px solid #e8c4a5;
  box-shadow: 0 5px #ead5ba;
}
.world-backdrop {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
}
.world-wash {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    #ffddaade 0%,
    #f8c69a80 38%,
    transparent 65%
  );
}
.world-copy {
  position: relative;
  padding: 29px 33px;
  z-index: 1;
}
.daily-chip {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.2px;
  background: #fff2d9cc;
  padding: 7px 11px;
  border: 1px solid #fff4de;
  border-radius: 20px;
  color: #8f623e;
  display: inline-flex;
  gap: 12px;
  align-items: center;
}
.daily-chip b {
  font-size: 8px;
  letter-spacing: 0;
  font-weight: 800;
  opacity: 0.7;
}
.world-copy h2 {
  font-size: 43px;
  letter-spacing: -1.8px;
  line-height: 1.05;
  font-weight: 900;
  margin: 18px 0 10px;
  color: #62402c;
}
.world-copy p {
  font-size: 12px;
  line-height: 1.6;
  color: #956e50;
}
.candy-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-radius: 15px;
  padding: 12px 18px;
  min-width: 181px;
  background: linear-gradient(#ffe395, #f6c85f);
  border: 1px solid #fff1b4;
  box-shadow:
    0 5px #c99c4e,
    inset 0 1px #fff5d6;
  color: #644725;
  font-size: 14px;
  font-weight: 1000;
  margin-top: 17px;
}
.candy-button span {
  font-size: 12px;
}
.hero-caption {
  display: block;
  font-size: 8px;
  color: #8f6644;
  margin-top: 11px;
  font-weight: 800;
}
.momo-speech {
  position: absolute;
  right: 30px;
  top: 25px;
  background: #fff9eae6;
  border: 1px solid #fff6d8;
  border-radius: 16px 16px 3px 16px;
  padding: 10px 14px;
  font-size: 10px;
  font-weight: 900;
  transform: rotate(4deg);
  color: #83634e;
  box-shadow: 0 3px #ba8b6130;
}
.discovery-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin: 32px 0 17px;
  gap: 15px;
}
.discovery-head h2 {
  font-size: 23px;
  font-weight: 900;
  letter-spacing: -0.8px;
  margin-top: 6px;
}
.discovery-head .text-btn {
  font-size: 11px;
  color: #9e7f66;
  font-weight: 800;
}
.spotlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.spotlight-grid .tile-art {
  height: 180px;
}
.tile-art {
  height: 170px;
  box-shadow: 0 4px #dfcdbb;
  border: 1px solid #e5cdb8;
  border-radius: 17px;
  background: #eac8aa;
  transition: transform 0.2s;
}
.game-card:hover .tile-art {
  transform: translateY(-3px);
}
.tile-art > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tile-art > .atlas-art {
  height: 100%;
  width: 100%;
  background-image: url("assets/game-atlas.webp");
  background-size: 400% 400%;
  background-repeat: no-repeat;
}
.tile-badge {
  background: #fff7e9eb;
  box-shadow: 0 1px #e3cbae;
  color: #87664e;
  border: 1px solid #fff7e7;
  font-size: 7px;
  letter-spacing: 0.5px;
  top: 10px;
  left: 10px;
}
.tile-play {
  width: 29px;
  height: 29px;
  color: #8a694e;
  background: #fff8e8e8;
  box-shadow: 0 2px #ad896656;
  border: 1px solid #fff7dd;
}
.game-info {
  padding: 13px 2px 0;
}
.game-info h3 {
  font-size: 14px;
  color: #594235;
  font-weight: 900;
}
.game-info p {
  font-size: 10px;
  color: #ac9685;
  line-height: 1.5;
}
.game-info .elo {
  color: #ac937c;
  font-size: 10px;
}
.full-library {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 25px 17px;
}
.full-library .tile-art {
  height: 165px;
}
.filter {
  background: #f0e6d7;
  color: #a38872;
  font-size: 10px;
  font-weight: 800;
  box-shadow: 0 2px #e5d6c3;
  border: 1px solid #f6ebdb;
  padding: 8px 15px;
  margin-bottom: 3px;
}
.filter.active {
  background: #8b739b;
  color: #fff5e8;
  box-shadow: 0 3px #6b5877;
  border-color: #a38aae;
}
.filters {
  padding-bottom: 4px;
  gap: 8px;
}
.sports-strip {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 33px;
  background: #ede6d3;
  border: 1px solid #e2d5bb;
  border-radius: 19px;
  padding: 22px 24px;
  box-shadow: 0 3px #e4d7c1;
}
.sports-strip > div {
  margin-right: auto;
}
.sports-tag {
  font-size: 8px;
  letter-spacing: 1.5px;
  font-weight: 900;
  color: #a39472;
}
.sports-strip h2 {
  font-size: 21px;
  letter-spacing: -0.6px;
  margin: 6px 0;
}
.sports-strip p {
  font-size: 11px;
  color: #a4987e;
}
.mini-sport {
  background: #fffcf0;
  box-shadow: 0 3px #d6c6a7;
  border: 1px solid #fef5dc;
  border-radius: 15px;
  min-width: 84px;
  min-height: 86px;
  padding: 12px;
  font-size: 10px;
  font-weight: 900;
  color: #8d7456;
  display: grid;
  justify-items: center;
  gap: 8px;
}
.mini-sport > span {
  font-size: 28px;
}
.library-count {
  font-size: 10px;
  color: #b09a85;
}
.end-note {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 38px;
  color: #ae9881;
  font-size: 11px;
  line-height: 1.6;
}
.end-note > div {
  width: 60px;
  height: 70px;
}
.end-note strong {
  font-weight: 800;
  color: #92765e;
}
.profile-btn .avatar {
  width: 39px;
  height: 42px;
  border-radius: 12px;
}
.profile-btn strong {
  font-size: 11px;
  color: #755c47;
}
.profile-btn small {
  font-size: 9px;
  color: #ad9882;
}
.side-note {
  font-size: 10px;
  color: #b39d86;
}
.game-page {
  background:
    radial-gradient(ellipse at top, #fff2d37a, transparent 70%), var(--stage);
}
.screen {
  max-width: 810px;
  padding-top: 24px;
}
.game-header {
  color: #654d3d;
}
.game-header .icon-button {
  background: #fff4dfb0;
  box-shadow: 0 3px #90745e20;
  border: 1px solid #fff2d6;
}
.game-header small {
  background: #fff5df9c;
  color: #886d53;
  border: 1px solid #fff6e7;
  font-size: 9px;
}
.game-content {
  margin-top: 32px;
  max-width: 490px;
}
.game-content h1 {
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -1.2px;
  color: #614736;
}
.game-content > p {
  font-size: 12px;
  color: #876e59;
  opacity: 1;
}
.game-content .eyebrow {
  color: #8f7158;
}
.clue {
  background: linear-gradient(#fff6e4, #faecd4);
  border: 1px solid #fff8e8;
  box-shadow: 0 5px #b8937029;
  color: #73533c;
  font-weight: 800;
  font-size: 22px;
}
.letter {
  background: linear-gradient(#fff8e8, #f5e7ce);
  border: 1px solid #fff9ec;
  box-shadow:
    0 5px #b6a288,
    inset 0 1px #fff;
  color: #6e5541;
  border-radius: 12px;
  font-weight: 900;
  font-size: 25px;
}
.letter.selected {
  background: linear-gradient(#a18bab, #887295);
  color: white;
  border-color: #b8a5c1;
  box-shadow: 0 4px #65516f;
}
.word-board {
  gap: 10px;
}
.cluster-word {
  background: linear-gradient(#fff6e5, #f3e5cb);
  color: #80614b;
  box-shadow: 0 4px #bd9c7b66;
  border: 1px solid #fff5df;
  min-height: 66px;
  font-size: 10px;
}
.cluster-word.selected {
  background: #a18bac;
  border-color: #bca9c5;
  color: #fff9ef;
  box-shadow: 0 4px #776080;
}
.result-card {
  background: #fff9ee;
  border: 1px solid #fff4df;
  box-shadow: 0 4px #d0b48f33;
}
.result-score {
  color: #70513a;
}
.result-mascot {
  width: 165px;
  height: 165px;
  animation: plush-bob 3.8s ease-in-out infinite;
}
.result-mascot .momo-badge {
  font-size: 39px;
  top: 0;
}
.plush-wrap img {
  filter: drop-shadow(0 5px 4px #60432b15);
}
.progress-item {
  background: #fff8e7;
  border: 1px solid #fff4df;
  box-shadow: 0 3px #a69c6d26;
}
.progress-num {
  background: #ead4a3;
  color: #8b7149;
}
.game-status {
  background: #fff6e0bd;
  border: 1px solid #fff4de;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 900;
  margin: 18px 0;
  color: #866c52;
}
.opponent-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  margin: 16px 0;
}
.opponent-chip > img {
  width: 36px;
  height: 40px;
  object-fit: contain;
}
.opponent-chip span {
  font-size: 12px;
  font-weight: 900;
  color: #85664e;
  text-align: left;
}
.opponent-chip small {
  display: block;
  font-size: 8px;
  font-weight: 700;
  color: #ad9682;
}
.opponent-chip i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #9ab780;
  margin-left: 6px;
}
.sport-canvas {
  display: block;
  width: 100%;
  border-radius: 21px;
  touch-action: none;
  box-shadow: 0 5px #b89a7660;
  border: 4px solid #d2ad83;
}
.photo-round {
  position: relative;
  margin: 22px 0;
  border-radius: 21px;
  overflow: hidden;
  box-shadow: 0 5px #8f9c7266;
}
.photo-round > img {
  display: block;
  width: 100%;
  height: 290px;
  object-fit: cover;
}
.photo-round > span {
  position: absolute;
  top: 13px;
  left: 13px;
  border-radius: 20px;
  background: #fff7e4e0;
  padding: 7px 10px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1px;
  color: #83684e;
}
.answer-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.answer-choice {
  background: linear-gradient(#fff9e9, #f3e7ce);
  border: 1px solid #fff9eb;
  box-shadow: 0 4px #ae987866;
  border-radius: 13px;
  min-height: 52px;
  color: #80624c;
  font-size: 13px;
  font-weight: 900;
}
.answer-choice.correct {
  background: #99b580;
  color: #fffdf0;
  box-shadow: 0 4px #6b8653;
}
.answer-choice.incorrect {
  background: #cd947c;
  color: #fff6e7;
  box-shadow: 0 4px #a2745e;
}
.answer-choice:disabled {
  cursor: default;
  opacity: 0.8;
}
.photo-credit {
  font-size: 9px;
  margin: 17px 0;
  color: #899275;
}
.reaction-pad {
  width: 100%;
  height: 230px;
  border-radius: 24px;
  background: #e7cf9b;
  box-shadow: 0 5px #bd9e74;
  border: 2px solid #f7e6bf;
  margin: 20px 0;
  font-size: 24px;
  font-weight: 900;
  color: #fff8e6;
}
.chessboard {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  border: 9px solid #b59873;
  border-radius: 10px;
  overflow: hidden;
  box-shadow:
    0 7px #977959,
    0 12px 24px #765a331f;
}
.chess-square {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  position: relative;
  padding: 0;
  font-size: 39px;
  line-height: 1;
}
.chess-square.light {
  background: #f7ebce;
}
.chess-square.dark {
  background: #8aa297;
}
.chess-square.chosen {
  background: #e5c273;
}
.chess-square.legal:after {
  content: "";
  position: absolute;
  width: 23%;
  height: 23%;
  background: #6a5d4566;
  border-radius: 50%;
}
.piece-w {
  color: #fffaf0;
  text-shadow:
    0 2px #9f8a70,
    1px 0 #9f8a70,
    -1px 0 #9f8a70;
  filter: drop-shadow(0 3px 1px #5a493b33);
}
.piece-b {
  color: #584738;
  text-shadow: 0 2px #352a22;
  filter: drop-shadow(0 3px 1px #5a493b33);
}
.move-log {
  font-size: 11px;
  color: #9d866f;
  min-height: 20px;
  margin: 17px 0;
  line-height: 1.8;
}
.logic-grid {
  display: grid;
  gap: 5px;
  background: #bdac8c;
  padding: 10px;
  border-radius: 15px;
  box-shadow: 0 5px #978264;
  margin: 20px 0;
}
.logic-cell {
  aspect-ratio: 1;
  background: #fff2d7;
  box-shadow: 0 3px #c4ae89;
  display: grid;
  place-items: center;
  border-radius: 5px;
  padding: 0;
  min-width: 0;
  font-size: 19px;
  font-weight: 800;
  color: #7e664c;
  user-select: none;
}
.logic-cell.open {
  background: #e9dec8;
  box-shadow: none;
}
.logic-cell.chosen {
  background: #ecd08e;
  outline: 2px solid #b99b5b;
}
.logic-cell.fixed {
  color: #675742;
  background: #ede2cb;
}
.number-pad {
  display: flex;
  gap: 9px;
  justify-content: center;
  margin: 18px 0;
}
.number-pad button {
  flex: 1;
  border-radius: 10px;
  background: #fff4db;
  border: 1px solid #fff8ea;
  box-shadow: 0 3px #b49b73;
  padding: 12px 2px;
  font-weight: 900;
  font-size: 18px;
  color: #80644b;
}
.game-input {
  display: flex;
  gap: 10px;
  margin: 20px 0;
}
.game-input input {
  min-width: 0;
}
.guess-history {
  display: grid;
  gap: 8px;
  margin: 20px 0;
}
.guess-row {
  display: flex;
  justify-content: space-between;
  background: #fff3dc;
  border: 1px solid #fff7e7;
  padding: 12px 15px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 800;
}
.feed-heading h1 {
  font-size: 31px;
  letter-spacing: -1.2px;
  margin: 7px 0;
  font-weight: 900;
}
.feed-heading p {
  font-size: 12px;
  color: #a38a75;
}
.play-feed {
  height: calc(100dvh - 205px);
  min-height: 580px;
  max-width: 650px;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  border-radius: 25px;
  border: 1px solid #dbc9b4;
  box-shadow: 0 5px #dfccb5;
  margin: 23px auto 0;
  overscroll-behavior: contain;
  scrollbar-width: none;
  background: #f5e3c5;
}
.feed-item {
  height: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  position: relative;
  display: flex;
  flex-direction: column;
}
.feed-item-top {
  display: flex;
  justify-content: space-between;
  padding: 13px 18px;
  background: #fff4df;
  font-size: 12px;
  gap: 10px;
  align-items: center;
}
.feed-item-top span {
  font-size: 9px;
  color: #a0866b;
}
.feed-item iframe {
  border: 0;
  flex: 1;
  min-height: 0;
  width: 100%;
  background: #ebd4af;
}
.feed-next {
  background: #9a7caa;
  color: #fff6e5;
  border-top: 1px solid #b79cc6;
  padding: 12px;
  font-size: 11px;
  font-weight: 900;
}
.embedded .screen {
  padding: 18px 18px 30px;
}
.embedded .game-header {
  display: none;
}
.embedded .game-content {
  margin-top: 0;
}
.embedded .game-content h1 {
  font-size: 27px;
  margin-top: 7px;
}
.embedded .game-content > p {
  font-size: 10px;
}
.embedded .photo-round {
  margin: 15px 0;
}
.embedded .photo-round > img {
  height: 230px;
}
.embedded .photo-credit {
  margin: 10px 0;
  font-size: 8px;
}
.embedded .sport-canvas {
  max-height: 380px;
  object-fit: contain;
}
.embedded .game-content .eyebrow {
  font-size: 8px;
}
.embedded .opponent-chip {
  margin: 7px 0;
}
.embedded .game-status {
  margin: 8px 0;
  padding: 8px;
  font-size: 10px;
}
.embedded .letter {
  height: 49px;
}
.embedded .word-board {
  margin: 15px 0;
}
.embedded .result-mascot {
  width: 100px;
  height: 100px;
}
.embedded .result-score {
  font-size: 48px;
}
.embedded .result-card {
  padding: 20px;
  margin: 17px 0;
}
.embedded .podium {
  display: none;
}
.embedded .score-caption {
  font-size: 9px;
}
.embedded .game-page {
  min-height: 100dvh;
}
.embedded .chess-square {
  font-size: 33px;
}
.embedded .chessboard {
  border-width: 7px;
}
.embedded .logic-grid {
  margin: 14px 0;
}
.embedded .drawing {
  max-height: 330px;
  object-fit: contain;
}
.creator-box {
  background: #eadbc7;
  border: 1px solid #ddc7ab;
  box-shadow: 0 4px #dcc5a6;
}
.input {
  background: #fffbf2;
  border-color: #e1cfb5;
  color: #7c614b;
}
.profile-mascot {
  background: #f2e0cb;
  border: 1px solid #ead1b1;
}
.accessories button {
  background: #fff6e6;
  box-shadow: 0 3px #d9c3a4;
}
.accessories button.active {
  border-color: #b095bd;
  background: #eddef2;
}
.leader-row {
  background: #fff8ea;
  border-color: #ecdfca;
}
.leader-row.me {
  background: #eddfbd;
}
.panel {
  background: #fff8ec;
  border-color: #e6d5bc;
}
.note {
  color: #a58b73;
}
.topbar > .eyebrow {
  color: #b29981;
}
.section-page h1 {
  color: #71523b;
}
.section-page > p {
  color: #a68d75;
}
.mobile-nav {
  background: #fff8edf2;
  border-top: 1px solid #e4d2b8;
  box-shadow: 0 -3px 15px #9b78560a;
}
.mobile-nav button {
  color: #b19983;
}
.mobile-nav button.active {
  color: #8b6c99;
}
#toast {
  background: #80678e;
  color: #fff6e6;
  box-shadow: 0 5px #634f6d50;
  border: 1px solid #aa8fb7;
  border-radius: 15px;
}
.solved-group {
  box-shadow: 0 3px #9b806433;
}
.game-bottom {
  color: #94765c;
}
.hint {
  color: #947b60;
  opacity: 1;
  font-size: 10px;
}
.dial {
  filter: drop-shadow(0 5px 0 #7e5a8b20);
}
.slider {
  accent-color: #8a6c99;
}
.end-note .plush-wrap {
  animation: plush-bob 4s ease-in-out infinite;
}
@keyframes plush-bob {
  0%,
  100% {
    transform: translateY(0) rotate(-2deg);
  }
  50% {
    transform: translateY(-5px) rotate(2deg);
  }
}
@media (min-width: 1400px) {
  .main {
    padding-left: 55px;
    padding-right: 55px;
  }
  .plush-hero {
    height: 365px;
  }
  .world-copy {
    padding: 34px 38px;
  }
  .world-copy h2 {
    font-size: 48px;
  }
  .world-copy p {
    font-size: 13px;
  }
  .spotlight-grid .tile-art {
    height: 200px;
  }
  .full-library .tile-art {
    height: 180px;
  }
}
@media (max-width: 1150px) {
  .app-shell {
    grid-template-columns: 170px 1fr;
  }
  .main {
    padding: 27px;
  }
  .sidebar {
    padding: 28px 15px;
  }
  .brand {
    font-size: 19px;
  }
  .full-library {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .spotlight-grid {
    gap: 14px;
  }
  .spotlight-grid .tile-art {
    height: 150px;
  }
  .new-greeting h1 {
    font-size: 31px;
  }
  .new-greeting > .outline {
    display: none;
  }
  .sports-strip {
    gap: 10px;
    padding: 20px;
  }
  .mini-sport {
    min-width: 70px;
  }
  .sports-strip h2 {
    font-size: 18px;
  }
}
@media (max-width: 850px) {
  .app-shell {
    grid-template-columns: 150px 1fr;
  }
  .sidebar {
    padding: 25px 11px;
  }
  .brand {
    font-size: 17px;
    gap: 4px;
  }
  .brand > .plush-wrap {
    width: 25px;
  }
  .nav button {
    font-size: 12px;
    padding: 12px 11px;
    gap: 10px;
  }
  .main {
    padding: 24px;
  }
  .world-copy {
    padding: 24px;
  }
  .world-copy h2 {
    font-size: 34px;
  }
  .plush-hero {
    height: 310px;
  }
  .momo-speech {
    right: 16px;
    top: 16px;
    font-size: 8px;
    padding: 8px;
  }
  .full-library {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .spotlight-grid .game-info .elo {
    display: none;
  }
  .spotlight-grid .tile-art {
    height: 127px;
  }
  .spotlight-grid .game-info h3 {
    font-size: 12px;
  }
  .spotlight-grid .game-info p {
    font-size: 9px;
  }
  .sports-strip {
    flex-wrap: wrap;
  }
  .sports-strip > div {
    width: 100%;
  }
  .mini-sport {
    flex: 1;
    min-height: 70px;
  }
  .mini-sport > span {
    font-size: 24px;
  }
  .discovery-head h2 {
    font-size: 21px;
  }
}
@media (max-width: 650px) {
  .app-shell {
    display: block;
  }
  .main {
    padding: 21px 19px 110px;
  }
  .topbar {
    margin-bottom: 25px;
  }
  .topbar > .eyebrow:after {
    content: "miniworlds";
    font-size: 23px;
    color: #654b37;
    font-weight: 900;
    letter-spacing: -1.2px;
  }
  .top-actions {
    gap: 7px;
  }
  .top-actions .pill {
    font-size: 10px;
    padding: 7px 9px;
    box-shadow: 0 2px #e8d8c3;
  }
  .top-actions .avatar {
    width: 34px;
    height: 37px;
  }
  .topbar > .eyebrow {
    font-size: 0;
  }
  .new-greeting {
    margin-bottom: 19px;
  }
  .new-greeting .eyebrow {
    font-size: 7px;
    letter-spacing: 1.6px;
  }
  .new-greeting h1 {
    font-size: 29px;
    margin: 8px 0 7px;
    letter-spacing: -1.1px;
  }
  .new-greeting p {
    font-size: 10px;
    line-height: 1.7;
    max-width: 290px;
  }
  .plush-hero {
    height: 310px;
    border-radius: 21px;
  }
  .world-backdrop {
    object-position: 65% 50%;
  }
  .world-wash {
    background: linear-gradient(
      90deg,
      #fbd8a9e8,
      #f9cea065 42%,
      transparent 70%
    );
  }
  .world-copy {
    padding: 21px 18px;
  }
  .daily-chip {
    font-size: 7px;
    letter-spacing: 0.8px;
    padding: 6px 8px;
    gap: 7px;
  }
  .daily-chip b {
    font-size: 7px;
  }
  .world-copy h2 {
    font-size: 30px;
    line-height: 1.07;
    letter-spacing: -1.2px;
    margin: 17px 0 9px;
    max-width: 200px;
  }
  .world-copy p {
    font-size: 10px;
    line-height: 1.7;
    max-width: 150px;
  }
  .candy-button {
    margin-top: 29px;
    min-width: 160px;
    min-height: 47px;
    font-size: 12px;
    gap: 19px;
    border-radius: 13px;
    padding: 11px 15px;
  }
  .hero-caption {
    font-size: 7px;
    margin-top: 10px;
    max-width: 160px;
  }
  .momo-speech {
    display: none;
  }
  .discovery-head {
    margin: 29px 0 15px;
  }
  .discovery-head .eyebrow {
    font-size: 7px;
    letter-spacing: 1.5px;
  }
  .discovery-head h2 {
    font-size: 22px;
    margin-top: 6px;
  }
  .discovery-head .text-btn {
    font-size: 9px;
    white-space: nowrap;
  }
  .spotlight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px 13px;
  }
  .spotlight-grid > .game-card:first-child {
    grid-column: 1 / -1;
  }
  .spotlight-grid > .game-card:first-child .tile-art {
    height: 190px;
  }
  .spotlight-grid > .game-card:first-child .tile-art > img {
    object-position: center 55%;
  }
  .spotlight-grid > .game-card:first-child .game-info h3 {
    font-size: 15px;
  }
  .spotlight-grid > .game-card:first-child .game-info .elo {
    display: block;
  }
  .spotlight-grid .tile-art {
    height: 150px;
  }
  .spotlight-grid .game-info h3 {
    font-size: 13px;
  }
  .spotlight-grid .game-info p {
    font-size: 9px;
  }
  .game-info h3 {
    font-size: 12px;
  }
  .tile-badge {
    font-size: 6.5px;
    padding: 4px 6px;
    left: 9px;
    top: 9px;
  }
  .game-info .elo {
    font-size: 8px;
  }
  .full-library {
    gap: 24px 13px;
  }
  .full-library .tile-art {
    height: 155px;
  }
  .game-info {
    padding-top: 11px;
  }
  .game-info p {
    font-size: 9px;
  }
  .sports-strip {
    padding: 18px;
    margin-top: 29px;
    gap: 10px;
    border-radius: 18px;
  }
  .sports-strip h2 {
    font-size: 21px;
    margin: 6px 0;
  }
  .sports-strip p {
    font-size: 10px;
  }
  .sports-tag {
    font-size: 7px;
  }
  .mini-sport {
    min-height: 78px;
    font-size: 9px;
    border-radius: 12px;
    gap: 5px;
  }
  .mini-sport > span {
    font-size: 28px;
  }
  .library-count {
    font-size: 8px;
    text-align: right;
    max-width: 60px;
    line-height: 1.5;
  }
  .filter {
    font-size: 9px;
    padding: 8px 13px;
  }
  .filters {
    margin-bottom: 18px;
  }
  .mobile-nav {
    padding-top: 12px;
    padding-bottom: max(14px, env(safe-area-inset-bottom));
  }
  .mobile-nav button {
    font-size: 8px;
  }
  .mobile-nav svg {
    width: 20px;
    height: 20px;
  }
  .screen {
    padding: 22px 20px 40px;
  }
  .game-content {
    margin-top: 29px;
  }
  .game-content h1 {
    font-size: 29px;
    letter-spacing: -1px;
  }
  .game-content > p {
    font-size: 11px;
  }
  .photo-round > img {
    height: 260px;
  }
  .chess-square {
    font-size: 34px;
  }
  .chessboard {
    border-width: 7px;
  }
  .chess-square .piece-w,
  .chess-square .piece-b {
    line-height: 1;
  }
  .sport-canvas {
    border-width: 3px;
  }
  .game-content .clue {
    font-size: 20px;
  }
  .word-board .letter {
    height: 60px;
  }
  .feed-heading .eyebrow {
    font-size: 7px;
  }
  .feed-heading h1 {
    font-size: 27px;
  }
  .feed-heading p {
    font-size: 10px;
  }
  .play-feed {
    height: calc(100dvh - 245px);
    min-height: 500px;
    border-radius: 20px;
    margin-top: 19px;
  }
  .feed-item-top {
    font-size: 11px;
    padding: 12px;
  }
  .feed-item-top span {
    font-size: 8px;
  }
  .feed-next {
    padding: 12px;
  }
  .section-page h1 {
    font-size: 28px;
  }
  .reaction-pad {
    height: 220px;
  }
  .creator-box {
    padding: 20px;
  }
  .creator-box > div {
    grid-template-columns: 1fr !important;
  }
  .creator-box .input {
    font-size: 12px;
  }
  .creator-box .solid {
    font-size: 11px;
  }
  .creator-box .outline {
    font-size: 10px;
    margin-top: 12px;
  }
  .profile-mascot {
    width: 190px;
    height: 190px;
  }
  .result-card .stat-row strong {
    font-size: 20px;
  }
  .result-score {
    font-size: 65px;
  }
  .game-header strong {
    font-size: 13px;
  }
  .progress-item {
    padding: 14px;
  }
  .progress-item b {
    font-size: 13px;
  }
  .game-content > .hint {
    font-size: 10px;
  }
}
@media (max-width: 370px) {
  .top-actions .pill:nth-child(2) {
    display: none;
  }
  .world-copy h2 {
    font-size: 27px;
  }
  .world-copy {
    padding-left: 16px;
  }
  .candy-button {
    min-width: 145px;
  }
  .world-backdrop {
    object-position: 62% center;
  }
  .discovery-head h2 {
    font-size: 20px;
  }
  .full-library .tile-art,
  .spotlight-grid .tile-art {
    height: 135px;
  }
  .chess-square {
    font-size: 28px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .plush-wrap,
  .result-mascot {
    animation: none !important;
  }
}
.five-letter-board {
  display: grid;
  gap: 8px;
  max-width: 350px;
  margin: 25px auto;
}
.five-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}
.five-tile {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: #fff5de;
  border: 1px solid #fef8ea;
  box-shadow: 0 3px #b6a07c80;
  border-radius: 8px;
  color: #7b634b;
  font-size: 25px;
  font-weight: 900;
}
.five-tile.hit {
  background: #92ac77;
  color: #fff6e3;
  box-shadow: 0 3px #6b8556;
}
.five-tile.near {
  background: #dfb966;
  color: #fff8ea;
  box-shadow: 0 3px #b59351;
}
.five-tile.miss {
  background: #b0a28e;
  color: #fff6e3;
  box-shadow: 0 3px #918574;
}
.dots-board {
  width: 100%;
  display: block;
  margin: 20px 0;
  background: #fff3d9;
  border: 1px solid #f8e9ca;
  border-radius: 20px;
  box-shadow: 0 5px #c0a981;
  touch-action: manipulation;
}
.reversi-cell {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: #84a38c;
  box-shadow: inset 0 2px #597a6722;
  border-radius: 3px;
  padding: 0;
}
.reversi-disc {
  width: 80%;
  height: 80%;
  border-radius: 50%;
  display: block;
  box-shadow: 0 3px #263d3355;
}
.reversi-disc.cream {
  background: radial-gradient(circle at 35% 25%, #fff9e9, #ded1b9);
}
.reversi-disc.charcoal {
  background: radial-gradient(circle at 35% 25%, #655b4e, #32382f);
}
.reversi-cell i {
  width: 17%;
  height: 17%;
  background: #d9ebc977;
  border-radius: 50%;
}
.checker-disc {
  width: 78%;
  height: 78%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 24px;
  border: 3px double #a38b6c;
  box-shadow:
    0 4px #9b765850,
    inset 0 2px #fff5;
}
.checker-disc.cream {
  background: radial-gradient(circle at 35% 25%, #fff5db, #ddc59b);
  color: #a68953;
}
.checker-disc.coral {
  background: radial-gradient(circle at 35% 25%, #da997e, #b66f54);
  color: #764f38;
  border-color: #a66c50;
}
.sea-cell {
  box-shadow: 0 2px #6b8f9355;
}
.small-sea .logic-cell {
  box-shadow: none;
}
.pool-canvas {
  width: 100%;
  max-height: 570px;
  object-fit: contain;
  display: block;
  border-radius: 22px;
  touch-action: none;
  box-shadow: 0 5px #9b7251;
  border: 4px solid #b3906d;
  background: #9b7354;
  margin-top: 12px;
}
.mix-bowl {
  font-size: 38px;
  font-weight: 900;
  color: #9d8063;
  border: 2px dashed #c8b190;
  background: #fff4dc;
  border-radius: 24px;
  padding: 35px 15px;
  margin: 24px 0;
  min-height: 125px;
  display: grid;
  place-items: center;
}
.craft-items {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: center;
}
.craft-item {
  background: #fff5de;
  border: 1px solid #fff8e9;
  border-radius: 12px;
  padding: 10px 12px;
  box-shadow: 0 3px #c1a982;
  font-size: 11px;
  font-weight: 800;
  color: #8a6e4e;
  display: flex;
  align-items: center;
  gap: 6px;
}
.craft-item.active {
  background: #d9c5e2;
  box-shadow: 0 3px #a18cae;
}
.craft-item > span {
  font-size: 19px;
}
.sprout-tree {
  display: grid;
  gap: 12px;
  justify-items: center;
  background: #dbe3bd;
  border-radius: 22px;
  padding: 30px 15px;
  margin: 24px 0;
  box-shadow: 0 5px #a9b589;
}
.sprout-step {
  display: flex;
  align-items: center;
  gap: 6px;
  animation: reward-spring 0.5s both;
}
.sprout-step > span {
  font-size: 20px;
  margin-right: 5px;
}
.sprout-step > b {
  background: linear-gradient(#fff8e5, #efdfb9);
  box-shadow: 0 3px #bcaa7c;
  border-radius: 6px;
  padding: 7px 10px;
  color: #7f7852;
  font-size: 20px;
  font-weight: 900;
}
.embedded .pool-canvas {
  max-height: 375px;
}
.embedded .five-letter-board {
  max-width: 270px;
  margin: 15px auto;
}
.embedded .five-tile {
  font-size: 21px;
}
.embedded .reaction-pad {
  height: 190px;
}
.embedded .dots-board {
  max-height: 370px;
}
.embedded .opponent-chip > img {
  width: 27px;
  height: 30px;
}
@media (max-width: 650px) {
  .pool-canvas {
    max-height: 540px;
  }
  .sprout-step > b {
    font-size: 16px;
    padding: 7px 8px;
  }
  .craft-item {
    padding: 9px;
    font-size: 10px;
  }
  .five-tile {
    font-size: 23px;
  }
  .logic-cell {
    font-size: 18px;
  }
  .dots-board {
    margin-top: 15px;
  }
}
/* Calm interface; tactile objects provide the color. */
.game-page {
  background: #fbf9f4 !important;
}
.game-content {
  max-width: 465px;
}
.game-content h1 {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.9px;
  color: #473b33;
  margin-top: 10px;
}
.game-content > p {
  font-size: 12px;
  line-height: 1.7;
  color: #9a8b7e;
}
.game-content > .eyebrow {
  font-size: 8px;
  color: #b3a08d;
  letter-spacing: 1.5px;
}
.game-header {
  color: #6d5c4e;
}
.game-header strong {
  font-weight: 800;
  font-size: 13px;
}
.game-header small {
  border: 1px solid #e9e3d8;
  background: transparent;
  color: #a49380;
  font-size: 8px;
  padding: 8px 11px;
}
.game-header .icon-button {
  background: #fffdf7;
  border: 1px solid #e7e0d4;
  box-shadow: 0 2px #e8e0d3;
  color: #8e7b68;
  width: 37px;
  height: 37px;
}
.screen {
  max-width: 760px;
}
.photo-round {
  border-radius: 16px;
  box-shadow: 0 2px #dbd2c233;
  margin: 23px 0 18px;
  border: 1px solid #e7e1d7;
}
.photo-round > img {
  height: 270px;
}
.photo-round > span {
  font-size: 8px;
  padding: 6px 9px;
  background: #fffdf4ed;
  color: #8d7e6c;
  top: 11px;
  left: 11px;
}
.answer-options {
  gap: 10px;
}
.answer-choice {
  min-height: 46px;
  background: #fffdf6;
  border: 1px solid #e7dfd0;
  box-shadow: 0 3px #e6ddcf;
  font-size: 12px;
  font-weight: 800;
  border-radius: 12px;
  color: #7c6956;
}
.answer-choice:hover {
  background: #f8f1e4;
}
.photo-credit {
  font-size: 8px;
  color: #b3aa9b;
  text-align: center;
  margin: 15px 0;
}
.opponent-chip {
  background: #f3eee4;
  border-radius: 30px;
  padding: 4px 13px 4px 6px;
  width: max-content;
  margin: 19px auto;
}
.opponent-chip > img {
  height: 30px;
  width: 28px;
}
.opponent-chip span {
  font-size: 10px;
}
.opponent-chip small {
  font-size: 7px;
}
.game-status {
  background: #f5f0e6;
  border: 1px solid #ebe4d5;
  color: #a28a72;
  font-size: 11px;
  font-weight: 700;
  padding: 10px 13px;
}
.game-content .clue {
  background: #fffdf5;
  border: 1px solid #eee2cf;
  box-shadow: 0 4px #e7ddca;
  color: #745f4b;
  font-size: 20px;
  font-weight: 800;
}
.hint {
  color: #b2a28f;
  font-size: 10px;
}
.new-greeting h1 {
  font-weight: 800;
  font-size: 32px;
}
.new-greeting .eyebrow {
  display: none;
}
.new-greeting p {
  font-size: 12px;
}
.nav button {
  border-radius: 12px;
  font-weight: 800;
}
.nav button.active {
  background: #eee8db;
  box-shadow: none;
  color: #7f6751;
}
.plush-hero {
  height: 275px;
}
.world-copy {
  padding: 23px 27px;
}
.world-copy h2 {
  font-weight: 800;
  font-size: 35px;
  margin: 15px 0 10px;
}
.world-copy p {
  font-size: 11px;
}
.candy-button {
  font-weight: 900;
  font-size: 12px;
  min-height: 43px;
  min-width: 158px;
  margin-top: 15px;
  gap: 18px;
  border-radius: 12px;
}
.hero-caption {
  font-size: 7px;
}
.world-backdrop {
  object-position: center 54%;
}
.discovery-head h2 {
  font-weight: 800;
  font-size: 20px;
}
.game-card {
  position: relative;
}
.tile-art {
  background: transparent !important;
  border: 0;
  box-shadow: none;
  overflow: visible;
  height: 145px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
}
.tile-art > .atlas-art {
  background-image: url("assets/game-cutouts.webp");
  width: 136px;
  height: 136px;
  flex: 0 0 136px;
  filter: drop-shadow(0 7px 4px #88653c16);
  transition: transform 0.25s;
}
.game-card:hover .tile-art {
  transform: none;
}
.game-card:hover .atlas-art {
  transform: translateY(-4px) rotate(2deg);
}
.tile-art > svg {
  height: 136px;
  width: 136px;
  filter: drop-shadow(0 6px 3px #88653c18);
}
.tile-badge {
  top: 0;
  left: 0;
  font-size: 6px;
  font-weight: 800;
  box-shadow: none;
  background: #eee7d8d6;
  border: 0;
  color: #a28d76;
  padding: 4px 6px;
  z-index: 1;
}
.tile-play {
  right: 8px;
  bottom: 2px;
  width: 24px;
  height: 24px;
  border: 1px solid #e8dece;
  background: #fffaf1;
  box-shadow: 0 2px #e7dcc9;
  color: #b59b79;
  font-size: 8px;
}
.game-info {
  padding: 10px 2px 0;
}
.game-info h3 {
  font-size: 13px;
  font-weight: 800;
  color: #655341;
}
.game-info p {
  font-size: 10px;
  color: #b09e89;
  margin-top: 4px;
}
.game-info .elo {
  font-size: 9px;
  color: #b29d84;
  font-weight: 700;
}
.full-library {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 31px 20px;
}
.full-library .tile-art {
  height: 145px;
}
.photo-card .tile-art {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid #eadfce;
  height: 145px;
  box-shadow: 0 4px #e7dbc9;
}
.photo-card .tile-art > img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.photo-card .tile-badge {
  left: 9px;
  top: 9px;
  background: #fff9eceb;
}
.photo-card .tile-play {
  bottom: 9px;
  right: 9px;
}
.library-with-aside {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 225px;
  gap: 28px;
  margin-top: 28px;
}
.library-with-aside .full-library {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px 18px;
}
.library-aside {
  padding-top: 4px;
}
.daily-mini {
  border: 1px solid #e7dfd0;
  border-radius: 18px;
  padding: 19px;
  background: #fffaf0;
  margin-bottom: 17px;
}
.daily-mini h3 {
  font-size: 13px;
  font-weight: 800;
  color: #887057;
}
.daily-mini p {
  font-size: 10px;
  color: #af9b82;
  line-height: 1.8;
  margin: 9px 0;
}
.daily-mini .progress-dots {
  margin: 15px 0;
  gap: 5px;
}
.daily-mini .progress-dots span {
  height: 5px;
  width: 28px;
  background: #ebe3d2;
}
.daily-mini .progress-dots .done {
  background: #b8c393;
}
.daily-mini .outline {
  width: 100%;
  font-size: 10px;
  min-height: 36px;
  padding: 9px;
}
.momo-mini {
  border-radius: 18px;
  text-align: center;
  padding: 15px;
  background: #f1e6d4;
}
.momo-mini > div {
  width: 110px;
  height: 120px;
  margin: 0 auto 9px;
  animation: plush-bob 5s ease-in-out infinite;
}
.momo-mini h3 {
  font-size: 13px;
  font-weight: 800;
  color: #8c7154;
}
.momo-mini p {
  font-size: 10px;
  color: #b39c7f;
  line-height: 1.8;
  margin: 6px 0 13px;
}
.momo-mini .text-btn {
  color: #8c7199;
  font-size: 10px;
}
.filter {
  box-shadow: none;
  background: #f1ede4;
  border: 0;
  color: #ad9b84;
  padding: 8px 13px;
  font-weight: 800;
}
.filter.active {
  background: #8f789d;
  box-shadow: 0 2px #776282;
  color: #fffaf0;
}
.library-top {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 17px;
}
.library-top h2 {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.5px;
}
.library-top > .text-btn {
  font-size: 10px;
  color: #ac957a;
}
.compact-sports {
  display: flex;
  gap: 7px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.compact-sports > button {
  background: #f6efdf;
  border: 1px solid #e9ddc5;
  border-radius: 20px;
  padding: 7px 9px;
  font-size: 9px;
  color: #b09775;
}
.solid,
.outline {
  font-weight: 800;
}
.solid {
  min-height: 45px;
}
.outline {
  min-height: 40px;
}
.game-content .solid {
  font-size: 12px;
}
.game-content .outline {
  font-size: 11px;
}
.section-page h1 {
  font-weight: 800;
}
.reward-page {
  overflow: hidden;
}
.reward-content {
  max-width: 480px;
  position: relative;
  text-align: center;
}
.reward-content > h1 {
  font-size: 30px;
  font-weight: 800;
  position: relative;
}
.reward-content > p {
  font-size: 11px;
  max-width: 390px;
  margin: auto;
  position: relative;
}
.reward-content .result-mascot {
  width: 145px;
  height: 145px;
  margin: 0 auto 14px;
  position: relative;
  z-index: 1;
  animation:
    reward-mascot 0.8s cubic-bezier(0.18, 0.89, 0.32, 1.28) both,
    plush-bob 4s 0.8s infinite;
}
.reward-rays {
  position: absolute;
  top: 2px;
  left: 50%;
  width: 270px;
  height: 210px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, #f2d9a555, transparent 70%);
  pointer-events: none;
}
.reward-stack {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin: 22px auto 17px;
  position: relative;
}
.reward-stack > div {
  display: flex;
  align-items: center;
  gap: 6px;
  border-radius: 13px;
  padding: 11px 12px;
  border: 1px solid #fff5e5;
  box-shadow: 0 4px var(--reward-shadow);
  background: var(--reward-color);
  animation: reward-spring 0.65s cubic-bezier(0.16, 0.85, 0.28, 1.32) both;
}
.reward-stack b {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -0.5px;
}
.reward-stack small {
  font-size: 7px;
  letter-spacing: 0.5px;
  font-weight: 900;
}
.reward-stack > div > span {
  font-size: 17px;
}
.xp-reward {
  --reward-color: #e9dcef;
  --reward-shadow: #c8b1d4;
  color: #9574a7;
  animation-delay: 0.1s !important;
}
.coin-reward {
  --reward-color: #f3dfaa;
  --reward-shadow: #d4b97f;
  color: #b28b41;
  animation-delay: 0.26s !important;
}
.combo-reward {
  --reward-color: #f4d0b6;
  --reward-shadow: #dbad87;
  color: #b77a50;
  animation-delay: 0.42s !important;
}
.level-progress {
  display: flex;
  align-items: center;
  gap: 9px;
  max-width: 310px;
  margin: 0 auto 24px;
}
.level-progress > span,
.level-progress > small {
  font-size: 7px;
  color: #b6a189;
  font-weight: 800;
  white-space: nowrap;
}
.level-progress > div {
  height: 6px;
  background: #eee5d6;
  border-radius: 10px;
  flex: 1;
  overflow: hidden;
}
.level-progress i {
  display: block;
  height: 100%;
  background: #b5a0c1;
  border-radius: 10px;
  transform-origin: left;
  animation: fill-bar 1.2s 0.3s both;
}
.result-summary {
  display: flex;
  justify-content: space-around;
  border-top: 1px solid #e9e2d6;
  border-bottom: 1px solid #e9e2d6;
  padding: 16px 0 15px;
  margin: 0 auto 15px;
  max-width: 400px;
  animation: reward-spring 0.6s 0.3s both;
}
.result-summary small {
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.9px;
  color: #af9d87;
  display: block;
}
.result-summary strong {
  font-size: 26px;
  font-weight: 800;
  display: block;
  color: #8c7054;
  margin-top: 5px;
  letter-spacing: -0.5px;
}
.result-summary strong.rating-change {
  color: #9baa78;
}
.result-summary em {
  font-size: 11px;
  margin-left: 5px;
  font-style: normal;
  color: #b5a183;
}
.olympic-podium {
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 14px;
  min-height: 215px;
  padding: 13px 20px 10px;
  max-width: 400px;
  margin: 0 auto;
}
.medal-place {
  width: 110px;
  text-align: center;
  position: relative;
  animation: plinth-rise 0.8s cubic-bezier(0.2, 0.8, 0.3, 1.2) both;
}
.medal-place.place-2 {
  animation-delay: 0.2s;
}
.medal-place.place-3 {
  animation-delay: 0.35s;
}
.plinth-mascot {
  height: 91px;
  width: 85px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  transform: translateY(2px);
}
.plinth-mascot .momo-badge {
  font-size: 25px;
  right: 5%;
  top: -4%;
}
.podium-name {
  display: block;
  font-size: 10px;
  color: #9c8369;
  font-weight: 800;
  position: relative;
  z-index: 2;
}
.medal-place > small {
  display: block;
  font-size: 8px;
  color: #b19a82;
  margin: 3px 0 15px;
}
.round-plinth {
  position: relative;
  background: linear-gradient(90deg, #dbbe7a, #f2dfa9 45%, #d4b576);
  height: 66px;
  border-radius: 50% / 12px;
  box-shadow:
    0 8px 8px #9f80551a,
    inset 0 -4px #c3a46c3b;
  z-index: 1;
}
.round-plinth:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -5px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(145deg, #fff3d1, #edcf88);
  border: 1px solid #f8e4b4;
  box-shadow: 0 2px #b4945740;
}
.round-plinth > span {
  position: relative;
  top: 20px;
  font-size: 25px;
  filter: drop-shadow(0 2px 1px #977d4822);
}
.place-2 .round-plinth {
  height: 43px;
  background: linear-gradient(90deg, #c7c5bd, #e9e7df 45%, #bfc0b7);
}
.place-2 .round-plinth:before {
  background: linear-gradient(145deg, #f8f6ef, #d8d7cd);
  border-color: #e8e7df;
}
.place-2 .round-plinth > span {
  top: 15px;
  font-size: 22px;
}
.place-3 .round-plinth {
  height: 32px;
  background: linear-gradient(90deg, #c2a285, #dfc3a6 45%, #b7977c);
}
.place-3 .round-plinth:before {
  background: linear-gradient(145deg, #eed5bb, #c9aa87);
  border-color: #e7ccae;
}
.place-3 .round-plinth > span {
  top: 12px;
  font-size: 19px;
}
.place-3 .plinth-mascot {
  height: 70px;
  width: 70px;
}
.place-2 .plinth-mascot {
  height: 80px;
  width: 75px;
}
.podium-caption {
  font-size: 8px !important;
  color: #bfae98 !important;
  margin: 6px auto 23px !important;
}
.next-round {
  max-width: 390px;
}
.result-secondary {
  display: flex;
  gap: 12px;
  justify-content: center;
  max-width: 390px;
  margin: 13px auto 0;
}
.result-secondary > button {
  flex: 1;
  min-height: 39px;
  font-size: 10px;
  background: #fffaf1;
}
.rating-league {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 15px;
  text-align: left;
  border-bottom: 1px solid #e7dfd0;
  padding: 13px 0;
  background: none;
}
.league-thumb {
  width: 67px;
  height: 67px;
}
.league-thumb .atlas-art {
  width: 67px;
  height: 67px;
  background-image: url("assets/game-cutouts.webp");
  background-size: 400% 400%;
}
.rating-league strong {
  font-size: 13px;
  font-weight: 800;
}
.rating-league small {
  display: block;
  font-size: 9px;
  color: #b19c83;
  margin-top: 5px;
}
.rating-league > b {
  margin-left: auto;
  font-size: 20px;
  font-weight: 800;
  color: #9c7f60;
}
.rating-league > b span {
  font-size: 13px;
  color: #bba385;
}
.match-history {
  display: flex;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #e9e1d4;
  gap: 14px;
}
.match-history > span {
  font-size: 19px;
  color: #b4a1bf;
}
.match-history b {
  display: block;
  font-size: 12px;
  font-weight: 800;
}
.match-history small {
  font-size: 9px;
  color: #af9e89;
  display: block;
  margin-top: 4px;
}
.match-history > strong {
  font-size: 12px;
  font-weight: 800;
  margin-left: auto;
  color: #a3ae80;
}
.empty-league {
  text-align: center;
  padding: 25px;
  border: 1px solid #e5dece;
  border-radius: 20px;
  background: #fffaf0;
}
.empty-league > div {
  width: 150px;
  height: 150px;
  margin: auto;
}
.empty-league h3 {
  font-size: 17px;
  font-weight: 800;
}
.empty-league p {
  font-size: 11px;
  color: #b2a087;
  line-height: 1.8;
  margin: 10px 0 20px;
}
.feed-heading h1 {
  font-weight: 800;
}
.play-feed {
  background: #fbf9f4;
  border-color: #e4dac9;
  box-shadow: 0 3px #e9dece;
}
.feed-item iframe {
  background: #fbf9f4;
}
.feed-item-top {
  background: #f5efe3;
  color: #8e765b;
}
.feed-item-top b {
  font-weight: 800;
}
.feed-next {
  background: #ece4f0;
  color: #9b7aa9;
  border-top: 1px solid #e1d4e7;
}
.embedded .reward-content > .eyebrow {
  display: none;
}
.embedded .reward-rays {
  display: none;
}
.embedded .olympic-podium {
  min-height: 170px;
  padding-top: 5px;
}
.embedded .reward-content .result-mascot {
  width: 85px;
  height: 85px;
  margin-bottom: 5px;
}
.embedded .reward-content h1 {
  font-size: 23px;
}
.embedded .reward-stack {
  margin: 14px auto;
}
.embedded .reward-stack > div {
  padding: 8px 10px;
}
.embedded .reward-stack b {
  font-size: 17px;
}
.embedded .result-summary {
  padding: 10px 0;
}
.embedded .result-summary strong {
  font-size: 23px;
}
.embedded .level-progress {
  margin-bottom: 15px;
}
.embedded .plinth-mascot {
  width: 60px;
  height: 62px;
}
.embedded .place-2 .plinth-mascot {
  width: 55px;
  height: 55px;
}
.embedded .podium-caption {
  margin-bottom: 17px !important;
}
.embedded .result-secondary {
  margin-top: 10px;
}
.embedded .result-secondary > .outline {
  font-size: 9px;
}
.reward-content:after {
  content: "✦";
  position: absolute;
  left: 10%;
  top: 63px;
  color: #e7c16c;
  font-size: 20px;
  animation: reward-spring 0.8s 0.6s both;
  transform: rotate(-15deg);
}
.reward-content:before {
  content: "✧";
  position: absolute;
  right: 14%;
  top: 23px;
  color: #c7b1d2;
  font-size: 28px;
  animation: reward-spring 0.8s 0.8s both;
  transform: rotate(20deg);
}
@keyframes reward-spring {
  0% {
    opacity: 0;
    transform: translateY(22px) scale(0.65);
  }
  65% {
    opacity: 1;
    transform: translateY(-7px) scale(1.08);
  }
  85% {
    transform: translateY(3px) scale(0.98);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes plinth-rise {
  0% {
    opacity: 0;
    transform: translateY(45px) scale(0.8);
  }
  70% {
    opacity: 1;
    transform: translateY(-8px) scale(1.03);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes reward-mascot {
  0% {
    opacity: 0;
    transform: translateY(30px) scale(0.7);
  }
  65% {
    opacity: 1;
    transform: translateY(-8px) scale(1.08);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes fill-bar {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@media (max-width: 1150px) {
  .library-with-aside {
    grid-template-columns: minmax(0, 1fr) 195px;
    gap: 20px;
  }
  .library-with-aside .full-library {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tile-art > .atlas-art {
    width: 128px;
    height: 128px;
    flex-basis: 128px;
  }
}
@media (max-width: 850px) {
  .library-with-aside {
    grid-template-columns: minmax(0, 1fr);
  }
  .library-aside {
    display: none;
  }
  .library-with-aside .full-library {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .world-copy h2 {
    font-size: 31px;
  }
  .plush-hero {
    height: 265px;
  }
  .tile-art > .atlas-art {
    width: 120px;
    height: 120px;
    flex-basis: 120px;
  }
  .tile-art,
  .full-library .tile-art {
    height: 135px;
  }
}
@media (max-width: 650px) {
  .new-greeting h1 {
    font-size: 27px;
    font-weight: 800;
  }
  .new-greeting p {
    font-size: 11px;
  }
  .plush-hero {
    height: 258px;
    border-radius: 20px;
  }
  .world-copy {
    padding: 20px 18px;
  }
  .world-copy h2 {
    font-size: 28px;
    font-weight: 800;
    max-width: 180px;
    line-height: 1.1;
    margin: 15px 0 10px;
  }
  .world-copy p {
    font-size: 9px;
  }
  .candy-button {
    margin-top: 21px;
    min-width: 149px;
    min-height: 40px;
    padding: 10px 13px;
    font-size: 11px;
  }
  .hero-caption {
    font-size: 6px;
    margin-top: 9px;
  }
  .daily-chip {
    font-size: 6px;
  }
  .daily-chip b {
    font-size: 6px;
  }
  .world-backdrop {
    object-position: 67% center;
  }
  .library-with-aside {
    margin-top: 27px;
  }
  .library-with-aside .full-library {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px 14px;
  }
  .library-top {
    margin-bottom: 17px;
  }
  .library-top h2 {
    font-size: 18px;
  }
  .library-top > .text-btn {
    font-size: 9px;
  }
  .tile-art,
  .full-library .tile-art {
    height: 135px;
  }
  .tile-art > .atlas-art {
    width: 130px;
    height: 130px;
    flex-basis: 130px;
  }
  .photo-card .tile-art {
    height: 135px;
  }
  .tile-badge {
    font-size: 5.5px;
    top: 0;
    left: 1px;
    padding: 4px 5px;
  }
  .photo-card .tile-badge {
    top: 8px;
    left: 8px;
  }
  .tile-play {
    right: 4px;
    bottom: 0;
  }
  .photo-card .tile-play {
    bottom: 8px;
    right: 8px;
  }
  .game-info h3 {
    font-size: 12px;
    font-weight: 800;
  }
  .game-info p {
    font-size: 8px;
    margin-top: 4px;
  }
  .game-info .elo {
    font-size: 7px;
  }
  .game-info {
    gap: 3px;
    padding-top: 11px;
  }
  .filter {
    font-size: 9px;
    padding: 8px 12px;
  }
  .topbar {
    margin-bottom: 23px;
  }
  .screen {
    padding-top: 20px;
  }
  .game-content {
    margin-top: 29px;
  }
  .game-content h1 {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.7px;
  }
  .game-content > p {
    font-size: 11px;
    max-width: 350px;
    margin: auto;
    line-height: 1.7;
  }
  .game-content > .eyebrow {
    font-size: 7px;
  }
  .photo-round > img {
    height: 240px;
  }
  .answer-choice {
    font-size: 11px;
    min-height: 45px;
    border-radius: 11px;
    font-weight: 800;
  }
  .game-header strong {
    font-size: 12px;
  }
  .game-header small {
    font-size: 7px;
    padding: 7px 9px;
  }
  .game-header .icon-button {
    width: 34px;
    height: 34px;
  }
  .game-header .icon-button svg {
    width: 17px;
  }
  .game-header .game-content {
    margin-top: 28px;
  }
  .photo-credit {
    font-size: 7px;
  }
  .result-summary small {
    font-size: 6px;
    letter-spacing: 0.5px;
  }
  .result-summary strong {
    font-size: 24px;
  }
  .reward-content > h1 {
    font-size: 27px;
  }
  .reward-stack {
    gap: 7px;
  }
  .reward-stack > div {
    padding: 10px;
  }
  .reward-stack b {
    font-size: 19px;
  }
  .reward-stack small {
    font-size: 6px;
  }
  .reward-stack > div > span {
    font-size: 15px;
  }
  .reward-content .result-mascot {
    width: 130px;
    height: 130px;
  }
  .olympic-podium {
    min-height: 200px;
  }
  .medal-place {
    width: 100px;
  }
  .result-secondary > button {
    font-size: 9px;
  }
  .reward-content > p {
    font-size: 10px;
  }
  .level-progress {
    max-width: 280px;
  }
  .rating-league .league-thumb {
    width: 58px;
    height: 58px;
  }
  .league-thumb .atlas-art {
    width: 58px;
    height: 58px;
  }
  .feed-heading h1 {
    font-size: 25px;
  }
  .game-content .clue {
    font-weight: 800;
    font-size: 18px;
  }
  .end-note {
    margin-top: 30px;
  }
  .full-library {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: reduce) {
  .reward-stack > div,
  .reward-content .result-mascot,
  .medal-place,
  .level-progress i,
  .reward-content:before,
  .reward-content:after,
  .sprout-step {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
/* Game-first screens */
.game-content > .eyebrow,
.game-content > h1,
.game-content > p:not(.hint):not(.note),
.game-bottom {
  display: none;
}
.reward-content > .eyebrow,
.reward-content > h1,
.reward-content > p {
  display: block;
}
.game-content {
  margin-top: 30px;
}
.game-header small {
  font-size: 9px;
}
.game-info h3 {
  font-size: 16px;
  letter-spacing: -0.35px;
}
.game-info p {
  display: none;
}
.game-info .elo {
  font-size: 8px;
}
.game-info {
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
}
.library-with-aside {
  display: block;
}
.library-with-aside .full-library {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 24px;
}
.new-greeting {
  margin-bottom: 17px;
}
.new-greeting h1 {
  font-size: 30px;
}
.full-library .tile-art,
.tile-art {
  height: 150px;
}
.tile-art > .atlas-art {
  width: 143px;
  height: 143px;
  flex-basis: 143px;
}
.tile-badge {
  display: none;
}
.tile-play {
  display: none;
}
.photo-card .tile-art {
  height: 145px;
  margin: 3px 0 2px;
  box-shadow: 0 3px #e2d8c9;
}
.library-top h2 {
  font-size: 18px;
}
.library-with-aside {
  margin-top: 25px;
}
.end-note {
  display: none;
}
.plush-hero {
  height: 245px;
}
.world-copy {
  padding-top: 19px;
}
.world-copy h2 {
  font-size: 31px;
  margin: 14px 0 9px;
}
.world-copy p {
  display: none;
}
.candy-button {
  margin-top: 24px;
}
.hero-caption {
  margin-top: 10px;
}
.solid,
.answer-choice,
.outline {
  font-weight: 800;
}
.minimal-feed-root {
  min-height: 100dvh;
  background: #fbf9f4;
}
.feed-minimal-top {
  max-width: 560px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 5px;
}
.feed-minimal-top > b {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.6px;
}
.feed-minimal-top .icon-button {
  width: 32px;
  height: 32px;
  border: 1px solid #e8dfd0;
  background: #fffaf2;
  font-size: 20px;
  color: #9b866b;
}
.minimal-feed-root .play-feed {
  height: calc(100dvh - 65px);
  min-height: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0 auto;
  max-width: 560px;
}
.feed-item-top {
  background: transparent;
  padding: 17px 23px 0;
  font-size: 22px;
}
.feed-item-top b {
  font-weight: 800;
  letter-spacing: -0.6px;
}
.feed-item-top span {
  font-size: 10px;
}
.feed-next {
  position: absolute;
  right: 23px;
  bottom: 18px;
  border: 1px solid #dfd3c1;
  background: #fffcf4;
  box-shadow: 0 3px #e8ddca;
  border-radius: 50%;
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  padding: 0;
  font-size: 20px;
  color: #9c876a;
  z-index: 3;
}
.feed-item iframe {
  height: calc(100% - 50px);
}
.embedded .screen {
  padding: 20px 22px 65px;
}
.embedded .game-content {
  margin-top: 0;
}
.embedded .game-content > p {
  display: none;
}
.embedded .reward-content > p {
  display: block;
}
.embedded .feed-next {
  display: none;
}
.embedded .game-content > .word-input {
  display: block;
}
.embedded .clue {
  margin-top: 5px;
}
.embedded .sport-surface {
  width: auto;
  height: min(64dvh, 560px);
  max-width: 100%;
  margin: auto;
}
.embedded .sport-table-wrap {
  display: flex;
  justify-content: center;
}
.sport-surface {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
  touch-action: none;
  filter: drop-shadow(0 5px 3px #8f735c1a);
}
.sport-table-wrap {
  position: relative;
  margin: 13px auto 15px;
  max-width: 390px;
}
.game-content:has(.live-match) {
  max-width: 390px;
  margin-top: 21px;
}
.live-match {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 14px;
  max-width: 390px;
  gap: 10px;
}
.match-player {
  display: grid;
  grid-template-columns: 22px auto;
  grid-template-rows: auto auto;
  gap: 3px 6px;
  align-items: center;
  min-width: 85px;
}
.match-player > b {
  font-size: 12px;
  font-weight: 800;
  color: #8e765e;
}
.match-player > small {
  font-size: 8px;
  color: #b3a087;
  grid-column: 2;
}
.match-player > img {
  width: 26px;
  height: 29px;
  object-fit: contain;
  grid-row: 1/3;
}
.player-dot {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 20%, #f4d89b, #d6b26c);
  box-shadow: 0 2px #b8935a4d;
  grid-row: 1/3;
}
.match-score {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
}
.match-score strong {
  font-size: 28px;
  font-weight: 800;
  color: #8c7357;
  font-variant-numeric: tabular-nums;
}
.match-score > span {
  font-size: 13px;
  color: #cdbba4;
}
.bot-player {
  min-width: 90px;
}
.sport-control-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 10px;
  color: #af9b83;
  font-weight: 700;
  margin: 13px 0;
}
.sport-small {
  background: #fffaf1;
  border: 1px solid #e6dccb;
  box-shadow: 0 2px #e7dcc9;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 9px;
  font-weight: 800;
  color: #a48e74;
  min-height: 33px;
  white-space: nowrap;
}
.sport-small:disabled {
  opacity: 0.4;
}
.sport-shoot {
  background: #b6a1c3;
  border: 1px solid #c9b6d5;
  box-shadow: 0 3px #8c759b;
  border-radius: 12px;
  color: #fff9ed;
  font-size: 12px;
  font-weight: 800;
  padding: 10px 22px;
  min-width: 117px;
}
.sport-shoot:disabled {
  opacity: 0.5;
  cursor: default;
}
.sport-action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 12px 0;
}
.pool-power-line {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  color: #ac957b;
}
.pool-power-line input {
  flex: 1;
  min-width: 0;
  accent-color: #aa91b9;
  height: 25px;
}
.pool-power-line b {
  font-size: 9px;
  min-width: 30px;
  font-weight: 700;
}
.minimal-instruction {
  font-size: 9px;
  color: #b6a38c;
  text-align: center;
  margin: 12px 0 0;
  line-height: 1.5;
}
.draw-meter {
  height: 5px;
  border-radius: 6px;
  background: #efe8da;
  overflow: hidden;
  margin: 13px 0;
}
.draw-meter i {
  height: 100%;
  display: block;
  width: 0;
  background: #bdabc7;
  border-radius: 6px;
  transition: width 0.05s linear;
}
.replay-label {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 20px;
  padding: 7px 11px;
  background: #fff7e2df;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1px;
  color: #b19665;
  white-space: nowrap;
}
.replay-label[hidden] {
  display: none;
}
.sport-message {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 19px;
  font-weight: 800;
  color: #fff9e7;
  text-shadow: 0 2px 8px #5c554588;
  white-space: nowrap;
  pointer-events: none;
}
.word-tools {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 15px;
}
.word-tools .outline {
  min-height: 35px;
  padding: 8px 15px;
  font-size: 10px;
}
.word-board .letter {
  height: 65px;
  font-weight: 800;
}
.game-content #word-current {
  font-size: 20px;
  letter-spacing: 5px;
  min-height: 30px;
  margin-top: 17px;
}
.game-content > .found-words {
  display: block;
  font-size: 10px;
  color: #b39d80;
  min-height: 30px;
}
.game-content > .hint {
  font-size: 10px;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
.word-board:has(.letter:nth-child(25)) .letter {
  height: 56px;
  font-size: 22px;
}
.embedded .word-board:has(.letter:nth-child(25)) .letter {
  height: 44px;
  font-size: 20px;
}
.slider-frame {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 13px;
  background: #a66f55;
  border: 6px solid #d7ae83;
  border-radius: 18px;
  box-shadow:
    0 5px #8f684f,
    inset 0 0 0 2px #8a5742;
  max-width: 370px;
  margin: 24px auto;
}
.slide-tile {
  aspect-ratio: 1;
  border-radius: 10px;
  border: 2px solid #fffaeb;
  background: linear-gradient(#fffcf1, #f0e4cc);
  color: #916b4e;
  box-shadow: 0 5px #d2bd99;
  font-size: 36px;
  font-weight: 700;
}
.slide-tile:nth-child(3n + 1) {
  color: #b67c63;
}
.slide-empty {
  visibility: hidden;
}
.puzzle-counter {
  text-align: center;
  font-size: 11px;
  color: #a8967f;
  margin: 22px 0;
}
.minimal-tools {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
.minimal-tools button {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #f3eee3;
  border: 1px solid #e6ddcc;
  color: #aa9478;
  font-size: 19px;
}
.pipe-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
  background: #466655;
  border: 8px solid #7c9279;
  border-radius: 19px;
  box-shadow: 0 6px #425e4f;
  max-width: 390px;
  margin: 23px auto;
}
.pipe-tile {
  aspect-ratio: 1;
  padding: 7px;
  border-radius: 8px;
  background: #527360;
  border: 1px solid #668772;
  box-shadow: 0 3px #324e3f;
  cursor: pointer;
}
.pipe-tile.wet {
  background: #658c77;
}
.pipe-tile svg {
  width: 100%;
  display: block;
  filter: drop-shadow(0 2px 1px #263b2e55);
}
.pipe-tile:active {
  transform: scale(0.97);
}
.embedded .pipe-board {
  max-width: 360px;
}
.embedded .slider-frame {
  max-width: 335px;
}
.embedded .live-match {
  margin-bottom: 8px;
}
.embedded .game-content:has(.live-match) {
  margin-top: 0;
}
.embedded .sport-table-wrap {
  margin-top: 5px;
  margin-bottom: 9px;
}
.embedded .sport-control-line {
  margin: 8px 0;
}
.embedded .sport-action-row {
  margin: 8px 0;
}
.embedded .minimal-instruction {
  display: none;
}
.embedded .pool-power-line input {
  height: 20px;
}
.embedded .sport-shoot {
  min-height: 35px;
  font-size: 10px;
  padding: 8px 17px;
}
.embedded .sport-small {
  padding: 7px 8px;
  font-size: 8px;
  min-height: 30px;
}
@media (max-width: 1000px) {
  .library-with-aside .full-library {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 650px) {
  .library-with-aside .full-library {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px 18px;
  }
  .game-info h3 {
    font-size: 16px;
    letter-spacing: -0.4px;
  }
  .game-info .elo {
    font-size: 7px;
  }
  .tile-art > .atlas-art {
    width: 136px;
    height: 136px;
    flex-basis: 136px;
  }
  .full-library .tile-art {
    height: 140px;
  }
  .photo-card .tile-art {
    height: 136px;
  }
  .new-greeting h1 {
    font-size: 28px;
  }
  .plush-hero {
    height: 240px;
  }
  .world-copy h2 {
    font-size: 28px;
  }
  .candy-button {
    margin-top: 25px;
  }
  .world-copy {
    padding-top: 20px;
  }
  .library-top h2 {
    font-size: 18px;
  }
  .game-content {
    margin-top: 27px;
  }
  .game-content:has(.live-match) {
    margin-top: 21px;
  }
  .sport-table-wrap {
    max-width: 350px;
  }
  .sport-surface {
    border-radius: 15px;
  }
  .live-match {
    margin-bottom: 11px;
  }
  .match-score strong {
    font-size: 27px;
  }
  .match-player > b {
    font-size: 11px;
  }
  .match-player > small {
    font-size: 7px;
  }
  .pool-power-line {
    font-size: 9px;
  }
  .sport-shoot {
    font-size: 11px;
    min-width: 112px;
    min-height: 37px;
    padding: 9px 18px;
  }
  .sport-small {
    font-size: 8px;
    padding: 8px;
    min-height: 32px;
  }
  .sport-action-row {
    gap: 8px;
    margin: 10px 0;
  }
  .minimal-instruction {
    font-size: 8px;
  }
  .sport-control-line {
    font-size: 9px;
  }
  .game-header {
    padding-bottom: 3px;
  }
  .word-board .letter {
    height: 62px;
    font-size: 26px;
  }
  .word-board:has(.letter:nth-child(25)) .letter {
    height: 47px;
    font-size: 22px;
  }
  .five-letter-board {
    margin-top: 15px;
  }
  .five-tile {
    font-weight: 800;
  }
  .logic-grid {
    margin-top: 15px;
  }
  .slider-frame {
    margin-top: 17px;
  }
  .slide-tile {
    font-size: 33px;
  }
  .pipe-board {
    border-width: 7px;
  }
  .pipe-tile {
    padding: 5px;
  }
  .puzzle-counter {
    font-size: 10px;
  }
  .feed-minimal-top {
    padding-top: 16px;
  }
  .minimal-feed-root .play-feed {
    height: calc(100dvh - 61px);
  }
  .feed-item-top {
    padding-top: 14px;
    font-size: 20px;
  }
  .embedded .screen {
    padding-top: 16px;
  }
  .embedded .sport-surface {
    height: min(60dvh, 530px);
  }
  .reward-content > h1 {
    display: block;
  }
}
.tile-art > .sport-atlas,
.league-thumb > .sport-atlas {
  background-image: url("assets/sport-cutouts.webp") !important;
  background-size: 200% 200% !important;
}
.daily-content {
  max-width: 450px;
  margin: 30px auto;
}
.daily-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 26px;
}
.daily-title h1 {
  font-size: 27px;
  letter-spacing: -0.8px;
  font-weight: 800;
  color: #7a624c;
}
.daily-title p {
  font-size: 11px;
  color: #b19b80;
  line-height: 1.7;
  margin-top: 9px;
}
.daily-title > div:last-child {
  width: 80px;
  height: 88px;
  flex-shrink: 0;
}
.daily-rail {
  display: flex;
  justify-content: space-between;
  margin: 24px 0 32px;
  position: relative;
  padding: 0 13px;
}
.daily-rail:before {
  content: "";
  position: absolute;
  left: 25px;
  right: 25px;
  top: 17px;
  height: 5px;
  background: #e9e1d1;
  border-radius: 10px;
}
.rail-step {
  position: relative;
  width: 35px;
  height: 35px;
  z-index: 1;
}
.rail-step > span {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #faf7ef;
  border: 2px solid #eee5d5;
  width: 35px;
  height: 35px;
  font-size: 13px;
  font-weight: 800;
  color: #b5a38c;
  box-shadow: 0 3px #e5d9c5;
}
.rail-step.complete > span {
  background: #a2b98b;
  border-color: #c6d4b3;
  color: #fff8e9;
  box-shadow: 0 3px #8b9e76;
}
.rail-step.current > span {
  background: #f8e7b8;
  border-color: #dfc182;
  color: #9b7a45;
  box-shadow: 0 3px #d1af6e;
  transform: scale(1.08);
}
.daily-rounds {
  display: grid;
  gap: 12px;
  margin-bottom: 29px;
}
.daily-round {
  display: flex;
  gap: 12px;
  align-items: center;
  border-radius: 16px;
  padding: 13px 14px;
  background: #f1ece2;
  border: 1px solid #e9e0d1;
  box-shadow: 0 3px #e4d7c2;
}
.daily-round.completed {
  background: #edf0dd;
  border-color: #dde4c8;
}
.daily-round.up-next {
  background: #fae8ba;
  border-color: #efd6a0;
  box-shadow: 0 3px #dcc18d;
}
.daily-check {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #e7dece;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  color: #b2a48e;
}
.completed .daily-check {
  background: #9cb67f;
  color: white;
}
.up-next .daily-check {
  background: #e6c374;
  color: #a18046;
}
.daily-art {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.daily-art .atlas-art {
  width: 48px;
  height: 48px;
  background-image: url("assets/game-cutouts.webp");
  background-size: 400% 400%;
}
.daily-art .sport-atlas {
  background-image: url("assets/sport-cutouts.webp");
  background-size: 200% 200%;
}
.daily-art > img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
}
.daily-round small {
  font-size: 6px;
  letter-spacing: 0.8px;
  display: block;
  color: #b5a084;
  font-weight: 800;
  margin-bottom: 4px;
}
.daily-round b {
  font-size: 14px;
  font-weight: 800;
  color: #917657;
}
.daily-round > strong {
  margin-left: auto;
  font-size: 10px;
  color: #b09977;
  font-weight: 800;
}
.daily-round.locked {
  opacity: 0.62;
}
.daily-content > .solid {
  max-width: none;
}
.studio-page {
  max-width: 570px;
}
.studio-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.studio-heading h1 {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.9px;
  color: #7f654a;
}
.studio-heading > div {
  width: 95px;
  height: 105px;
}
.studio-prompt {
  border: 1px solid #e8ddcb;
  border-radius: 19px;
  background: #fffaf1;
  box-shadow: 0 4px #e5d8c3;
  overflow: hidden;
}
.studio-prompt label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #a28b6e;
  padding: 17px 19px;
  border-bottom: 1px solid #eee3d1;
}
.studio-prompt textarea {
  border: 0;
  outline: 0;
  background: transparent;
  display: block;
  width: 100%;
  min-height: 127px;
  resize: vertical;
  padding: 18px 19px;
  font-size: 15px;
  line-height: 1.7;
  color: #91795e;
}
.studio-prompt textarea::placeholder {
  color: #bfad96;
}
.studio-types {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  margin: 22px 0;
}
.studio-types > button {
  border: 1px solid #e6d9c2;
  background: #fff8eb;
  border-radius: 14px;
  padding: 12px 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 800;
  color: #b19a7b;
  box-shadow: 0 3px #e5d7bf;
}
.studio-types > button.active {
  background: #ecdfef;
  border-color: #d9c6e2;
  color: #a184b0;
  box-shadow: 0 3px #d1bcdc;
}
.studio-types > button > span {
  font-size: 15px;
}
.studio-status {
  font-size: 10px;
  line-height: 1.8;
  text-align: center;
  color: #b7a48d;
  margin: 17px 0 29px;
}
.studio-page > .solid {
  display: flex;
  max-width: 100%;
  font-size: 13px;
}
.manual-builder {
  border-top: 1px solid #e8dece;
  padding-top: 19px;
  margin-top: 20px;
}
.manual-builder summary {
  font-size: 12px;
  color: #aa9478;
  cursor: pointer;
  font-weight: 800;
}
.manual-builder .creator-box {
  padding: 17px;
  background: #f2eadc;
  border-color: #e5d7bf;
  border-radius: 16px;
  margin-top: 17px;
}
.puzzle-edit-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 9px;
  margin: 11px 0;
}
.puzzle-edit-row .input {
  font-size: 11px;
  padding: 11px;
}
.creator-box > .solid,
.creator-box > .outline {
  font-size: 10px;
  min-height: 38px;
  margin: 9px 7px 0 0;
}
.studio-page .wide {
  width: 100%;
}
.game-content:has(.clue) {
  text-align: center;
}
.game-content #word-count,
.game-content #clock {
  font-size: 12px;
  color: #b59e81;
  font-weight: 800;
}
@media (max-width: 650px) {
  .daily-content {
    margin-top: 25px;
  }
  .daily-title {
    margin-bottom: 20px;
  }
  .daily-title h1 {
    font-size: 25px;
  }
  .daily-title p {
    font-size: 10px;
  }
  .daily-title > div:last-child {
    width: 76px;
    height: 80px;
  }
  .daily-round {
    padding: 12px;
    gap: 10px;
  }
  .daily-round b {
    font-size: 13px;
  }
  .daily-round small {
    font-size: 6px;
  }
  .daily-round > strong {
    font-size: 9px;
  }
  .daily-art,
  .daily-art .atlas-art,
  .daily-art > img {
    width: 43px;
    height: 43px;
  }
  .daily-check {
    width: 20px;
    height: 20px;
    font-size: 11px;
  }
  .studio-heading h1 {
    font-size: 26px;
  }
  .studio-heading > div {
    width: 85px;
    height: 95px;
  }
  .studio-prompt textarea {
    font-size: 14px;
    min-height: 130px;
    padding: 17px;
  }
  .studio-types {
    gap: 7px;
    margin: 21px 0;
  }
  .studio-types > button {
    font-size: 9px;
    gap: 4px;
    padding: 10px 5px;
    border-radius: 12px;
  }
  .studio-types > button > span {
    font-size: 13px;
  }
  .puzzle-edit-row {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .studio-status {
    font-size: 9px;
  }
}
.game-info {
  display: block;
  text-align: center;
  padding-top: 11px;
}
.game-info h3 {
  font-size: 16px;
  font-weight: 800;
}
.game-info .elo {
  display: block;
  font-size: 8px;
  margin-top: 5px;
  color: #c3af94;
}
.photo-card .tile-art {
  width: 140px;
  height: 140px;
  margin: 3px auto 0;
  border-radius: 18px;
  box-shadow: 0 5px 5px #8b6a3f14;
}
.full-library .game-card {
  padding-bottom: 3px;
}
.game-info .elo:empty {
  display: none;
}
@media (max-width: 650px) {
  .photo-card .tile-art {
    width: 136px;
    height: 136px;
  }
  .game-info h3 {
    font-size: 17px;
    font-weight: 800;
  }
  .game-info .elo {
    font-size: 7px;
  }
  .library-with-aside .full-library {
    gap: 25px 15px;
  }
  .tile-art,
  .full-library .tile-art {
    height: 140px;
  }
  .photo-card .tile-art {
    margin-top: 3px;
  }
  .game-info {
    padding-top: 11px;
  }
}
:root {
  font-family: "Nunito Sans", "Avenir Next", sans-serif;
}
.game-info h3 {
  font-weight: 800;
}
.menu-letters {
  position: absolute;
  inset: 12% 12% 12%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  justify-items: center;
  pointer-events: none;
  padding-top: 1px;
}
.atlas-art {
  position: relative;
}
.menu-letters > b {
  font-size: 17px;
  font-weight: 800;
  color: #927956;
}
.game-content .word-entry-actions {
  display: none;
}
.game-content .word-input {
  border: 0;
  background: none;
  width: 100%;
  text-align: center;
  font-family: inherit;
  font-size: 21px;
  font-weight: 800;
  color: #9e86ab;
  padding: 4px;
  cursor: pointer;
  letter-spacing: 4px;
  min-height: 35px;
  margin: 15px 0 0;
}
.word-tools {
  gap: 15px;
  margin-top: 20px;
}
.word-tools > .outline {
  width: 35px;
  height: 35px;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 17px;
  min-height: 0;
  color: #b49b7d;
  background: #faf6eb;
  box-shadow: 0 2px #e5d9c4;
}
.letter.selected {
  animation: tile-pick 0.15s ease-out;
}
.game-content .found-words {
  min-height: 18px;
  margin: 12px 0;
  font-size: 10px;
}
.new-greeting h1 {
  font-weight: 800;
}
.plush-hero {
  height: 220px;
}
.world-copy h2 {
  font-size: 30px;
  font-weight: 800;
}
.candy-button {
  margin-top: 18px;
}
.hero-caption {
  display: none;
}
.game-info .elo {
  display: none;
}
.game-header small {
  font-weight: 700;
}
.sport-message {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 900;
}
@keyframes tile-pick {
  0% {
    transform: scale(0.94);
  }
  100% {
    transform: scale(1);
  }
}
@media (max-width: 650px) {
  .plush-hero {
    height: 200px;
  }
  .world-copy {
    padding: 18px;
  }
  .world-copy h2 {
    font-size: 24px;
    line-height: 1.1;
    max-width: 171px;
    margin: 13px 0 0;
  }
  .candy-button {
    margin-top: 18px;
    min-height: 36px;
    min-width: 132px;
    padding: 9px 12px;
    font-size: 10px;
  }
  .daily-chip {
    font-size: 6px;
    padding: 5px 7px;
  }
  .daily-chip b {
    font-size: 6px;
  }
  .world-backdrop {
    object-position: 66% center;
  }
  .new-greeting h1 {
    font-size: 26px;
  }
  .new-greeting {
    margin-bottom: 16px;
  }
  .topbar {
    margin-bottom: 20px;
  }
  .library-with-aside {
    margin-top: 25px;
  }
  .game-info h3 {
    font-size: 17px;
    font-weight: 800;
  }
  .menu-letters > b {
    font-size: 16px;
  }
  .library-with-aside .full-library {
    gap: 26px 14px;
  }
  .game-content > .word-input {
    display: block !important;
  }
}
.game-header-right {
  display: flex;
  align-items: center;
  gap: 7px;
}
.help-button {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #e8dfcf;
  background: #fffaf2;
  color: #b6a084;
  font-weight: 700;
  font-size: 12px;
}
.rules-sheet {
  border: 1px solid #e5d7bf;
  border-radius: 23px;
  background: #fff9ed;
  color: #897259;
  max-width: 380px;
  width: calc(100% - 40px);
  padding: 27px;
  box-shadow: 0 10px 35px #5d493322;
}
.rules-sheet::backdrop {
  background: #4d403c40;
  backdrop-filter: blur(4px);
}
.rules-sheet h2 {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.5px;
}
.rules-sheet p {
  font-size: 13px;
  line-height: 1.85;
  margin: 17px 0 24px;
  color: #a58e72;
}
.rules-sheet > .solid {
  width: 100%;
  font-size: 12px;
}
.close-rules {
  position: absolute;
  right: 17px;
  top: 14px;
  border-radius: 50%;
  background: #f1e8d8;
  width: 26px;
  height: 26px;
  font-size: 18px;
  color: #b7a082;
}
.embedded .help-button {
  display: none;
}
@media (max-width: 650px) {
  .game-header strong {
    max-width: 170px;
    white-space: nowrap;
    font-size: 12px;
  }
  .game-header small {
    font-size: 7px;
    padding: 7px;
  }
  .game-header-right {
    gap: 5px;
  }
  .help-button {
    width: 25px;
    height: 25px;
    font-size: 11px;
  }
  .rules-sheet p {
    font-size: 12px;
  }
}
.sprout-tree {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 35px 0 28px;
  padding: 20px 0;
  gap: 17px;
}
.sprout-step > b {
  font-size: 23px;
  padding: 9px 12px;
  border: 1px solid #fff8e9;
  background: linear-gradient(#fff8e7, #f1e4c9);
  box-shadow: 0 4px #cdb996;
  border-radius: 8px;
  color: #a18b6e;
}
.sprout-step > span {
  font-size: 26px;
  margin-right: 8px;
}
#sprout-form {
  gap: 10px;
  margin-top: 29px;
}
#sprout-form > .solid {
  font-size: 12px;
  min-height: 44px;
  padding: 11px 20px;
  box-shadow: 0 3px #7b6388;
}
#sprout-form > .input {
  font-size: 12px;
  padding: 12px 14px;
}
#arena:has(.sprout-tree) #game-status {
  background: transparent;
  border: 0;
  box-shadow: none;
  font-size: 10px;
  padding: 0;
  margin: 21px 0;
  color: #b49d80;
}
#sprout-hint,
#sprout-end {
  width: 36px;
  height: 36px;
  min-height: 0;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  font-size: 17px;
  color: #b09a7f;
  margin: 5px 5px;
  background: #faf5e9;
  box-shadow: 0 2px #e5d8c2;
}
@media (max-width: 650px) {
  .sprout-step > b {
    font-size: 20px;
    padding: 8px 10px;
  }
  .sprout-step > span {
    font-size: 22px;
  }
  .sprout-tree {
    margin-top: 28px;
  }
  .sprout-step {
    gap: 5px;
  }
}
.word-board {
  position: relative;
}
.word-trail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  opacity: 0.62;
}
.word-board .letter {
  position: relative;
  z-index: 1;
  height: auto !important;
  aspect-ratio: 1;
}
.word-board:has(.letter:nth-child(25)) .letter {
  height: auto !important;
  aspect-ratio: 1;
}
.game-content > p.found-words {
  display: block !important;
  max-height: 50px;
  overflow: auto;
  line-height: 1.8;
  font-size: 11px;
  color: #aa8db9;
  min-height: 18px;
  margin: 12px 0;
}
.embedded .word-board .letter {
  height: auto !important;
  aspect-ratio: 1;
}
.daily-art .menu-letters > b {
  font-size: 6px;
  line-height: 1;
}
.league-thumb .menu-letters > b {
  font-size: 9px;
  line-height: 1;
}
.daily-art .atlas-art,
.league-thumb .atlas-art {
  position: relative;
  overflow: hidden;
}
.daily-art .menu-letters {
  padding-top: 0;
}
.daily-round.locked {
  opacity: 0.72;
}
.daily-round small {
  font-size: 7px;
  letter-spacing: 0.55px;
}
.daily-round b {
  font-weight: 800;
}
.daily-title p {
  font-size: 11px;
}
.avatar .plush-wrap {
  overflow: hidden;
}
.avatar .plush-wrap > img {
  transform: scale(1.65);
  transform-origin: 50% 46%;
  object-fit: cover;
}
.game-card .menu-letters {
  pointer-events: none;
}
.menu-slider-board {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 126px;
  height: 126px;
  padding: 9px;
  gap: 5px;
  background: #ad775c;
  border: 5px solid #d9b48b;
  border-radius: 12px;
  box-shadow:
    0 6px #936e54,
    0 10px 8px #8f714b1b;
  transform: rotate(-8deg);
}
.menu-slider-board > span {
  border: 1px solid #fff8e5;
  border-radius: 5px;
  background: linear-gradient(#fff9e7, #eedec0);
  box-shadow: 0 3px #c6af86;
  display: grid;
  place-items: center;
  font-size: 19px;
  font-weight: 700;
  color: #a8815a;
}
.menu-slider-board > span.empty {
  visibility: hidden;
}
.menu-five-board {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 5px;
  width: 137px;
  padding: 9px 4px;
  transform: rotate(-9deg);
  filter: drop-shadow(0 7px 3px #92704820);
}
.menu-five-board > span {
  background: #ede2c7;
  border: 1px solid #fff6df;
  border-radius: 5px;
  box-shadow: 0 3px #c6b38c;
  height: 32px;
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 800;
  color: #ab9677;
}
.menu-five-board .tone-0 {
  background: #a7ba8c;
  border-color: #bdcda8;
  color: #fff8e6;
  box-shadow: 0 3px #8b9e70;
}
.menu-five-board .tone-1 {
  background: #e3c584;
  border-color: #efdaa8;
  color: #fff8e6;
  box-shadow: 0 3px #c7a963;
}
.menu-circle-ring {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  border: 9px solid #bea0cf;
  box-shadow:
    0 5px #997eaa,
    inset 0 3px #ded0e3,
    0 10px 10px #8f714b16;
  position: relative;
  transform: rotate(-12deg);
}
.menu-pencil {
  position: absolute;
  right: -16px;
  bottom: -25px;
  width: 9px;
  height: 72px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(90deg, #d0b1e0, #a387b4);
  transform: rotate(38deg);
  box-shadow: 2px 1px #8e749b;
}
.menu-pencil:after {
  content: "";
  position: absolute;
  bottom: -11px;
  border-left: 4px solid transparent;
  border-right: 5px solid transparent;
  border-top: 12px solid #cbb08b;
}
.menu-pipe-board {
  width: 130px;
  height: 130px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  padding: 7px;
  background: #5c7963;
  border: 4px solid #8ea080;
  border-radius: 12px;
  box-shadow:
    0 6px #46634f,
    0 11px 8px #8f714b20;
  transform: rotate(-8deg);
}
.menu-pipe-board > span {
  border: 1px solid #6d8d73;
  border-radius: 4px;
  background: #5b7c64;
  box-shadow: 0 2px #3f5a45;
}
.menu-pipe-board svg {
  width: 100%;
  display: block;
}
.menu-dots-board {
  width: 130px;
  height: 130px;
  background: linear-gradient(#fcf1d7, #e5d4ad);
  border: 4px solid #d4bc96;
  border-radius: 13px;
  padding: 6px;
  box-shadow:
    0 5px #b59b76,
    0 10px 8px #8f714b1c;
  transform: rotate(-7deg);
}
.menu-dots-board svg {
  width: 100%;
  height: 100%;
  display: block;
}
.menu-reaction-light {
  width: 65px;
  height: 129px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 21px;
  background: linear-gradient(90deg, #b7a78a, #e0d0ad, #bda98a);
  box-shadow:
    0 5px #a08b6c,
    0 11px 8px #8f714b1c;
  border: 2px solid #e5d5b6;
  transform: rotate(-10deg);
}
.menu-reaction-light > i {
  width: 26px;
  height: 26px;
  display: block;
  border-radius: 50%;
  background: #d2b5a0;
  box-shadow:
    inset 0 2px 3px #8b6f4c40,
    0 1px #f3e4c4;
}
.menu-reaction-light > i:nth-child(2) {
  background: #d9c895;
}
.menu-reaction-light > i:last-child {
  background: radial-gradient(circle at 40% 30%, #dbe6ad, #a6bf85);
  box-shadow:
    0 0 11px #bddb8455,
    inset 0 1px #e0eec4;
}
.daily-art .menu-slider-board,
.daily-art .menu-pipe-board,
.daily-art .menu-dots-board {
  transform: scale(0.32);
  transform-origin: top left;
}
.league-thumb .menu-slider-board,
.league-thumb .menu-pipe-board {
  transform: scale(0.5);
  transform-origin: top left;
}
@media(max-width:650px){.new-greeting{display:none}.topbar{margin-bottom:21px}.library-with-aside{margin-top:25px}}
.game-card[data-game="word"] .atlas-art,.game-card[data-game="wordhard"] .atlas-art,.game-card[data-game="wordblitz"] .atlas-art{clip-path:inset(6% 0 0 0)}.game-card[data-game="archery"] .atlas-art{clip-path:polygon(0 0,100% 0,100% 100%,12% 100%,12% 60%,0 60%)}
