/*
 * Root Garden HUD refresh
 * Desktop: Living Meters
 * Mobile: Edge Pockets + Radial Thumb Garden
 *
 * This file is intentionally loaded after the legacy HUD and garden styles.
 * Existing DOM hooks remain intact so presentation can evolve independently
 * from game behavior.
 */

:root {
  --root-refresh-forest: #123f32;
  --root-refresh-forest-deep: #082d25;
  --root-refresh-leaf: #4d7a43;
  --root-refresh-ivory: #fff9ea;
  --root-refresh-parchment: #eee2c7;
  --root-refresh-gold: #d5a53d;
  --root-refresh-blue: #2d8ba3;
  --root-refresh-ink: #17372d;
  --root-refresh-shadow: rgba(6, 30, 24, 0.34);
  --root-control-depth-rest: 0 3px 0 rgba(0, 0, 0, 0.52), 0 9px 16px rgba(0, 0, 0, 0.34);
  --root-control-depth-hover: 0 4px 0 rgba(0, 0, 0, 0.56), 0 12px 20px rgba(0, 0, 0, 0.4);
  --root-control-depth-pressed: 0 1px 0 rgba(0, 0, 0, 0.58), 0 4px 8px rgba(0, 0, 0, 0.3);
  --root-control-depth-compact: 0 2px 0 rgba(0, 0, 0, 0.42), 0 6px 11px rgba(0, 0, 0, 0.28);
}

.root-game-currency-icon {
  width: 34px;
  height: 34px;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  box-shadow: none !important;
  animation: none !important;
}

.root-game-currency-icon::before,
.root-game-currency-icon::after {
  display: none !important;
  content: none !important;
}

.root-game-currency-icon.is-seed-token {
  background-image: url("/assets/live-rooted/game-v2/ui/hud-seed-pouch-v1.png") !important;
}

.root-game-currency-icon.is-garden-coin {
  background-image: url("/assets/live-rooted/game-v2/ui/hud-garden-coins-v1.png") !important;
}

.root-game-currency-icon.is-produce {
  background-image: url("/assets/live-rooted/game-v2/ui/hud-produce-basket-v1.png") !important;
}

.root-game-currency-icon.is-focus-energy {
  background-image: url("/assets/live-rooted/game-v2/ui/hud-focus-lantern-v1.png") !important;
}

.root-game-currency-icon.is-farm-water {
  background-image: url("/assets/live-rooted/game-v2/ui/hud-farm-water-tank-v1.png") !important;
}

.root-game-tool-icon {
  background-image: url("/assets/live-rooted/game-v2/ui/planting-tools.png");
  background-repeat: no-repeat;
  background-size: 200% 200%;
}

/* The Hoe uses a compact upright asset so its silhouette stays inside the
   narrow left fan petal instead of crossing the petal edge or its label. */
.root-game-tool-icon.is-hoe {
  background-image: url("/assets/live-rooted/game-v2/ui/hud-hoe-compact-v1.png?v=20260813-compact-hoe-v1");
  background-position: center;
  background-size: contain;
}

[data-mobile-more-toggle] {
  display: none;
}

@media (min-width: 761px) {
  [data-mobile-more-toggle] {
    display: none !important;
  }
}

.root-game-tool-dock button:focus-visible,
.root-game-tool-dock a:focus-visible,
.root-game-hud button:focus-visible,
.root-game-hud a:focus-visible,
[data-farm-helper-strip] button:focus-visible,
.root-game-farm-helper-confirm button:focus-visible {
  outline: 3px solid #ffd66b !important;
  outline-offset: 3px !important;
}

[data-farm-helper-strip] {
  position: absolute;
  z-index: 32;
  top: 112px;
  left: 50%;
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid rgba(255, 249, 234, 0.7);
  border-radius: 12px;
  padding: 7px 9px 7px 14px;
  background: rgba(12, 48, 38, 0.94);
  color: var(--root-refresh-ivory);
  box-shadow: 0 12px 30px var(--root-refresh-shadow);
  transform: translateX(-50%);
  backdrop-filter: blur(10px);
}

[data-farm-helper-strip][hidden] {
  display: none !important;
}

/* Routine XP uses the same compact phone space as the active Freeform banner.
   Keep the selection active, but let its banner yield until the XP flight has
   completed so the amount and its landing in the meter stay unobstructed. */
