:root { color-scheme: dark; --bg:#171320; --surface:#211c32; --text:#fff4dd; --muted:#c8bdd5; --accent:#c5e6a0; --border:#746486; font:16px/1.5 system-ui,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); }
main { width:min(100%,960px); margin:auto; padding:24px max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
header { text-align:center; margin-bottom:20px; }
.eyebrow { color:var(--accent); font-size:.75rem; letter-spacing:.18em; margin:0 0 6px; }
h1 { font:500 clamp(1.7rem,4vw,2.3rem)/1.2 Georgia,serif; margin:0 0 8px; }
.subtitle { color:var(--muted); margin:0; }
/* A square in normal flow: every image edge survives every viewport. */
.scene { width:min(100%,720px); position:relative; aspect-ratio:1; margin:0 auto; container-type:inline-size; }
#land { display:block; width:100%; height:100%; object-fit:contain; }
.spot { position:absolute; width:48px; height:48px; min-height:48px; padding:0; border:0; background:transparent; transform:translate(-50%,-50%); display:grid; place-items:center; border-radius:50%; }
.spot:hover,.spot:active { background:transparent; }
.moss { position:absolute; width:3cqw; height:1.5cqw; border:1px dashed #d5eead; border-radius:50%; background:#3c593566; box-shadow:0 0 4px #d5eead33; opacity:.65; }
.spot[aria-pressed="true"] .moss { opacity:1; outline:1px solid #fff4dd; outline-offset:1px; }
.crop { position:absolute; left:50%; top:calc(50% - 6px + clamp(35.5px,6.65625cqw,39.9375px) - clamp(48.8125px,11.09375cqw,71px)); transform:translateX(-50%); width:clamp(44px,10cqw,64px); height:clamp(55px,12.5cqw,80px); overflow:visible; pointer-events:none; filter:drop-shadow(0 1px 1px #171320) drop-shadow(0 0 1px #fff4ddaa); }
/* The moss bed is at 71/80 of the SVG. Keep A's existing root position
   when enlarging its canopy; B/C already grow upward from their anchors. */
.crop image { filter:drop-shadow(0 0 3px #d5eead99); } /* Steady plant-only aura; no pulsing. */
.spot[data-stage="ripe"] .crop image { filter:drop-shadow(0 0 4px #f3d16cbb); }
#spot-B .crop { top:50%; transform:translate(-75%,-100%); } /* Roots stay on the upper terrace, clear of its waterfall. */
#spot-C .crop { top:50%; transform:translate(-50%,-100%); } /* Grow above the moss rim, not over the hollow below. */
.spot[data-stage="empty"] .crop { visibility:hidden; }
.spot[aria-pressed="true"] .crop { filter:drop-shadow(0 1px 1px #171320) drop-shadow(0 0 1px #fff4ddaa) drop-shadow(0 0 3px #d5eead); }
.spot[data-stage="ripe"] .crop { filter:drop-shadow(0 1px 1px #171320) drop-shadow(0 0 1px #fff4ddaa) drop-shadow(0 0 2px #ecdd83); }
.spot[data-stage="ripe"][aria-pressed="true"] .crop { filter:drop-shadow(0 1px 1px #171320) drop-shadow(0 0 1px #fff4ddaa) drop-shadow(0 0 4px #ecdd83); }
#controls,footer { width:min(100%,720px); margin:16px auto 0; }
#controls { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:16px; }
.inventory { display:flex; gap:12px 24px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.inventory strong { color:var(--accent); font-variant-numeric:tabular-nums; margin-left:6px; }
#save-label { color:var(--muted); font-size:.875rem; margin-left:auto; }
#entry { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; }
#entry p { flex:1 1 220px; margin:0; }
.plot-selector,.actions,#recovery { display:flex; flex-wrap:wrap; gap:8px; }
.plot-selector button { flex:1 1 140px; }
button { font:inherit; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:8px; min-height:48px; padding:10px 16px; cursor:pointer; touch-action:manipulation; }
button:hover { background:#342b43; }
button:active { background:#433653; }
button.primary { color:var(--bg); background:var(--accent); border-color:var(--accent); }
button.primary:hover { background:#dcf4c1; }
button:disabled { color:#c8bdd5; background:#342b43; border-color:#746486; cursor:not-allowed; }
.spot:disabled { background:transparent; border:0; cursor:default; }
.plot-selector button[aria-pressed="true"] { border-color:var(--accent); box-shadow:inset 0 -3px var(--accent); }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.spot:focus-visible { outline:3px solid #fff4dd; background:#211c32aa; }
.crop-details { margin:16px 0 8px; display:flex; gap:16px; align-items:center; }
#crop-portrait { flex:0 0 88px; width:88px; height:110px; display:grid; place-items:center; border-radius:16px; background:#171f21; border:1px solid var(--border); }
.crop-portrait { width:80px; height:100px; }
.crop-information { min-width:0; flex:1; }
.plot-caption { margin:0 0 4px; color:var(--muted); font-size:.875rem; }
.crop-facts { margin:8px 0 0; font-size:1rem; }
.crop-facts div { display:flex; flex-wrap:wrap; gap:0 8px; }
.crop-facts dt { color:var(--muted); min-width:6ch; }
.crop-facts dd { margin:0; overflow-wrap:anywhere; }
h2 { font-size:1rem; margin:0; }
#crop-status { color:var(--muted); margin:4px 0 0; font-variant-numeric:tabular-nums; }
progress { display:block; width:100%; height:6px; accent-color:var(--accent); margin:12px 0 16px; border:0; }
progress::-webkit-progress-bar { background:#51445f; border-radius:4px; }
progress::-webkit-progress-value { background:var(--accent); border-radius:4px; }
progress::-moz-progress-bar { background:var(--accent); }
.notice { font-size:.875rem; color:var(--muted); margin:12px 0 0; }
.notice.error { color:#ffd3ca; }
#recovery { margin-top:12px; }
footer { color:var(--muted); font-size:.875rem; text-align:center; }
footer p { margin:4px 0; }
details { margin:12px auto; max-width:60ch; }
summary { cursor:pointer; min-height:44px; padding:10px; }
.skip { position:absolute; left:12px; top:12px; max-width:calc(100% - 24px); transform:translateY(-200%); padding:12px; background:var(--surface); color:var(--text); z-index:10; }
.skip:focus { transform:none; }
[hidden] { display:none !important; }
#ripple { position:absolute; left:58.5%; top:49%; width:18px; height:8px; border:2px solid #c9f4ed; border-radius:50%; opacity:0; pointer-events:none; }
#ripple.play { animation:ripple 700ms ease-out; }
#harvest-effect { position:absolute; width:48px; height:48px; opacity:0; pointer-events:none; }
#harvest-effect img { display:block; width:100%; height:100%; }
@keyframes ripple { from { opacity:1; transform:translate(-50%,-50%) scale(.4); } to { opacity:0; transform:translate(-50%,-50%) scale(3); } }
@media (min-width:768px) and (min-height:650px) { .scene { width:min(100%,720px,max(360px,calc(100svh - 340px))); } }
@media (orientation:landscape) and (max-height:600px) { .scene { width:min(100%,max(128px,calc(100svh - 160px))); } }
@media (max-width:430px) { main { padding-top:16px; } header { margin-bottom:16px; } .eyebrow { letter-spacing:.1em; } .subtitle { font-size:.875rem; } #controls { padding:12px; } #save-label { margin-left:0; } .plot-selector button { flex-basis:100%; } .actions button { flex:1 1 120px; } }
@media (max-width:430px) { .crop-details { gap:12px; align-items:flex-start; } #crop-portrait { flex-basis:72px; width:72px; height:90px; } .crop-portrait { width:64px; height:80px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* Ambient layer shares the intact image's square; crops/effects stay above it. */
#ambient-water { position:absolute; inset:0; pointer-events:none; z-index:1; }
.landscape-water { display:block; width:100%; height:100%; pointer-events:none; }
#spots { position:absolute; inset:0; z-index:2; pointer-events:none; }
#spots .spot { pointer-events:auto; }
#ripple,#harvest-effect { z-index:3; }
#landscape-controls { width:min(100%,720px); margin:16px auto 0; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.landscape-toggles { display:flex; flex-wrap:wrap; gap:8px; }
.landscape-toggles button { flex:1 1 180px; }
.volume-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:0 12px; min-height:48px; margin-top:8px; }
.volume-row input { grid-column:1 / -1; width:100%; min-height:48px; margin:0; accent-color:var(--accent); cursor:pointer; }
.volume-row output { color:var(--muted); font-variant-numeric:tabular-nums; }
#landscape-controls details { margin:8px 0 0; max-width:none; }
#landscape-controls a { color:var(--accent); }
@media (max-width:430px) { #landscape-controls { padding:12px; } }

/* A small collection beneath the landscape, driven by the farm's saved count. */
.harvest-basket { width:min(100%,720px); margin:16px auto 0; padding:16px; border:1px solid var(--border); border-radius:12px; background:#20252a; }
.basket-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 16px; margin-bottom:12px; }
.basket-heading h2 { font:500 1.2rem/1.4 Georgia,serif; }
.basket-caption { color:var(--muted); font-size:.875rem; }
.basket-item { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.basket-item img { width:80px; height:80px; object-fit:contain; flex:0 0 80px; }
.basket-copy { flex:1 1 230px; min-width:0; }
.basket-copy h3 { font:500 1.1rem/1.4 Georgia,serif; margin:0; }
.item-quantity { margin:4px 0; font-variant-numeric:tabular-nums; }
.item-quantity strong { color:#f3d58e; }
.item-description { color:var(--muted); margin:4px 0 0; font-size:.875rem; }
.basket-feedback { margin:12px 0 0; padding:8px 12px; border-left:2px solid var(--accent); color:var(--accent); font-size:.875rem; }
.harvest-receipt-icon { display:inline-block; width:48px; height:48px; vertical-align:middle; margin-right:8px; object-fit:contain; }
.harvest-basket[data-empty="true"] .basket-item img { opacity:.6; }
:is(#item-detail,#flower-detail) { width:min(420px,calc(100% - 32px)); max-height:calc(100svh - 32px); overflow-y:auto; padding:20px; border:1px solid var(--border); border-radius:16px; color:var(--text); background:var(--surface); text-align:center; }
:is(#item-detail,#flower-detail)::backdrop { background:#100d1bcc; }
:is(#item-detail,#flower-detail) [data-item="close"] { display:block; margin:0 0 12px auto; }
:is(#item-detail,#flower-detail) img { display:block; width:128px; height:128px; margin:0 auto 12px; object-fit:contain; }
:is(#item-detail,#flower-detail) h2 { font:500 1.4rem/1.4 Georgia,serif; }
:is(#item-detail,#flower-detail) p { overflow-wrap:anywhere; }
@media (max-width:430px) { .harvest-basket { padding:12px; } .basket-item img { width:64px; height:64px; flex-basis:64px; } .basket-copy { flex-basis:calc(100% - 76px); } .basket-item button { width:100%; } }

/* Decoration-only rules. Existing crop size/glow and ambient layers are intact. */
#decorations-layer { position:absolute; inset:0; z-index:2; pointer-events:none; }
.decoration-sprite { position:absolute; pointer-events:none; }
.decoration-sprite img { display:block; width:100%; height:100%; object-fit:contain; }
.decoration-shadow { position:absolute; left:50%; top:91%; width:59.375%; height:16.667%; transform:translate(-50%,-50%); border-radius:50%; background:#111b1766; filter:blur(.4px); }
.decoration-sprite.is-preview { opacity:.65; outline:1px dashed #d5eead; outline-offset:3px; }
.decoration-collection { width:min(100%,720px); margin:16px auto 0; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.decoration-collection h2 { font:500 1.2rem/1.4 Georgia,serif; }
.decoration-collection details { max-width:none; margin:8px 0 0; }
.decoration-card { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:12px 0; }
.decoration-card img { width:96px; height:96px; flex:0 0 96px; object-fit:contain; }
.decoration-card div { flex:1 1 220px; min-width:0; }
.decoration-card h3 { font:500 1.1rem/1.4 Georgia,serif; margin:0 0 6px; }
.decoration-card p { margin:4px 0; font-size:.875rem; color:var(--muted); }
#decoration-state { color:var(--accent); }
#decoration-actions { margin-top:12px; }
#decoration-actions label { display:block; }
#decoration-location { font:inherit; width:100%; min-height:48px; padding:8px; color:var(--text); background:var(--bg); border:1px solid var(--border); border-radius:8px; margin:8px 0; }
.decoration-buttons { display:flex; flex-wrap:wrap; gap:8px; }
@media (max-width:430px) { .decoration-collection { padding:12px; } .decoration-card div { flex-basis:calc(100% - 108px); } .decoration-buttons button { flex:1 1 120px; } }

/* Species-specific presentation leaves every Lantern Sprout rule intact. */
.spot[data-crop-kind="mossbell-flower"] .crop { filter:drop-shadow(0 1px 1px #171320) drop-shadow(0 0 1px #eee5ff99); }
.spot[data-crop-kind="mossbell-flower"] .crop image { filter:drop-shadow(0 0 1px #ece2ff88); }
.flower-basket-item { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
#lantern-harvest-item[data-empty="true"] .basket-item img,#mossbell-harvest-item[data-empty="true"] .basket-item img { opacity:.6; }
.species-choice { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:12px 0; }
.species-choice select { font:inherit; min-height:48px; max-width:100%; padding:8px 12px; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:8px; }
#upgrade-detail { width:min(480px,calc(100% - 32px)); max-height:calc(100svh - 32px); overflow:auto; padding:20px; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:16px; }
#upgrade-detail::backdrop { background:#100d1bcc; }
#upgrade-detail h2 { font:500 1.4rem/1.4 Georgia,serif; }
#upgrade-detail p { margin:12px 0; }

/* Seed bags describe existing growing varieties; no stock or shop panel. */
#seed-collection{width:min(100%,720px);margin:16px auto 0;padding:16px;background:#202525;border:1px solid var(--border);border-radius:12px}
#seed-collection h2{font:500 1.1rem Georgia,serif}
.seed-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;margin-top:16px}
.seed-card+.seed-card{padding-top:16px;border-top:1px solid #74648666}
.seed-card>img{width:72px;height:72px;object-fit:contain}
.seed-copy{min-width:0}.seed-copy h3{font:500 1rem/1.4 Georgia,serif;margin:0}
.seed-status{font-size:.875rem;color:var(--accent);margin:4px 0}.seed-description{font-size:.875rem;color:var(--muted);margin:0}
.seed-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.seed-actions button{flex:1 1 120px}
.seed-actions button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
.seed-back{display:inline-flex;align-items:center;min-height:48px;padding:8px 0;color:var(--accent)}
#seed-detail{width:min(400px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;border:1px solid var(--border);border-radius:16px;padding:20px;background:var(--surface);color:var(--text)}
#seed-detail::backdrop{background:#100d1bd9}#seed-detail>img{display:block;width:160px;height:160px;object-fit:contain;margin:16px auto}#seed-detail h2{font:500 1.3rem/1.4 Georgia,serif}
@media(min-width:600px){.seed-card{grid-template-columns:72px minmax(0,1fr) 160px}.seed-actions{grid-column:auto}}

/* Two authored views share one continuing guest garden session. */
.view-heading{width:min(100%,720px);margin:0 auto 12px;text-align:center;font:500 1.3rem/1.4 Georgia,serif}
.scene-navigation,.view-message{width:min(100%,720px);margin:12px auto 0}
.scene-navigation{text-align:center}.scene-navigation button{min-width:160px}
#orchard-land{display:block;width:100%;height:100%;object-fit:contain}
html[data-view="orchard"] :is(#home-farming-controls,#seed-collection,#harvest-basket,#decoration-controls,#landscape-controls){display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.orchard-session-caption{display:none;margin:0 0 12px;font-size:.875rem;color:var(--muted)}
html[data-view="orchard"] .orchard-session-caption{display:block}
html[data-view="orchard"] #notice:not(.error){display:none}

/* Orchard: static stage artwork anchored at one reviewed root contact. */
#orchard-tree { position:absolute;left:50%;top:74%;height:auto;pointer-events:none; }
#orchard-shadow { position:absolute;left:50%;top:74.2%;height:2.6%;transform:translate(-50%,-50%);border-radius:50%;background:#29261966;filter:blur(clamp(1px,.4cqw,3px));pointer-events:none; }
#orchard-care { width:min(100%,720px);margin:16px auto;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface); }
#orchard-care h3,#orchard-care h4 { font-family:Georgia,serif;font-weight:500;margin:0 0 8px; }
#orchard-care p { margin:8px 0;overflow-wrap:anywhere; }
.orchard-item { display:flex;align-items:center;gap:16px; }
.orchard-item img { flex:0 0 96px;object-fit:contain;max-width:30%;height:auto; }
.orchard-item>div { min-width:0; }
.orchard-actions { display:flex;flex-wrap:wrap;gap:8px; }
#plum-fruit { border-top:1px solid var(--border);padding-top:16px;margin-top:16px; }
#tree-summary { margin:16px 0; }
#tree-progress { width:100%; }
#orchard-message { color:var(--accent); }
#orchard-save-status.error { color:#ffcebd; }

/* Living Sky: the existing #land and every overlay keep one source plane. */
body{position:relative;isolation:isolate}
html[data-presentation="sky"]:not([data-view="orchard"]) body::before{content:"";position:absolute;inset:0 0 auto;height:max(100svh,var(--living-sky-height,100svh));z-index:-1;background:#8572ba url('./assets/living-sky/sky.webp') center top/cover no-repeat;pointer-events:none}
.world-presentation,.cloudfall-caption{width:min(100%,720px);margin:12px auto;text-align:center}
.presentation-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.presentation-actions button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
#world-camera{position:relative}
.sky-water,.sky-lower{position:absolute;height:auto;pointer-events:none}
.sky-water{z-index:1}
.sky-left{left:23.201733576642336%;top:56.70802919708029%;width:17.471532846715327%}
.sky-right{left:67.24480223123731%;top:57.5%;width:19.472616632860045%}
.sky-lower{left:19.128676470588232%;top:68.7%;width:69.20588235294119%;z-index:0}
#sky-contact-mist{clip-path:polygon(12% 84%,88% 84%,88% 100%,12% 100%);filter:blur(.8px);opacity:.24}
#sky-water-motion{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
html[data-presentation="sky"] #world-camera{width:min(100%,720px);aspect-ratio:1254/2000;margin:12px auto;overflow:hidden}
html[data-presentation="sky"] #living-world{position:relative;width:127.591706539%;aspect-ratio:1600/2000;margin-left:-13.7958532695%}
html[data-presentation="sky"] #home-scene{position:absolute;left:10.8125%;top:2%;width:78.375%;margin:0;z-index:2}
.cloudfall-caption{padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.cloudfall-caption h3{font:500 1.3rem/1.4 Georgia,serif;margin:0}
.cloudfall-caption p{margin:8px 0;color:var(--muted)}
html[data-presentation="sky"]:not([data-view="orchard"]) header{width:fit-content;max-width:100%;margin:0 auto 20px;padding:8px 12px;border-radius:12px;background:#211c32e8}
html[data-presentation="sky"] #home-heading,html[data-presentation="sky"] .world-presentation{background:#211c32e8;border-radius:12px;padding:8px}

/* Existing effect patches/glow remain inside the accepted foreground alpha. */
html[data-presentation="sky"] #ambient-water{mask-image:url('./assets/living-sky/upper.png');mask-mode:alpha;mask-size:100% 100%;mask-repeat:no-repeat}

/* Floating Pond: existing controls live in accessible, temporary sheets. */
html.pond-menu-ready{scrollbar-gutter:stable}
html.pond-modal-open{overflow:hidden}
.pond-trigger{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));z-index:8;display:flex;align-items:center;gap:10px;min-height:48px;background:#241c35f2;box-shadow:0 4px 20px #130c2233;font-size:.8rem;letter-spacing:.08em}
html.pond-menu-ready main{padding-top:84px}
html.pond-menu-ready main>header{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html.pond-menu-ready #world-presentation{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%)}
/* Keep original click delegates, but exclude clipped buttons from keyboard focus.
   The live presentation-status remains exposed for announcements. */
html.pond-menu-ready #world-presentation button{display:none}
html.pond-menu-ready :is(#visit-orchard,#return-mossmere){display:none}
html.pond-menu-ready #controls{background:#211c32dc}
html.pond-menu-ready .inventory{font-size:.8rem;margin-bottom:0;gap:4px 16px}
html.pond-menu-ready #controls:has(#entry:not([hidden])){margin-top:16px}
html.pond-menu-ready #controls:has(#entry[hidden]){border:0;padding:8px 12px}
html.pond-menu-ready #controls .notice:empty{display:none}
html.pond-menu-ready #cloudfall-caption{background:#251c36c9;border-color:#b09ac52e}
.pond-drawer,.pond-sheet{color:var(--text);background:#241c35fa;border:1px solid #9e87b080;box-shadow:0 12px 70px #100a2866;padding:0}
.pond-drawer::backdrop,.pond-sheet::backdrop{background:#100b1e80}
.pond-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(336px,calc(100% - 16px));max-width:none;height:100dvh;max-height:none;border:0;border-right:1px solid #b9a1cb80;border-radius:0 20px 20px 0;overflow:hidden}
.pond-drawer[open] .pond-drawer-shell{animation:pond-drawer-in 170ms ease-out}
@keyframes pond-drawer-in{from{transform:translateX(-16px);opacity:.75}to{transform:translateX(0);opacity:1}}
.pond-drawer-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}
.pond-drawer-header,.pond-sheet-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 20px 18px;padding-top:max(24px,env(safe-area-inset-top));border-bottom:1px solid #b09ac52e}
.pond-drawer-header h2{font:500 1.65rem/1.3 Georgia,serif}
.pond-drawer-header .eyebrow{font-size:.62rem}
.pond-close{min-width:64px;min-height:48px;padding:8px;background:#372a48}
.pond-drawer-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:20px 16px 12px}
.pond-menu-group+.pond-menu-group{margin-top:24px;padding-top:20px;border-top:1px solid #c0a9d02b}
.pond-menu-group h3{font:500 .68rem/1.4 system-ui,sans-serif;letter-spacing:.16em;color:#c1adce;margin:0 12px 10px}
.pond-menu-item{width:100%;display:flex;align-items:center;gap:8px;text-align:left;min-height:48px;border-color:transparent;border-radius:10px;background:transparent;padding:10px 12px;font-size:.9rem;margin-top:3px}
.pond-menu-item:hover{border-color:#b8a3ca4d;background:#b09ac512}
.pond-menu-item[aria-current=page],.pond-menu-item[aria-pressed=true]{background:#aabf8d13;border-color:#d6e8b94d;color:var(--accent)}
.pond-menu-item:disabled{background:transparent;border-color:transparent;color:#ab9dbb}
.pond-drawer-footer{padding:16px 24px;padding-bottom:max(16px,env(safe-area-inset-bottom));border-top:1px solid #b09ac52e;display:flex;gap:12px;align-items:center}
.pond-drawer-footer p{font:italic .95rem/1.4 Georgia,serif;color:#e2d0b6;margin:0}
.pond-mark{width:20px;height:12px;border:1px solid #b7d49b;border-radius:50%;position:relative;flex:none}
.pond-mark:after{content:"";width:8px;height:5px;position:absolute;left:6px;top:-4px;border-radius:8px 0;background:#b7d49b;transform:rotate(-20deg)}
.pond-sheet{position:fixed;inset:88px max(24px,env(safe-area-inset-right)) auto auto;margin:0;width:min(480px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 112px);border-radius:18px;overflow:hidden}
.pond-sheet-shell{display:flex;flex-direction:column;max-height:inherit}
.pond-sheet-header{padding:18px 20px;flex:none}
.pond-sheet-header h2{font:500 1.4rem/1.3 Georgia,serif}
.pond-sheet-body{padding:16px 20px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin}
.pond-sheet-body>:first-child{margin-top:0}
.pond-sheet-body :is(#seed-collection,#harvest-basket,#decoration-controls,#landscape-controls,#orchard-care){width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.pond-sheet-body #seed-collection{margin-top:24px;padding-top:16px;border-top:1px solid #b09ac52e}
.pond-sheet-body .seed-card{grid-template-columns:64px minmax(0,1fr)}
.pond-sheet-body .seed-card>img{width:64px;height:64px}
.pond-sheet-body .seed-actions{grid-column:1/-1}
.pond-sheet-body .plot-selector button{flex-basis:100%}
.pond-sheet-body .basket-copy{flex-basis:220px}
.pond-sheet-body .decoration-card>div{flex-basis:220px}
.pond-sheet-body .basket-item button{width:100%}
.pond-sheet-body .actions button{flex:1 1 120px}
.pond-sheet-footer{padding:12px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid #b09ac52e;flex:none}
.pond-sheet-footer button{width:100%}
.pond-farm-feedback{margin:0 0 12px}
.pond-farm-feedback:empty{display:none}
.pond-tree-shortcut{display:block;margin:12px auto;background:#30273fe8}
.pond-tree-error{max-width:720px;margin:12px auto;padding:12px;background:#211c32e8;border:1px solid #c99b91;border-radius:12px}
@media(max-width:600px){.pond-sheet{inset:auto 12px max(12px,env(safe-area-inset-bottom));max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.pond-sheet-header{padding:14px 16px}.pond-sheet-body{padding:16px}.pond-sheet-header h2{font-size:1.2rem}.pond-trigger{font-size:.72rem;padding:9px 12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.pond-drawer[open] .pond-drawer-shell{animation:none}}

/* Preferences may be inspected in the orchard; the original audio lifecycle stays paused. */
html[data-view="orchard"] #pond-preferences[open] #landscape-controls{display:block!important}

.guest-start-panel{width:min(100%,720px);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;gap:8px 16px;flex-wrap:wrap}.guest-start-panel p{margin:0;font-size:.8rem}.guest-start-panel button{min-height:48px}.guest-start-panel[hidden]{display:none}.portal-world-navigation{display:grid;gap:8px}.portal-world-navigation a{min-height:48px;display:flex;align-items:center;text-decoration:none}
/* Header R1: one row for the menu and Home label; recover its old flow row. */
html.pond-menu-ready[data-view="home"] #home-heading{
 position:absolute;top:max(16px,env(safe-area-inset-top));
 left:max(152px,calc((100% - 720px)/2));right:max(16px,calc((100% - 720px)/2));
 width:auto;min-height:48px;margin:0;display:flex;align-items:center;justify-content:center;
 padding:8px 12px;font-size:clamp(.9rem,2vw,1.25rem);line-height:1.2;
 background:#211c32e8;border-radius:12px;text-align:center;
}
html.pond-menu-ready[data-view="home"] #world-camera{margin-top:0}

/* Three independent orchard specimens. */
#tree-species{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}#tree-species button{min-height:44px}#tree-species [aria-pressed="true"]{outline:2px solid currentColor;outline-offset:2px}.orchard-side-tree{position:absolute;pointer-events:none;z-index:2}.orchard-side-tree img{display:block;width:100%;height:auto}.orchard-side-tree img+img{position:absolute;inset:0}#orchard-tree,#orchard-blossoms{z-index:3}
