/* FarmDew Phase 3 arrival screen.
   Presentation only: renderer readiness stays with farmdew-scene.js and
   Farmhand identity/configuration stays with farmdew-farmhand.js. */

.farmdew-arrival{display:none}
html.farmdew-arrival-pending .farmdew-arrival{
  position:fixed;
  inset:0;
  z-index:2200;
  display:grid;
  place-items:center;
  width:100%;
  min-height:100svh;
  height:var(--farmdew-visual-height,100dvh);
  padding:
    max(24px,env(safe-area-inset-top))
    max(18px,env(safe-area-inset-right))
    max(24px,env(safe-area-inset-bottom))
    max(18px,env(safe-area-inset-left));
  overflow:hidden;
  background:
    linear-gradient(180deg,#6ea86a 0 45%,#9bca78 45% 53%,#7ca75f 53% 100%);
  color:#fff6d5;
  text-align:center;
  opacity:1;
  visibility:visible;
  transition:opacity .28s ease,transform .28s ease;
  animation:farmdew-arrival-failsafe 0s linear 14s forwards;
  touch-action:none;
}
html.farmdew-arrival-ready .farmdew-arrival{
  opacity:0;
  transform:scale(1.025);
  pointer-events:none;
}
html.farmdew-modern-failed .farmdew-arrival{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.farmdew-arrival::before,
.farmdew-arrival::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  pointer-events:none;
}
.farmdew-arrival::before{
  top:0;
  height:46%;
  background:
    radial-gradient(circle at 78% 26%,#ffe58a 0 7%,transparent 7.5%),
    linear-gradient(180deg,#77b9d6 0,#9fd2dc 66%,transparent 67%);
}
.farmdew-arrival::after{
  bottom:0;
  height:48%;
  background:
    repeating-linear-gradient(90deg,transparent 0 29px,rgba(65,89,48,.12) 29px 31px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 7px,rgba(44,74,37,.06) 7px 14px);
}

.farmdew-arrival-card{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  width:min(100%,360px);
  gap:10px;
  padding:18px 18px 20px;
  border:3px solid #4d3b27;
  border-radius:16px;
  background:rgba(50,71,39,.9);
  box-shadow:0 14px 0 rgba(55,44,29,.22),inset 0 0 0 2px rgba(255,241,190,.12);
}
.farmdew-arrival-kicker{
  margin:0;
  color:#f2d985;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.farmdew-arrival-title{
  margin:0;
  color:#fff1ad;
  font-size:clamp(2.2rem,13vw,3.4rem);
  line-height:.9;
  letter-spacing:-.055em;
  text-shadow:0 4px 0 #4a3825,2px 0 0 #4a3825,-2px 0 0 #4a3825;
}
.farmdew-arrival-status{
  min-height:1.5em;
  margin:2px 0 0;
  color:#f8edc5;
  font-size:.86rem;
  font-weight:700;
}

.farmdew-arrival-stage{
  position:relative;
  width:min(100%,260px);
  height:144px;
  margin:3px 0 1px;
  overflow:hidden;
  border:3px solid #4b3723;
  border-radius:12px;
  background:
    linear-gradient(180deg,#8bc3dc 0 52%,#8db56b 52% 67%,#b68b51 67% 100%);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.16);
}
.farmdew-arrival-stage::before{
  content:"";
  position:absolute;
  left:-6%;
  right:-6%;
  bottom:0;
  height:47px;
  background:repeating-linear-gradient(90deg,#a87842 0 20px,#bd8c50 20px 40px);
  clip-path:polygon(0 18%,100% 0,100% 100%,0 100%);
}
.farmdew-arrival-stage::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:38px;
  width:76px;
  height:34px;
  transform:translateX(-50%);
  border:5px solid #6d4d2c;
  border-bottom:0;
  background:
    linear-gradient(90deg,transparent 0 16px,#6d4d2c 16px 21px,transparent 21px 50px,#6d4d2c 50px 55px,transparent 55px);
}
.farmdew-arrival-farmer{
  position:absolute;
  left:50%;
  bottom:8px;
  z-index:2;
  transform:translateX(-50%);
  opacity:1;
  transition:opacity .18s ease;
}
html.farmdew-farmhand-pending .farmdew-arrival-farmer{opacity:0}

.farmdew-arrival-dots{
  display:flex;
  gap:6px;
  min-height:8px;
  align-items:center;
  justify-content:center;
}
.farmdew-arrival-dots span{
  width:7px;
  height:7px;
  border-radius:2px;
  background:#f3d778;
  box-shadow:0 2px 0 rgba(53,42,28,.28);
  animation:farmdew-arrival-dot .9s steps(2,end) infinite;
}
.farmdew-arrival-dots span:nth-child(2){animation-delay:.15s}
.farmdew-arrival-dots span:nth-child(3){animation-delay:.3s}

@keyframes farmdew-arrival-dot{
  0%,100%{transform:translateY(0);opacity:.45}
  50%{transform:translateY(-4px);opacity:1}
}
@keyframes farmdew-arrival-failsafe{
  to{visibility:hidden;pointer-events:none}
}

@media(max-width:360px){
  html.farmdew-arrival-pending .farmdew-arrival{padding-inline:max(12px,env(safe-area-inset-left))}
  .farmdew-arrival-card{width:min(100%,328px);padding:14px 13px 16px}
  .farmdew-arrival-stage{height:124px}
  .farmdew-arrival-title{font-size:2.45rem}
}

@media(orientation:landscape) and (max-height:520px){
  html.farmdew-arrival-pending .farmdew-arrival{align-items:start;overflow:auto}
  .farmdew-arrival-card{grid-template-columns:118px minmax(0,1fr);align-items:center;text-align:left;width:min(620px,96vw);padding:10px 14px}
  .farmdew-arrival-stage{grid-row:1 / span 4;width:118px;height:104px;margin:0}
  .farmdew-arrival-title{font-size:2.15rem}
  .farmdew-arrival-status{font-size:.78rem}
  .farmdew-arrival-dots{justify-content:flex-start}
}

@media(prefers-reduced-motion:reduce){
  html.farmdew-arrival-pending .farmdew-arrival{transition:none!important}
  .farmdew-arrival-dots span{animation:none!important;opacity:.8}
}