[data-farm-helper-strip].is-xp-feedback-suppressed {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

[data-farm-helper-strip] > * + * {
  border-left: 1px solid rgba(255, 249, 234, 0.24);
  padding-left: 12px;
}

[data-farm-helper-strip-mode],
[data-farm-helper-strip-limit] {
  line-height: 1.05;
}

[data-farm-helper-strip-mode] {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-weight: 800;
}

[data-farm-helper-strip-limit] {
  color: #efe2b0;
  font-size: 11px;
  font-weight: 850;
}

[data-farm-helper-strip] button {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(255, 249, 234, 0.25);
  border-radius: 9px;
  padding: 7px 12px;
  background: rgba(255, 249, 234, 0.1);
  color: inherit;
  font-weight: 850;
}

.root-game-farm-helper-strip-style,
.root-game-farm-helper-strip-desktop-only {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.root-game-farm-helper-strip-style > span,
.root-game-farm-helper-strip-desktop-only > span {
  display: grid;
  gap: 2px;
}

.root-game-farm-helper-strip-style small,
.root-game-farm-helper-strip-desktop-only small {
  color: #efe2b0;
  font-size: 10px;
  font-weight: 750;
  line-height: 1;
}

.root-game-farm-helper-strip-desktop-only {
  color: rgba(255, 249, 234, 0.62);
}

.root-game-farm-helper-active-notice {
  position: absolute;
  z-index: 37;
  right: auto;
  bottom: calc(max(8px, env(safe-area-inset-bottom)) + 116px);
  left: 50%;
  display: flex;
  width: max-content;
  max-width: calc(100vw - 30px);
  align-items: center;
  gap: 9px;
  border: 2px solid rgba(213, 165, 61, 0.84);
  border-radius: 999px;
  padding: 8px 14px 8px 10px;
  background: rgba(12, 48, 38, 0.96);
  color: var(--root-refresh-ivory);
  box-shadow: 0 0 0 3px rgba(255, 249, 234, 0.76), 0 12px 28px var(--root-refresh-shadow);
  opacity: 0;
  transform: translate(-50%, 10px) scale(0.96);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  backdrop-filter: blur(10px);
}

.root-game-farm-helper-active-notice[hidden] {
  display: none !important;
}

.root-game-farm-helper-active-notice > i {
  color: #ffd66b;
  font-size: 27px;
}

.root-game-farm-helper-active-notice > span {
  display: grid;
  gap: 2px;
}

.root-game-farm-helper-active-notice strong {
  font: 800 14px/1.05 Georgia, "Times New Roman", serif;
}

.root-game-farm-helper-active-notice small {
  color: #efe2b0;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.1;
}

.is-farm-helper-notice-visible .root-game-farm-helper-active-notice {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.is-task-progress-visible .root-game-farm-helper-active-notice {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important;
}

@media (min-width: 761px) {
  :root {
    --hud-height: 78px;
    --hud-top: 10px;
    --hud-inset: 12px;
  }

  .root-game-hud {
    position: absolute;
    top: max(var(--hud-top), env(safe-area-inset-top, 0px));
    right: max(var(--hud-inset), env(safe-area-inset-right, 0px));
    left: max(var(--hud-inset), env(safe-area-inset-left, 0px));
    display: grid;
    min-height: var(--hud-height);
    grid-template-columns: minmax(150px, 190px) minmax(250px, 1fr) auto 150px 46px;
    grid-template-rows: 1fr;
    align-items: center;
    gap: 9px;
    padding: 8px 9px;
    border: 1px solid rgba(255, 255, 255, 0.76);
    border-radius: 18px;
    background: rgba(255, 249, 234, 0.95);
    box-shadow: 0 15px 34px var(--root-refresh-shadow), inset 0 0 0 1px rgba(179, 137, 61, 0.18);
    backdrop-filter: blur(14px);
  }

  .root-game-brand {
    grid-column: 1;
    grid-row: 1;
    gap: 8px;
  }

  .root-game-brand img {
    width: 42px;
    height: 42px;
  }

  .root-game-brand strong {
    color: var(--root-refresh-ink);
    font-size: 17px;
  }

  .root-game-brand small {
    color: #68715f;
    font-size: 9px;
  }

  .root-game-level-meter {
    position: relative;
    top: auto;
    left: auto;
    z-index: 1;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    min-height: 58px;
    transform: none;
    border: 1px solid rgba(49, 98, 67, 0.32);
    border-radius: 14px;
    padding: 5px 11px 5px 7px;
    background: #edf2dc;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
  }

  .root-game-level-medallion {
    width: 46px;
    height: 46px;
    border-color: var(--root-refresh-gold);
    background: var(--root-refresh-forest);
  }

  .root-game-level-copy small,
  .root-game-level-copy strong,
  .root-game-level-copy em {
    color: var(--root-refresh-ink);
  }

  .root-game-level-track {
    height: 8px;
    border: 1px solid rgba(64, 94, 51, 0.26);
    background: #d6ddc5;
  }

  .root-game-level-track > i {
    background: #81aa39;
  }

  .root-game-wallet {
    grid-column: 3;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
  }

  .root-game-wallet > .root-game-wallet-currency {
    display: grid;
    min-width: 70px;
    min-height: 54px;
    grid-template-columns: 34px minmax(0, auto);
    grid-template-rows: auto auto;
    align-content: center;
    justify-content: center;
    column-gap: 4px;
    border: 1px solid rgba(132, 102, 45, 0.23);
    border-radius: 13px;
    padding: 4px 6px;
    background: #fffdf5;
    box-shadow: 0 4px 11px rgba(41, 61, 40, 0.08);
  }

  .root-game-wallet-currency .root-game-currency-icon {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .root-game-wallet-currency b {
    grid-column: 2;
    align-self: end;
    color: var(--root-refresh-ink) !important;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
  }

  .root-game-wallet-currency small {
    grid-column: 2;
    display: block;
    align-self: start;
    margin-top: 2px;
    color: #746b52;
    font-size: 7px;
  }

  .root-game-focus-recovery {
    display: none;
  }

  .root-game-wallet > button {
    width: 42px;
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 50%;
  }

  .root-game-wallet [data-fullscreen] {
    display: none;
  }

  .root-game-hud .root-game-water-meter {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    grid-column: 4;
    grid-row: 1;
    display: grid;
    min-height: 58px;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: auto 7px auto;
    align-content: center;
    gap: 2px 7px;
    border: 1px solid rgba(45, 139, 163, 0.3);
    border-radius: 14px;
    padding: 5px 8px 5px 5px;
    background: #e8f5f5;
    color: var(--root-refresh-ink);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
  }

  .root-game-hud .root-game-water-meter::before {
    grid-column: 1;
    grid-row: 1 / 4;
    width: 42px;
    height: 48px;
    align-self: center;
    background: url("/assets/live-rooted/game-v2/ui/hud-farm-water-tank-v1.png") center / contain no-repeat;
    content: "";
  }

  .root-game-hud .root-game-water-meter > span {
    grid-column: 2;
    grid-row: 1;
    font-size: 8px;
  }

  .root-game-hud .root-game-water-meter > span i {
    display: none;
  }

  .root-game-hud .root-game-water-track {
    grid-column: 2;
    grid-row: 2;
    height: 6px;
    background: rgba(45, 139, 163, 0.18);
  }

  .root-game-hud .root-game-water-track > b {
    background: #45bad1;
  }

  .root-game-hud .root-game-water-meter > strong {
    grid-column: 2;
    grid-row: 3;
    color: #175c6e;
    font-size: 11px;
  }

  .root-game-hud .root-game-water-meter > small {
    display: none;
  }

  .root-game-nav-menu {
    position: relative;
    z-index: 5;
    display: block;
    grid-column: 5;
    grid-row: 1;
  }

  .root-game-nav-menu > summary {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(39, 75, 54, 0.28);
    border-radius: 50%;
    background: #fffdf5;
    color: var(--root-refresh-forest);
    font-size: 21px;
    box-shadow: var(--root-control-depth-compact);
  }

  .root-game-nav-menu > .root-game-nav {
    top: calc(100% + 12px);
    right: 0;
    left: auto;
  }

  .root-game-tool-dock {
    bottom: max(12px, env(safe-area-inset-bottom));
    width: min(760px, calc(100% - 28px));
    min-height: 76px;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 20px;
    padding: 7px;
    background: rgba(255, 249, 234, 0.96);
    box-shadow: 0 18px 38px var(--root-refresh-shadow), inset 0 0 0 1px rgba(172, 128, 52, 0.15);
  }

  .root-game-tool-dock button,
  .root-game-tool-dock .root-game-tool-link,
  .root-game-member-signin {
    min-height: 62px;
    border-radius: 14px;
    background: #fffdf5;
    box-shadow: var(--root-control-depth-rest);
  }

  .root-game-tool-dock button.is-active {
    border-color: var(--root-refresh-forest);
    background: var(--root-refresh-forest);
  }

  .root-game-planting-tray {
    bottom: calc(100% + 10px);
    width: min(700px, calc(100vw - 28px));
    border-radius: 18px;
    padding: 11px;
    background: rgba(255, 249, 234, 0.98);
  }

  .root-game-farm-helper {
    border-radius: 13px;
    background: #edf2dc;
  }

  .root-game-farm-helper [data-farm-helper-mode],
  .root-game-farm-helper [data-farm-helper-shape] {
    min-height: 44px;
    border-radius: 10px;
  }

  .root-game-farm-helper-confirm {
    bottom: calc(max(12px, env(safe-area-inset-bottom)) + 98px);
    border-radius: 18px;
    background: rgba(255, 249, 234, 0.98);
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .root-game-hud {
    grid-template-columns: 48px minmax(230px, 1fr) auto 132px 44px;
  }

  .root-game-brand {
    justify-content: center;
  }

  .root-game-brand span {
    display: none;
  }

  .root-game-wallet > .root-game-wallet-currency {
    min-width: 58px;
  }

  .root-game-wallet-currency small {
    display: none;
  }
}

/* Large farms keep the approved control cards but let the water remain
   visible around and beneath them. The wrapper never steals canvas input. */
@media (min-width: 1369px), (min-width: 761px) and (pointer: fine) {
  .root-garden-v2.is-large-area-farm .root-game-tool-dock {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
    backdrop-filter: none;
  }

  .root-garden-v2.is-large-area-farm .root-game-tool-dock > *,
  .root-garden-v2.is-large-area-farm .root-game-tool-dock button,
  .root-garden-v2.is-large-area-farm .root-game-tool-dock a {
    pointer-events: auto;
  }
}

@media (min-width: 761px) and (max-height: 420px) and (pointer: fine) {
  .root-garden-v2.is-large-area-farm .root-game-tool-dock {
    top: calc(100% + 46px);
    bottom: auto;
    transform: translateX(-50%) scale(0.82);
    transform-origin: center bottom;
    pointer-events: auto;
    transition: opacity 180ms ease;
  }

  .root-garden-v2.is-large-area-farm .root-game-tool-dock::before {
    position: absolute;
    top: -27px;
    left: 50%;
    min-width: 92px;
    border: 1px solid rgba(255, 249, 234, 0.78);
    border-radius: 999px 999px 0 0;
    padding: 5px 13px 4px;
    background: rgba(18, 63, 50, 0.96);
    color: #fff9ea;
    box-shadow: 0 -5px 14px rgba(6, 30, 24, 0.24);
    content: "Controls \2191";
    font-size: 10px;
    font-weight: 900;
    text-align: center;
    transform: translateX(-50%);
    pointer-events: auto;
  }

  .root-garden-v2.is-large-area-farm .root-game-tool-dock:hover,
  .root-garden-v2.is-large-area-farm .root-game-tool-dock:focus-within {
    top: auto;
    bottom: max(6px, env(safe-area-inset-bottom));
    transform: translateX(-50%) scale(0.82);
  }
}

@media (max-width: 760px),
  (max-width: 1368px) and (pointer: coarse) {
  :root {
    --hud-height: 0px;
    --hud-top: 0px;
    --hud-inset: 0px;
  }

  .root-game-hud {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    z-index: 30;
    display: block;
    width: 100%;
    height: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
    backdrop-filter: none;
  }

  .root-game-hud > * {
    pointer-events: auto;
  }

  .root-game-brand {
    display: none;
  }

  .root-game-status {
    display: none;
  }

  .root-game-level-meter {
    position: absolute;
    top: max(8px, env(safe-area-inset-top));
    left: max(8px, env(safe-area-inset-left));
    z-index: 2;
    display: grid;
    width: min(200px, calc(100vw - 82px));
    min-width: 0;
    min-height: 62px;
    grid-template-columns: 60px minmax(0, 1fr);
    grid-template-rows: 1fr;
    gap: 8px;
    transform: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .root-game-level-meter:hover,
  .root-game-level-meter:active,
  .root-game-level-meter:focus-visible {
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .root-game-level-medallion {
    width: 60px;
    height: 60px;
    isolation: isolate;
    overflow: visible;
    border: 0;
    background: #032615;
    box-shadow: inset 0 0 18px rgba(0, 0, 0, 0.46), 0 4px 12px rgba(5, 28, 22, 0.52);
    transition: transform 180ms ease, filter 180ms ease;
  }

  .root-game-level-medallion::before {
    position: absolute;
    z-index: 2;
    inset: -2px;
    background: url("/assets/live-rooted/game-v2/ui/root-level-wood-ring-v1.png") center / contain no-repeat;
    content: "";
    pointer-events: none;
  }

  .root-game-level-medallion img {
    z-index: 1;
    width: 38px;
    height: 38px;
    opacity: 0.2;
    filter: brightness(1.65) saturate(0.8);
  }

  .root-game-level-medallion b {
    z-index: 3;
    color: #fff9e8;
    font-size: 22px;
    text-shadow: 0 1px 0 #301a06, 0 2px 5px rgba(0, 0, 0, 0.76);
  }

  .root-game-level-meter:hover .root-game-level-medallion,
  .root-game-level-meter:active .root-game-level-medallion,
  .root-game-level-meter:focus-visible .root-game-level-medallion {
    transform: scale(1.035);
    filter: drop-shadow(0 0 8px rgba(220, 176, 50, 0.72));
  }

  .root-game-level-copy {
    grid-template-rows: auto auto auto;
    align-content: center;
    gap: 1px;
  }

  .root-game-level-copy small {
    display: none;
  }

  .root-game-level-copy strong {
    order: 1;
    color: #fff8df;
    font-size: 12px;
    line-height: 1.08;
    text-shadow: 0 1px 0 rgba(4, 24, 19, 0.96), 0 2px 5px rgba(4, 24, 19, 0.9);
  }

  .root-game-level-copy strong::before {
    content: "Root ";
  }

  .root-game-level-copy em {
    order: 2;
    color: #fff4cf;
    font-size: 11px;
    line-height: 1.2;
    padding-block: 1px;
    text-shadow: 0 1px 0 rgba(4, 24, 19, 0.96), 0 2px 4px rgba(4, 24, 19, 0.88);
    transform: none;
  }

  .root-game-level-track {
    order: 3;
    height: 8px;
    border: 1px solid rgba(4, 30, 23, 0.7);
    background: rgba(255, 249, 224, 0.82);
    box-shadow: 0 1px 3px rgba(3, 24, 18, 0.58), inset 0 0 0 1px rgba(255, 255, 255, 0.42);
  }

  .root-game-level-track > i {
    background: #c9e34e;
    box-shadow: inset 0 1px 0 rgba(255, 255, 230, 0.64);
  }

  .root-game-nav-menu {
    position: absolute;
    top: max(8px, env(safe-area-inset-top));
    right: max(8px, env(safe-area-inset-right));
    z-index: 4;
    display: block;
  }

  .root-game-nav-menu > summary {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 2px solid rgba(118, 89, 36, 0.28);
    border-radius: 50%;
    background: rgba(255, 249, 234, 0.96);
    color: var(--root-refresh-forest);
    font-size: 24px;
    box-shadow: var(--root-control-depth-compact);
  }

  .root-game-nav-menu > .root-game-nav {
    position: absolute;
    top: 64px;
    right: 0;
    left: auto;
    width: min(280px, calc(100vw - 16px));
    max-width: none;
    max-height: calc(100dvh - 96px);
    border-radius: 16px;
    background: rgba(255, 249, 234, 0.98);
  }

  .root-game-wallet {
    position: absolute;
    top: max(76px, calc(env(safe-area-inset-top) + 76px));
    right: max(8px, env(safe-area-inset-right));
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 70px;
    gap: 4px;
  }

  .root-game-wallet > .root-game-wallet-currency {
    position: relative;
    inset: auto;
    display: grid;
    width: 70px;
    min-width: 70px;
    min-height: 54px;
    flex: 0 0 54px;
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: center;
    justify-content: stretch;
    gap: 1px;
    overflow: visible;
    border: 1px solid rgba(115, 88, 40, 0.26);
    border-radius: 12px;
    padding: 4px 5px 4px 2px;
    background: rgba(255, 249, 234, 0.96);
    box-shadow: var(--root-control-depth-compact);
  }

  .root-game-wallet-currency .root-game-currency-icon {
    grid-column: 1;
    grid-row: 1;
    width: 39px;
    height: 44px;
  }

  .root-game-wallet-currency b {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    color: var(--root-refresh-ink) !important;
    font: 800 12px/1 Georgia, "Times New Roman", serif;
    font-variant-numeric: tabular-nums;
  }

  .root-game-wallet-currency small,
  .root-game-focus-recovery {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
  }

  .root-game-wallet > button {
    display: none !important;
  }

  .root-game-hud .root-game-water-meter {
    position: absolute;
    top: max(316px, calc(env(safe-area-inset-top) + 316px));
    right: max(8px, env(safe-area-inset-right));
    bottom: auto;
    left: auto;
    z-index: 2;
    display: grid;
    width: 70px;
    min-height: 118px;
    grid-template-columns: 1fr;
    grid-template-rows: 72px auto auto;
    place-items: center;
    gap: 1px;
    border: 1px solid rgba(44, 139, 163, 0.4);
    border-radius: 14px;
    padding: 5px 5px 7px;
    background: rgba(14, 48, 39, 0.9);
    color: #ffffff;
    text-align: center;
    box-shadow: var(--root-control-depth-rest);
    backdrop-filter: blur(8px);
  }

  /* Freeform selection owns the board. Keep resource totals visible for
     context, but let edge tiles receive the touch instead of the fixed rail. */
  .root-garden-v2.is-farm-helper-active .root-game-wallet,
  .root-garden-v2.is-farm-helper-active .root-game-hud .root-game-water-meter {
    opacity: 0.38;
    filter: saturate(0.72) brightness(0.82);
    pointer-events: none;
    transition: opacity 160ms ease, filter 160ms ease;
  }

  .root-game-hud .root-game-water-meter::before {
    grid-row: 1;
    width: 62px;
    height: 72px;
    background: url("/assets/live-rooted/game-v2/ui/hud-farm-water-tank-v1.png") center / contain no-repeat;
    content: "";
  }

  .root-game-hud .root-game-water-meter > span,
  .root-game-hud .root-game-water-track {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .root-game-hud .root-game-water-meter > strong {
    position: static;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    justify-self: stretch;
    color: #ffffff;
    font: 800 13px/1.1 Georgia, "Times New Roman", serif;
    text-align: center;
  }

  .root-game-hud .root-game-water-meter > small {
    position: static;
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
    grid-column: 1;
    grid-row: 3;
    overflow: hidden;
    clip: auto;
    clip-path: none;
    color: #bceefa;
    font-size: 9px;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }

  [data-farm-helper-strip] {
    top: max(82px, calc(env(safe-area-inset-top) + 82px));
    right: auto;
    left: max(8px, env(safe-area-inset-left));
    width: max-content;
    max-width: calc(100vw - max(92px, calc(env(safe-area-inset-right) + 92px)));
    min-height: 44px;
    justify-content: flex-start;
    gap: 7px;
    overflow: hidden;
    border-radius: 12px;
    padding: 5px 6px 5px 9px;
    transform: none;
  }

  [data-farm-helper-strip]::-webkit-scrollbar {
    display: none;
  }

  [data-farm-helper-strip] > * + * {
    padding-left: 7px;
  }

  [data-farm-helper-strip-mode] {
    font-size: 12px;
    white-space: nowrap;
  }

  [data-farm-helper-strip-limit] {
    display: block;
    color: #efe2b0;
    font-size: 9px;
    white-space: nowrap;
  }

  [data-farm-helper-strip] button {
    min-width: 44px;
    min-height: 44px;
    flex: 0 0 auto;
    padding: 5px 7px;
  }

  [data-farm-helper-strip] button > span,
  [data-farm-helper-strip-pan] > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .root-game-farm-helper-strip-desktop-only {
    display: none;
  }

  [data-farm-helper-strip-pan] {
    display: grid;
    min-width: 30px;
    min-height: 32px;
    place-items: center;
    padding-left: 7px;
    font-size: 16px;
  }

  .root-game-tool-dock {
    --root-action-hub-size: clamp(96px, 27.7vw, 108px);
    --root-action-petal-width: clamp(68px, 19.5vw, 76px);
    --root-action-petal-height: clamp(148px, 42vw, 166px);
    --root-action-aura-size: clamp(150px, 42.5vw, 166px);
    position: absolute;
    inset: auto 0 0;
    z-index: 46;
    display: block;
    width: 100%;
    min-height: 206px;
    border: 0;
    border-radius: 0;
    padding: 0 0 max(8px, env(safe-area-inset-bottom));
    background: transparent;
    box-shadow: none;
    transform: none;
    pointer-events: none;
    backdrop-filter: none;
  }

  .root-game-tool-dock > *,
  .root-game-tool-dock button,
  .root-game-tool-dock a {
    pointer-events: auto;
  }

  .root-game-tool-dock .root-game-tool-shelf-heading,
  .is-garden-tutorial-coaching .root-game-tool-dock .root-game-tool-shelf-heading,
  .root-game-tool-dock .root-game-tool-scroll-button,
  .is-garden-tutorial-coaching .root-game-tool-dock .root-game-tool-scroll-button,
  .root-game-tool-dock .root-game-tool-scroll-dots,
  .is-garden-tutorial-coaching .root-game-tool-dock .root-game-tool-scroll-dots {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .root-game-tool-dock > .root-game-tool-scroll-button {
    display: none !important;
  }

  .root-game-tool-scroll {
    position: static !important;
    display: block !important;
    width: auto;
    min-width: 0;
    overflow: visible;
    touch-action: auto;
  }

  .root-game-tool-scroll .root-game-tool-group {
    display: contents;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"] {
    position: absolute;
    bottom: max(8px, env(safe-area-inset-bottom));
    left: max(14px, env(safe-area-inset-left));
    z-index: 8;
    display: grid !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 64px;
    min-height: 64px;
    place-content: center;
    gap: 1px;
    border: 2px solid rgba(130, 97, 43, 0.34);
    border-radius: 50%;
    padding: 3px;
    background: rgba(255, 249, 234, 0.97);
    color: var(--root-refresh-forest);
    box-shadow: var(--root-control-depth-rest);
    transform-origin: center;
    transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1), border-color 180ms ease, background-color 180ms ease, box-shadow 220ms ease, color 180ms ease;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"].is-active,
  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"][aria-pressed="true"],
  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"].is-active:hover,
  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"][aria-pressed="true"]:hover,
  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"].is-active:focus-visible,
  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"][aria-pressed="true"]:focus-visible {
    border-color: var(--root-refresh-gold) !important;
    background: var(--root-refresh-forest) !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 2px rgba(255, 249, 234, 0.2), 0 0 0 2px rgba(255, 249, 234, 0.9), 0 0 0 5px #ffc72d, 0 0 14px 5px rgba(255, 211, 67, 0.72), 0 0 28px 8px rgba(255, 151, 16, 0.28), var(--root-control-depth-hover) !important;
    transform: scale(1.035);
    animation: root-bottom-pocket-glow 1.8s ease-in-out infinite;
  }

  .root-game-tool-scroll [data-game-tool="pan"] .root-game-mobile-tool-icon {
    display: block;
    width: 29px;
    height: 29px;
    margin: 0 auto;
    border: 0;
    border-radius: 0;
    background: url("/assets/live-rooted/game-v2/ui/hud-move-boot-v1.png") center / contain no-repeat;
  }

  .root-game-tool-scroll [data-game-tool="pan"] .root-game-mobile-tool-icon i {
    display: none;
  }

  .root-game-tool-scroll [data-game-tool="pan"] b {
    font-size: 10px;
  }

  .root-game-tool-scroll [data-game-tool="pan"] small {
    display: none;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray] {
    position: absolute;
    bottom: max(12px, calc(env(safe-area-inset-bottom) + 12px));
    left: 50%;
    z-index: 10;
    display: grid !important;
    width: var(--root-action-hub-size) !important;
    min-width: var(--root-action-hub-size) !important;
    height: var(--root-action-hub-size);
    min-height: var(--root-action-hub-size);
    place-content: center;
    gap: 3px;
    border: 5px solid var(--root-refresh-gold);
    border-radius: 50%;
    padding: 8px;
    background: var(--root-refresh-forest);
    color: #ffffff;
    box-shadow: inset 0 0 0 2px rgba(255, 249, 234, 0.16), 0 0 0 5px rgba(255, 249, 234, 0.86), var(--root-control-depth-rest);
    transform: translateX(-50%);
    transition:
      transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
      box-shadow 180ms ease,
      filter 180ms ease;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray],
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]:hover,
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]:active,
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]:focus-visible {
    border-color: var(--root-refresh-gold) !important;
    background: var(--root-refresh-forest) !important;
    color: #ffffff !important;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray][aria-expanded="false"]:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(255, 249, 234, 0.22), 0 0 0 3px #fff4ca, 0 0 0 7px #ffc72d, 0 0 18px 6px rgba(255, 211, 67, 0.72), 0 0 34px 12px rgba(255, 151, 16, 0.32), var(--root-control-depth-hover) !important;
    transform: translateX(-50%) translateY(-3px) scale(1.05);
    animation: root-action-rollover-glow 1.25s ease-in-out infinite;
  }

  .is-tool-tray-open .root-game-tool-scroll [data-toggle-tool-tray],
  .root-game-tool-dock.is-tool-tray-open .root-game-tool-scroll [data-toggle-tool-tray] {
    box-shadow: inset 0 0 0 2px rgba(255, 249, 234, 0.22), 0 0 0 3px #fff4ca, 0 0 0 7px #ffc72d, 0 0 14px 5px rgba(255, 211, 67, 0.7), 0 0 30px 10px rgba(255, 151, 16, 0.3), var(--root-control-depth-hover);
    transform: translateX(-50%) scale(1.035);
    animation: root-action-hub-glow 1.8s ease-in-out infinite;
  }

  .root-game-tool-scroll [data-toggle-tool-tray] .root-game-tool-icon {
    width: 46px;
    height: 46px;
    margin: 0 auto;
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), filter 180ms ease;
  }

  .is-tool-tray-open .root-game-tool-scroll [data-toggle-tool-tray] .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-tool-scroll [data-toggle-tool-tray] .root-game-tool-icon {
    width: 60px;
    height: 60px;
  }

  .is-tool-tray-open .root-game-tool-scroll [data-toggle-tool-tray] > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-tool-scroll [data-toggle-tool-tray] > b {
    display: none;
  }

  .root-game-tool-scroll [data-toggle-tool-tray] b {
    font-size: 10px;
  }

  .root-game-tool-scroll [data-toggle-tool-tray] small {
    display: none;
  }

  .root-game-farm-helper-orb-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    display: grid;
    min-width: 34px;
    min-height: 24px;
    place-items: center;
    border: 2px solid var(--root-refresh-ivory);
    border-radius: 999px;
    padding: 2px 6px;
    background: var(--root-refresh-gold);
    color: var(--root-refresh-forest-deep);
    font: 900 10px/1 Georgia, "Times New Roman", serif;
    box-shadow: 0 5px 12px rgba(6, 30, 24, 0.34);
  }

  .root-game-farm-helper-orb-badge[hidden] {
    display: none !important;
  }

  [data-mobile-more-toggle] {
    position: absolute;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 9;
    display: grid !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 64px;
    min-height: 64px;
    place-content: center;
    gap: 2px;
    border: 2px solid rgba(130, 97, 43, 0.34);
    border-radius: 50% !important;
    padding: 4px;
    background: rgba(255, 249, 234, 0.97);
    color: var(--root-refresh-forest);
    box-shadow: var(--root-control-depth-rest);
    transform-origin: center;
    transition:
      transform 180ms cubic-bezier(0.16, 1, 0.3, 1),
      border-color 160ms ease,
      background-color 180ms ease,
      box-shadow 180ms ease,
      color 160ms ease;
  }

  .root-game-tool-dock [data-mobile-more-toggle] {
    box-shadow: var(--root-control-depth-rest);
  }

  [data-mobile-more-toggle] i {
    font-size: 22px;
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  [data-mobile-more-toggle] b,
  [data-mobile-more-toggle] span {
    font-size: 10px;
    line-height: 1;
  }

  [data-mobile-more-toggle][aria-expanded="false"]:focus-visible {
    border-color: #efbf41 !important;
    background-color: rgba(255, 249, 234, 0.99) !important;
    color: var(--root-refresh-forest) !important;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.76), 0 0 0 2px rgba(255, 247, 211, 0.94), 0 0 0 5px #ffc72d, 0 0 18px 6px rgba(255, 211, 67, 0.68), 0 0 32px 9px rgba(255, 151, 16, 0.26), var(--root-control-depth-hover) !important;
    transform: translateY(-2px) scale(1.055);
    animation: root-more-rollover-glow 1.25s ease-in-out infinite;
  }

  .root-game-tool-scroll .root-game-tool-group > .root-game-tool-link,
  .root-game-tool-scroll .root-game-tool-group > [data-open-window="inventory"],
  .root-game-tool-scroll > .root-game-member-slot,
  .root-game-tool-scroll > .root-game-structure-view,
  .root-game-tool-scroll > .root-game-expand {
    display: none !important;
  }

  .is-mobile-more-open .root-game-tool-dock,
  .root-game-tool-dock.is-mobile-more-open {
    min-height: calc(226px + env(safe-area-inset-bottom));
  }

  .is-mobile-more-open .root-game-tool-scroll,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll {
    position: static !important;
    display: block !important;
    width: min(376px, calc(100% - 16px));
    min-height: 84px;
    overflow: visible;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.76);
    border-radius: 18px;
    padding: 7px;
    margin: 0 auto;
    background: rgba(255, 249, 234, 0.97);
    box-shadow: var(--root-control-depth-rest);
    font-size: 0;
    animation: root-mobile-more-shell-open 340ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }

  .is-mobile-more-open .root-game-tool-scroll::after,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll::after {
    content: "";
    display: block;
    clear: both;
  }

  .is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > .root-game-tool-link,
  .is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > [data-open-window="inventory"],
  .is-mobile-more-open .root-game-tool-scroll > .root-game-member-slot,
  .is-mobile-more-open .root-game-tool-scroll > .root-game-structure-view,
  .is-mobile-more-open .root-game-tool-scroll > .root-game-expand,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > .root-game-tool-link,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > [data-open-window="inventory"],
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll > .root-game-member-slot,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll > .root-game-structure-view,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll > .root-game-expand {
    display: grid !important;
    float: left;
    width: calc((100% - 24px) / 5) !important;
    min-width: 0 !important;
    min-height: 68px;
    place-content: center;
    overflow: hidden;
    border-radius: 12px;
    padding: 4px;
    margin: 0 6px 0 0;
    background: #fffdf5;
    box-shadow: var(--root-control-depth-compact);
    transform-origin: 100% 100%;
    animation: root-mobile-more-card-open 380ms cubic-bezier(0.16, 1, 0.3, 1) var(--root-more-open-delay, 0ms) both;
  }

  .is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > .root-game-tool-link,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > .root-game-tool-link {
    --root-more-enter-x: 36px;
    --root-more-open-delay: 180ms;
  }

  .is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > [data-open-window="inventory"],
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > [data-open-window="inventory"] {
    --root-more-enter-x: 30px;
    --root-more-open-delay: 135ms;
  }

  .is-mobile-more-open .root-game-tool-scroll > .root-game-member-slot,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll > .root-game-member-slot {
    --root-more-enter-x: 24px;
    --root-more-open-delay: 90ms;
  }

  .is-mobile-more-open .root-game-tool-scroll > .root-game-structure-view,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll > .root-game-structure-view {
    --root-more-enter-x: 16px;
    --root-more-open-delay: 45ms;
  }

  .is-mobile-more-open .root-game-tool-scroll > .root-game-structure-view small,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll > .root-game-structure-view small {
    display: none !important;
  }

  .is-mobile-more-open .root-game-tool-scroll > .root-game-expand,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll > .root-game-expand {
    --root-more-enter-x: 8px;
    --root-more-open-delay: 0ms;
    margin-right: 0;
  }

  .is-mobile-more-open [data-mobile-more-toggle],
  .root-game-tool-dock.is-mobile-more-open [data-mobile-more-toggle],
  [data-mobile-more-toggle][aria-expanded="true"],
  [data-mobile-more-toggle][aria-expanded="true"]:hover,
  [data-mobile-more-toggle][aria-expanded="true"]:active,
  [data-mobile-more-toggle][aria-expanded="true"]:focus-visible {
    border-color: var(--root-refresh-gold) !important;
    background: var(--root-refresh-forest) !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 2px rgba(255, 249, 234, 0.2), 0 0 0 2px rgba(255, 249, 234, 0.9), 0 0 0 5px #ffc72d, 0 0 14px 5px rgba(255, 211, 67, 0.72), 0 0 28px 8px rgba(255, 151, 16, 0.28), var(--root-control-depth-hover) !important;
    opacity: 1 !important;
    transform: scale(1.035);
    animation: root-bottom-pocket-glow 1.8s ease-in-out infinite;
  }

  [data-mobile-more-toggle][aria-expanded="true"] i,
  [data-mobile-more-toggle][aria-expanded="true"] b {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(6, 30, 24, 0.88), 0 0 6px rgba(255, 222, 116, 0.54);
  }

  .root-game-planting-tray {
    position: absolute;
    right: auto;
    bottom: calc(max(12px, env(safe-area-inset-bottom)) + 86px);
    left: 50%;
    z-index: 7;
    display: block;
    width: min(352px, calc(100vw - 12px));
    height: 174px;
    max-height: none;
    overflow: visible !important;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    transform: translateX(-50%);
    pointer-events: none;
    backdrop-filter: none;
  }

  .root-game-planting-tray[hidden] {
    display: none !important;
  }

  .root-game-planting-tray > header,
  .root-game-planting-tray > .root-game-farm-helper {
    display: none !important;
  }

  .root-game-planting-tray > .root-game-seed-picker {
    position: absolute;
    bottom: 158px;
    left: 50%;
    display: grid;
    width: min(352px, calc(100vw - 16px));
    max-height: min(330px, calc(100dvh - 330px));
    overflow: auto;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 16px;
    padding: 10px;
    background: rgba(255, 249, 234, 0.98);
    box-shadow: 0 12px 28px var(--root-refresh-shadow);
    transform: translateX(-50%);
    pointer-events: auto;
    backdrop-filter: blur(12px);
  }

  .root-game-planting-tray > .root-game-seed-picker[hidden] {
    display: none !important;
  }

  .root-game-planting-tray > div[role="group"] {
    position: absolute;
    inset: 0;
    display: block;
    isolation: isolate;
    pointer-events: none;
  }

  .root-game-planting-tray > .root-game-seed-picker[hidden] {
    display: none !important;
  }

  .root-game-planting-tray > div[role="group"]::before {
    position: absolute;
    bottom: calc((var(--root-action-hub-size) / 2) - 86px - (var(--root-action-aura-size) / 2));
    left: 50%;
    z-index: 0;
    width: var(--root-action-aura-size);
    height: var(--root-action-aura-size);
    border: 2px solid rgba(255, 220, 92, 0.78);
    border-radius: 50%;
    background: rgba(68, 65, 38, 0.24);
    box-shadow: inset 0 0 0 1px rgba(255, 249, 234, 0.22), 0 0 0 2px rgba(255, 199, 45, 0.56), 0 0 14px 4px rgba(255, 211, 67, 0.56), 0 0 30px 10px rgba(255, 159, 18, 0.24);
    opacity: 0;
    content: "";
    transform: translateX(-50%) scale(0.38);
    transform-origin: 50% 50%;
    transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1), opacity 220ms ease;
    pointer-events: none;
    backdrop-filter: none;
    will-change: transform, opacity, filter;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"]::before,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"]::before {
    opacity: 1;
    transform: translateX(-50%) scale(1);
    animation: root-action-aura-glow 1.9s ease-in-out infinite;
  }

  .root-game-planting-tray > div[role="group"] > button {
    position: absolute;
    bottom: calc((var(--root-action-hub-size) / 2) - 86px);
    left: calc(50% - (var(--root-action-petal-width) / 2));
    display: grid;
    width: var(--root-action-petal-width);
    min-width: var(--root-action-petal-width);
    height: var(--root-action-petal-height);
    min-height: var(--root-action-petal-height);
    align-content: start;
    justify-items: center;
    gap: 3px;
    border: 2px solid rgba(131, 98, 43, 0.34);
    border-radius: 52% 52% 44% 44% / 29% 29% 15% 15%;
    /* The rotated petals overlap by design, but their rectangular CSS boxes
       must not overlap as finger targets. Match hit testing to the visible
       rounded petal so an adjacent action cannot intercept the tap. */
    clip-path: inset(0 round 52% 52% 44% 44% / 29% 29% 15% 15%);
    padding: 11px 6px 60px;
    /* Keep the resting color opaque. The rollover uses a separate image layer
       so its release can reveal a controlled gold tone instead of the board. */
    background-color: #fff9ea;
    background-image: none;
    color: var(--root-refresh-forest);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58), var(--root-control-depth-rest);
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, 44px, 0) rotate(0deg) scale(0.28);
    transform-origin: 50% 100%;
    translate: 0 0;
    transition: transform 340ms cubic-bezier(0.16, 1, 0.3, 1), opacity 220ms ease, filter 260ms ease, translate 180ms cubic-bezier(0.16, 1, 0.3, 1), border-color 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
    transition-delay: 0ms;
    filter: saturate(0.82) brightness(0.92);
    will-change: transform, opacity;
  }

  .root-game-planting-tray > div[role="group"] > button > .root-game-tool-icon,
  .root-game-planting-tray > div[role="group"] > button > b {
    --root-action-content-nudge-x: 0px;
    --root-action-content-nudge-y: 0px;
    position: relative;
    z-index: 1;
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(0deg);
    transform-origin: 50% 50%;
    scale: 1;
    transition: transform 340ms cubic-bezier(0.16, 1, 0.3, 1), scale 180ms cubic-bezier(0.16, 1, 0.3, 1), filter 180ms ease;
    transition-delay: inherit;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-tool-icon {
    --root-action-content-nudge-x: 0px;
    top: -13px;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(1) > b {
    --root-action-content-nudge-x: 0px;
    --root-action-content-nudge-y: 3px;
    top: -22px;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-tool-icon {
    --root-action-content-nudge-x: 0px;
    top: 7px;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(2) > b {
    --root-action-content-nudge-x: -2px;
    --root-action-content-nudge-y: 1px;
    top: 2px;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(3) > .root-game-tool-icon {
    --root-action-content-nudge-x: 0px;
    top: 8px;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(3) > b {
    --root-action-content-nudge-x: -2px;
    top: 4px;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-tool-icon {
    top: 2px;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(4) > b {
    --root-action-content-nudge-x: 0px;
    top: 0;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(1) {
    z-index: 1;
    transition-delay: 96ms;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(2) {
    z-index: 2;
    transition-delay: 64ms;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(3) {
    z-index: 3;
    transition-delay: 32ms;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(4) {
    z-index: 4;
    transition-delay: 0ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button {
    opacity: 1;
    pointer-events: auto;
    filter: none;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1),
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) {
    transform: translate3d(0, 0, 0) rotate(-62deg) scale(1);
    transition-delay: 0ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(62deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2),
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) {
    transform: translate3d(0, 0, 0) rotate(-34deg) scale(1);
    transition-delay: 48ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(34deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(3),
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(3) {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    transition-delay: 96ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4),
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) {
    transform: translate3d(0, 0, 0) rotate(35deg) scale(1);
    transition-delay: 144ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(-35deg);
  }

  .is-tool-tray-closing .root-game-planting-tray > div[role="group"] > button {
    pointer-events: none;
    transition-duration: 210ms, 150ms, 180ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.8, 0.2), ease, ease;
  }

  .root-game-planting-tray > div[role="group"] > button.is-active,
  .root-game-planting-tray > div[role="group"] > button[aria-pressed="true"] {
    border-width: 3px;
    border-color: #ffd45b;
    background: var(--root-refresh-forest);
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(255, 249, 234, 0.88), 0 0 0 4px rgba(255, 205, 53, 0.66), 0 0 13px 4px rgba(255, 210, 70, 0.72), 0 0 28px 8px rgba(255, 166, 17, 0.28), var(--root-control-depth-hover);
  }

  .root-game-planting-tray .root-game-tool-icon {
    width: 44px;
    height: 44px;
  }

  .root-game-planting-tray > div[role="group"] > button b {
    font: 800 13px/1 Georgia, "Times New Roman", serif;
    white-space: nowrap;
    text-shadow: 0 1px 2px rgba(6, 30, 24, 0.22);
  }

  .root-game-planting-tray > div[role="group"] > button small {
    display: none;
  }

  .root-game-farm-helper-confirm {
    position: absolute;
    right: auto;
    top: max(145px, calc(env(safe-area-inset-top) + 145px));
    bottom: auto;
    left: max(8px, env(safe-area-inset-left));
    z-index: 35;
    display: flex;
    width: min(304px, calc(100vw - max(84px, calc(env(safe-area-inset-right) + 84px))));
    min-height: 56px;
    grid-template-columns: none;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    border: 2px solid rgba(133, 100, 45, 0.3);
    border-radius: 999px;
    padding: 6px 7px 6px 15px;
    background: rgba(255, 249, 234, 0.98);
    box-shadow: 0 10px 25px var(--root-refresh-shadow);
    transform: none;
    backdrop-filter: blur(10px);
    pointer-events: none;
  }

  .root-game-farm-helper-confirm[hidden] {
    display: none !important;
  }

  .root-game-farm-helper-confirm > div:first-child {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
  }

  .root-game-farm-helper-confirm > div:first-child > span,
  .root-game-farm-helper-confirm > div:first-child > span {
    display: none;
  }

  .root-game-farm-helper-confirm > div:first-child > small {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: #68755e;
    font-size: 9px;
    font-weight: 750;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .root-game-farm-helper-confirm strong {
    display: block;
    overflow: hidden;
    color: var(--root-refresh-ink);
    font: 800 13px/1.1 Georgia, "Times New Roman", serif;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .root-game-farm-helper-confirm > div:last-child {
    display: flex;
    flex: 0 0 auto;
    gap: 5px;
    pointer-events: none;
  }

  .root-game-farm-helper-confirm button {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    border-radius: 50%;
    padding: 0;
    pointer-events: auto;
    touch-action: manipulation;
    box-shadow: var(--root-control-depth-compact);
  }

  .root-game-farm-helper-confirm button span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .root-game-farm-helper-confirm button.is-primary {
    width: 68px;
    min-width: 68px;
    border-radius: 999px;
    background: var(--root-refresh-forest);
  }

  .root-game-farm-helper-confirm button i {
    font-size: 24px;
  }

  .root-game-farm-helper-confirm:has(button.is-primary:disabled) {
    min-height: 72px;
    border-color: rgba(151, 64, 45, 0.72);
    border-radius: 18px;
    background: rgba(255, 247, 232, 0.99);
    box-shadow: 0 0 0 3px rgba(190, 70, 45, 0.2), 0 0 22px rgba(190, 70, 45, 0.38), 0 10px 25px var(--root-refresh-shadow);
    animation: root-helper-blocked-shake 420ms cubic-bezier(0.36, 0.07, 0.19, 0.97), root-helper-blocked-glow 1100ms ease-out;
  }

  .root-game-farm-helper-confirm.is-seed-empty > div:first-child > small {
    color: #7a3024;
    font-weight: 850;
  }

  .root-game-farm-helper-confirm:has(button.is-primary:disabled) > div:first-child > small {
    display: block;
    overflow: visible;
    color: #7a3024;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.18;
    text-overflow: clip;
    white-space: normal;
  }

  .root-game-farm-helper-confirm button.is-primary:disabled {
    width: 52px;
    min-width: 52px;
    border-color: #7a3024;
    background: #8e422f;
    color: #fffaf0;
    cursor: not-allowed;
    opacity: 1;
    box-shadow: inset 0 -3px 0 rgba(69, 23, 16, 0.28), 0 4px 10px rgba(69, 23, 16, 0.2);
  }

  .root-game-farm-helper-confirm button.is-primary:disabled i {
    display: none;
  }

  .root-game-farm-helper-confirm button.is-primary:disabled::after {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    content: "!";
    font: 950 16px/1 Arial, sans-serif;
  }

  @keyframes root-helper-blocked-shake {
    0%,
    100% {
      transform: translateX(0);
    }

    18% {
      transform: translateX(-7px);
    }

    36% {
      transform: translateX(6px);
    }

    54% {
      transform: translateX(-4px);
    }

    72% {
      transform: translateX(3px);
    }
  }

  @keyframes root-helper-blocked-glow {
    0%,
    100% {
      box-shadow: 0 0 0 3px rgba(190, 70, 45, 0.2), 0 0 22px rgba(190, 70, 45, 0.38), 0 10px 25px var(--root-refresh-shadow);
    }

    35% {
      box-shadow: 0 0 0 5px rgba(190, 70, 45, 0.34), 0 0 30px rgba(190, 70, 45, 0.62), 0 10px 25px var(--root-refresh-shadow);
    }
  }

  .root-game-mobile-location {
    position: absolute;
    z-index: 14;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 132px);
    left: 50%;
    display: inline-flex;
    min-height: 26px;
    max-width: calc(100% - 24px);
    align-items: center;
    gap: 4px;
    overflow: hidden;
    border: 1px solid rgba(231, 197, 101, 0.62);
    border-radius: 999px;
    padding: 4px 10px;
    background: rgba(20, 64, 48, 0.94);
    color: #fff8df;
    box-shadow: 0 8px 20px rgba(8, 35, 27, 0.28);
    font-size: 10px;
    line-height: 1;
    opacity: 1;
    pointer-events: none;
    backdrop-filter: blur(10px);
    transform: translateX(-50%) translateY(0);
    transition: opacity 180ms ease, transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .root-game-mobile-location i {
    flex: 0 0 auto;
    color: #e8bf55;
    font-size: 13px;
  }

  .root-game-mobile-location b {
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .root-game-mobile-location span {
    flex: 0 0 auto;
    color: rgba(255, 248, 223, 0.68);
  }

  .root-game-mobile-location.is-plant-stock {
    min-width: min(190px, calc(100% - 116px));
    justify-content: center;
    border-color: rgba(255, 218, 91, 0.9);
    background: linear-gradient(135deg, rgba(11, 72, 52, 0.98), rgba(25, 101, 69, 0.98));
    box-shadow:
      0 0 0 2px rgba(255, 250, 230, 0.18),
      0 8px 22px rgba(8, 35, 27, 0.34);
  }

  .root-game-mobile-location.is-plant-stock i {
    color: #ffd85b;
  }

  .root-game-mobile-location.is-plant-stock [data-mobile-room-label] {
    color: #fff0a8;
    font-variant-numeric: tabular-nums;
  }

  .root-game-mobile-location.is-plant-stock.is-out-of-stock {
    border-color: rgba(255, 187, 148, 0.92);
    background: linear-gradient(135deg, rgba(114, 47, 35, 0.98), rgba(143, 63, 43, 0.98));
  }

  .is-task-progress-visible .root-game-mobile-location.is-plant-stock,
  .root-game-task-progress:not([hidden]) ~ .root-game-mobile-location.is-plant-stock {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-50%) translateY(5px);
    transition: none !important;
  }

  .is-tool-tray-open .root-game-mobile-location,
  .is-tool-tray-closing .root-game-mobile-location,
  .is-mobile-more-open .root-game-mobile-location,
  .is-rooted-you-action-active .root-game-mobile-location,
  .root-game-selection:not([hidden]) + .root-game-mobile-location {
    opacity: 0;
    transform: translateX(-50%) translateY(5px);
  }

  .is-tool-tray-open .root-garden-rig-qa-trigger,
  .is-tool-tray-closing .root-garden-rig-qa-trigger,
  .is-farm-helper-active .root-garden-rig-qa-trigger,
  .is-mobile-more-open .root-garden-rig-qa-trigger {
    opacity: 0;
    pointer-events: none;
  }

  .root-game-zoom-controls {
    display: none !important;
  }

  .root-game-selection,
  .root-game-task-progress {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 122px) !important;
  }

  .root-game-toast {
    top: auto;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 184px);
    max-width: calc(100vw - 100px);
    text-align: center;
  }

  .is-tool-tray-open .root-game-selection,
  .is-tool-tray-open .root-game-task-progress {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 276px) !important;
  }

  .is-tool-tray-open .root-game-toast {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 300px);
  }

  .is-farm-helper-notice-visible .root-game-toast,
  [data-farm-helper-preview="open"] .root-game-toast {
    opacity: 0;
  }
}

/* Tree access recovery v2: match the approved mobile mock with a dedicated
   failure card, lime route outlines, a warm selected-tree glow, and a cream
   action sheet. */
.root-game-tree-access-alert[hidden] {
  display: none !important;
}

.root-game-tree-access-alert {
  position: absolute;
  z-index: 28;
  top: max(86px, calc(env(safe-area-inset-top) + 74px));
  left: 50%;
  display: grid;
  width: min(560px, calc(100% - 190px));
  min-height: 88px;
  grid-template-columns: 52px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 12px;
  border: 2px solid rgba(244, 239, 215, 0.7);
  border-radius: 15px;
  padding: 12px 10px 12px 14px;
  background: #124b3c;
  color: #fffdf3;
  box-shadow: 0 14px 34px rgba(4, 31, 24, 0.38);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) scale(0.96);
  transition: opacity 240ms ease, transform 240ms ease;
}

.root-game-tree-access-alert.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) scale(1);
}

.root-game-tree-access-alert-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 3px solid #fffdf3;
  border-radius: 50%;
  color: #fffdf3;
  font-size: 27px;
}

.root-game-tree-access-alert-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.root-game-tree-access-alert-copy strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.05;
}

.root-game-tree-access-alert-copy small {
  color: rgba(255, 253, 243, 0.9);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
}

.root-game-tree-access-alert button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fffdf3;
  font-size: 25px;
  cursor: pointer;
}

@keyframes root-tree-access-shake {
  0%, 100% { transform: translateX(-50%) scale(1); }
  18% { transform: translateX(calc(-50% - 9px)) rotate(-0.5deg); }
  36% { transform: translateX(calc(-50% + 8px)) rotate(0.45deg); }
  54% { transform: translateX(calc(-50% - 5px)); }
  72% { transform: translateX(calc(-50% + 3px)); }
}

.root-game-tree-access-alert.is-shaking {
  animation: root-tree-access-shake 520ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@media (max-width: 760px) {
  .root-game-tree-access-alert {
    top: max(98px, calc(env(safe-area-inset-top) + 88px));
    right: 88px;
    left: 10px;
    width: auto;
    min-height: 66px;
    grid-template-columns: 38px minmax(0, 1fr) 34px;
    gap: 8px;
    padding: 7px 6px 7px 9px;
    border-radius: 13px;
    transform: scale(0.96);
  }

  .root-garden-v2.is-farm-helper-active .root-game-tree-access-alert {
    top: max(146px, calc(env(safe-area-inset-top) + 136px));
  }

  .root-game-tree-access-alert.is-visible {
    transform: scale(1);
  }

  .root-game-tree-access-alert-icon {
    width: 34px;
    height: 34px;
    border-width: 2px;
    font-size: 19px;
  }

  .root-game-tree-access-alert-copy strong {
    font-size: clamp(14px, 4vw, 17px);
  }

  .root-game-tree-access-alert-copy small {
    font-size: clamp(9px, 2.8vw, 11px);
  }

  .root-game-tree-access-alert button {
    width: 34px;
    height: 34px;
    font-size: 21px;
  }

  @keyframes root-tree-access-shake-mobile {
    0%, 100% { transform: translateX(0) scale(1); }
    18% { transform: translateX(-8px) rotate(-0.5deg); }
    36% { transform: translateX(7px) rotate(0.45deg); }
    54% { transform: translateX(-4px); }
    72% { transform: translateX(3px); }
  }

  .root-game-tree-access-alert.is-shaking {
    animation-name: root-tree-access-shake-mobile;
  }

  .root-game-selection[data-selection-kind="tree-recovery"],
  .root-game-selection[data-selection-kind="tree-recovery"][data-contextual="true"] {
    border: 1px solid rgba(225, 214, 187, 0.96);
    border-radius: 18px;
    padding: 10px;
    background: #fffaf0;
    box-shadow: 0 14px 32px rgba(7, 42, 31, 0.28);
  }

  .root-game-selection[data-selection-kind="tree-recovery"] > span,
  .root-game-selection[data-selection-kind="tree-recovery"] > strong,
  .root-game-selection[data-selection-kind="tree-recovery"] > small {
    display: none;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] .root-game-selection-actions {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 48px;
    margin: 0;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] .root-game-selection-actions button {
    min-height: 50px;
    border-radius: 13px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] {
    display: flex;
    flex-direction: column;
    gap: 9px;
    border: 1px solid rgba(225, 214, 187, 0.98);
    border-radius: 22px 22px 14px 14px;
    padding: 16px 14px 14px;
    background: #fffaf0;
    box-shadow: 0 18px 44px rgba(6, 35, 27, 0.34);
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-copy {
    order: 1;
    display: grid;
    gap: 3px;
    padding-right: 48px;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] [data-placement-kicker] {
    display: none;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] [data-placement-label] {
    color: #124b3c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 6vw, 27px);
    line-height: 1.08;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] [data-placement-status] {
    color: #3f4c46;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-actions {
    order: 2;
    display: block;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-adjustments {
    order: 3;
    display: block;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-confirm,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-try {
    width: 100%;
    min-height: 54px;
    border-radius: 13px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    font-weight: 900;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-confirm:disabled {
    border-color: #9baaa2;
    background: #9baaa2;
    color: rgba(255, 255, 255, 0.68);
    box-shadow: none;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-try {
    border: 2px solid #e9dfca;
    background: #fffdf7;
    color: #24443a;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-try i {
    color: #124b3c;
    font-size: 22px;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-cancel {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    border: 1px solid #e6dcc8;
    border-radius: 50%;
    padding: 0;
    background: #f8f2e6;
    color: #124b3c;
    box-shadow: none;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-cancel span {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .root-game-tree-access-alert.is-shaking {
    animation: none !important;
  }
}

/* Trapped fruit-tree recovery: keep the normal timing card for accessible
   trees, and surface a focused move-or-store path only after harvest access
   has actually failed. */
.root-game-selection[data-selection-kind="tree-recovery"] {
  width: min(390px, calc(100% - 32px));
  border: 2px solid #e0b74d;
  background: linear-gradient(145deg, rgba(255, 253, 241, 0.98), rgba(238, 245, 220, 0.98));
  box-shadow: 0 14px 34px rgba(5, 42, 31, 0.3), 0 0 0 3px rgba(255, 236, 154, 0.28);
}

.root-game-selection[data-selection-kind="tree-recovery"] > span {
  color: #99502f;
  font-weight: 950;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.root-game-selection[data-selection-kind="tree-recovery"] > strong {
  color: #123f30;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.08;
}

.root-game-selection[data-selection-kind="tree-recovery"] > small {
  color: #405e50;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
}

.root-game-selection[data-selection-kind="tree-recovery"] .root-game-selection-actions {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) auto;
  gap: 7px;
}

.root-game-selection[data-selection-kind="tree-recovery"] .root-game-selection-actions button {
  min-height: 46px;
  border-radius: 11px;
  font-size: 11px;
  font-weight: 950;
}

.root-game-selection[data-selection-kind="tree-recovery"] [data-selection-action="move"] {
  border-color: #174f3d;
  background: #174f3d;
  color: #fffbea;
}

.root-game-placement-controls[data-tree-recovery="moving"] {
  border: 2px solid #e0b74d;
  background: linear-gradient(145deg, rgba(255, 253, 241, 0.98), rgba(238, 245, 220, 0.98));
  box-shadow: 0 16px 38px rgba(5, 42, 31, 0.34), 0 0 0 3px rgba(255, 236, 154, 0.26);
}

.root-game-placement-controls[data-tree-recovery="moving"] [data-placement-kicker] {
  color: #99502f;
}

.root-game-placement-controls[data-tree-recovery="moving"] [data-placement-label] {
  color: #123f30;
}

.root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-try {
  border-color: #8c5d35;
  background: #fffaf0;
  color: #704222;
}

.root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-confirm {
  border-color: #174f3d;
  background: #174f3d;
  color: #fffbea;
}

@media (max-width: 760px) {
  .root-game-selection[data-selection-kind="tree-recovery"],
  .root-game-selection[data-selection-kind="tree-recovery"][data-contextual="true"] {
    position: absolute;
    z-index: 24;
    top: auto !important;
    right: 10px !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 130px) !important;
    left: 10px !important;
    width: auto;
    max-width: none;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 12px;
    transform: none !important;
  }

  .root-game-selection[data-selection-kind="tree-recovery"]::after {
    display: none;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] > span,
  .root-game-selection[data-selection-kind="tree-recovery"] > small,
  .root-game-selection[data-selection-kind="tree-recovery"] > strong {
    display: block;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] > span {
    font-size: 9px;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] > strong {
    overflow: visible;
    font-size: 18px;
    text-overflow: clip;
    white-space: normal;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] > small {
    font-size: 10px;
    line-height: 1.25;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] .root-game-selection-actions {
    width: 100%;
    grid-column: 1;
    grid-row: auto;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
    gap: 6px;
    margin-top: 4px;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] .root-game-selection-actions button {
    min-width: 0;
    min-height: 48px;
    padding: 8px 9px;
    font-size: 11px;
    white-space: normal;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] {
    position: absolute;
    z-index: 25;
    top: auto !important;
    right: 10px !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 102px) !important;
    left: 10px !important;
    width: auto;
    max-width: none;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    padding: 11px;
    transform: none !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-copy {
    min-width: 0;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-item-preview,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-grab-help,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-rotate,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-nudge {
    display: none !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-adjustments,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 7px;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-adjustments {
    grid-row: 2;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-actions {
    grid-row: 3;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] button {
    min-width: 0;
    min-height: 48px;
    padding: 8px 10px;
    font-size: 11px;
  }
}

@media (min-width: 600px) and (max-width: 760px) and (max-height: 520px) and (orientation: landscape),
  (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  .root-game-selection[data-selection-kind="tree-recovery"],
  .root-game-selection[data-selection-kind="tree-recovery"][data-contextual="true"] {
    right: auto !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 144px) !important;
    left: 50% !important;
    width: min(500px, calc(100% - 190px));
    transform: translateX(-50%) !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] {
    right: auto !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 116px) !important;
    left: 50% !important;
    width: min(500px, calc(100% - 190px));
    transform: translateX(-50%) !important;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] > small {
    display: none;
  }
}

/* Routine XP should read clearly before it joins the Root Level bar. */
.root-game-level-meter .root-game-xp-flyout {
  position: absolute;
  top: calc(100% + 9px);
  right: auto;
  left: 50%;
  z-index: 7;
  display: block;
  min-width: max-content;
  min-height: 32px;
  padding: 7px 12px;
  border: 2px solid rgba(255, 228, 113, 0.96);
  border-radius: 999px;
  background: linear-gradient(180deg, #1f5a3f, #0b392b);
  color: #fff8bd;
  font: 950 15px/1 Georgia, "Times New Roman", serif;
  letter-spacing: 0.035em;
  white-space: nowrap;
  box-shadow:
    0 0 0 2px rgba(8, 43, 31, 0.72),
    0 8px 20px rgba(3, 25, 19, 0.46),
    0 0 16px rgba(226, 203, 77, 0.44);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(-50%, 10px, 0) scale(0.82);
  transform-origin: center;
  will-change: transform, opacity;
}

.root-game-level-meter .root-game-xp-flyout[hidden] {
  display: none;
}

.root-game-level-meter .root-game-xp-flyout.is-visible {
  visibility: visible;
  animation: root-garden-xp-flight 1900ms cubic-bezier(0.18, 0.78, 0.2, 1) both;
}

.root-game-level-track > i.is-xp-staging {
  transition: none !important;
}

.root-game-level-meter.is-xp-impact .root-game-level-track,
.root-game-level-track.is-xp-impact {
  animation: root-garden-xp-track-impact 720ms ease-out both;
  transform-origin: center;
}

.root-game-level-track > i.is-xp-impact {
  animation: root-garden-xp-fill-impact 720ms ease-out both;
}

@keyframes root-garden-xp-flight {
  0% {
    opacity: 0;
    transform: translate3d(-50%, 14px, 0) scale(0.72);
  }

  10% {
    opacity: 1;
    transform: translate3d(-50%, -2px, 0) scale(1.08);
  }

  18%,
  45% {
    opacity: 1;
    transform: translate3d(-50%, 0, 0) scale(1);
  }

  66% {
    opacity: 1;
    transform: translate3d(
      calc(-50% + var(--root-xp-flight-mid-x, 0px)),
      var(--root-xp-flight-mid-y, -25px),
      0
    ) scale(0.76);
  }

  78% {
    opacity: 1;
    transform: translate3d(
      calc(-50% + var(--root-xp-flight-x, 0px)),
      var(--root-xp-flight-y, -42px),
      0
    ) scale(0.5);
  }

  100% {
    opacity: 0;
    transform: translate3d(
      calc(-50% + var(--root-xp-flight-x, 0px)),
      var(--root-xp-flight-y, -42px),
      0
    ) scale(0.18);
  }
}

@keyframes root-garden-xp-track-impact {
  0% {
    transform: translateX(0) scaleY(1);
    box-shadow: 0 1px 3px rgba(3, 24, 18, 0.58), inset 0 0 0 1px rgba(255, 255, 255, 0.42);
    filter: brightness(1);
  }

  16% {
    transform: translateX(-2px) scaleY(1.28);
    box-shadow: 0 0 0 2px rgba(255, 233, 126, 0.94), 0 0 20px rgba(202, 232, 72, 0.92);
    filter: brightness(1.36);
  }

  32% {
    transform: translateX(2px) scaleY(1.18);
  }

  48% {
    transform: translateX(-1.5px) scaleY(1.22);
    box-shadow: 0 0 0 2px rgba(255, 233, 126, 0.82), 0 0 16px rgba(202, 232, 72, 0.74);
  }

  64% {
    transform: translateX(1px) scaleY(1.12);
  }

  100% {
    transform: translateX(0) scaleY(1);
    box-shadow: 0 1px 3px rgba(3, 24, 18, 0.58), inset 0 0 0 1px rgba(255, 255, 255, 0.42);
    filter: brightness(1);
  }
}

@keyframes root-garden-xp-fill-impact {
  0% { filter: brightness(1); }
  24% { filter: brightness(1.65) saturate(1.24); }
  100% { filter: brightness(1); }
}

@media (max-width: 760px),
  (max-width: 1368px) and (pointer: coarse) {
  .root-game-level-meter .root-game-xp-flyout {
    top: calc(100% + 7px);
    min-height: 32px;
    padding: 7px 12px;
    font-size: 15px;
  }
}

@media (max-width: 760px) and (max-height: 520px) and (orientation: landscape),
  (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  .root-game-level-meter .root-game-xp-flyout {
    top: calc(100% + 4px);
    min-height: 28px;
    padding: 5px 10px;
    font-size: 13px;
  }
}

@media (max-width: 350px) {
  .root-game-level-meter .root-game-xp-flyout {
    padding-inline: 10px;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .root-game-level-meter .root-game-xp-flyout.is-visible,
  .root-game-level-meter .root-game-xp-flyout.is-reduced-motion {
    opacity: 1;
    visibility: visible;
    animation: none !important;
    transform: translate3d(-50%, 0, 0) scale(1);
  }

  .root-game-level-meter.is-xp-impact .root-game-level-track,
  .root-game-level-track.is-xp-impact {
    animation: none !important;
    box-shadow: 0 0 0 2px rgba(255, 233, 126, 0.92), 0 0 16px rgba(202, 232, 72, 0.8);
    filter: brightness(1.25);
    transform: none;
  }

  .root-game-level-track > i.is-xp-impact {
    animation: none !important;
    filter: brightness(1.35);
  }
}

@keyframes root-action-hub-glow {
  0%,
  100% {
    filter: brightness(1);
  }

  50% {
    filter: brightness(1.07);
  }
}

@keyframes root-bottom-pocket-glow {
  0%,
  100% {
    filter: brightness(1) saturate(1);
  }

  50% {
    filter: brightness(1.08) saturate(1.08) drop-shadow(0 0 4px rgba(255, 211, 67, 0.58));
  }
}

@keyframes root-more-rollover-glow {
  0%,
  100% {
    filter: brightness(1) saturate(1);
  }

  50% {
    filter: brightness(1.08) saturate(1.12) drop-shadow(0 0 6px rgba(255, 211, 67, 0.7));
  }
}

@keyframes root-action-rollover-glow {
  0%,
  100% {
    filter: brightness(1) saturate(1);
  }

  50% {
    filter: brightness(1.1) saturate(1.12) drop-shadow(0 0 7px rgba(255, 211, 67, 0.72));
  }
}

@keyframes root-mobile-more-shell-open {
  0% {
    border-color: rgba(255, 255, 255, 0);
    background-color: rgba(255, 249, 234, 0);
    box-shadow: 0 4px 10px rgba(6, 30, 24, 0);
  }

  100% {
    border-color: rgba(255, 255, 255, 0.76);
    background-color: rgba(255, 249, 234, 0.97);
    box-shadow: 0 12px 28px var(--root-refresh-shadow);
  }
}

@keyframes root-mobile-more-card-open {
  0% {
    opacity: 0;
    translate: var(--root-more-enter-x, 12px) 18px;
    scale: 0.74;
  }

  68% {
    opacity: 1;
    translate: -2px -2px;
    scale: 1.025;
  }

  100% {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }
}

@keyframes root-action-aura-glow {
  0%,
  100% {
    filter: brightness(1) saturate(1);
  }

  50% {
    filter: brightness(1.1) saturate(1.08);
  }
}

@media (max-width: 760px) and (hover: hover) and (pointer: fine) {
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray][aria-expanded="false"]:hover {
    box-shadow: inset 0 0 0 2px rgba(255, 249, 234, 0.22), 0 0 0 3px #fff4ca, 0 0 0 7px #ffc72d, 0 0 18px 6px rgba(255, 211, 67, 0.72), 0 0 34px 12px rgba(255, 151, 16, 0.32), var(--root-control-depth-hover) !important;
    transform: translateX(-50%) translateY(-3px) scale(1.05);
    animation: root-action-rollover-glow 1.25s ease-in-out infinite;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray][aria-expanded="false"]:hover .root-game-tool-icon,
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray][aria-expanded="false"]:focus-visible .root-game-tool-icon {
    transform: translateY(-1px) scale(1.08);
    filter: drop-shadow(0 3px 4px rgba(76, 45, 7, 0.34)) brightness(1.08) saturate(1.12);
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray][aria-expanded="false"]:active {
    transform: translateX(-50%) scale(0.985);
    animation: none;
  }

  [data-mobile-more-toggle][aria-expanded="false"]:hover {
    border-color: #efbf41 !important;
    background-color: rgba(255, 249, 234, 0.99) !important;
    color: var(--root-refresh-forest) !important;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.76), 0 0 0 2px rgba(255, 247, 211, 0.94), 0 0 0 5px #ffc72d, 0 0 18px 6px rgba(255, 211, 67, 0.68), 0 0 32px 9px rgba(255, 151, 16, 0.26), var(--root-control-depth-hover) !important;
    transform: translateY(-2px) scale(1.055);
    animation: root-more-rollover-glow 1.25s ease-in-out infinite;
  }

  [data-mobile-more-toggle][aria-expanded="false"]:hover i,
  [data-mobile-more-toggle][aria-expanded="false"]:focus-visible i {
    transform: translateY(-1px) scale(1.08);
  }

  [data-mobile-more-toggle][aria-expanded="false"]:active {
    transform: translateY(0) scale(0.98);
    animation: none;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:hover,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:focus-visible,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:hover,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:focus-visible {
    translate: 0 -4px;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:not(.is-active):not([aria-pressed="true"]):hover,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:not(.is-active):not([aria-pressed="true"]):focus-visible,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:not(.is-active):not([aria-pressed="true"]):hover,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:not(.is-active):not([aria-pressed="true"]):focus-visible {
    border-color: #efbf41;
    /* This darker gold sits beneath the bright rollover image. When the pointer
       leaves, the image drops away and the gold eases back to ivory without a
       light transparent flash of the garden showing through. */
    background-color: rgba(213, 165, 61, 0.88);
    background-image: linear-gradient(180deg, #fffdf5 0%, #fff4cf 62%, #f5d982 100%);
    color: var(--root-refresh-forest);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.76), 0 0 0 2px rgba(255, 247, 211, 0.94), 0 0 0 5px rgba(255, 198, 45, 0.74), 0 0 18px 6px rgba(255, 193, 37, 0.48), 0 14px 26px rgba(6, 30, 24, 0.4);
    filter: brightness(1.04) saturate(1.08);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:hover > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:focus-visible > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:hover > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:focus-visible > .root-game-tool-icon {
    scale: 1.08;
    filter: drop-shadow(0 3px 3px rgba(76, 45, 7, 0.32)) brightness(1.08) saturate(1.12);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:not(.is-active):not([aria-pressed="true"]):hover > b,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:not(.is-active):not([aria-pressed="true"]):focus-visible > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:not(.is-active):not([aria-pressed="true"]):hover > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:not(.is-active):not([aria-pressed="true"]):focus-visible > b {
    text-shadow: 0 1px 0 #ffffff, 0 2px 4px rgba(80, 48, 9, 0.28);
  }
}

@media (max-width: 760px) and (hover: none),
  (max-width: 760px) and (pointer: coarse),
  (min-width: 761px) and (max-width: 1368px) and (pointer: coarse) {
  .root-game-tool-dock [data-mobile-more-toggle][aria-expanded="false"]:hover {
    border-color: rgba(130, 97, 43, 0.34) !important;
    background: rgba(255, 249, 234, 0.97) !important;
    color: var(--root-refresh-forest) !important;
    box-shadow: var(--root-control-depth-rest) !important;
    filter: none;
    transform: none;
    animation: none;
  }

  .root-game-tool-dock .root-game-tool-group > [data-toggle-tool-tray][aria-expanded="false"]:hover {
    box-shadow: inset 0 0 0 2px rgba(255, 249, 234, 0.16), 0 0 0 5px rgba(255, 249, 234, 0.86), var(--root-control-depth-rest) !important;
    filter: none;
    transform: translateX(-50%);
    animation: none;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:active,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:active {
    translate: 0 -2px;
    filter: brightness(1.06) saturate(1.08);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:active > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:active > .root-game-tool-icon {
    scale: 1.05;
  }
}

@media (max-width: 390px) {
  .root-game-level-meter {
    width: min(200px, calc(100vw - 78px));
  }

  .root-game-wallet,
  .root-game-wallet > .root-game-wallet-currency,
  .root-game-hud .root-game-water-meter {
    width: 66px;
    min-width: 66px;
  }

  [data-farm-helper-strip] {
    max-width: calc(100vw - max(84px, calc(env(safe-area-inset-right) + 84px)));
  }

  .root-game-planting-tray {
    width: min(338px, calc(100vw - 8px));
  }
}

@media (max-width: 760px) and (max-height: 520px) and (orientation: landscape),
  (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  .root-game-level-meter {
    width: 171px;
    min-height: 58px;
    grid-template-columns: 59px 102px;
    gap: 10px;
    padding: 0;
  }

  .root-game-level-medallion {
    width: 58px;
    height: 58px;
  }

  .root-game-level-medallion img {
    width: 36px;
    height: 36px;
  }

  .root-game-level-medallion b {
    font-size: 21px;
  }

  .root-game-level-copy {
    width: 102px;
  }

  .root-game-level-copy strong {
    font-size: 11px;
  }

  .root-game-level-track {
    width: 102px;
    height: 8px;
  }
}

@media (max-width: 350px) {
  .root-game-tool-dock {
    --root-action-hub-size: 92px;
    --root-action-petal-width: 66px;
    --root-action-petal-height: 142px;
    --root-action-aura-size: 142px;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"] {
    left: max(8px, env(safe-area-inset-left));
    width: 56px !important;
    min-width: 56px !important;
    height: 56px;
    min-height: 56px;
  }

  [data-mobile-more-toggle] {
    right: max(8px, env(safe-area-inset-right));
    width: 56px !important;
    min-width: 56px !important;
    height: 56px;
    min-height: 56px;
  }

  .is-tool-tray-open .root-game-tool-scroll [data-toggle-tool-tray] .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-tool-scroll [data-toggle-tool-tray] .root-game-tool-icon {
    width: 52px;
    height: 52px;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1),
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) {
    transform: translate3d(0, 0, 0) rotate(-58deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(58deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2),
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) {
    transform: translate3d(0, 0, 0) rotate(-29deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(29deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4),
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) {
    transform: translate3d(0, 0, 0) rotate(35deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > b,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-tool-icon,
  .root-game-tool-dock.is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(-35deg);
  }

  /* The smaller hub needs a little more label clearance even in portrait. */
  .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-tool-icon {
    top: -20px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(1) > b {
    top: -29px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-tool-icon {
    top: -16px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(2) > b {
    top: -22px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(3) > .root-game-tool-icon {
    top: -11px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(3) > b {
    top: -15px;
    left: 0;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-tool-icon {
    top: -5px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(4) > b {
    top: -8px;
  }

  [data-farm-helper-strip] button span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .root-game-farm-helper-active-notice {
    max-width: calc(100vw - 24px);
    padding-right: 10px;
  }

  .root-game-farm-helper-active-notice small {
    font-size: 9px;
  }

}

@media (max-width: 760px) and (max-height: 650px),
  (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  /* Keep every upright tool label inside the petal's clear upper section in
     short mobile/landscape views, above the shared hub and its gold aura. */
  .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-tool-icon {
    top: -22px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(1) > b {
    top: -31px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-tool-icon {
    top: -16px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(2) > b {
    top: -22px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(3) > .root-game-tool-icon {
    top: -11px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(3) > b {
    top: -15px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-tool-icon {
    top: -8px;
  }

  .root-game-planting-tray > div[role="group"] > button:nth-child(4) > b {
    top: -10px;
  }

  .root-game-hud .root-game-water-meter {
    top: max(286px, calc(env(safe-area-inset-top) + 286px));
  }

  .root-game-wallet > .root-game-wallet-currency {
    min-height: 48px;
    flex-basis: 48px;
  }

  .root-game-farm-helper-confirm {
    top: max(145px, calc(env(safe-area-inset-top) + 145px));
    bottom: auto;
  }
}

/* Short phone landscapes can inherit the older 280px selection bar. Preserve
   its compact footprint, but give the plot name room by tightening only the
   action labels; the 44px touch height remains unchanged. */
@media (min-width: 600px) and (max-width: 760px) and (max-height: 520px) and (orientation: landscape) {
  .root-game-farm-helper-strip-style > i {
    display: none;
  }

  /* Reuse portrait's relationship to the centered Actions hub: each pocket
     center sits about 150px from the hub, regardless of landscape width. */
  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"] {
    right: auto;
    left: calc(50% - 182px);
  }

  [data-mobile-more-toggle] {
    right: calc(50% - 182px);
    left: auto;
  }

  .root-game-selection {
    right: auto !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 134px) !important;
    left: 50% !important;
    gap: 5px 7px;
    padding: 6px 7px;
    transform: translateX(-50%) !important;
  }

  .root-game-selection > strong {
    font-size: 12px;
  }

  .root-game-selection-actions {
    gap: 4px;
  }

  .root-game-selection-actions button {
    min-width: 48px;
    min-height: 44px;
    padding: 3px 5px;
    font-size: 9.5px;
    line-height: 1.05;
    white-space: nowrap;
  }

  .root-game-selection-actions [data-selection-action="remove-soil"] {
    min-width: 104px;
  }
}

@media (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  :root {
    --root-wide-prompt-width: min(304px, calc((100vw - 334px) / 2));
    --root-wide-prompt-left: max(238px, calc(50% - 308px));
  }

  .root-game-tool-dock {
    --root-action-hub-size: 96px;
    --root-action-petal-width: 70px;
    --root-action-petal-height: 154px;
    --root-action-aura-size: 154px;
  }

  /* Match portrait's spacing around the centered Actions hub instead of
     pinning Move and More to the far landscape edges. */
  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"] {
    right: auto;
    left: calc(50% - 182px);
  }

  [data-mobile-more-toggle] {
    right: calc(50% - 182px);
    left: auto;
  }

  /* Keep every resource pocket on the same right edge as portrait. Farm Water
     becomes a short status card beneath the four wallet icons and above More. */
  .root-game-hud .root-game-water-meter {
    top: max(286px, calc(env(safe-area-inset-top) + 286px));
    bottom: auto;
    min-height: 76px;
    grid-template-rows: 48px auto;
    padding: 3px 4px 4px;
  }

  .root-game-hud .root-game-water-meter::before {
    width: 44px;
    height: 48px;
  }

  .root-game-hud .root-game-water-meter > strong {
    grid-row: 2;
    font-size: 11px;
  }

  .root-game-hud .root-game-water-meter > small {
    display: none;
  }

  .root-game-farm-helper-active-notice {
    top: max(150px, calc(env(safe-area-inset-top) + 150px));
    right: auto;
    bottom: auto;
    left: var(--root-wide-prompt-left);
    max-width: var(--root-wide-prompt-width);
    transform: translateY(8px) scale(0.96);
  }

  .is-farm-helper-notice-visible .root-game-farm-helper-active-notice {
    transform: translateY(0) scale(1);
  }

  .root-game-toast {
    top: max(150px, calc(env(safe-area-inset-top) + 150px));
    right: auto;
    bottom: auto;
    left: calc(var(--root-wide-prompt-left) + var(--root-wide-prompt-width) + 8px);
    width: var(--root-wide-prompt-width);
    max-width: none;
    transform: translateY(-8px);
  }

  .root-game-toast.is-visible {
    transform: translateY(0);
  }

  .root-game-task-progress,
  .root-game-selection:not([data-contextual="true"]) {
    top: max(150px, calc(env(safe-area-inset-top) + 150px));
    right: auto;
    bottom: auto !important;
    left: calc(var(--root-wide-prompt-left) + var(--root-wide-prompt-width) + 8px);
    width: var(--root-wide-prompt-width);
    transform: none;
  }

  /* A landscape phone is still a thumb-first layout. Keep selected garden
     tiles in the same compact action bar used in portrait instead of letting
     contextual positioning restore the tall desktop detail card. */
  .root-game-selection,
  .root-game-selection[data-contextual="true"] {
    position: absolute;
    z-index: 19;
    top: auto !important;
    right: auto !important;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 122px) !important;
    left: 50% !important;
    width: min(420px, calc(100% - 176px));
    max-width: none;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px 7px;
    padding: 6px 7px;
    transform: translateX(-50%) !important;
  }

  .root-game-selection::after {
    display: none;
  }

  .root-game-selection > span,
  .root-game-selection > small {
    display: none;
  }

  .root-game-selection > strong {
    overflow: hidden;
    font-size: 12px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .root-game-selection:is([data-selection-kind="crop"], [data-selection-kind="fruit-tree"]) {
    min-height: 70px;
    border-color: rgba(242, 198, 91, 0.82);
    background: linear-gradient(135deg, rgba(255, 252, 238, 0.97), rgba(244, 235, 207, 0.96));
  }

  .root-game-selection:is([data-selection-kind="crop"], [data-selection-kind="fruit-tree"]) > strong {
    display: none;
  }

  .root-game-selection:is([data-selection-kind="crop"], [data-selection-kind="fruit-tree"]) .root-game-selection-crop-status:not([hidden]) {
    display: grid;
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    gap: 2px;
  }

  .root-game-selection-crop-status > span:first-child {
    overflow: hidden;
    color: #8c472f;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: 0.045em;
    line-height: 1.05;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .root-game-selection-crop-status > strong {
    overflow: hidden;
    color: #123f30;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-variant-numeric: tabular-nums;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .root-game-selection-crop-track {
    display: block;
    height: 4px;
    overflow: hidden;
    margin-top: 1px;
    border-radius: 999px;
    background: rgba(26, 79, 57, 0.16);
  }

  .root-game-selection-crop-track i {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #4b975f, #80bd69 58%, #ddbd48);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 220ms ease;
  }

  .root-game-selection-crop-status > small {
    overflow: hidden;
    color: #536c60;
    font-size: 9px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .root-game-selection-crop-status[data-state="ready"] > strong {
    color: #9c3f2e;
  }

  .root-game-selection-crop-status[data-state="spoiled"] .root-game-selection-crop-track i {
    background: #8c725b;
  }

  .is-task-progress-visible .root-game-selection:is([data-selection-kind="crop"], [data-selection-kind="fruit-tree"]) {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: none !important;
  }

  .root-game-selection-actions {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    gap: 4px;
    margin: 0;
  }

  .root-game-selection-actions button {
    min-width: 48px;
    min-height: 44px;
    padding: 3px 5px;
    font-size: 9.5px;
    line-height: 1.05;
    white-space: nowrap;
  }

  .root-game-selection-actions [data-selection-action="remove-soil"] {
    min-width: 104px;
  }

}

@media (min-width: 600px) and (max-width: 760px) and (max-height: 520px) and (orientation: landscape),
  (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  :root {
    --root-helper-top-gap: 6px;
    --root-helper-top-strip-width: min(188px, max(136px, calc(100vw - 474px)));
    --root-helper-top-confirm-width: min(244px, calc(100vw - 306px - var(--root-helper-top-strip-width) - var(--root-helper-top-gap)));
    --root-helper-top-left: max(234px, calc(env(safe-area-inset-left) + 226px), calc(50% - 141px));
  }

  [data-farm-helper-strip],
  .root-game-farm-helper-confirm {
    box-sizing: border-box;
    position: fixed;
    top: max(8px, env(safe-area-inset-top));
    right: auto;
    bottom: auto;
    height: 50px;
    min-height: 50px;
    transform: none;
  }

  [data-farm-helper-strip] {
    left: var(--root-helper-top-left);
    width: var(--root-helper-top-strip-width);
    max-width: none;
    justify-content: flex-start;
    gap: 4px;
    overflow: hidden;
    border-radius: 10px;
    padding: 3px 4px 3px 7px;
  }

  [data-farm-helper-strip] > * + * {
    padding-left: 4px;
  }

  .root-game-farm-helper-strip-style {
    min-width: 0;
    gap: 4px;
  }

  .root-game-farm-helper-strip-style > i {
    flex: 0 0 auto;
    font-size: 16px;
  }

  [data-farm-helper-strip-mode] {
    overflow: hidden;
    font-size: 10.5px;
    text-overflow: ellipsis;
  }

  [data-farm-helper-strip-limit] {
    font-size: 8px;
  }

  [data-farm-helper-strip-pan] {
    display: none;
  }

  [data-farm-helper-strip] button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
  }

  .root-game-farm-helper-confirm {
    left: calc(var(--root-helper-top-left) + var(--root-helper-top-strip-width) + var(--root-helper-top-gap));
    width: var(--root-helper-top-confirm-width);
    gap: 4px;
    border-width: 1px;
    border-radius: 12px;
    padding: 3px 4px 3px 7px;
  }

  .root-game-farm-helper-confirm > div:first-child > small {
    display: none;
  }

  .root-game-farm-helper-confirm[data-seed-remaining] > div:first-child > small {
    display: block;
    margin-top: 1px;
    font-size: 8px;
    line-height: 1;
    white-space: nowrap;
  }

  .root-game-farm-helper-confirm strong {
    font-size: 10.5px;
    line-height: 1;
  }

  .root-game-farm-helper-confirm > div:last-child {
    gap: 3px;
  }

  .root-game-farm-helper-confirm button {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
  }

  .root-game-farm-helper-confirm button.is-primary {
    width: 44px;
    min-width: 44px;
  }

  .root-game-farm-helper-confirm button i {
    font-size: 20px;
  }

  .root-game-farm-helper-confirm:has(button.is-primary:disabled) {
    top: max(64px, calc(env(safe-area-inset-top) + 64px));
    left: max(8px, env(safe-area-inset-left));
    width: min(360px, calc(100vw - max(16px, calc(env(safe-area-inset-left) + env(safe-area-inset-right) + 16px))));
    height: auto;
    min-height: 72px;
  }

  .root-game-farm-helper-confirm:has(button.is-primary:disabled) strong {
    font-size: 12px;
    line-height: 1.08;
  }
}

@media (min-width: 600px) and (max-width: 640px) and (max-height: 520px) and (orientation: landscape) {
  .root-game-farm-helper-confirm {
    gap: 2px;
    padding-right: 3px;
    padding-left: 5px;
  }

  .root-game-farm-helper-confirm strong {
    font-size: 9px;
    letter-spacing: -0.1px;
  }
}

/* Interactive resource pockets
   The compact wallet stays visually unchanged until a player points at or
   opens a resource. One shared details card keeps mobile controls clear. */
.root-game-wallet > .root-game-wallet-currency[data-wallet-resource-card] {
  display: block;
  padding: 0;
  transition: border-color 160ms ease, box-shadow 200ms ease, transform 160ms ease;
}

.root-game-wallet-resource-trigger {
  display: grid;
  width: 100%;
  min-width: 44px;
  min-height: 54px;
  grid-template-columns: 34px minmax(0, auto);
  grid-template-rows: auto auto;
  align-content: center;
  justify-content: center;
  column-gap: 4px;
  border: 0;
  border-radius: inherit;
  padding: 4px 6px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* The older shared HUD gives every wallet button a fixed utility-button size.
   These nested pocket triggers need the full card instead. */
.root-game-wallet .root-game-wallet-resource-trigger {
  box-sizing: border-box;
  width: 100%;
  min-width: 44px;
  height: 100%;
  min-height: 54px;
  overflow: visible;
  border: 0;
  padding: 4px 6px;
  background: transparent;
  box-shadow: none;
  font-size: inherit;
}

.root-game-wallet .root-game-wallet-resource-trigger:hover,
.root-game-wallet .root-game-wallet-resource-trigger:focus-visible {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.root-game-wallet-resource-trigger .root-game-currency-icon {
  transition: filter 180ms ease, transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.root-game-wallet > .root-game-wallet-currency[data-wallet-resource-card].is-resource-open {
  border-color: #efba36;
  box-shadow:
    0 0 0 2px rgba(255, 249, 234, 0.96),
    0 0 0 5px rgba(229, 170, 39, 0.82),
    0 0 24px 8px rgba(247, 195, 66, 0.46),
    0 9px 22px rgba(8, 35, 27, 0.28);
  transform: translateY(-2px);
}

.root-game-wallet > .root-game-wallet-currency[data-wallet-resource-card].is-resource-open .root-game-currency-icon {
  filter: drop-shadow(0 3px 5px rgba(83, 54, 9, 0.26));
  transform: scale(1.08);
}

.root-game-hud .root-game-water-meter[data-wallet-resource-card] {
  appearance: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.root-game-hud .root-game-water-meter[data-wallet-resource-card].is-resource-open {
  border-color: #efba36;
  box-shadow:
    0 0 0 2px rgba(255, 249, 234, 0.96),
    0 0 0 5px rgba(229, 170, 39, 0.82),
    0 0 24px 8px rgba(247, 195, 66, 0.46),
    0 9px 22px rgba(8, 35, 27, 0.28);
}

@media (hover: hover) and (pointer: fine) {
  .root-game-wallet > .root-game-wallet-currency[data-wallet-resource-card]:hover,
  .root-game-wallet > .root-game-wallet-currency[data-wallet-resource-card]:focus-within {
    border-color: #e8af2f;
    box-shadow:
      0 0 0 2px rgba(255, 249, 234, 0.94),
      0 0 0 4px rgba(229, 170, 39, 0.72),
      0 0 19px 5px rgba(247, 195, 66, 0.38),
      0 9px 20px rgba(8, 35, 27, 0.24);
    transform: translateY(-2px);
  }

  .root-game-wallet-resource-trigger:hover .root-game-currency-icon,
  .root-game-wallet-resource-trigger:focus-visible .root-game-currency-icon {
    filter: drop-shadow(0 3px 5px rgba(83, 54, 9, 0.24));
    transform: scale(1.08) rotate(-2deg);
  }
}

@media (hover: none), (pointer: coarse) {
  .root-game-wallet-resource-trigger:active {
    transform: scale(0.96);
  }
}

.root-game-wallet-resource-popover {
  position: absolute;
  z-index: 18;
  top: calc(100% + 14px);
  right: 0;
  width: min(370px, calc(100vw - 28px));
  max-height: min(620px, calc(100dvh - 118px));
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(115, 88, 40, 0.34);
  border-radius: 20px;
  padding: 17px;
  background: rgba(255, 251, 239, 0.98);
  color: var(--root-refresh-ink);
  box-shadow:
    0 0 0 3px rgba(255, 249, 234, 0.76),
    0 18px 46px rgba(6, 30, 24, 0.32);
  text-align: left;
  pointer-events: auto;
  animation: root-wallet-resource-enter 220ms cubic-bezier(0.16, 1, 0.3, 1) both;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  backdrop-filter: blur(14px);
}

.root-game-wallet-resource-popover[hidden] {
  display: none !important;
}

/* Resource details are a deliberate player action. Keep the shared card above
   tutorial coaching so its title and close control can never be hidden. */
.root-garden-v2.is-wallet-resource-open .root-game-hud {
  z-index: 2147483200;
}

@media (min-width: 761px) {
  .root-game-wallet {
    position: relative;
  }
}

@media (min-width: 761px) and (max-width: 1368px) and (pointer: coarse) {
  /* Fold portrait stays thumb-first too. Keep the wallet on the safe right
     edge and give its details card the same in-garden treatment as a phone. */
  .root-game-wallet {
    position: absolute;
    top: max(76px, calc(env(safe-area-inset-top) + 76px));
    right: max(8px, env(safe-area-inset-right));
    left: auto;
  }

  .root-game-wallet-resource-popover {
    position: fixed;
    top: max(76px, calc(env(safe-area-inset-top) + 76px));
    right: calc(max(8px, env(safe-area-inset-right)) + 82px);
    left: auto;
    width: min(320px, calc(100vw - 102px));
    max-height: calc(
      100dvh
      - max(76px, calc(env(safe-area-inset-top) + 76px))
      - max(155px, calc(env(safe-area-inset-bottom) + 155px))
    );
    border-radius: 17px;
    padding: 14px;
  }

  /* JavaScript also treats this width as mobile, so the queued-action diamond
     must keep the direct tap-to-cancel behavior instead of exposing a hover
     menu that can cover the board. */
  .root-game-direct-queue-target,
  .root-game-direct-queue-marker {
    width: 50px;
    height: 50px;
  }

  .root-game-direct-queue-marker-frame {
    font-size: 31px;
  }

  .root-game-direct-queue-marker-icon {
    display: none;
  }

  .root-game-direct-queue-marker-cancel-icon {
    position: relative;
    z-index: 2;
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border-radius: 50%;
    background: #123f32;
    color: #fff4c5;
    font-size: 13px;
    box-shadow: 0 0 0 1px rgba(255, 244, 197, 0.42);
  }

  .root-game-direct-queue-menu {
    display: none !important;
  }
}

@media (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  /* Wide landscape keeps the same right-side resource rail as portrait. The
     shared details card still opens in the clear middle lane. */
  .root-game-wallet {
    right: max(8px, env(safe-area-inset-right));
    left: auto;
  }

  .root-game-wallet-resource-popover {
    right: auto;
    left: max(88px, calc(50vw - 185px));
    width: min(370px, calc(100vw - 176px));
    max-height: calc(
      100dvh
      - max(76px, calc(env(safe-area-inset-top) + 76px))
      - max(126px, calc(env(safe-area-inset-bottom) + 126px))
    );
  }
}

@keyframes root-wallet-resource-enter {
  from {
    opacity: 0;
    transform: translateY(-7px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.root-game-wallet-resource-close {
  position: absolute;
  top: 11px;
  right: 11px;
  display: grid;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  place-items: center;
  border: 1px solid rgba(23, 55, 45, 0.18);
  border-radius: 50%;
  padding: 0;
  background: #fffdf5;
  color: var(--root-refresh-forest);
  font-size: 20px;
  cursor: pointer;
}

.root-game-wallet .root-game-wallet-resource-close {
  z-index: 1;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  grid-row: auto;
  align-self: auto;
  justify-self: auto;
  overflow: visible;
  padding: 0;
  font-size: 20px;
}

.root-game-wallet-resource-heading {
  display: grid;
  min-height: 48px;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding-right: 48px;
}

.root-game-wallet-resource-heading .root-game-currency-icon {
  width: 46px;
  height: 46px;
}

.root-game-wallet-resource-heading > span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.root-game-wallet-resource-heading small,
.root-game-wallet-resource-context > small {
  color: #a65232;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.root-game-wallet-resource-heading h2,
.root-game-wallet-resource-context h3 {
  margin: 0;
  color: var(--root-refresh-forest-deep);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.08;
}

.root-game-wallet-resource-heading h2 {
  font-size: 24px;
}

.root-game-wallet-resource-balance {
  display: block;
  margin-top: 13px;
  border: 1px solid rgba(213, 165, 61, 0.38);
  border-radius: 999px;
  padding: 8px 11px;
  background: #fff4cf;
  color: #5d4211;
  font: 800 14px/1.15 Georgia, "Times New Roman", serif;
}

.root-game-wallet-resource-copy,
.root-game-wallet-resource-context p,
.root-game-wallet-resource-hint {
  margin: 0;
  line-height: 1.42;
}

.root-game-wallet-resource-copy {
  margin-top: 9px;
  color: #435e53;
  font-size: 12px;
}

.root-game-wallet-resource-context {
  margin-top: 13px;
  border: 1px solid rgba(77, 122, 67, 0.25);
  border-radius: 15px;
  padding: 12px;
  background: #edf2dc;
}

.root-game-wallet-resource-context h3 {
  margin-top: 4px;
  font-size: 18px;
}

.root-game-wallet-resource-context [data-wallet-tea-focus-timer] {
  margin-left: 0.18em;
  color: #986318;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.root-game-wallet-resource-context [data-wallet-tea-focus-timer][hidden] {
  display: none !important;
}

.root-game-wallet-resource-context p {
  margin-top: 6px;
  color: #4a6256;
  font-size: 11px;
}

.root-game-wallet-resource-context ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.root-game-wallet-resource-context li {
  border: 1px solid rgba(77, 122, 67, 0.24);
  border-radius: 999px;
  padding: 6px 8px;
  background: #fffdf5;
  color: #27483b;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.15;
}

.root-game-wallet-resource-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  margin-top: 13px;
}

.root-game-wallet-resource-actions button {
  min-height: 44px;
  border: 1px solid rgba(18, 63, 50, 0.26);
  border-radius: 12px;
  padding: 8px 10px;
  background: #fffdf5;
  color: var(--root-refresh-forest);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.12;
  cursor: pointer;
  box-shadow: var(--root-control-depth-rest);
}

.root-game-wallet .root-game-wallet-resource-actions button {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 44px;
  grid-column: auto;
  grid-row: auto;
  align-self: stretch;
  justify-self: stretch;
  overflow: visible;
  padding: 8px 10px;
  font-size: 11px;
}

.root-game-wallet-resource-actions button.is-primary {
  border-color: var(--root-refresh-forest);
  background: var(--root-refresh-forest);
  color: #fff9ea;
}

.root-game-wallet-resource-actions button[hidden] {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .root-game-wallet-resource-close:hover,
  .root-game-wallet-resource-actions button:hover {
    border-color: #d7a32e;
    box-shadow: 0 0 0 3px rgba(242, 187, 54, 0.2), var(--root-control-depth-hover);
    transform: translateY(-1px);
  }
}

/* Raised controls share the selected medallion's black contact shadow. Gold
   remains reserved for active and focused states, where it is layered above
   the same dark depth instead of being replaced by it. */
.root-game-placement-controls button:not(:disabled),
.root-game-purchase-submit:not(:disabled),
.root-game-purchase-confirmation button:not(:disabled),
.root-game-catalog-item button:not(:disabled),
.root-game-inventory-capacity > button:not(:disabled),
.root-game-progress-copy .root-game-overview-action-card button:not(:disabled),
.root-game-progress-copy .root-game-overview-action-card > a,
.root-garden-intro-primary:not(:disabled),
.root-garden-intro-secondary:not(:disabled),
.root-garden-tutorial-guide-actions button:not(:disabled),
.root-rhythm-milestone__collect:not(:disabled),
.root-rhythm-milestone__continue:not(:disabled),
.root-secret-garden-approach:not(:disabled),
.root-secret-garden-return:not(:disabled) {
  box-shadow: var(--root-control-depth-rest);
}

.root-game-progress-window > header button,
.root-game-wallet-resource-close,
.root-game-purchase-close,
.root-game-quantity button:not(:disabled) {
  box-shadow: var(--root-control-depth-compact);
}

@media (hover: hover) and (pointer: fine) {
  .root-game-placement-controls button:hover:not(:disabled),
  .root-game-purchase-submit:hover:not(:disabled),
  .root-game-purchase-confirmation button:hover:not(:disabled),
  .root-game-catalog-item button:hover:not(:disabled),
  .root-game-inventory-capacity > button:hover:not(:disabled),
  .root-game-progress-copy .root-game-overview-action-card button:hover:not(:disabled),
  .root-game-progress-copy .root-game-overview-action-card > a:hover,
  .root-garden-intro-primary:hover:not(:disabled),
  .root-garden-intro-secondary:hover:not(:disabled),
  .root-garden-tutorial-guide-actions button:hover:not(:disabled) {
    box-shadow: var(--root-control-depth-hover);
  }
}

.root-game-placement-controls button:active:not(:disabled),
.root-game-purchase-submit:active:not(:disabled),
.root-game-purchase-confirmation button:active:not(:disabled),
.root-game-catalog-item button:active:not(:disabled),
.root-game-inventory-capacity > button:active:not(:disabled),
.root-game-progress-copy .root-game-overview-action-card button:active:not(:disabled),
.root-game-progress-copy .root-game-overview-action-card > a:active,
.root-garden-intro-primary:active:not(:disabled),
.root-garden-intro-secondary:active:not(:disabled),
.root-garden-tutorial-guide-actions button:active:not(:disabled) {
  box-shadow: var(--root-control-depth-pressed);
}

.root-game-wallet-resource-hint {
  margin-top: 9px;
  color: #6e776b;
  font-size: 9px;
  text-align: center;
}

@media (max-width: 760px) {
  .root-game-wallet-resource-trigger {
    min-height: 52px;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: center;
    justify-content: stretch;
    gap: 1px;
    padding: 4px 5px 4px 2px;
  }

  .root-game-wallet .root-game-wallet-resource-trigger {
    min-height: 52px;
    padding: 4px 3px 4px 1px;
  }

  .root-game-wallet-resource-trigger .root-game-currency-icon {
    width: 35px;
    height: 43px;
  }

  .root-game-wallet-resource-trigger b {
    font-size: 10px;
    letter-spacing: -0.02em;
  }

  .root-game-wallet-resource-trigger b[data-number-display="compact"] {
    font-size: 9px;
    letter-spacing: -0.04em;
  }

  .root-game-wallet-resource-popover {
    position: fixed;
    top: max(76px, calc(env(safe-area-inset-top) + 76px));
    right: calc(max(8px, env(safe-area-inset-right)) + 82px);
    width: min(320px, calc(100vw - 102px));
    max-height: calc(
      100dvh
      - max(76px, calc(env(safe-area-inset-top) + 76px))
      - max(190px, calc(env(safe-area-inset-bottom) + 190px))
    );
    border-radius: 17px;
    padding: 14px;
    box-shadow:
      0 0 0 3px rgba(255, 249, 234, 0.72),
      0 17px 38px rgba(6, 30, 24, 0.38);
  }

  .root-game-wallet-resource-heading h2 {
    font-size: 21px;
  }

  .root-game-wallet-resource-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) and (max-height: 520px) and (orientation: landscape),
  (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  .root-game-wallet-resource-trigger b[data-number-display="exact"][data-exact-value*=","] {
    font-size: 11px;
    letter-spacing: -0.02em;
    transform: translateX(-1px);
  }

  .root-game-wallet-resource-trigger b[data-number-display="compact"] {
    font-size: 9px;
    letter-spacing: -0.04em;
    transform: translateX(-1px);
  }
}

/* Root Garden water modes and in-garden irrigation V1 */
.root-game-planting-tray > [data-primary-tool-petals][hidden],
.root-game-planting-tray > [data-water-mode-petals][hidden],
.root-game-irrigation-panel[hidden] {
  display: none !important;
}

.root-game-tool-icon.is-irrigation {
  background-image: url("/assets/live-rooted/game-v2/build/rooted-irrigation-sprinkler-v1.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.root-game-water-mode-back {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(23, 74, 57, 0.2);
  border-radius: 50%;
  background: rgba(233, 241, 215, 0.92);
  color: var(--root-refresh-forest);
  font-size: 22px;
}

.root-game-planting-tray > div[role="group"][data-water-mode-petals] > button > b {
  max-width: 68px;
  font-size: 11px !important;
  line-height: 1.04 !important;
  text-wrap: balance;
  white-space: normal;
}

.root-game-water-all-confirm {
  z-index: 70;
  width: min(410px, calc(100% - 24px));
  border-color: rgba(255, 255, 255, 0.86);
  border-radius: 20px;
  background: #f7f8e9;
  color: var(--root-refresh-ink);
}

.root-game-water-all-confirm > div {
  gap: 7px;
  padding: 16px;
}

.root-game-water-all-confirm img {
  width: 58px;
  height: 58px;
}

.root-game-water-all-confirm > div > span {
  color: #277184;
  letter-spacing: 0.09em;
}

.root-game-water-all-confirm h2 {
  color: var(--root-refresh-forest);
}

.root-game-water-all-confirm-usage {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
}

.root-game-water-all-confirm-usage > strong {
  display: grid;
  min-height: 54px;
  place-content: center;
  gap: 2px;
  border: 1px solid rgba(39, 113, 132, 0.22);
  border-radius: 13px;
  background: rgba(225, 244, 239, 0.9);
}

.root-game-water-all-confirm-usage b {
  color: var(--root-refresh-forest);
  font: 800 22px/1 Georgia, "Times New Roman", serif;
  font-variant-numeric: tabular-nums;
}

.root-game-water-all-confirm-usage small {
  color: #506b61;
  font-size: 9px;
}

.root-game-water-all-confirm-usage > i {
  color: #277184;
  font-size: 19px;
}

.root-game-water-all-confirm-actions {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 8px;
  margin-top: 3px;
}

.root-game-water-all-confirm-actions > button {
  min-height: 44px;
  border: 1px solid rgba(23, 74, 57, 0.22);
  border-radius: 9px;
  padding: 8px 11px;
  background: #fffdf3;
  color: var(--root-refresh-forest);
  font-size: 11px;
  font-weight: 900;
}

.root-game-water-all-confirm-actions > .root-game-purchase-submit {
  border-color: transparent;
  background: var(--root-refresh-forest);
  color: #fffdf6;
}

.root-game-irrigation-panel {
  position: absolute;
  right: auto;
  bottom: calc(100% + 10px);
  left: 50%;
  z-index: 64;
  display: grid;
  width: min(440px, calc(100vw - 24px));
  max-height: min(610px, calc(100dvh - 120px));
  gap: 12px;
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 20px;
  padding: 14px;
  background:
    radial-gradient(circle at 88% 8%, rgba(125, 218, 226, 0.24), transparent 32%),
    linear-gradient(155deg, rgba(255, 253, 243, 0.99), rgba(235, 244, 221, 0.99));
  color: var(--root-refresh-ink);
  box-shadow: 0 24px 58px rgba(4, 36, 29, 0.34), inset 0 0 0 1px rgba(172, 128, 52, 0.12);
  transform: translateX(-50%);
  pointer-events: auto;
  overscroll-behavior: contain;
  backdrop-filter: blur(14px);
}

.root-game-irrigation-panel > header,
.root-game-irrigation-panel > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.root-game-irrigation-panel > header > div {
  display: grid;
  gap: 2px;
}

.root-game-irrigation-panel > header span,
.root-game-irrigation-prices article > span {
  color: #277184;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.root-game-irrigation-panel > header strong {
  color: var(--root-refresh-forest);
  font: 800 24px/1 Georgia, "Times New Roman", serif;
}

.root-game-irrigation-panel > header > button {
  display: grid;
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  place-items: center;
  border: 1px solid rgba(23, 74, 57, 0.2);
  border-radius: 50%;
  padding: 0;
  background: rgba(255, 253, 243, 0.92);
  color: var(--root-refresh-forest);
  font-size: 24px;
}

.root-game-irrigation-capacity {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(39, 113, 132, 0.2);
  border-radius: 17px;
  padding: 10px 12px 10px 8px;
  background: linear-gradient(135deg, rgba(222, 245, 247, 0.92), rgba(241, 248, 227, 0.94));
}

.root-game-irrigation-capacity > img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  filter: drop-shadow(0 8px 8px rgba(5, 49, 41, 0.25));
}

.root-game-irrigation-capacity > div {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.root-game-irrigation-capacity span {
  color: #41695e;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.root-game-irrigation-capacity strong {
  color: var(--root-refresh-forest);
  font: 800 25px/1 Georgia, "Times New Roman", serif;
  font-variant-numeric: tabular-nums;
}

.root-game-irrigation-capacity small {
  color: #52685d;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
}

.root-game-irrigation-meter {
  position: relative;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(39, 113, 132, 0.15);
}

.root-game-irrigation-meter > i {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #3d9fb8, #7ed7e3);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 180ms ease, background 180ms ease;
}

.root-game-irrigation-panel[data-water-state="low"] .root-game-irrigation-meter > i {
  background: #d59b35;
}

.root-game-irrigation-panel[data-water-state="critical"] .root-game-irrigation-meter > i,
.root-game-irrigation-panel[data-water-state="empty"] .root-game-irrigation-meter > i {
  background: #ca765d;
}

.root-game-irrigation-prices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.root-game-irrigation-prices article {
  display: grid;
  min-width: 0;
  gap: 4px;
  border: 1px solid rgba(23, 74, 57, 0.16);
  border-radius: 14px;
  padding: 10px;
  background: rgba(255, 253, 245, 0.88);
}

.root-game-irrigation-prices article.is-quick-delivery {
  border-color: rgba(39, 113, 132, 0.3);
  background: rgba(224, 245, 246, 0.82);
}

.root-game-irrigation-prices strong {
  color: var(--root-refresh-forest);
  font: 800 18px/1.1 Georgia, "Times New Roman", serif;
}

.root-game-irrigation-prices small {
  color: #52685d;
  font-size: 10px;
  line-height: 1.3;
}

.root-game-irrigation-status {
  min-height: 34px;
  margin: 0;
  border-radius: 11px;
  padding: 8px 10px;
  background: rgba(23, 74, 57, 0.08);
  color: #3d6158;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
}

.root-game-irrigation-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.root-game-irrigation-actions > button {
  display: grid;
  min-width: 0;
  min-height: 68px;
  grid-template-columns: 31px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(16, 64, 48, 0.22);
  border-radius: 14px;
  padding: 9px 10px;
  background: var(--root-refresh-forest);
  color: #fffdf6;
  text-align: left;
  box-shadow: var(--root-control-depth-rest);
}

.root-game-irrigation-actions > button.is-quick-delivery {
  background: #276f80;
}

.root-game-irrigation-actions > button > i {
  font-size: 25px;
}

.root-game-irrigation-actions > button > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.root-game-irrigation-actions b {
  font: 800 14px/1.05 Georgia, "Times New Roman", serif;
}

.root-game-irrigation-actions small {
  color: rgba(255, 255, 255, 0.76);
  font-size: 9px;
  line-height: 1.25;
}

.root-game-irrigation-actions > button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.root-game-irrigation-panel > footer {
  border-top: 1px solid rgba(23, 74, 57, 0.12);
  padding-top: 10px;
}

.root-game-irrigation-panel > footer button,
.root-game-irrigation-panel > footer a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid rgba(23, 74, 57, 0.2);
  border-radius: 11px;
  padding: 8px 11px;
  background: rgba(255, 253, 243, 0.9);
  color: var(--root-refresh-forest);
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 760px) {
  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(1) {
    transform: translate3d(0, 0, 0) rotate(-38deg) scale(1) !important;
  }

  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(1) > .root-game-tool-icon,
  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(1) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(38deg) !important;
  }

  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(2) {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1) !important;
  }

  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(2) > .root-game-tool-icon,
  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(2) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(0deg) !important;
  }

  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(3) {
    transform: translate3d(0, 0, 0) rotate(38deg) scale(1) !important;
  }

  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(3) > .root-game-water-mode-back,
  .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(3) > b {
    transform: translate(var(--root-action-content-nudge-x), var(--root-action-content-nudge-y)) rotate(-38deg) !important;
  }

  .root-game-irrigation-panel {
    right: max(8px, env(safe-area-inset-right));
    bottom: calc(max(10px, env(safe-area-inset-bottom)) + 116px);
    left: max(8px, env(safe-area-inset-left));
    width: auto;
    max-height: calc(100dvh - 138px);
    gap: 9px;
    border-radius: 18px;
    padding: 11px;
    transform: none;
  }

  .root-game-irrigation-capacity {
    grid-template-columns: 72px minmax(0, 1fr);
    padding: 8px 10px 8px 6px;
  }

  .root-game-irrigation-capacity > img {
    width: 70px;
    height: 70px;
  }

  .root-game-irrigation-actions > button {
    min-height: 62px;
    grid-template-columns: 27px minmax(0, 1fr);
    padding: 8px;
  }
}

@media (max-width: 390px) {
  .root-game-irrigation-prices,
  .root-game-irrigation-actions {
    grid-template-columns: 1fr;
  }

  .root-game-irrigation-prices article {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .root-game-irrigation-prices article > small {
    grid-column: 1 / -1;
  }
}
/* End Root Garden water modes and in-garden irrigation V1 */

@media (max-width: 760px) and (max-height: 650px) {
  .root-game-wallet-resource-popover {
    max-height: calc(
      100dvh
      - max(76px, calc(env(safe-area-inset-top) + 76px))
      - max(155px, calc(env(safe-area-inset-bottom) + 155px))
    );
    padding: 12px;
  }

  .root-game-wallet-resource-context {
    margin-top: 10px;
    padding: 10px;
  }

  .root-game-wallet-resource-hint {
    display: none;
  }
}

@media (max-width: 760px) and (orientation: landscape),
  (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  .root-game-mobile-location [data-mobile-farm-label] {
    position: relative;
    top: 3px;
  }
}

/* Running out of Focus must never look like an unresponsive tool. The alert
   stays above helper suppression, while the helper control itself and the
   Focus pocket identify both the failed command and its cause. */
.root-game-toast.is-focus-error,
.root-game-toast.is-seed-error {
  z-index: 58;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 2px solid rgba(255, 211, 105, 0.98);
  padding: 11px 14px;
  background: linear-gradient(180deg, rgba(126, 42, 31, 0.98), rgba(78, 25, 22, 0.99));
  color: #fffaf0;
  font-weight: 850;
  line-height: 1.25;
  text-align: left;
  box-shadow:
    0 0 0 4px rgba(190, 70, 45, 0.28),
    0 0 28px rgba(232, 102, 68, 0.6),
    0 12px 30px rgba(25, 8, 5, 0.42);
  animation: root-focus-error-pop-shake 620ms cubic-bezier(0.36, 0.07, 0.19, 0.97);
}

.root-game-toast.is-focus-error::before,
.root-game-toast.is-seed-error::before {
  display: inline-grid;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "!";
  font: 950 16px/1 Arial, sans-serif;
}

[data-farm-helper-strip].is-focus-error,
.root-game-farm-helper-confirm.is-focus-error,
.root-game-selection-actions [data-selection-action].is-focus-error,
[data-farm-helper-strip].is-seed-error,
.root-game-farm-helper-confirm.is-seed-error {
  border-color: rgba(255, 211, 105, 0.98) !important;
  box-shadow:
    0 0 0 4px rgba(190, 70, 45, 0.28),
    0 0 28px rgba(232, 102, 68, 0.62),
    0 12px 30px var(--root-refresh-shadow) !important;
  animation:
    root-focus-target-shake 420ms cubic-bezier(0.36, 0.07, 0.19, 0.97),
    root-focus-target-glow 1100ms ease-out !important;
}

.root-game-selection-actions [data-selection-action][data-focus-blocked-tool] {
  border-color: rgba(151, 64, 45, 0.86);
  background: #8e422f;
  color: #fffaf0;
  cursor: pointer;
  opacity: 1;
  box-shadow: inset 0 -3px 0 rgba(69, 23, 16, 0.28), 0 4px 10px rgba(69, 23, 16, 0.2);
}

.root-game-farm-helper-confirm.is-focus-blocked {
  border-color: rgba(151, 64, 45, 0.78);
  background: rgba(255, 247, 232, 0.99);
  box-shadow: 0 0 0 3px rgba(190, 70, 45, 0.2), 0 0 22px rgba(190, 70, 45, 0.34), 0 10px 25px var(--root-refresh-shadow);
}

.root-game-farm-helper-confirm.is-focus-blocked > div:first-child > small {
  overflow: visible;
  color: #7a3024;
  font-weight: 850;
  text-overflow: clip;
  white-space: normal;
}

.root-game-farm-helper-confirm button.is-primary[aria-disabled="true"] {
  border-color: #7a3024;
  background: #8e422f;
  color: #fffaf0;
  cursor: not-allowed;
  opacity: 1;
  box-shadow: inset 0 -3px 0 rgba(69, 23, 16, 0.28), 0 4px 10px rgba(69, 23, 16, 0.2);
}

[data-focus-wallet].is-focus-error {
  z-index: 5 !important;
  border-color: rgba(255, 211, 105, 0.98) !important;
  outline: 3px solid rgba(178, 50, 38, 0.92);
  outline-offset: 2px;
  box-shadow:
    0 0 0 5px rgba(255, 211, 105, 0.34),
    0 0 24px rgba(232, 102, 68, 0.72),
    var(--root-control-depth-compact) !important;
}

@keyframes root-focus-error-pop-shake {
  0% {
    margin-left: 0;
    scale: 0.92;
  }

  18% {
    margin-left: -8px;
    scale: 1.035;
  }

  36% {
    margin-left: 7px;
    scale: 1;
  }

  54% {
    margin-left: -5px;
  }

  72% {
    margin-left: 3px;
  }

  100% {
    margin-left: 0;
    scale: 1;
  }
}

@keyframes root-focus-target-shake {
  0%,
  100% {
    margin-left: 0;
  }

  18% {
    margin-left: -7px;
  }

  36% {
    margin-left: 6px;
  }

  54% {
    margin-left: -4px;
  }

  72% {
    margin-left: 3px;
  }
}

@keyframes root-focus-target-glow {
  0%,
  100% {
    filter: none;
  }

  35% {
    filter: drop-shadow(0 0 12px rgba(255, 211, 105, 0.9));
  }
}

@media (max-width: 760px),
  (max-width: 1368px) and (pointer: coarse) {
  .root-game-farm-helper-confirm button.is-primary[aria-disabled="true"] {
    width: 52px;
    min-width: 52px;
  }

  .root-game-farm-helper-confirm button.is-primary[aria-disabled="true"] i {
    display: none;
  }

  .root-game-farm-helper-confirm button.is-primary[aria-disabled="true"]::after {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    content: "!";
    font: 950 16px/1 Arial, sans-serif;
  }

  .is-farm-helper-notice-visible .root-game-toast.is-focus-error.is-visible,
  [data-farm-helper-preview="open"] .root-game-toast.is-focus-error.is-visible,
  .is-farm-helper-notice-visible .root-game-toast.is-seed-error.is-visible,
  [data-farm-helper-preview="open"] .root-game-toast.is-seed-error.is-visible {
    visibility: visible;
    opacity: 1;
  }
}

@media (max-width: 760px) {
  /* The compact selection card and task timer otherwise share the same bottom
     slot. Keep the selected action above running work, then stack a Focus
     explanation above both without covering either control. */
  .is-task-progress-visible .root-game-selection:not([hidden]) {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 184px) !important;
  }

  /* Fruit trees remain selectable while an earlier job is running so the
     player can queue the next distinct move instead of waiting for completion. */
  .is-task-progress-visible .root-game-selection[data-selection-kind="fruit-tree"]:not([hidden]) {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  /* A queued move may still be walking while the player stages the next one.
     Keep the active task bar in its own lower lane and lift the new placement
     sheet above it so neither surface replaces or covers the other. */
  .is-task-progress-visible .root-game-placement-controls:not([hidden]) {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 190px) !important;
  }

  [data-focus-error="visible"].is-task-progress-visible:has(.root-game-selection:not([hidden])) .root-game-toast.is-focus-error {
    top: auto;
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 250px);
  }
}

@media (min-width: 761px) and (max-width: 1368px) and (pointer: coarse) and (orientation: portrait),
  (min-width: 761px) and (max-width: 1368px) and (pointer: coarse) and (min-height: 761px) {
  /* Foldables and tablets use the same bottom task lane as phones. Give the
     next selection and placement sheet the same dedicated lane above it. */
  .is-task-progress-visible .root-game-selection:not([hidden]) {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 184px) !important;
  }

  .is-task-progress-visible .root-game-placement-controls:not([hidden]) {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 190px) !important;
  }
}

@media (min-width: 761px) and (pointer: fine) {
  /* Desktop keeps the wide Helper strip beneath the level HUD. When that
     strip is the failed target, place the explanation directly below it. */
  [data-root-garden-v2]:has([data-farm-helper-strip].is-focus-error) .root-game-toast.is-focus-error {
    top: calc(var(--hud-top) + var(--hud-height) + 98px);
  }
}

@media (min-width: 600px) and (max-width: 760px) and (max-height: 520px) and (orientation: landscape) {
  [data-focus-error="visible"].is-task-progress-visible .root-game-task-progress {
    left: 50%;
  }
}

@media (min-width: 761px) and (max-width: 1368px) and (max-height: 760px) and (orientation: landscape) and (pointer: coarse) {
  .is-task-progress-visible .root-game-selection[data-selection-kind="fruit-tree"]:not([hidden]) {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  [data-focus-error="visible"].is-task-progress-visible:has(.root-game-selection:not([hidden])) .root-game-toast.is-focus-error {
    top: max(124px, calc(env(safe-area-inset-top) + 124px));
  }

  [data-focus-error="visible"].is-task-progress-visible .root-game-task-progress {
    left: var(--root-wide-prompt-left);
  }
}

@media (prefers-reduced-motion: reduce) {
  .root-game-wallet > .root-game-wallet-currency[data-wallet-resource-card],
  .root-game-wallet-resource-trigger,
  .root-game-wallet-resource-trigger .root-game-currency-icon,
  .root-game-wallet-resource-popover,
  .root-game-wallet-resource-close,
  .root-game-wallet-resource-actions button,
  .is-mobile-more-open .root-game-tool-scroll,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll,
  .is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > .root-game-tool-link,
  .is-mobile-more-open .root-game-tool-scroll .root-game-tool-group > [data-open-window="inventory"],
  .is-mobile-more-open .root-game-tool-scroll > .root-game-member-slot,
  .is-mobile-more-open .root-game-tool-scroll > .root-game-structure-view,
  .is-mobile-more-open .root-game-tool-scroll > .root-game-expand,
  .root-game-planting-tray > div[role="group"] > button,
  .root-game-planting-tray > div[role="group"] > button > .root-game-tool-icon,
  .root-game-planting-tray > div[role="group"] > button > b,
  .root-game-planting-tray > div[role="group"]::before,
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray],
  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"],
  [data-mobile-more-toggle],
  .root-game-mobile-location,
  .root-game-farm-helper-active-notice,
  .root-game-farm-helper-confirm:has(button.is-primary:disabled),
  .root-game-toast.is-focus-error,
  .root-game-toast.is-seed-error,
  [data-farm-helper-strip].is-focus-error,
  .root-game-farm-helper-confirm.is-focus-error,
  .root-game-selection-actions [data-selection-action].is-focus-error,
  [data-farm-helper-strip].is-seed-error,
  .root-game-farm-helper-confirm.is-seed-error {
    animation: none !important;
    transition: none !important;
    transition-delay: 0ms !important;
  }
}

@media (max-width: 760px),
  (max-width: 1368px) and (pointer: coarse) {
  .root-game-hud,
  .root-game-tool-dock,
  .root-game-mobile-location,
  .root-game-selection,
  .root-game-farm-helper-strip,
  .root-game-farm-helper-active-notice,
  .root-game-farm-helper-confirm {
    transition: opacity 170ms ease, visibility 170ms ease;
  }

  .root-game-stage:has(.root-game-progress-window:not([hidden])) .root-game-hud,
  .root-game-stage:has(.root-game-progress-window:not([hidden])) .root-game-tool-dock,
  .root-game-stage:has(.root-game-progress-window:not([hidden])) .root-game-mobile-location,
  .root-game-stage:has(.root-game-progress-window:not([hidden])) .root-game-selection,
  .root-game-stage:has(.root-game-progress-window:not([hidden])) .root-game-farm-helper-strip,
  .root-game-stage:has(.root-game-progress-window:not([hidden])) .root-game-farm-helper-active-notice,
  .root-game-stage:has(.root-game-progress-window:not([hidden])) .root-game-farm-helper-confirm {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Final recovery-sheet fidelity overrides. Kept last so the approved mock's
   cream sheet wins over older generic mobile placement layouts. */
@media (max-width: 760px) {
  .root-game-selection[data-selection-kind="tree-recovery"],
  .root-game-selection[data-selection-kind="tree-recovery"][data-contextual="true"] {
    border: 1px solid rgba(225, 214, 187, 0.96) !important;
    border-radius: 18px !important;
    padding: 10px !important;
    background: #fffaf0 !important;
    box-shadow: 0 14px 32px rgba(7, 42, 31, 0.28) !important;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] > span,
  .root-game-selection[data-selection-kind="tree-recovery"] > strong,
  .root-game-selection[data-selection-kind="tree-recovery"] > small {
    display: none !important;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] .root-game-selection-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px !important;
    align-items: center !important;
    margin: 0 !important;
  }

  .root-game-selection[data-selection-kind="tree-recovery"] [data-selection-action="cancel-recovery"] {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border: 1px solid rgba(18, 75, 60, 0.28) !important;
    border-radius: 50% !important;
    padding: 0 !important;
    background: #f4eddf !important;
    color: #124b3c !important;
    font-family: Arial, sans-serif !important;
    font-size: 27px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    border: 1px solid rgba(225, 214, 187, 0.98) !important;
    border-radius: 22px 22px 14px 14px !important;
    padding: 16px 14px 14px !important;
    background: #fffaf0 !important;
    box-shadow: 0 18px 44px rgba(6, 35, 27, 0.34) !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-copy {
    order: 1 !important;
    display: grid !important;
    gap: 3px !important;
    padding-right: 48px !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] [data-placement-kicker],
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-item-preview,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-grab-help,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-rotate,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-nudge {
    display: none !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] [data-placement-label] {
    color: #124b3c !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(21px, 6vw, 27px) !important;
    line-height: 1.08 !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] [data-placement-status] {
    color: #3f4c46 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-actions {
    order: 2 !important;
    display: block !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-adjustments {
    order: 3 !important;
    display: block !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-confirm,
  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-try {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 13px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-confirm:disabled {
    border-color: #9baaa2 !important;
    background: #9baaa2 !important;
    color: rgba(255, 255, 255, 0.68) !important;
    box-shadow: none !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-try {
    border: 2px solid #e9dfca !important;
    background: #fffdf7 !important;
    color: #24443a !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-cancel {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    display: grid !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    place-items: center !important;
    border: 1px solid #e6dcc8 !important;
    border-radius: 50% !important;
    padding: 0 !important;
    background: #f8f2e6 !important;
    color: #124b3c !important;
    box-shadow: none !important;
  }

  .root-game-placement-controls[data-tree-recovery="moving"] .root-game-placement-cancel span {
    display: none !important;
  }
}
/* Compact desktop garden rail: one shared Actions hub and tray for desktop
   and mobile. The lesson ribbon remains fixed while the temporary fan opens
   over it, so opening Actions never shifts the garden layout. */
.root-game-next-lesson {
  display: none;
}

@media (min-width: 761px) and (pointer: fine) {
  .root-game-tool-dock {
    --root-desktop-hub-size: 108px;
    --root-desktop-hub-track: 134px;
    --root-desktop-petal-width: 72px;
    --root-desktop-petal-height: 152px;
    position: absolute;
    right: auto;
    bottom: max(10px, env(safe-area-inset-bottom));
    left: 50%;
    z-index: 46;
    display: block;
    width: min(650px, calc(100% - 24px));
    min-height: 72px;
    overflow: visible;
    border: 2px solid #b98639;
    border-radius: 24px;
    padding: 5px;
    background:
      linear-gradient(90deg, rgba(255, 231, 152, 0.08) 0 39%, transparent 39% 61%, rgba(255, 231, 152, 0.08) 61% 100%),
      linear-gradient(180deg, #0d5744 0%, #063d32 62%, #032e27 100%);
    box-shadow:
      inset 0 0 0 2px rgba(255, 244, 198, 0.15),
      inset 0 -7px 0 rgba(18, 19, 10, 0.2),
      0 12px 28px rgba(3, 23, 19, 0.38);
    transform: translateX(-50%);
    pointer-events: none;
    backdrop-filter: none;
  }

  .root-game-tool-dock::before,
  .root-game-tool-dock::after {
    position: absolute;
    top: 9px;
    bottom: 9px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(239, 198, 91, 0.72), transparent);
    content: "";
    pointer-events: none;
  }

  .root-game-tool-dock::before {
    left: calc(50% - 73px);
  }

  .root-game-tool-dock::after {
    right: calc(50% - 73px);
  }

  .root-game-tool-dock > *,
  .root-game-tool-dock button,
  .root-game-tool-dock a {
    pointer-events: auto;
  }

  .root-game-tool-dock .root-game-tool-shelf-heading,
  .root-game-tool-dock > .root-game-tool-scroll-button,
  .root-game-tool-dock .root-game-tool-scroll-dots,
  .root-game-tool-dock [data-mobile-more-toggle] {
    display: none !important;
  }

  .root-game-tool-scroll {
    position: relative !important;
    z-index: auto;
    display: grid !important;
    width: 100%;
    height: 60px;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 68px)) var(--root-desktop-hub-track) repeat(3, minmax(0, 68px));
    grid-template-rows: 60px;
    justify-content: center;
    gap: 4px;
    overflow: visible;
    padding: 0;
    touch-action: auto;
  }

  .root-game-tool-scroll .root-game-tool-group {
    display: contents;
  }

  .root-game-tool-scroll .root-game-tool-group > *,
  .root-game-tool-scroll > .root-game-member-slot,
  .root-game-tool-scroll > .root-game-structure-view,
  .root-game-tool-scroll > .root-game-expand {
    position: relative;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 60px;
    place-content: center;
    align-content: center;
    justify-items: center;
    gap: 1px;
    overflow: visible;
    border: 1px solid rgba(231, 193, 93, 0.42);
    border-radius: 14px;
    padding: 3px 2px;
    margin: 0;
    background: linear-gradient(180deg, rgba(13, 79, 62, 0.98), rgba(4, 52, 43, 0.98));
    color: #fff7df;
    box-shadow:
      inset 0 1px 0 rgba(255, 248, 217, 0.15),
      inset 0 -3px 0 rgba(0, 0, 0, 0.14);
  }

  .root-game-tool-scroll .root-game-tool-group > *:hover,
  .root-game-tool-scroll > .root-game-member-slot:hover,
  .root-game-tool-scroll > .root-game-structure-view:hover,
  .root-game-tool-scroll > .root-game-expand:hover {
    border-color: #e6bd57 !important;
    background: linear-gradient(180deg, #176e55, #084a3b) !important;
    color: #fff9e9 !important;
    transform: translateY(-2px);
  }

  .root-game-tool-scroll > .root-game-structure-view,
  .root-game-tool-scroll > .root-game-expand {
    border-color: rgba(231, 193, 93, 0.42) !important;
    background: linear-gradient(180deg, #0d4f3e, #04342b) !important;
    color: #fff7df !important;
  }

  .root-game-tool-scroll .root-game-tool-group > *:focus-visible,
  .root-game-tool-scroll > .root-game-structure-view:focus-visible,
  .root-game-tool-scroll > .root-game-expand:focus-visible,
  .root-game-tool-scroll > .root-game-member-slot a:focus-visible,
  .root-game-tool-scroll > .root-game-member-slot button:focus-visible {
    outline: 3px solid #ffd66b !important;
    outline-offset: 2px;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-game-tool="pan"] {
    grid-column: 1;
    grid-row: 1;
  }

  .root-game-tool-scroll .root-game-tool-group > .root-game-tool-link {
    grid-column: 2;
    grid-row: 1;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-open-window="inventory"] {
    grid-column: 3;
    grid-row: 1;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray] {
    grid-column: 4;
    grid-row: 1;
  }

  .root-game-tool-scroll > .root-game-member-slot {
    grid-column: 5;
    grid-row: 1;
  }

  .root-game-tool-scroll > .root-game-structure-view {
    grid-column: 6;
    grid-row: 1;
  }

  .root-game-tool-scroll > .root-game-expand {
    grid-column: 7;
    grid-row: 1;
  }

  .root-game-tool-dock b,
  .root-game-tool-dock .root-game-member-signin b,
  .root-game-tool-dock .lrl-member-shell__identity strong {
    overflow: hidden;
    max-width: 100%;
    color: inherit;
    font: 800 11px/1.05 Georgia, "Times New Roman", serif;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .root-game-tool-scroll small,
  .root-game-tool-scroll .lrl-member-shell__identity small,
  .root-game-tool-scroll .root-game-expand small {
    display: none !important;
  }

  .root-game-tool-scroll [data-game-tool="pan"] .root-game-mobile-tool-icon {
    display: block;
    width: 35px;
    height: 35px;
    margin: 0 auto;
    border: 0;
    background: url("/assets/live-rooted/game-v2/ui/hud-move-boot-v1.png") center / contain no-repeat;
  }

  .root-game-tool-scroll [data-game-tool="pan"] .root-game-mobile-tool-icon i {
    display: none;
  }

  .root-game-tool-scroll .root-game-tool-link .root-game-tool-icon.is-market {
    width: 38px;
    height: 38px;
    border: 0;
    background: url("/assets/live-rooted/game-v2/ui/course-dock-market-v1.png") center / contain no-repeat;
    box-shadow: none;
  }

  .root-game-tool-scroll .root-game-tool-link .root-game-tool-icon.is-market i {
    display: none;
  }

  .root-game-tool-scroll [data-open-window="inventory"] .root-game-tool-icon {
    width: 39px;
    height: 39px;
    background-image: url("/assets/live-rooted/game-v2/ui/course-dock-bag-v1.png") !important;
    background-position: center !important;
    background-size: contain !important;
  }

  .root-game-member-slot {
    flex: none;
  }

  .root-game-member-slot .root-game-member-signin,
  .root-game-member-slot > .lrl-member-shell--game,
  .root-game-member-slot .lrl-member-shell__trigger {
    width: 100%;
    min-width: 0;
    height: 60px;
    min-height: 60px;
    border: 0 !important;
    border-radius: 13px;
    padding: 3px 2px;
    background: transparent !important;
    color: #fff7df !important;
    box-shadow: none !important;
  }

  .root-game-member-slot .root-game-member-signin i {
    width: 38px;
    height: 38px;
    background: url("/assets/live-rooted/game-v2/ui/course-dock-member-v1.png") center / contain no-repeat;
    font-size: 0;
  }

  .root-game-member-slot .lrl-member-shell__avatar {
    width: 35px;
    height: 35px;
    flex-basis: 35px;
    transform: none;
  }

  .root-game-member-slot .lrl-member-shell__caret {
    top: 2px;
    right: 2px;
    color: #f1cb70;
  }

  .root-game-structure-view {
    color: #fff7df !important;
  }

  .root-game-structure-view-icon {
    width: 32px;
    height: 29px;
    filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.28));
  }

  .root-game-structure-view-icon i {
    width: 29px;
    border-color: rgba(245, 207, 113, 0.76);
    background: rgba(255, 248, 218, 0.9);
  }

  .root-game-expand {
    color: #fff7df !important;
  }

  .root-game-expand::before {
    display: block;
    width: 38px;
    height: 36px;
    background: url("/assets/live-rooted/game-v2/ui/avatar-work-carry-crate-v1.png") center / contain no-repeat;
    content: "";
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray] {
    position: relative;
    z-index: 12;
    align-self: end;
    justify-self: center;
    width: var(--root-desktop-hub-size) !important;
    min-width: var(--root-desktop-hub-size) !important;
    height: var(--root-desktop-hub-size);
    min-height: var(--root-desktop-hub-size);
    place-content: center;
    gap: 1px;
    isolation: isolate;
    overflow: visible;
    border: 0 !important;
    border-radius: 50%;
    padding: 13px;
    background: #074638 !important;
    color: #fff9e8 !important;
    box-shadow:
      inset 0 0 0 2px rgba(255, 247, 211, 0.22),
      0 4px 11px rgba(0, 0, 0, 0.38) !important;
    transform: translateY(11px);
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]::before {
    position: absolute;
    inset: -8px;
    z-index: 0;
    border-radius: 50%;
    background: url("/assets/live-rooted/game-v2/ui/root-level-wood-ring-v1.png") center / contain no-repeat;
    content: "";
    pointer-events: none;
  }

  .root-game-tool-scroll [data-toggle-tool-tray] > * {
    position: relative;
    z-index: 1;
  }

  .root-game-tool-scroll [data-toggle-tool-tray] .root-game-tool-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto -4px;
    background-image: url("/assets/live-rooted/game-v2/ui/planting-tools.png") !important;
    background-position: center !important;
    background-size: contain !important;
    filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.3));
  }

  .root-game-tool-scroll [data-toggle-tool-tray] b {
    font-size: 14px;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.46);
  }

  .root-game-tool-scroll [data-toggle-tool-tray][aria-expanded="true"],
  .root-game-tool-scroll [data-toggle-tool-tray]:hover,
  .root-game-tool-scroll [data-toggle-tool-tray]:focus-visible {
    background: #0a5a45 !important;
    box-shadow:
      inset 0 0 0 2px rgba(255, 247, 211, 0.28),
      0 0 0 3px rgba(255, 221, 109, 0.42),
      0 0 20px rgba(255, 192, 45, 0.42) !important;
    transform: translateY(11px);
  }

  .root-game-farm-helper-orb-badge {
    top: 0;
    right: 0;
  }

  .root-game-next-lesson {
    position: absolute;
    bottom: calc(100% + 22px);
    left: 50%;
    z-index: 6;
    display: flex;
    width: min(430px, calc(100vw - 34px));
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    overflow: hidden;
    border: 2px solid #9b6d2e;
    border-radius: 12px 12px 8px 8px;
    padding: 7px 18px 6px;
    background: linear-gradient(180deg, #fff9e9, #efe1bb);
    color: #173e31;
    box-shadow:
      inset 0 0 0 2px rgba(255, 255, 255, 0.62),
      0 5px 12px rgba(3, 28, 22, 0.3);
    transform: translateX(-50%);
    text-decoration: none;
    white-space: nowrap;
    pointer-events: auto;
  }

  .root-game-next-lesson:hover,
  .root-game-next-lesson:focus-visible {
    border-color: #c59035;
    background: linear-gradient(180deg, #fffdf4, #f4e5b8);
    box-shadow:
      inset 0 0 0 2px rgba(255, 255, 255, 0.72),
      0 0 0 3px rgba(255, 211, 96, 0.5),
      0 6px 14px rgba(3, 28, 22, 0.34);
  }

  .root-game-next-lesson [data-next-lesson-label] {
    flex: 0 0 auto;
    color: #9a4d2f;
    font: 900 11px/1 Georgia, "Times New Roman", serif;
    letter-spacing: 0.035em;
    text-transform: uppercase;
  }

  .root-game-next-lesson > i {
    color: #a7762f;
    font-style: normal;
  }

  .root-game-next-lesson [data-next-lesson-title] {
    overflow: hidden;
    min-width: 0;
    color: #173e31;
    font: 800 13px/1.1 Georgia, "Times New Roman", serif;
    text-overflow: ellipsis;
  }

  .root-game-planting-tray {
    position: absolute;
    right: auto;
    bottom: 52px;
    left: 50%;
    z-index: 8;
    display: block;
    width: min(620px, calc(100vw - 24px));
    height: 220px;
    max-height: none;
    overflow: visible !important;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    transform: translateX(-50%);
    pointer-events: none;
    backdrop-filter: none;
  }

  .root-game-planting-tray[hidden] {
    display: none !important;
  }

  .root-game-planting-tray > header {
    display: none !important;
  }

  .root-game-planting-tray > div[role="group"] {
    position: absolute;
    inset: 0;
    display: block;
    isolation: isolate;
    pointer-events: none;
  }

  .root-game-planting-tray > div[role="group"][hidden] {
    display: none !important;
  }

  .root-game-planting-tray > div[role="group"]::before {
    display: none;
  }

  .root-game-planting-tray > div[role="group"] > button {
    position: absolute;
    bottom: 0;
    left: calc(50% - (var(--root-desktop-petal-width) / 2));
    display: grid;
    width: var(--root-desktop-petal-width);
    min-width: var(--root-desktop-petal-width);
    height: var(--root-desktop-petal-height);
    min-height: var(--root-desktop-petal-height);
    align-content: start;
    justify-items: center;
    gap: 3px;
    overflow: hidden;
    border: 2px solid rgba(137, 98, 39, 0.56);
    border-radius: 52% 52% 44% 44% / 29% 29% 15% 15%;
    clip-path: inset(0 round 52% 52% 44% 44% / 29% 29% 15% 15%);
    padding: 13px 5px 54px;
    background: linear-gradient(180deg, #fffbea, #e8efd9);
    color: #123d31;
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.66),
      0 8px 18px rgba(3, 28, 22, 0.3);
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, 44px, 0) rotate(0deg) scale(0.28);
    transform-origin: 50% 100%;
    translate: 0 0;
    transition:
      transform 340ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 220ms ease,
      filter 260ms ease,
      translate 180ms cubic-bezier(0.16, 1, 0.3, 1),
      border-color 180ms ease,
      background-color 180ms ease,
      color 180ms ease,
      box-shadow 180ms ease;
    filter: saturate(0.82) brightness(0.92);
    will-change: transform, opacity;
  }

  .root-game-planting-tray > div[role="group"] > button > .root-game-tool-icon,
  .root-game-planting-tray > div[role="group"] > button > .root-game-water-mode-back,
  .root-game-planting-tray > div[role="group"] > button > b {
    position: relative;
    z-index: 1;
    transform: rotate(0deg);
    transform-origin: 50% 50%;
    transition: transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .root-game-planting-tray > div[role="group"] > button > .root-game-tool-icon,
  .root-game-planting-tray > div[role="group"] > button > .root-game-water-mode-back {
    width: 45px;
    height: 45px;
    margin-top: 2px;
  }

  .root-game-planting-tray > div[role="group"] > button > b {
    font: 800 13px/1 Georgia, "Times New Roman", serif;
    white-space: nowrap;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.64);
  }

  .root-game-planting-tray > [data-water-mode-petals] > button > b {
    width: 50px;
    font-size: 9px;
    line-height: 1.05;
    text-align: center;
    white-space: normal;
  }

  .root-game-planting-tray > [data-water-mode-petals] > button {
    overflow: visible;
    clip-path: none;
  }

  .root-game-planting-tray > div[role="group"] > button > small {
    display: none;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button {
    opacity: 1;
    pointer-events: auto;
    filter: none;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) {
    z-index: 1;
    transform: translate3d(0, 0, 0) rotate(-62deg) scale(1);
    transition-delay: 0ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) {
    z-index: 2;
    transform: translate3d(0, 0, 0) rotate(-34deg) scale(1);
    transition-delay: 48ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(3) {
    z-index: 3;
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    transition-delay: 96ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) {
    z-index: 4;
    transform: translate3d(0, 0, 0) rotate(35deg) scale(1);
    transition-delay: 144ms;
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > .root-game-water-mode-back,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(1) > b {
    transform: rotate(62deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > .root-game-water-mode-back,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(2) > b {
    transform: rotate(34deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > .root-game-water-mode-back,
  .is-tool-tray-open .root-game-planting-tray > div[role="group"] > button:nth-child(4) > b {
    transform: rotate(-35deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(1) {
    transform: translate3d(-22px, 0, 0) rotate(-66deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(2) {
    transform: translate3d(-6px, 0, 0) rotate(-31deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(3) {
    transform: translate3d(6px, 0, 0) rotate(2deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(4) {
    transform: translate3d(22px, 0, 0) rotate(38deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(1) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(1) > b {
    transform: rotate(66deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(2) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(2) > b {
    transform: rotate(31deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(3) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(3) > b {
    transform: rotate(-2deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(4) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(4) > b {
    transform: rotate(-38deg);
  }

  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(1) {
    transform: translate3d(-30px, 0, 0) rotate(-46deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(2) {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(3) {
    transform: translate3d(30px, 0, 0) rotate(46deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(1) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(1) > .root-game-water-mode-back,
  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(1) > b {
    transform: rotate(46deg);
  }

  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(3) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(3) > .root-game-water-mode-back,
  .is-tool-tray-open .root-game-planting-tray > [data-water-mode-petals] > button:nth-child(3) > b {
    transform: rotate(-46deg);
  }

  .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button {
    overflow: visible;
    clip-path: none;
  }

  .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button > b {
    width: 64px;
    font-size: 10px;
    line-height: 1.05;
    text-align: center;
    white-space: normal;
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(1) {
    transform: translate3d(-30px, 0, 0) rotate(-46deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(2) {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(3) {
    transform: translate3d(30px, 0, 0) rotate(46deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(1) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(1) > .root-game-water-mode-back,
  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(1) > b {
    transform: rotate(46deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(2) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(2) > .root-game-water-mode-back,
  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(2) > b {
    transform: rotate(0deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(3) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(3) > .root-game-water-mode-back,
  .is-tool-tray-open .root-game-planting-tray > div[data-water-mode-petals][role="group"] > button:nth-child(3) > b {
    transform: rotate(-46deg);
  }

  .root-game-planting-tray > div[role="group"] > button:hover,
  .root-game-planting-tray > div[role="group"] > button:focus-visible {
    border-color: #e2ad36;
    background: linear-gradient(180deg, #fffdf5, #f2e4b8);
    box-shadow:
      0 0 0 3px rgba(255, 238, 178, 0.72),
      0 0 18px rgba(255, 191, 48, 0.48),
      0 9px 20px rgba(3, 28, 22, 0.34);
    translate: 0 -4px;
  }

  .root-game-planting-tray > div[role="group"] > button.is-active,
  .root-game-planting-tray > div[role="group"] > button[aria-pressed="true"] {
    border-width: 3px;
    border-color: #ffd45b;
    background: #0b513f;
    color: #ffffff;
    box-shadow:
      0 0 0 2px rgba(255, 249, 234, 0.88),
      0 0 0 4px rgba(255, 205, 53, 0.66),
      0 0 18px rgba(255, 190, 40, 0.54);
  }

  .is-tool-tray-closing .root-game-planting-tray > div[role="group"] > button {
    pointer-events: none;
    transition-duration: 210ms, 150ms, 180ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.8, 0.2), ease, ease;
  }

  .root-game-planting-tray > .root-game-farm-helper {
    position: absolute;
    right: auto;
    bottom: 158px;
    left: 50%;
    z-index: 6;
    display: grid;
    width: min(500px, calc(100vw - 40px));
    min-height: 58px;
    grid-template-columns: minmax(90px, 1fr) auto auto;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(222, 187, 92, 0.66);
    border-radius: 15px;
    padding: 6px 8px;
    background: rgba(8, 66, 52, 0.97);
    color: #fff8e5;
    box-shadow: 0 9px 24px rgba(3, 28, 22, 0.38);
    transform: translateX(-50%);
    pointer-events: auto;
  }

  .root-game-planting-tray > .root-game-farm-helper > div:first-child > span,
  .root-game-planting-tray > .root-game-farm-helper > div:first-child > small,
  .root-game-planting-tray > .root-game-farm-helper-demo,
  .root-game-planting-tray > .root-game-farm-helper > div:first-child > button {
    display: none !important;
  }

  .root-game-planting-tray > .root-game-farm-helper > div:first-child > strong {
    color: #fff8e5;
    font: 800 12px/1.1 Georgia, "Times New Roman", serif;
  }

  .root-game-planting-tray .root-game-farm-helper-sizes {
    display: grid;
    grid-template-columns: repeat(5, 36px);
    gap: 3px;
  }

  .root-game-planting-tray .root-game-farm-helper-sizes button {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    border-radius: 10px;
    padding: 0;
  }

  .root-game-planting-tray .root-game-farm-helper-shapes > span {
    display: none;
  }

  .root-game-planting-tray .root-game-farm-helper-shapes > div {
    display: flex;
    gap: 3px;
  }

  .root-game-planting-tray .root-game-farm-helper-shapes button {
    width: 44px;
    min-width: 44px;
    height: 36px;
    min-height: 36px;
    border-radius: 10px;
    padding: 0;
  }

  .root-game-planting-tray .root-game-farm-helper-shapes button b,
  .root-game-planting-tray .root-game-farm-helper-shapes button small {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .root-game-planting-tray > .root-game-seed-picker {
    position: absolute;
    bottom: 226px;
    left: 50%;
    z-index: 8;
    width: min(500px, calc(100vw - 40px));
    max-height: min(330px, calc(100dvh - 360px));
    overflow: auto;
    transform: translateX(-50%);
    pointer-events: auto;
  }
}

@media (min-width: 761px) and (pointer: fine) and (max-height: 650px) {
  .root-game-tool-dock {
    transform: translateX(-50%) scale(0.9);
    transform-origin: 50% 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .root-game-next-lesson,
  .root-game-planting-tray > div[role="group"]::before,
  .root-game-planting-tray > div[role="group"] > button {
    transition: none !important;
  }
}

/* Farm Helper selections use the same cream-and-gold focus language as the
   Actions hub, so the active size and selection style remain obvious against
   both the compact forest bar and the light mobile helper panel. */
.root-game-planting-tray .root-game-farm-helper-sizes,
.root-game-planting-tray .root-game-farm-helper-shapes > div {
  gap: 7px;
}

.root-game-farm-helper [data-farm-helper-size],
.root-game-farm-helper [data-farm-helper-mode] {
  transition:
    border-color 160ms ease,
    background-color 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    translate 160ms ease;
}

.root-game-farm-helper [data-farm-helper-size]:not(:disabled).is-active,
.root-game-farm-helper [data-farm-helper-size]:not(:disabled)[aria-checked="true"],
.root-game-farm-helper [data-farm-helper-mode]:not(:disabled).is-active,
.root-game-farm-helper [data-farm-helper-mode]:not(:disabled)[aria-checked="true"],
.root-game-farm-helper [data-farm-helper-size]:not(:disabled).is-active:hover,
.root-game-farm-helper [data-farm-helper-size]:not(:disabled)[aria-checked="true"]:hover,
.root-game-farm-helper [data-farm-helper-mode]:not(:disabled).is-active:hover,
.root-game-farm-helper [data-farm-helper-mode]:not(:disabled)[aria-checked="true"]:hover {
  z-index: 2;
  border-width: 2px;
  border-color: #ffd45b;
  background: #0d654e;
  color: #fffaf0;
  font-weight: 900;
  box-shadow:
    inset 0 0 0 2px rgba(255, 250, 224, 0.92),
    0 0 0 3px #bd7f18,
    0 0 16px rgba(255, 205, 73, 0.82),
    0 6px 11px rgba(2, 27, 21, 0.42);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.34);
  translate: 0 -2px;
}

@media (prefers-reduced-motion: reduce) {
  .root-game-farm-helper [data-farm-helper-size],
  .root-game-farm-helper [data-farm-helper-mode] {
    transition: none;
  }
}

/* Farms & Land hub: one compact selector and current-farm upgrade path. */
.root-game-farms-land-dialog {
  width: min(820px, calc(100% - 24px));
  max-height: min(760px, calc(100dvh - 24px));
  overflow: auto;
  overscroll-behavior: contain;
}

.root-game-farms-land-dialog > div {
  justify-items: stretch;
  gap: 14px;
  padding: 20px;
  text-align: left;
}

.root-game-farms-land-dialog > div > span,
.root-game-farms-land-dialog > div > h2 {
  text-align: center;
}

.root-game-farms-land-dialog > div > h2 {
  padding-inline: 44px;
}

.root-game-farms-land-layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 12px;
}

.root-game-farms-land-dialog .root-game-farm-progress,
.root-game-farms-land-dialog .root-game-land-progress {
  width: 100%;
  min-width: 0;
  gap: 9px;
  box-sizing: border-box;
  margin: 0;
  border-radius: 14px;
  padding: 13px;
}

.root-game-farms-land-dialog .root-game-farm-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.root-game-farms-land-dialog .root-game-farm-list button {
  display: grid;
  min-width: 0;
  min-height: 76px;
  align-content: center;
  justify-items: start;
  gap: 4px;
  border: 1px solid rgba(29, 69, 52, 0.2);
  border-radius: 10px;
  padding: 10px;
  background: #fffdf7;
  color: var(--forest);
  text-align: left;
}

.root-game-farms-land-dialog .root-game-farm-list button:focus-visible,
.root-game-farms-land-dialog [data-farm-upgrade-button]:focus-visible {
  outline: 3px solid rgba(189, 122, 42, 0.72);
  outline-offset: 2px;
}

.root-game-farms-land-dialog .root-game-farm-list button.is-current {
  border-color: #356a51;
  background: var(--forest);
  color: #ffffff;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.16);
}

.root-game-farms-land-dialog .root-game-farm-list button:disabled:not(.is-current) {
  border-style: dashed;
  cursor: not-allowed;
  opacity: 0.72;
}

.root-game-farm-upgrade {
  display: grid;
  gap: 7px;
  border: 1px solid rgba(189, 122, 42, 0.28);
  border-radius: 11px;
  padding: 11px;
  background: rgba(255, 253, 247, 0.76);
}

.root-game-farm-upgrade[hidden],
.root-game-farm-upgrade [hidden],
.root-game-expansion-offer[hidden] {
  display: none !important;
}

.root-game-farm-upgrade > div {
  display: grid;
  gap: 2px;
}

.root-game-farm-upgrade > div > span {
  color: var(--brass);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.root-game-farm-upgrade > div > strong,
.root-game-expansion-offer > h3 {
  margin: 0;
  color: var(--forest);
  font: 700 16px/1.15 Georgia, "Times New Roman", serif;
}

.root-game-farm-upgrade > p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
}

.root-game-farms-land-dialog [data-farm-upgrade-button] {
  min-height: 44px;
  border: 0;
  border-radius: 9px;
  padding: 9px 12px;
  background: var(--forest);
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
}

.root-game-farms-land-dialog [data-farm-upgrade-button]:disabled {
  background: #d9ddcf;
  color: #5f6d61;
  cursor: not-allowed;
}

.root-game-farms-land-dialog .root-game-land-levels {
  grid-template-columns: none;
  grid-auto-columns: 72px;
  grid-auto-flow: column;
  overflow-x: auto;
  padding: 2px 1px 5px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.root-game-farms-land-dialog .root-game-land-level {
  min-height: 48px;
  align-content: center;
  scroll-snap-align: center;
}

.root-game-expansion-offer {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(29, 69, 52, 0.2);
  border-radius: 12px;
  padding: 11px;
  background: rgba(255, 253, 247, 0.86);
}

.root-game-farms-land-dialog .root-game-expansion-preview {
  box-sizing: border-box;
  padding: 9px;
}

.root-game-farms-land-dialog .root-game-expansion-preview b {
  min-height: 42px;
  font-size: 15px;
}

.root-game-farms-land-dialog .root-game-purchase-total,
.root-game-farms-land-dialog .root-game-purchase-submit {
  width: 100%;
  box-sizing: border-box;
}

.root-game-stage:has(.root-game-farms-land-dialog:not([hidden])) .root-game-hud,
.root-game-stage:has(.root-game-farms-land-dialog:not([hidden])) .root-game-tool-dock,
.root-game-stage:has(.root-game-farms-land-dialog:not([hidden])) .root-game-mobile-location,
.root-game-stage:has(.root-game-farms-land-dialog:not([hidden])) .root-game-selection,
.root-game-stage:has(.root-game-farms-land-dialog:not([hidden])) .root-game-farm-helper-strip,
.root-game-stage:has(.root-game-farms-land-dialog:not([hidden])) .root-game-farm-helper-active-notice,
.root-game-stage:has(.root-game-farms-land-dialog:not([hidden])) .root-game-farm-helper-confirm {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 760px),
  (max-width: 1368px) and (pointer: coarse) {
  .root-game-farms-land-dialog {
    width: calc(100% - 12px);
    max-height: calc(100dvh - 12px);
  }

  .root-game-farms-land-dialog > div {
    gap: 10px;
    padding: 14px 12px;
  }

  .root-game-farms-land-dialog > div > h2 {
    padding-inline: 38px;
    font-size: 22px;
  }

  .root-game-farms-land-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .root-game-farms-land-dialog .root-game-farm-progress,
  .root-game-farms-land-dialog .root-game-land-progress {
    padding: 11px;
  }

  .root-game-farms-land-dialog .root-game-farm-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .root-game-farms-land-dialog .root-game-farm-list button {
    min-height: 68px;
    padding: 8px;
  }

  .root-game-farms-land-dialog .root-game-land-levels {
    grid-auto-columns: 70px;
  }

  .is-mobile-more-open .root-game-tool-scroll > .root-game-expand small,
  .root-game-tool-dock.is-mobile-more-open .root-game-tool-scroll > .root-game-expand small {
    display: none !important;
  }
}

@media (max-width: 350px) {
  .root-game-farms-land-dialog .root-game-farm-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Carved desktop dock and one-step-at-a-time action flow. The Actions hub,
   lesson ribbon, and dock stay fixed while contextual cards rise behind them. */
@media (min-width: 761px) and (pointer: fine) {
  .root-game-tool-dock {
    --root-desktop-hub-size: 106px;
    --root-desktop-hub-track: clamp(112px, 14vw, 122px);
    --root-lesson-rise: 32px;
    --root-desktop-petal-width: 84px;
    --root-desktop-petal-height: 170px;
    bottom: max(28px, calc(env(safe-area-inset-bottom) + 14px));
    width: min(760px, calc(100% - 24px));
    min-height: 82px;
    border: 4px solid #5b3916;
    border-radius: 26px 26px 14px 14px;
    padding: 5px 10px 7px;
    background:
      linear-gradient(90deg, rgba(244, 207, 111, 0.08), transparent 19% 81%, rgba(244, 207, 111, 0.08)),
      linear-gradient(180deg, #254a31 0%, #173522 18%, #10291c 68%, #0b2118 100%);
    box-shadow:
      inset 0 0 0 2px #b78b42,
      inset 0 4px 0 rgba(255, 230, 148, 0.18),
      inset 0 -6px 0 #43290f,
      0 0 0 2px #2b1a0b,
      0 14px 28px rgba(3, 23, 19, 0.44);
  }

  .root-game-tool-dock::before,
  .root-game-tool-dock::after {
    top: -27px;
    bottom: auto;
    z-index: 1;
    width: 140px;
    height: 64px;
    background: url("/assets/live-rooted/game-v2/ui/root-level-vine-v1.png") center / contain no-repeat;
    opacity: 0.82;
    filter: drop-shadow(0 4px 3px rgba(21, 29, 10, 0.44));
  }

  .root-game-tool-dock::before {
    left: -34px;
    transform: rotate(-70deg);
  }

  .root-game-tool-dock::after {
    right: -34px;
    transform: scaleX(-1) rotate(-70deg);
  }

  .root-game-tool-scroll {
    z-index: 10;
    height: 70px;
    grid-template-columns:
      repeat(3, minmax(0, 1fr))
      var(--root-desktop-hub-track)
      repeat(3, minmax(0, 1fr));
    grid-template-rows: 70px;
    gap: 4px;
    isolation: isolate;
  }

  .root-game-tool-scroll .root-game-tool-group > *,
  .root-game-tool-scroll > .root-game-member-slot,
  .root-game-tool-scroll > .root-game-structure-view,
  .root-game-tool-scroll > .root-game-expand {
    max-width: 96px;
    min-height: 70px;
    gap: 2px;
    justify-self: stretch;
    border-color: rgba(224, 177, 77, 0.58);
    border-radius: 14px;
    padding: 5px 3px 4px;
    background: linear-gradient(180deg, #1d432d 0%, #142f21 58%, #0d251a 100%);
    box-shadow:
      inset 0 0 0 1px rgba(255, 232, 158, 0.11),
      inset 0 -4px 0 rgba(25, 15, 7, 0.22),
      0 3px 5px rgba(0, 0, 0, 0.2);
  }

  .root-game-tool-dock b,
  .root-game-tool-dock .root-game-member-signin b,
  .root-game-tool-dock .lrl-member-shell__identity strong {
    font-size: 13px;
    line-height: 1;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.48);
  }

  .root-game-tool-scroll [data-game-tool="pan"] .root-game-mobile-tool-icon,
  .root-game-tool-scroll .root-game-tool-link .root-game-tool-icon.is-market,
  .root-game-tool-scroll [data-open-window="inventory"] .root-game-tool-icon,
  .root-game-member-slot .root-game-member-signin i {
    width: 44px;
    height: 44px;
  }

  .root-game-member-slot .root-game-member-signin,
  .root-game-member-slot > .lrl-member-shell--game,
  .root-game-member-slot .lrl-member-shell__trigger {
    height: 68px;
    min-height: 68px;
    border-radius: 13px;
    padding: 4px 2px 3px;
  }

  .root-game-member-slot .lrl-member-shell__avatar {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    grid-column: 1 / -1;
    grid-row: 1;
    place-self: center;
  }

  .root-game-member-slot .lrl-member-shell__trigger {
    grid-template-columns: max-content 12px;
    grid-template-rows: 42px 14px;
    place-content: center;
    align-items: center;
    column-gap: 2px;
    row-gap: 0;
  }

  .root-game-member-slot .lrl-member-shell__identity {
    width: max-content;
    max-width: 64px;
    min-width: 0;
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
  }

  .root-game-member-slot .lrl-member-shell__identity strong {
    display: block;
    max-width: 64px;
  }

  .root-game-member-slot .lrl-member-shell__caret {
    position: static;
    top: auto;
    right: auto;
    width: 12px;
    height: 12px;
    flex-basis: 12px;
    grid-column: 2;
    grid-row: 2;
    place-self: center start;
    margin: 0;
    color: #f1cb70;
    font-size: 10px;
    line-height: 1;
  }

  .root-game-structure-view-icon {
    width: 40px;
    height: 34px;
  }

  .root-game-structure-view-icon i {
    width: 37px;
  }

  .root-game-expand::before {
    width: 44px;
    height: 42px;
    background-image: url("/assets/live-rooted/game-v2/ui/course-dock-menu-v1.png");
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray] {
    z-index: 24;
    width: var(--root-desktop-hub-size) !important;
    height: var(--root-desktop-hub-size);
    min-height: var(--root-desktop-hub-size);
    align-self: center;
    justify-self: center;
    align-content: start;
    gap: 1px;
    border: 4px solid #e0af3f;
    border-radius: 50%;
    padding: 10px 9px 16px;
    background: radial-gradient(circle at 50% 32%, #17654d 0%, #0b4b3b 48%, #063529 100%) !important;
    box-shadow:
      inset 0 0 0 3px #fff0a9,
      inset 0 0 0 6px #9b651d,
      inset 0 -9px 12px rgba(2, 28, 21, 0.5),
      0 0 0 3px #5d3a14,
      0 9px 16px rgba(0, 0, 0, 0.42) !important;
    transform: translateY(9px);
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]::before {
    inset: -10px;
    filter:
      drop-shadow(0 2px 1px rgba(255, 210, 83, 0.34))
      drop-shadow(0 7px 5px rgba(0, 0, 0, 0.38));
  }

  .root-game-tool-scroll [data-toggle-tool-tray] .root-game-tool-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto;
    background-image: url("/assets/live-rooted/game-v2/ui/course-dock-actions-v1.png") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    image-rendering: auto;
  }

  .root-game-tool-scroll [data-toggle-tool-tray] b {
    overflow: visible;
    font-size: 15px;
    line-height: 1.05;
    text-overflow: clip;
    white-space: nowrap;
  }

  .root-game-tool-scroll [data-toggle-tool-tray] > .root-game-farm-helper-orb-badge {
    position: absolute;
    inset: 18px 18px auto auto;
    z-index: 3;
    box-sizing: border-box;
    display: grid;
    width: 28px;
    height: 18px;
    min-width: 0;
    min-height: 0;
    place-items: center;
    border: 1px solid #fff0a9;
    border-radius: 999px;
    padding: 0 3px;
    background: #e0af3f;
    color: #073b2f;
    font: 900 9px/1 Georgia, "Times New Roman", serif;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(2, 27, 21, 0.38);
    pointer-events: none;
  }

  .root-game-tool-scroll [data-toggle-tool-tray] > .root-game-farm-helper-orb-badge[hidden] {
    display: none !important;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray][aria-expanded="true"],
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]:hover,
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]:focus-visible {
    transform: translateY(9px);
  }

  .root-game-next-lesson {
    bottom: calc(100% + 4px);
    z-index: 8;
    display: grid;
    grid-template-columns: max-content auto minmax(0, 1fr);
    width: min(540px, calc(100vw - 32px));
    min-height: 48px;
    align-items: center;
    gap: 8px;
    overflow: visible;
    border: 3px solid #84551f;
    border-radius: 14px 14px 8px 8px;
    padding: 7px 16px 6px;
    background: linear-gradient(180deg, #fffaf0 0%, #f5ead0 57%, #e8d5aa 100%);
    box-shadow:
      inset 0 0 0 2px rgba(255, 255, 255, 0.76),
      inset 0 -4px 0 rgba(142, 95, 32, 0.14),
      0 6px 13px rgba(3, 28, 22, 0.36);
    white-space: normal;
  }

  .root-game-next-lesson [data-next-lesson-label] {
    font-size: 12px;
    white-space: nowrap;
  }

  .root-game-next-lesson [data-next-lesson-title] {
    min-width: 0;
    overflow: visible;
    font-size: 15px;
    text-align: left;
    text-overflow: clip;
    overflow-wrap: break-word;
    white-space: normal;
  }

  .root-game-planting-tray {
    bottom: 52px;
    z-index: 9;
    width: min(620px, calc(100vw - 24px));
    height: 220px;
  }

  .root-game-planting-tray > div[role="group"] > button {
    padding-top: 14px;
    border-color: #956329;
    background: linear-gradient(180deg, #fffaf0 0%, #f5edd9 52%, #e7d8b6 100%);
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.74),
      0 9px 19px rgba(3, 28, 22, 0.34);
  }

  .root-game-planting-tray > div[role="group"] > button > .root-game-tool-icon,
  .root-game-planting-tray > div[role="group"] > button > .root-game-water-mode-back {
    width: 51px;
    height: 51px;
  }

  .root-game-planting-tray > div[role="group"] > button > b {
    font-size: 14px;
  }

  .root-game-planting-tray > [data-primary-tool-petals][role="group"] > button:nth-child(1) > .root-game-tool-icon {
    top: -13px;
  }

  .root-game-planting-tray > [data-primary-tool-petals][role="group"] > button:nth-child(1) > b {
    top: -22px;
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(1) {
    transform: translate3d(-30px, 0, 0) rotate(-52deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(1) > .root-game-tool-icon,
  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(1) > b {
    transform: rotate(52deg);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(2) {
    transform: translate3d(-9px, 0, 0) rotate(-31deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(3) {
    transform: translate3d(9px, 0, 0) rotate(2deg) scale(1);
  }

  .is-tool-tray-open .root-game-planting-tray > div[data-primary-tool-petals][role="group"] > button:nth-child(4) {
    transform: translate3d(30px, 0, 0) rotate(38deg) scale(1);
  }

  .root-game-planting-tray[data-action-flow-step]:not([data-action-flow-step="tools"]) > [data-primary-tool-petals] > button {
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, 46px, 0) rotate(0deg) scale(0.3) !important;
    transition-delay: 0ms !important;
  }

  .root-game-planting-tray > .root-game-farm-helper {
    bottom: calc(160px + var(--root-lesson-rise));
    z-index: 9;
    width: min(590px, calc(100vw - 32px));
    min-height: 86px;
    grid-template-columns: minmax(104px, 1fr) auto auto;
    gap: 10px;
    border: 3px solid #8c5a21;
    border-radius: 20px;
    padding: 10px 12px;
    background:
      linear-gradient(90deg, rgba(255, 226, 130, 0.06), transparent 26% 74%, rgba(255, 226, 130, 0.06)),
      linear-gradient(180deg, #155b46 0%, #0b4939 58%, #063529 100%);
    box-shadow:
      inset 0 0 0 2px rgba(255, 239, 179, 0.22),
      inset 0 -6px 0 rgba(22, 13, 6, 0.18),
      0 14px 26px rgba(3, 28, 22, 0.42);
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(32px) scale(0.97);
    transition:
      transform 220ms cubic-bezier(0.16, 1, 0.3, 1) 80ms,
      opacity 160ms ease 80ms,
      visibility 0s linear 300ms;
    pointer-events: none;
  }

  .root-game-planting-tray[data-action-flow-step="helper"] > .root-game-farm-helper {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0) scale(1);
    transition-delay: 90ms, 90ms, 0s;
    pointer-events: auto;
  }

  .root-game-planting-tray > .root-game-farm-helper > div:first-child > span {
    display: block !important;
    color: #f3c866;
    font: 900 9px/1 Georgia, "Times New Roman", serif;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .root-game-planting-tray > .root-game-farm-helper > div:first-child > strong {
    font-size: 15px;
  }

  .root-game-planting-tray .root-game-farm-helper-sizes {
    grid-template-columns: repeat(5, 44px);
    gap: 7px;
  }

  .root-game-planting-tray .root-game-farm-helper-sizes button,
  .root-game-planting-tray .root-game-farm-helper-shapes button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: 11px;
  }

  .root-game-planting-tray .root-game-farm-helper-shapes button {
    width: 48px;
    min-width: 48px;
  }

  .root-game-farm-helper-flow-actions {
    position: absolute;
    top: calc(100% + 7px);
    left: 50%;
    display: flex;
    min-width: 286px;
    gap: 8px;
    transform: translateX(-50%);
  }

  .root-game-farm-helper-flow-actions button {
    min-height: 44px;
    flex: 1 1 0;
    border: 2px solid #8a5a24;
    border-radius: 12px;
    padding: 8px 13px;
    background: linear-gradient(180deg, #fffaf0, #ead9b6);
    color: #143e31;
    font-weight: 900;
    box-shadow: 0 5px 12px rgba(3, 23, 19, 0.32);
  }

  .root-game-farm-helper-flow-actions [data-farm-helper-flow-continue] {
    background: linear-gradient(180deg, #efc964, #c68e28);
    color: #153b2f;
  }

  .root-game-planting-tray > [data-water-mode-petals][role="group"] {
    position: absolute;
    right: auto;
    bottom: calc(108px + var(--root-lesson-rise));
    left: 50%;
    z-index: 9;
    display: grid;
    width: min(560px, calc(100vw - 32px));
    min-height: 104px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    border: 3px solid #8c5a21;
    border-radius: 20px;
    padding: 10px;
    background: linear-gradient(180deg, #155b46, #073b2f);
    box-shadow:
      inset 0 0 0 2px rgba(255, 239, 179, 0.2),
      0 14px 26px rgba(3, 28, 22, 0.42);
    opacity: 0;
    transform: translateX(-50%) translateY(32px) scale(0.97);
    transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1) 80ms, opacity 160ms ease 80ms;
    pointer-events: none;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
    pointer-events: auto;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button {
    position: relative;
    bottom: auto;
    left: auto;
    display: grid;
    width: 100%;
    min-width: 0;
    height: 82px;
    min-height: 82px;
    align-content: center;
    justify-items: center;
    gap: 2px;
    overflow: hidden;
    border: 1px solid #b9904b;
    border-radius: 14px;
    clip-path: none;
    padding: 5px;
    background: linear-gradient(180deg, #fffaf0, #e7d7b6);
    color: #143e31;
    opacity: 1;
    filter: none;
    transform: none !important;
    transition: translate 160ms ease, box-shadow 160ms ease;
    pointer-events: auto;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button > * {
    transform: none !important;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button > .root-game-tool-icon,
  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button > .root-game-water-mode-back {
    width: 40px;
    height: 40px;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button > b {
    width: 100%;
    font-size: 12px;
    line-height: 1.05;
    text-align: center;
    white-space: normal;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button > small {
    display: none !important;
  }

  .root-game-planting-tray > .root-game-seed-picker {
    bottom: calc(108px + var(--root-lesson-rise));
    z-index: 9;
    display: grid;
    width: min(590px, calc(100vw - 28px));
    max-height: min(286px, calc(100dvh - 170px));
    gap: 8px;
    overflow: hidden;
    border: 3px solid #8c5a21;
    border-radius: 20px;
    padding: 10px 12px 12px;
    background:
      linear-gradient(90deg, rgba(255, 226, 130, 0.06), transparent 24% 76%, rgba(255, 226, 130, 0.06)),
      linear-gradient(180deg, #155b46 0%, #0b4939 58%, #063529 100%);
    color: #fff9ea;
    box-shadow:
      inset 0 0 0 2px rgba(255, 239, 179, 0.2),
      inset 0 -6px 0 rgba(22, 13, 6, 0.18),
      0 14px 28px rgba(3, 23, 19, 0.44);
    opacity: 0;
    transform: translateX(-50%) translateY(32px) scale(0.97);
    transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1) 80ms, opacity 160ms ease 80ms;
    pointer-events: none;
  }

  .root-game-planting-tray[data-action-flow-step="seeds"] > .root-game-seed-picker {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
    pointer-events: auto;
  }

  .root-game-seed-picker > header {
    display: grid;
    min-height: 48px;
    grid-template-columns: 48px minmax(0, 1fr) 44px;
    gap: 9px;
    text-align: left;
  }

  .root-game-seed-bag-mark {
    width: 46px;
    height: 46px;
    background: url("/assets/live-rooted/game-v2/ui/course-dock-bag-v1.png") center / contain no-repeat;
    filter: drop-shadow(0 3px 2px rgba(0, 0, 0, 0.35));
  }

  .root-game-seed-picker > header span:not(.root-game-seed-bag-mark) {
    color: #f3c866;
    font-size: 10px;
  }

  .root-game-seed-picker > header strong {
    color: #fff8e5;
    font-size: 18px;
  }

  .root-game-seed-picker > header button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 2px solid #a77832;
    border-radius: 50%;
    background: #fff9ea;
    color: #174438;
    font-size: 19px;
  }

  .root-game-seed-options {
    max-height: 176px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 2px;
  }

  .root-game-tool-dock .root-game-seed-option {
    min-height: 88px;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 7px;
    border: 1px solid #b9904b;
    border-radius: 13px;
    padding: 7px;
    background: linear-gradient(180deg, #fffdf5, #efe4c6);
    color: #143e31;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58), 0 4px 8px rgba(2, 26, 20, 0.2);
  }

  .root-game-tool-dock .root-game-seed-option:hover {
    border-color: #d7a63d;
    background: linear-gradient(180deg, #ffffff, #f3e3b9);
    translate: 0 -2px;
  }

  .root-game-tool-dock .root-game-seed-option.is-last-used {
    border: 2px solid #ffd45b;
    box-shadow: inset 0 0 0 1px #fff8df, 0 0 0 2px #ad711c, 0 0 13px rgba(255, 199, 62, 0.65);
  }

  .root-game-tool-dock .root-game-seed-option:focus-visible {
    outline: 3px solid #ffd66b;
    outline-offset: 2px;
  }

  .root-game-seed-art {
    position: relative;
    display: grid;
    width: 54px;
    height: 68px;
    place-items: center;
  }

  .root-game-seed-art img {
    width: 46px;
    height: 58px;
    object-fit: contain;
  }

  .root-game-seed-quantity {
    position: absolute;
    right: -1px;
    bottom: 0;
    display: grid;
    min-width: 28px;
    min-height: 22px;
    place-items: center;
    border: 2px solid #fff6dc;
    border-radius: 999px;
    padding: 1px 5px;
    background: #0c5643;
    color: #fff9e9;
    font-size: 10px;
    font-weight: 950;
  }

  .root-game-seed-option > span:last-child {
    display: grid;
    min-width: 0;
    gap: 3px;
    text-align: left;
  }

  .root-game-seed-option > span:last-child b {
    color: #173f32;
    font-size: 13px;
    text-shadow: none;
    white-space: normal;
  }

  .root-game-seed-option > span:last-child small {
    display: block !important;
    color: #5d6c61;
    font-size: 9px;
    line-height: 1.2;
  }

  .root-game-seed-option em {
    width: max-content;
    border-radius: 999px;
    padding: 2px 6px;
    background: #d6a63e;
    color: #173c30;
    font-size: 8px;
    font-style: normal;
    font-weight: 950;
    text-transform: uppercase;
  }

  .root-game-seed-empty {
    display: grid;
    min-height: 102px;
    grid-column: 1 / -1;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    border: 1px solid #b9904b;
    border-radius: 14px;
    padding: 12px 16px;
    background: linear-gradient(180deg, #fffdf5, #efe4c6);
    color: #173f32;
    text-align: left;
  }

  .root-game-seed-empty-mark {
    width: 68px;
    height: 68px;
    background: url("/assets/live-rooted/game-v2/ui/course-dock-bag-v1.png") center / contain no-repeat;
  }

  .root-game-seed-empty span:last-child {
    display: grid;
    gap: 4px;
  }

  .root-game-seed-empty b {
    color: #173f32;
    font-size: 16px;
    text-shadow: none;
  }

  .root-game-seed-empty small {
    color: #5d6c61;
    font-size: 11px;
    line-height: 1.3;
  }

  .root-game-seed-picker > footer {
    min-height: 44px;
    color: #f8edcf;
  }

  .root-game-seed-picker > footer small {
    display: block !important;
    color: #f8edcf;
    font-size: 10px;
  }

  .root-game-seed-picker > footer button {
    display: inline-flex;
    min-width: 164px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 2px solid #d2a240;
    border-radius: 12px;
    padding: 7px 12px;
    background: linear-gradient(180deg, #f1cf6c, #c8942c);
    color: #143e31;
    font-weight: 950;
  }

  .root-game-seed-store-mark {
    width: 28px;
    height: 28px;
    background: url("/assets/live-rooted/game-v2/ui/course-dock-market-v1.png") center / contain no-repeat;
  }

  .root-game-task-progress {
    bottom: calc(max(28px, calc(env(safe-area-inset-bottom) + 14px)) + 148px);
  }

  .root-game-farm-helper-confirm {
    box-sizing: border-box;
    position: absolute;
    top: auto;
    right: auto;
    bottom: calc(max(28px, calc(env(safe-area-inset-bottom) + 14px)) + 148px);
    left: 50%;
    z-index: 47;
    display: grid;
    width: min(560px, calc(100vw - 32px));
    min-height: 62px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 2px solid #a8762d;
    border-radius: 17px;
    padding: 7px 9px 7px 14px;
    background:
      linear-gradient(90deg, rgba(255, 226, 130, 0.06), transparent 28% 72%, rgba(255, 226, 130, 0.06)),
      linear-gradient(180deg, #155b46 0%, #0b4939 58%, #063529 100%);
    color: #fff9ea;
    box-shadow:
      inset 0 0 0 1px rgba(255, 239, 179, 0.22),
      inset 0 -5px 0 rgba(22, 13, 6, 0.18),
      0 10px 22px rgba(3, 28, 22, 0.4);
    transform: translateX(-50%);
    pointer-events: auto;
  }

  .is-task-progress-visible .root-game-farm-helper-confirm:not([hidden]) {
    bottom: calc(max(28px, calc(env(safe-area-inset-bottom) + 14px)) + 232px);
  }

  .root-game-farm-helper-confirm[hidden] {
    display: none !important;
  }

  .root-game-farm-helper-confirm > div:first-child {
    display: grid;
    min-width: 0;
    gap: 1px;
  }

  .root-game-farm-helper-confirm > div:first-child > span {
    display: block;
    color: #f3c866;
    font: 900 9px/1 Georgia, "Times New Roman", serif;
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .root-game-farm-helper-confirm strong {
    display: block;
    overflow: visible;
    color: #fff9ea;
    font: 800 13px/1.15 Georgia, "Times New Roman", serif;
    overflow-wrap: break-word;
    text-overflow: clip;
    white-space: normal;
  }

  .root-game-farm-helper-confirm > div:first-child > small {
    display: block;
    overflow: visible;
    margin: 0;
    color: #f1ddb0;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.15;
    overflow-wrap: break-word;
    text-overflow: clip;
    white-space: normal;
  }

  .root-game-farm-helper-confirm > div:last-child {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    pointer-events: auto;
  }

  .root-game-farm-helper-confirm button {
    display: inline-flex;
    width: auto;
    min-width: 76px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 2px solid #a8762d;
    border-radius: 12px;
    padding: 7px 10px;
    background: linear-gradient(180deg, #fffaf0, #ead9b6);
    color: #143e31;
    font-weight: 900;
    box-shadow: 0 4px 9px rgba(3, 23, 19, 0.3);
    pointer-events: auto;
  }

  .root-game-farm-helper-confirm button span {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: nowrap;
  }

  .root-game-farm-helper-confirm button i {
    font-size: 17px;
  }

  .root-game-farm-helper-confirm button.is-primary {
    width: auto;
    min-width: 106px;
    border-color: #e2b94f;
    border-radius: 12px;
    background: linear-gradient(180deg, #f2cf68, #c88e27);
    color: #143e31;
  }

  .root-game-farm-helper-confirm button:not(:disabled):not([aria-disabled="true"]):hover {
    border-color: #ffd468;
    translate: 0 -1px;
  }

  .root-game-farm-helper-confirm button.is-primary:disabled,
  .root-game-farm-helper-confirm button.is-primary[aria-disabled="true"] {
    width: auto;
    min-width: 106px;
    border-color: #d59b63;
    background: linear-gradient(180deg, #7d4439, #5d302a);
    color: #fff7e8;
    cursor: not-allowed;
    opacity: 1;
    box-shadow: inset 0 -3px 0 rgba(49, 15, 12, 0.28), 0 4px 9px rgba(32, 9, 7, 0.28);
  }

  .root-game-farm-helper-confirm:is(.is-focus-error, .is-seed-error, .is-focus-blocked),
  .root-game-farm-helper-confirm:has(button.is-primary:disabled),
  .root-game-farm-helper-confirm:has(button.is-primary[aria-disabled="true"]) {
    border-color: #efc35e !important;
    background: linear-gradient(180deg, #74352d, #48231f);
    color: #fff8e9;
    box-shadow:
      inset 0 0 0 1px rgba(255, 229, 151, 0.24),
      0 0 0 3px rgba(190, 70, 45, 0.2),
      0 0 20px rgba(190, 70, 45, 0.34),
      0 10px 22px rgba(32, 9, 7, 0.36) !important;
  }

  .root-game-farm-helper-confirm:is(.is-focus-error, .is-seed-error, .is-focus-blocked) strong,
  .root-game-farm-helper-confirm:is(.is-focus-error, .is-seed-error, .is-focus-blocked) > div:first-child > small,
  .root-game-farm-helper-confirm:has(button.is-primary:disabled) strong,
  .root-game-farm-helper-confirm:has(button.is-primary:disabled) > div:first-child > small,
  .root-game-farm-helper-confirm:has(button.is-primary[aria-disabled="true"]) strong,
  .root-game-farm-helper-confirm:has(button.is-primary[aria-disabled="true"]) > div:first-child > small {
    color: #fff8e9;
  }
}

@media (min-width: 761px) and (max-width: 900px) and (pointer: fine) {
  .root-game-tool-dock {
    --root-desktop-hub-size: 100px;
    --root-desktop-hub-track: 112px;
    min-height: 78px;
    padding: 5px 8px 7px;
  }

  .root-game-tool-scroll {
    height: 66px;
    grid-template-rows: 66px;
    gap: 3px;
  }

  .root-game-tool-scroll .root-game-tool-group > *,
  .root-game-tool-scroll > .root-game-member-slot,
  .root-game-tool-scroll > .root-game-structure-view,
  .root-game-tool-scroll > .root-game-expand {
    min-height: 66px;
    border-radius: 13px;
  }

  .root-game-tool-dock b,
  .root-game-tool-dock .root-game-member-signin b,
  .root-game-tool-dock .lrl-member-shell__identity strong {
    font-size: 12px;
  }

  .root-game-tool-scroll [data-game-tool="pan"] .root-game-mobile-tool-icon,
  .root-game-tool-scroll .root-game-tool-link .root-game-tool-icon.is-market,
  .root-game-tool-scroll [data-open-window="inventory"] .root-game-tool-icon,
  .root-game-member-slot .root-game-member-signin i {
    width: 40px;
    height: 40px;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray],
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray][aria-expanded="true"],
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]:hover,
  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray]:focus-visible {
    transform: translateY(8px);
  }

  .root-game-tool-scroll [data-toggle-tool-tray] .root-game-tool-icon {
    width: 46px;
    height: 46px;
  }
}

@media (min-width: 761px) and (pointer: fine) and (max-height: 650px) {
  .root-game-tool-dock {
    transform: translateX(-50%);
  }

  .root-game-farm-helper-confirm {
    bottom: calc(max(28px, calc(env(safe-area-inset-bottom) + 14px)) + 148px);
  }
}

@media (max-width: 760px), (pointer: coarse) {
  .root-game-seed-picker > header {
    gap: 8px;
  }

  .root-game-seed-picker > header > div {
    min-width: 0;
    flex: 1 1 auto;
  }

  .root-game-seed-bag-mark {
    display: block;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    background: url("/assets/live-rooted/game-v2/ui/course-dock-bag-v1.png") center / contain no-repeat;
  }

  .root-game-seed-picker > header button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  .root-game-tool-dock .root-game-seed-picker > footer button {
    min-height: 44px;
  }

  .root-game-seed-store-mark {
    display: inline-block;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    background: url("/assets/live-rooted/game-v2/ui/course-dock-market-v1.png") center / contain no-repeat;
  }
}

@media (prefers-reduced-motion: reduce) {
  .root-game-planting-tray > .root-game-farm-helper,
  .root-game-planting-tray > [data-water-mode-petals][role="group"],
  .root-game-planting-tray > .root-game-seed-picker {
    transition: none !important;
  }
}


/* Desktop lower-bar controls: petals stay above the rail; Actions remains above the petals. */
.root-game-water-menu-header {
  display: none;
}

@media (min-width: 761px) and (pointer: fine) {
  .root-game-tool-scroll {
    z-index: auto !important;
    isolation: auto !important;
  }

  .root-game-tool-dock::before,
  .root-game-tool-dock::after {
    z-index: 0 !important;
  }

  .root-game-planting-tray {
    z-index: 20 !important;
  }

  .root-game-tool-scroll .root-game-tool-group > [data-toggle-tool-tray] {
    z-index: 24 !important;
  }

  .root-game-planting-tray > [data-water-mode-petals][role="group"] {
    position: absolute;
    right: auto;
    bottom: calc(108px + var(--root-lesson-rise));
    left: 50%;
    z-index: 21;
    display: grid;
    width: min(590px, calc(100vw - 28px));
    min-height: 176px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 48px 96px;
    gap: 8px;
    overflow: visible;
    border: 3px solid #8c5a21;
    border-radius: 20px;
    padding: 10px 12px 12px;
    background:
      linear-gradient(90deg, rgba(255, 226, 130, 0.06), transparent 24% 76%, rgba(255, 226, 130, 0.06)),
      linear-gradient(180deg, #155b46 0%, #0b4939 58%, #063529 100%);
    color: #fff9ea;
    box-shadow:
      inset 0 0 0 2px rgba(255, 239, 179, 0.2),
      inset 0 -6px 0 rgba(22, 13, 6, 0.18),
      0 14px 28px rgba(3, 23, 19, 0.44);
  }

  .root-game-water-menu-header {
    display: grid;
    min-width: 0;
    min-height: 48px;
    grid-column: 1 / -1;
    grid-row: 1;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    order: -1;
    padding-right: 54px;
    text-align: left;
  }

  .root-game-water-menu-mark {
    width: 46px;
    height: 46px;
    filter: drop-shadow(0 3px 2px rgba(0, 0, 0, 0.35));
  }

  .root-game-water-menu-copy {
    display: grid;
    min-width: 0;
    gap: 1px;
  }

  .root-game-water-menu-copy > span {
    color: #f3c866;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .root-game-water-menu-copy > strong {
    color: #fff8e5;
    font: 800 18px/1.1 Georgia, "Times New Roman", serif;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button:not([data-water-mode="back"]) {
    position: relative;
    inset: auto;
    display: grid;
    width: 100%;
    min-width: 0;
    height: 96px;
    min-height: 96px;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-rows: 1fr 1fr;
    align-items: center;
    justify-items: start;
    column-gap: 9px;
    row-gap: 1px;
    overflow: hidden;
    border: 1px solid #b9904b;
    border-radius: 13px;
    clip-path: none;
    padding: 10px 12px;
    background: linear-gradient(180deg, #fffdf5, #efe4c6);
    color: #143e31;
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.58),
      0 4px 8px rgba(2, 26, 20, 0.2);
    opacity: 1;
    filter: none;
    transform: none !important;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, translate 160ms ease;
    pointer-events: auto;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button:not([data-water-mode="back"]):hover,
  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button:not([data-water-mode="back"]):focus-visible {
    border-color: #d7a63d;
    background: linear-gradient(180deg, #ffffff, #f3e3b9);
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.7),
      0 0 0 2px rgba(255, 212, 91, 0.72),
      0 7px 13px rgba(2, 26, 20, 0.26);
    translate: 0 -2px;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button:not([data-water-mode="back"]) > .root-game-tool-icon {
    width: 54px;
    height: 54px;
    grid-column: 1;
    grid-row: 1 / 3;
    place-self: center;
    margin: 0;
    transform: none !important;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button:not([data-water-mode="back"]) > b {
    width: 100%;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    color: #173f32;
    font: 800 15px/1.05 Georgia, "Times New Roman", serif;
    text-align: left;
    text-shadow: none;
    white-space: normal;
    transform: none !important;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > button:not([data-water-mode="back"]) > small {
    display: block !important;
    width: 100%;
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    color: #5d6c61;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.2;
    text-align: left;
    white-space: normal;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > [data-water-mode="back"] {
    position: absolute;
    top: 11px;
    right: 12px;
    bottom: auto;
    left: auto;
    z-index: 3;
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    place-items: center;
    overflow: hidden;
    border: 2px solid #a77832;
    border-radius: 50%;
    clip-path: none;
    padding: 0;
    background: #fff9ea;
    color: #174438;
    box-shadow: 0 3px 7px rgba(2, 26, 20, 0.28);
    opacity: 1;
    filter: none;
    transform: none !important;
    pointer-events: auto;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > [data-water-mode="back"]:hover,
  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > [data-water-mode="back"]:focus-visible {
    border-color: #d7a63d;
    background: #fffdf4;
    box-shadow: 0 0 0 3px rgba(255, 214, 107, 0.52), 0 4px 9px rgba(2, 26, 20, 0.3);
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > [data-water-mode="back"] > .root-game-water-mode-back {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 0;
    background: transparent;
    font-size: 20px;
    transform: none !important;
  }

  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > [data-water-mode="back"] > b,
  .root-game-planting-tray[data-action-flow-step="water"] > [data-water-mode-petals][role="group"] > [data-water-mode="back"] > small {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* Farm Helper popup lanes v3 (2026-09-03).
   Desktop keeps a compact Helper strip at the upper-right. Every shared toast
   and the dedicated tree alert use a separate lane beneath the strip whenever
   it is actually visible, including pointer-less and wide hybrid displays. */
@media (min-width: 761px) and (pointer: fine),
  (min-width: 761px) and (pointer: none),
  (min-width: 1369px) {
  :root {
    --root-desktop-helper-strip-top: calc(var(--hud-top) + var(--hud-height) + 24px);
    --root-desktop-helper-message-top: calc(var(--hud-top) + var(--hud-height) + 102px);
  }

  [data-farm-helper-strip] {
    box-sizing: border-box;
    top: var(--root-desktop-helper-strip-top);
    right: max(12px, env(safe-area-inset-right, 0px));
    left: auto;
    min-height: 56px;
    max-width: calc(100vw - 24px);
    justify-content: flex-start;
    gap: 8px;
    padding: 5px 7px 5px 10px;
    transform: none;
  }

  [data-farm-helper-strip] > * {
    flex: 0 0 auto;
  }

  [data-farm-helper-strip] > * + * {
    padding-left: 8px;
  }

  [data-farm-helper-strip-mode] {
    font-size: 14px;
    white-space: nowrap;
  }

  [data-farm-helper-strip-pan],
  .root-game-farm-helper-strip-desktop-only {
    gap: 5px;
    font-size: 13px;
    white-space: nowrap;
  }

  [data-farm-helper-strip] button {
    padding: 5px 9px;
    font-size: 13px;
  }

  [data-root-garden-v2]:has([data-farm-helper-strip]:not([hidden])) .root-game-toast,
  [data-root-garden-v2]:has([data-farm-helper-strip]:not([hidden])) .root-game-tree-access-alert {
    top: var(--root-desktop-helper-message-top);
    bottom: auto;
  }
}

@media (min-width: 761px) and (max-width: 900px) and (pointer: fine),
  (min-width: 761px) and (max-width: 900px) and (pointer: none) {
  [data-farm-helper-strip-pan] {
    display: grid;
    min-width: 30px;
    place-items: center;
  }

  [data-farm-helper-strip-pan] > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .root-game-farm-helper-strip-desktop-only small {
    display: none;
  }
}

@media (max-width: 760px) {
  [data-root-garden-v2]:has([data-farm-helper-strip]:not([hidden])) .root-game-tree-access-alert {
    top: max(146px, calc(env(safe-area-inset-top) + 146px));
  }
}

@media (min-width: 761px) and (max-width: 1368px) and (pointer: coarse) {
  [data-root-garden-v2]:has([data-farm-helper-strip]:not([hidden])) .root-game-tree-access-alert {
    top: max(146px, calc(env(safe-area-inset-top) + 146px));
  }
}
