/* The garden fills the screen. Controls float at the edges; details open on demand. */
html:has(.play-screen),body.play-screen{height:100%;overflow:hidden;overscroll-behavior:none}
.play-screen{background:#536fc0}.play-screen main{max-width:none;width:100%;height:100dvh;min-height:0;padding:0;margin:0}
.play-screen .game{width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:#536fc0}
.play-screen .scene{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.play-screen .scene-backdrop{inset:0}
.play-screen .scene #world{width:min(calc(100vw - 100px),calc((100dvh - 40px)*1.2067));height:auto;top:53%;left:50%;bottom:auto;transform:translate(-50%,-50%);overflow:visible}
.play-topbar{position:absolute;z-index:4;inset:max(18px,env(safe-area-inset-top)) 24px auto;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}
.play-topbar a,.play-topbar button{pointer-events:auto}.play-profile,.play-account{display:flex;align-items:center;gap:13px}
.back-link{width:32px;height:36px;display:grid;place-items:center;color:#fff9e5;filter:drop-shadow(0 2px 3px #253d7044)}.back-link svg{width:25px;height:25px;transform:rotate(180deg)}
.play-title{font-size:26px;color:#fff6dd;text-shadow:0 2px 8px #30478a66;font-style:italic;letter-spacing:-.5px}
.play-screen .profile{min-width:0;max-width:none;padding:7px 11px 7px 7px;gap:10px;border-radius:10px;background:#fcf8e8ed;border-color:#fcf8e8a8;box-shadow:0 3px 14px #30457924}
.play-screen .profile strong{font-size:11px;margin-bottom:6px}.play-screen .profile small{font-size:7px;margin-top:4px}.play-screen .avatar{width:38px;height:38px}.play-screen .avatar svg{width:23px;height:23px}.play-screen .avatar b{width:20px;height:20px;font-size:9px}
.play-screen .xp-track{width:119px;height:4px}.play-screen .upgrade-plus{font-size:21px;padding:0 3px}
.play-screen .wallet{min-width:107px;background:#234c49e8;padding:6px 13px 6px 8px;gap:8px;border-color:#f0d6a477;box-shadow:0 3px 12px #273b7030}.play-screen .wallet small{font-size:6px}.play-screen .wallet strong{font-size:17px}
.round-help{width:34px;height:34px;border-radius:50%;border:1px solid #f8f2d688;background:#fdf6e4ec;color:#466252;display:grid;place-items:center}.round-help svg{width:18px;height:18px}
.quick-rail{position:absolute;top:104px;right:28px;z-index:4;display:flex;flex-direction:column;gap:22px}
.float-tool{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;padding:0;min-width:60px;color:#fff8e9;touch-action:manipulation}
.tool-disc{position:relative;display:grid;place-items:center;width:50px;height:50px;border:1px solid #fff6d7;border-radius:16px;color:#6e6546;background:linear-gradient(145deg,#fffced,#f5eacb);box-shadow:0 4px 0 #7a724d2b,0 5px 16px #2b3e6426;transition:transform .18s,background .18s}
.tool-disc>svg{width:25px;height:25px;stroke-width:1.7}.float-tool:hover:not(:disabled) .tool-disc{transform:translateY(-2px);background:#fffdf3}.float-tool:active:not(:disabled) .tool-disc{transform:translateY(1px)}
.tool-label{font-size:10px;line-height:1.4;font-weight:600;white-space:nowrap;text-shadow:0 1px 3px #263d78,0 2px 8px #263d7850}
.tool-count{position:absolute;right:-5px;top:-5px;min-width:20px;height:20px;padding:0 5px;border:1.5px solid #fff5d9;border-radius:20px;background:#355e52;color:#fff9e6;font-size:9px;line-height:17px;font-weight:600;box-shadow:0 2px 4px #243f6720}
#quest-dot{position:absolute;right:1px;top:0;width:10px;height:10px;border-radius:50%;background:#e67646;border:2px solid #fff7dc}
.action-dock{position:absolute;z-index:4;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:flex-end;gap:20px;background:none;border:0;padding:0}
.action-dock .float-tool{min-width:65px;gap:8px}.action-dock .tool-disc{width:57px;height:57px;border-radius:50%}.action-dock .tool-disc>svg{width:29px;height:29px}.action-dock .tool-label{font-size:11px}
.action-dock .harvest-tool .tool-disc{background:linear-gradient(145deg,#477760,#2f5a49);border-color:#cdddac;color:#fff6d8}.float-tool:disabled{opacity:.53}
.game-tools{position:absolute;z-index:4;right:26px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;gap:14px}.game-tools .quest-tool{position:fixed;left:26px;bottom:max(24px,env(safe-area-inset-bottom))}
.play-screen .toast{z-index:5;bottom:120px;font-size:11px;max-width:min(480px,80%);padding:10px 19px;background:#244c43ed}
.play-screen .visit-label{top:88px;left:50%;transform:translateX(-50%);max-width:40%;text-align:center;font-size:9px;padding:8px 12px;background:#fff8e9ed;z-index:3}
.return-home{position:absolute;z-index:4;bottom:30px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:30px;border:1px solid #fff4d5;background:#fbf5df;color:#355b4b;font-size:12px;box-shadow:0 4px 18px #2a3e7226}.return-home:active{transform:translateX(-50%) translateY(1px)!important}.return-home svg{width:20px;height:20px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.seed-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.seed-choice{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #ccd5b7;border-radius:14px;background:#f4f4e4;text-align:left}.seed-choice.selected{border-color:#6b9272;background:#edf3df}.seed-choice .crop-art{width:55px;height:75px;flex-shrink:0}.seed-choice strong{display:block;font-size:14px;margin-bottom:7px}.seed-choice small{display:block;font-size:11px;color:#728169;margin-bottom:8px}.seed-choice em{font-size:10px;font-style:normal;color:#4c7854}
.play-screen dialog{max-height:calc(100dvh - 36px);max-width:calc(100vw - 24px)}
.plant-summary{display:flex;align-items:center;gap:18px;margin-bottom:20px}.plant-portrait{width:100px;height:120px;flex-shrink:0}.plant-summary h3{font-size:18px;margin:0 0 8px}.plant-summary p{font-size:11px;margin:0;color:#76836d}.plant-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}.plant-stats>div{padding:12px 14px;border:1px solid #d9ddc7;background:#f2f3e5;border-radius:10px}.plant-stats dt{font-size:10px;color:#7b856b;margin-bottom:7px}.plant-stats dd{font-size:15px;font-weight:600;margin:0}.plant-stats small{display:block;font-size:9px;color:#859176;margin-top:6px;font-weight:400}.odds-list{display:grid;gap:10px;font-size:10px;margin:16px 0 22px}.odds-row{display:grid;grid-template-columns:120px 1fr 35px;gap:10px;align-items:center}.odds-track{height:6px;background:#e3e5d3;border-radius:9px;overflow:hidden}.odds-track i{display:block;height:100%;border-radius:9px;background:var(--rarity)}.yield-note{font-size:10px;line-height:1.7;color:#79856e;margin:0 0 18px}.plant-progress{height:5px;border-radius:8px;background:#e1e5ce;margin-top:12px;overflow:hidden}.plant-progress i{display:block;height:100%;background:#86a17b}.plant-summary>div{flex:1}.seed-help{font-size:11px;line-height:1.8;color:#728169}
@media(max-width:980px){
 .play-title{display:none}.action-dock{bottom:107px}.game-tools{right:auto;left:50%;transform:translateX(-50%);gap:18px;bottom:18px}.game-tools .quest-tool{position:relative;left:auto;bottom:auto}.return-home{bottom:113px}.play-screen .toast{bottom:204px}
 .play-screen .scene #world{width:min(100vw,calc((100dvh - 130px)*1.2067));top:48%}
}
@media(max-width:760px){
 .play-topbar{top:max(13px,env(safe-area-inset-top));left:10px;right:10px;gap:7px}.play-profile{gap:5px}.back-link{width:20px}.back-link svg{width:19px;height:19px}.play-account{gap:7px}
 .play-screen .wallet{min-width:75px;padding:5px 8px 5px 5px;gap:4px}.play-screen .wallet>svg{width:22px;height:22px;padding:4px}.play-screen .wallet strong{font-size:13px}.play-screen .wallet small{font-size:5px;letter-spacing:.7px}.round-help{width:26px;height:26px}.round-help svg{width:14px;height:14px}
 .play-screen .profile{gap:7px;padding:4px 7px 4px 4px}.play-screen .profile strong{font-size:8px;margin-bottom:4px}.play-screen .profile small{font-size:6px}.play-screen .avatar{width:30px;height:30px}.play-screen .xp-track{width:82px}.play-screen .upgrade-plus{font-size:17px;padding:0}
 .play-screen .scene #world{width:min(100vw,calc((100dvh - 180px)*1.2067));top:51%;height:auto;bottom:auto}
 .quick-rail{top:92px;right:10px;gap:18px}.float-tool{min-width:48px;gap:6px}.tool-disc{width:43px;height:43px;border-radius:13px}.tool-disc>svg{width:22px;height:22px}.tool-label{font-size:8px}.tool-count{font-size:8px;min-width:18px;height:18px;line-height:15px;right:-3px;top:-3px}
 .game-tools{gap:16px;bottom:max(19px,env(safe-area-inset-bottom))}.action-dock{gap:25px;bottom:108px}.action-dock .float-tool{min-width:55px;gap:8px}.action-dock .tool-disc{width:52px;height:52px}.action-dock .tool-disc>svg{width:25px;height:25px}.action-dock .tool-label{font-size:10px}
 .play-screen .toast{bottom:205px;max-width:85%;font-size:10px;padding:9px 13px}.play-screen .visit-label{top:76px;left:12px;right:auto;transform:none;max-width:62%;font-size:7px;padding:5px 8px}.play-screen .visit-label strong{font-size:9px}.play-screen .visit-label small{display:none}
 .play-screen dialog{width:calc(100vw - 20px);margin:auto 10px max(10px,env(safe-area-inset-bottom));border-radius:20px;max-height:calc(100dvh - 32px)}.seed-picker{grid-template-columns:1fr}.plant-summary h3{font-size:16px}.plant-portrait{width:82px;height:105px}.plant-stats>div{padding:11px}.plant-stats dd{font-size:13px}.odds-row{grid-template-columns:107px 1fr 32px}
}
@media(max-height:560px) and (min-width:761px){
 .play-topbar{top:10px}.quick-rail{top:82px;gap:12px}.tool-disc{width:38px;height:38px}.tool-disc>svg{width:21px;height:21px}.tool-label{font-size:8px}.game-tools{right:15px;left:auto;transform:none;gap:10px;bottom:12px}.game-tools .quest-tool{position:fixed;left:15px;bottom:12px}.action-dock{bottom:12px;gap:12px}.action-dock .tool-disc{width:42px;height:42px}.action-dock .tool-label{font-size:9px}.action-dock .float-tool{min-width:51px}.return-home{bottom:14px}.play-screen .toast{bottom:90px}.play-screen .scene #world{width:min(calc(100vw - 150px),calc((100dvh - 30px)*1.2067));top:54%}
}
@media(max-width:360px){.game-tools{gap:10px}.play-account{gap:4px}.play-screen .wallet>svg{display:none}.play-screen .wallet{min-width:56px}.play-screen .xp-track{width:75px}.play-screen .profile strong{font-size:7px}}
