/* Supplied 1280x720 image and four play targets share this exact rectangle. */
body.island-home[data-home-background="20261012-supplied-background-r2"] {
  height: auto; min-height: 100dvh; overflow-x: hidden; overflow-y: auto;
  background: #f4faf7; color: #315b55;
}
body[data-home-background] .world-home {
  display: flex; flex-direction: column; justify-content: flex-start; align-items: center;
  box-sizing: border-box; width: 100%; height: auto; min-height: 100dvh; gap: 12px;
  padding: max(10px, var(--endless-safe-top, env(safe-area-inset-top, 0px)))
    max(10px, var(--endless-safe-right, env(safe-area-inset-right, 0px)))
    max(12px, var(--endless-safe-bottom, env(safe-area-inset-bottom, 0px)))
    max(10px, var(--endless-safe-left, env(safe-area-inset-left, 0px)));
}
body[data-home-background] .world-home::after,
body[data-home-background] .soft-backdrop { display: none; background-image: none; }
body[data-home-background] .world-stage {
  position: relative; flex: 0 0 auto; width: min(100%, 1280px, calc(max(180px, calc(100dvh - 156px)) * 16 / 9));
  height: auto; aspect-ratio: 16 / 9; margin: 0; padding: 0; border: 0;
  border-radius: 0; overflow: visible; container-type: inline-size; transform: none;
}
body[data-home-background] .world-picture,
body[data-home-background] .world-art { display: block; width: 100%; height: 100%; }
body[data-home-background] .world-art { object-fit: contain; object-position: center; }
body[data-home-background] .world-mode-choices { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
body[data-home-background] .world-mode-choices .world-link {
  position: absolute; top: 85.833333%; right: auto; bottom: auto;
  width: max(44px, 8.125cqw); height: max(44px, 8.125cqw);
  margin: 0; padding: 0; min-width: 44px; min-height: 44px; border: 0;
  border-radius: 50%; background: transparent; box-shadow: none;
  transform: translate(-50%, -50%); pointer-events: auto; cursor: pointer;
}
body[data-home-background] .world-mode-choices .alphabet-link { left: 23.359375%; top: 85.694444%; }
body[data-home-background] .world-mode-choices .reader-link { left: 41.328125%; }
body[data-home-background] .world-mode-choices .wordplay-link { left: 57.734375%; }
body[data-home-background] .world-mode-choices .numbers-link { left: 75.078125%; }
body[data-home-background] .world-mode-choices .world-link > *,
body[data-home-background] .world-mode-choices .world-link::before,
body[data-home-background] .world-mode-choices .world-link::after { display: none; }
body[data-home-background] .world-mode-choices .world-link:hover { background: #ffffff18; }
body[data-home-background] .world-mode-choices .world-link:active { background: #ffffff30; }
body[data-home-background] .home-top-rail {
  position: static; inset: auto; display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  box-sizing: border-box; width: min(100%, 1280px); min-height: 44px; gap: 7px;
  margin: 0; padding: 0; pointer-events: auto;
}
body[data-home-background] .home-top-rail .parent-tools {
  position: static; inset: auto; display: flex; flex: 1 1 420px; flex-wrap: wrap;
  justify-content: center; align-items: stretch; gap: 7px; width: auto; height: auto;
  margin: 0; padding: 0; pointer-events: auto;
}
body[data-home-background] .home-top-rail .parent-tools .parent-tool,
body[data-home-background] .home-top-rail .family-account-button,
body[data-home-background] .home-top-rail .global-search-open {
  position: relative; inset: auto; display: inline-flex; align-items: center; justify-content: center;
  box-sizing: border-box; flex: 0 1 auto; width: auto; height: auto; min-width: 68px; min-height: 44px;
  max-width: none; max-height: none; gap: 6px; padding: 6px 10px; margin: 0;
  border: 1px solid #cbdcd4; border-radius: 14px; background: #fff; color: #315b55;
  box-shadow: 0 2px 0 #dfe9e3; transform: none; filter: none;
  font: 700 12px/1.2 system-ui, "Noto Sans SC", sans-serif; text-decoration: none; cursor: pointer;
}
body[data-home-background] .home-top-rail [hidden] { display: none !important; }
body[data-home-background] .home-top-rail .parent-tools :is(#app-mode-button, #sound-toggle, #parent-mode-button, #account-settings-button, #family-parent-entry, #referral-open) { inset: auto; width: auto; height: auto; }
body[data-home-background] .home-top-rail .parent-tools .parent-tool > * { visibility: visible; }
body[data-home-background] .home-top-rail .parent-tools .parent-tool > .parent-tool-icon,
body[data-home-background] .home-top-rail .family-account-button > .family-avatar {
  position: static; display: flex; flex: 0 0 20px; justify-content: center; align-items: center;
  width: 20px; height: 20px; margin: 0; padding: 0; border: 0; background: transparent; color: #42857a; box-shadow: none;
}
body[data-home-background] .home-top-rail .parent-tools .parent-tool > .parent-tool-icon svg,
body[data-home-background] .home-top-rail .family-avatar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
body[data-home-background] .home-top-rail .parent-tools .parent-tool > .parent-tool-copy,
body[data-home-background] .home-top-rail .family-account-button > .family-copy { position: static; inset: auto; display: block; width: auto; height: auto; text-align: left; }
body[data-home-background] .home-top-rail .parent-tools .parent-tool .parent-tool-copy strong,
body[data-home-background] .home-top-rail .family-copy strong { display: block; color: inherit; font: 700 12px/1.25 system-ui, sans-serif; white-space: normal; }
body[data-home-background] .home-top-rail .parent-tools .parent-tool .parent-tool-copy small { display: block; margin-top: 2px; color: #6d857a; font: 500 10px/1.2 system-ui, sans-serif; }
body[data-home-background] .home-top-rail .parent-tools :is(#referral-open, #family-parent-entry, #app-mode-button) .parent-tool-copy strong { font: 700 12px/1.25 system-ui, sans-serif; max-width: none; white-space: normal; text-align: left; }
body[data-home-background] .home-top-rail .family-copy > small,
body[data-home-background] .home-top-rail .family-arrow,
body[data-home-background] .home-top-rail #family-membership { display: none; }
body[data-home-background] .home-top-rail #family-account-name { display: inline; }
body[data-home-background] .home-top-rail .global-search-open::before { margin-right: 0; font-size: 21px; }
body[data-home-background] .home-top-rail .global-search-open:hover,
body[data-home-background] .home-top-rail .global-search-open:active { transform: none; }
body[data-home-background] .home-top-rail .parent-tool[aria-pressed="true"]::after {
  width: 14px; height: 14px; font: 800 11px/14px system-ui, sans-serif; top: -4px; right: -4px;
}
body[data-home-background] .future-feature-nav {
  position: static; inset: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  box-sizing: border-box; width: min(100%, 650px); height: auto; gap: 9px; margin: 0; padding: 0;
}
body[data-home-background] .future-feature-nav button {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 7px;
  box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 9px 7px;
  border: 1px solid #cbdcd4; border-radius: 18px; background: #fff; color: #315b55;
  box-shadow: 0 3px 0 #dfe9e3; font: 700 14px/1.2 system-ui, sans-serif; cursor: pointer;
}
body[data-home-background] .future-feature-nav button::before { font-size: 19px; }
body[data-home-background] .future-feature-nav button::after {
  position: static; inset: auto; content: attr(data-feature); opacity: 1;
  border: 0; border-radius: 0; background: none; box-shadow: none;
  transform: none; transition: none; font: inherit; color: inherit;
}
body[data-home-background] .future-feature-nav [data-feature="成就"]::before { content: "🏆"; }
body[data-home-background] .future-feature-nav [data-feature="活动"]::before { content: "⭐"; }
body[data-home-background] .future-feature-nav [data-feature="奖励"]::before { content: "🎁"; }
body[data-home-background] .future-feature-nav [data-feature="商店"]::before { content: "🏪"; }
body[data-home-background] .home-decor-layer {
  position: relative; inset: auto; display: flex; justify-content: center; flex-wrap: wrap;
  width: 100%; height: auto; margin: 0; padding: 6px 12px; gap: 12px; overflow: visible;
}
body[data-home-background] .home-decor-layer:empty { display: none; }
body[data-home-background] .home-decor-layer .home-decor-item {
  position: static; inset: auto; width: 36px; height: 36px; font-size: 22px;
}
body[data-home-background] .endless-account-nav { position: relative; inset: auto; display: flex; justify-content: center; padding: 5px 12px; }
body[data-home-background] :is(.world-link, .parent-tool, .family-account-button, .global-search-open, .future-feature-nav button):focus-visible {
  outline: 3px solid #1c8879; outline-offset: 3px; box-shadow: 0 0 0 6px #fff8;
}
@media (max-width: 700px) {
  body[data-home-background] .home-top-rail .parent-tools { flex-basis: 100%; }
  body[data-home-background] .home-top-rail .parent-tools .parent-tool { flex: 1 1 95px; }
  body[data-home-background] .future-feature-nav { gap: 7px; }
  body[data-home-background] .future-feature-nav button { gap: 4px; font-size: 12px; }
}
