/* Approved welcome controls, loaded last so older responsive rules cannot squeeze the label. */
#adventures{left:8%;right:auto;top:calc(7.2vw + 8px);transform:none;width:min(720px,84vw);display:flex;align-items:center;justify-content:flex-start;gap:14px}
#adventures #farmToTable{flex:0 1 480px;width:auto;min-width:0;min-height:78px;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 22px;border:5px double #f2ca66;border-radius:48px;background:linear-gradient(120deg,#183d26,#315e30,#153522);color:#fff0c5;font:bold clamp(22px,2.7vw,42px) Georgia,serif;box-shadow:inset 0 0 0 2px #8d692c,0 4px 5px #291a0c99}
#adventures #farmToTable img{flex:0 0 auto;width:78px;height:62px;max-width:20%;object-fit:contain}#adventures #farmToTable span{white-space:nowrap;min-width:0}
.eat-cue{pointer-events:auto;flex:none;padding:9px 19px;border:2px solid #dfb859;border-radius:30px;background:#224b2a;color:#ffe694;font:bold italic clamp(16px,1.9vw,28px) Georgia,serif;text-decoration:none;white-space:nowrap;animation:eatPulse 3.5s ease-in-out infinite}
@keyframes eatPulse{0%,100%{box-shadow:0 0 5px #edc75b77;transform:scale(1)}50%{box-shadow:0 0 15px #edc75baa;transform:scale(1.025)}}
#harvestBanner #sendFarmPostcard{position:absolute;left:39.8%;top:15%;width:29%;height:70%;display:flex;align-items:center;justify-content:center;gap:12px;padding:3px 8px;border:3px double #a87524;border-radius:24px;background:linear-gradient(#fff6d7,#f5db9e);color:#153345;font:bold clamp(12px,1.7vw,27px) Georgia,serif;line-height:1.05;box-shadow:0 3px 4px #6b451666;cursor:pointer}#sendFarmPostcard>span:first-child{font-size:1.5em}button:focus-visible,.eat-cue:focus-visible{outline:3px solid #fff0a5;outline-offset:4px}
#farmPostcard{width:min(1000px,94vw);max-height:92svh;overflow:auto;border:3px double #a67d3d;border-radius:18px;padding:24px;background:#fff1d1;color:#452d18}#farmPostcard::backdrop{background:#092a26bb}#farmPostcard h2{text-align:center;margin:0 25px 16px;font:italic 25px Georgia,serif}.post-close{float:right;font-size:28px;background:transparent;border:0;cursor:pointer}#farmPostcardCanvas{width:100%;height:auto;display:block}.post-fields{display:grid;grid-template-columns:1fr 2fr;gap:15px;margin:16px 0}.post-fields label{display:flex;flex-direction:column;gap:6px}.post-fields input,.post-fields textarea{box-sizing:border-box;width:100%;padding:10px;font:17px Georgia,serif;border:1px solid #ad8849;border-radius:6px}.post-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.post-actions button{min-height:44px;padding:8px 18px;border:2px solid #c5a355;border-radius:24px;background:#315432;color:#fff0ce;font:17px Georgia,serif}
@media(max-width:750px){#adventures{top:76px;left:4%;width:92%;gap:8px}#adventures #farmToTable{min-height:54px;padding:5px 10px;border-width:4px;gap:6px;font-size:clamp(17px,4.5vw,28px)}#adventures #farmToTable img{width:48px;height:40px}.eat-cue{font-size:clamp(13px,3.2vw,19px);padding:8px 10px}#harvestBanner #sendFarmPostcard{font-size:clamp(9px,2vw,15px);gap:3px;padding:2px;border-radius:12px}.post-fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.eat-cue{animation:none}}
@media print{body>*{display:none!important}body>#farmPostcard{display:block!important;position:static;width:100%;max-height:none;border:0;padding:0}#farmPostcard>*{display:none!important}#farmPostcard>#farmPostcardCanvas{display:block!important;width:100%}@page{size:landscape;margin:8mm}}
/* Override the original footer's screen-reader-only clipping for this live control. */
#harvestBanner #sendFarmPostcard{clip-path:none!important;overflow:visible!important;z-index:2;visibility:visible;opacity:1}
/* Slow invitation fade; the main activity button stays fully visible. */
.eat-cue{animation:eatFade 4.5s ease-in-out infinite}
@keyframes eatFade{0%,12%,100%{opacity:1}48%,62%{opacity:.06}}
@media(prefers-reduced-motion:reduce){.eat-cue{animation:none;opacity:1}}

@font-face{font-family:HarvestScript;src:url('assets/garden/harvest-script.otf') format('opentype');font-display:swap}

#farmPostcard .post-fields{display:block;max-width:360px;margin:16px auto}

/* Quiet, keyboard-accessible discovery areas over the illustrated crops. */
.farm-discovery{position:absolute;z-index:3;border:0;padding:0;background:transparent;cursor:help;border-radius:35%;touch-action:none}
.farm-discovery:focus-visible{outline:3px dashed #fff2b5;outline-offset:3px;background:#ffec9b18}
#farmDiscoveryCard{position:fixed;z-index:40;width:clamp(100px,12vw,165px);pointer-events:none;filter:drop-shadow(0 5px 7px #1c241c88)}
#farmDiscoveryCard[hidden]{display:none}
#farmDiscoveryCard img{display:block;width:100%;height:auto;border-radius:6px}

#farmDiscoveryCard[data-reveal="milk"]{width:clamp(90px,9.8vw,140px)}
#farmDiscoveryCard[data-reveal="eggs"]{width:clamp(100px,11vw,155px)}

/* Approved phone footer: tagline/audio above a full-width postcard action. */
@media(max-width:750px){
 #harvestBanner{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:'tagline audio' 'postcard postcard';gap:9px 8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(105deg,#eed1a0,#fff3d3 45%,#f0d8aa);border:3px double #b7904d;border-radius:13px 13px 0 0;box-shadow:0 -3px 8px #39251055}
 #harvestBanner>p{grid-area:tagline;position:static;inset:auto;clip-path:none;overflow:visible;width:auto;height:auto;margin:0;font:italic 12px/1.35 Georgia,serif;text-align:center;color:#48290f;align-self:center}
 #harvestBanner .banner-leaf{display:none}
 #harvestBanner #farmSoundControls{grid-area:audio;position:static;inset:auto;clip-path:none;width:100%;height:auto;min-height:38px;padding:5px 6px;gap:4px;align-self:center;border-radius:18px}
 #harvestBanner #farmSoundControls #ambience{display:flex;align-items:center;gap:3px;font-size:11px;min-height:28px;padding:0 2px;flex-shrink:0}
 #harvestBanner #farmSoundControls #ambience span{display:inline}
 #harvestBanner #farmVolume{width:100%;min-width:20px;flex:1}
 #harvestBanner #farmVolumeValue{font-size:9px;min-width:23px}
 #harvestBanner #sendFarmPostcard{grid-area:postcard;position:static;inset:auto;transform:none;clip-path:none;overflow:visible;width:100%;height:auto;min-height:52px;padding:7px 10px;font-size:clamp(16px,4.4vw,22px);line-height:1.15;border-radius:17px;gap:9px}
 #hint{bottom:calc(145px + env(safe-area-inset-bottom));max-width:90vw;white-space:normal;text-align:center}
}

/* Phone radio sits above the footer edge; desktop keeps the illustrated radio. */
#phoneRadio{display:none}
@media(max-width:750px){
 #harvestBanner{grid-template-columns:40% minmax(0,1fr);grid-template-areas:'. audio' 'postcard postcard';grid-template-rows:32px auto;gap:9px 8px;padding:3px 10px calc(10px + env(safe-area-inset-bottom));overflow:visible}
 #harvestBanner>p{display:none}
 #harvestBanner #phoneRadio{display:block;position:absolute;left:3%;right:auto;top:auto;bottom:calc(100% - 34px);clip-path:none;overflow:hidden;width:35%;height:auto;aspect-ratio:1.185;margin:0;isolation:isolate}
 #phoneRadio img{position:absolute;width:434.783%;max-width:none;height:322.581%;left:-47.826%;top:-193.548%;pointer-events:none;clip-path:polygon(11% 91%,11% 74%,12% 70%,14% 66%,16% 63%,20% 60%,24% 60%,28% 63%,31% 68%,33% 73%,34% 91%)}
 #phoneRadio button{position:absolute;left:26.9%;width:59.1%;height:16%;min-height:0;padding:0;background:transparent;border:0;border-radius:12px;cursor:pointer;touch-action:manipulation}
 #phoneRadio button[data-track="flagler"]{top:67%}
 #phoneRadio button[data-track="potato"]{top:83%}
 #phoneRadio button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #ffe08c,0 0 8px #ffd365}
 #phoneRadio button:focus-visible{outline:2px solid #fff2a7;outline-offset:-2px}
 #harvestBanner #farmSoundControls{align-self:center;min-height:28px;padding:1px 6px}
 #world>.radio-front,#world>.song{display:none}
}

.farm-landscape-picture{display:contents}

/* Let Safari handle two-finger page zoom while one-finger farm panning stays custom. */
@media (pointer:coarse){
 #farm,#farm .song,#farm .farm-discovery{touch-action:pinch-zoom}
}
