/* Preschool mode: generated pictures carry meaning; reading is optional. */
.guide {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.plant-state, .plot.ready .plant-state, .plot.busy .plant-state {
  width: 80px;
  height: 79px;
  min-width: 0;
  top: calc(var(--plant-h) * .35 + 5px);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 24px;
  box-shadow: none;
  color: #fff7e6;
  opacity: 1;
}
.plant-request {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  opacity: 1;
}
.plant-request img {
  display: block;
  width: 59px;
  height: 59px;
  padding: 7px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff8e7;
  border: 2px solid #fffdf5;
  box-shadow: 0 4px 0 #58381e27, 0 6px 13px #51321c1a;
  transition: scale .2s ease, background .2s ease;
}
.plant-request .need-copy {
  display: block;
  font-size: 11px;
  line-height: 15px;
  font-weight: 700;
  text-shadow: 0 1px 2px #55381e45;
}
.plant-state:hover .plant-request img { scale: 1.08; }
.plant-state:active { transform: scale(.94); }
.plant-state[data-need=water] .plant-request img { background: #ecf8f6; }
.plant-state[data-need=weed] .plant-request img { background: #f0f4dc; }
.plant-state[data-need=sun] .plant-request img { background: #fff1cd; animation: child-sun 3s ease-in-out infinite; }
.plant-state[data-need=harvest] .plant-request img { background: #ffedbd; animation: child-ready 3s ease-in-out infinite; }
.plant-state[data-need=busy] .plant-request img {
  padding: 0;
  object-fit: cover;
  object-position: center 55%;
  background: #e8efdc;
  animation: busy-pulse 1.6s ease-in-out infinite;
}
.harvest-star {
  position: absolute;
  width: 24px;
  height: 24px;
  object-fit: contain;
  top: -4px;
  right: 5px;
  pointer-events: none;
}
.empty-target .plant-preview {
  width: 55px;
  height: 55px;
  object-fit: contain;
  opacity: .65;
  position: absolute;
  bottom: 14px;
  pointer-events: none;
  animation: plant-here 2s ease-in-out infinite;
}
.seed-selected .empty-target { height: 65px; width: 80%; }
.seed-selected .empty-target b { visibility: hidden; }
.seed-selected .empty-target span { font-size: 11px; position: absolute; bottom: 4px; }
.seed-selected .seed:not([aria-pressed=true]) img { opacity: .65; }
.seed[aria-pressed=true] img { transform: translateY(-4px) scale(1.08); }
.seed[aria-pressed=true]::after { width: 20px; height: 20px; font-size: 13px; }
.tray-caption { font-size: 10px; letter-spacing: 0; }
@keyframes child-sun { 50% { rotate: 8deg; scale: 1.045; } }
@keyframes child-ready { 12% { translate: 0 -4px; } 25%,100% { translate: 0 0; } }
@keyframes plant-here { 50% { translate: 0 5px; opacity: .9; } }
@media(min-width:1400px) {
  .plant-state, .plot.ready .plant-state, .plot.busy .plant-state { height: 83px; width: 88px; }
  .plant-request img { width: 65px; height: 65px; }
  .plant-request .need-copy { font-size: 12px; }
}
@media(max-width:760px) {
  .plant-state, .plot.ready .plant-state, .plot.busy .plant-state { width: 59px; height: 71px; }
  .plant-request img { width: 49px; height: 49px; padding: 6px; }
  .plant-request .need-copy { font-size: 9px; }
  .harvest-star { width: 20px; height: 20px; right: 0; }
}
@media(max-width:520px) and (orientation:portrait) {
  .plant-state, .plot.ready .plant-state, .plot.busy .plant-state { top: 81px; width: 44px; height: 65px; }
  .plant-request img { width: 44px; height: 44px; padding: 5px; border-width: 1.5px; }
  .plant-request .need-copy { font-size: 8px; line-height: 12px; }
  .plant-request { gap: 5px; }
  .empty-target .plant-preview { width: 36px; height: 41px; bottom: 12px; }
  .seed-selected .empty-target { width: 96%; height: 49px; }
  .seed-selected .empty-target span { font-size: 8px; }
  .tray-caption { font-size: 8px; }
}
@media(max-height:560px) and (orientation:landscape) {
  :root { --soil: 49%; --plant-h: 160px; }
  .world-backdrop { top: -9.1%; }
  .plant-state, .plot.ready .plant-state, .plot.busy .plant-state { top: 50px; width: 58px; height: 51px; }
  .plant-request img { width: 38px; height: 38px; padding: 4px; }
  .plant-request .need-copy { font-size: 8px; line-height: 10px; }
  .plant-request { gap: 2px; }
  .harvest-star { width: 17px; height: 17px; right: 4px; }
  .empty-target .plant-preview { width: 40px; height: 40px; }
  .seed-selected .empty-target { height: 50px; }
  .seed-selected .empty-target span { font-size: 8px; }
  .tray-caption { font-size: 8px; }
}
@media(prefers-reduced-motion:reduce) {
  .plant-request img, .empty-target .plant-preview { animation: none !important; }
}
