:root{
  --ink:#3a2141;
  --pink:#ef63ae;
  --purple:#6e3c93;
  --cream:#fff6fb;
  --wood-dark:#55351f;
  --wood-mid:#8b5b32;
  --wood-light:#efd39a;
}

*{box-sizing:border-box}
html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#21112d}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Thai",sans-serif;color:var(--ink)}
button,input,select{font:inherit}
button{touch-action:manipulation}
.hidden{display:none!important}
.screen{width:100%;height:100dvh;min-height:100svh}

/* ===== หน้าเข้าสู่เกมเดิม ===== */
.login-screen{position:fixed;inset:0;overflow:hidden;background:#21112d}
.art-board{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;isolation:isolate}
.login-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;user-select:none;-webkit-user-drag:none}
.hotspot{position:absolute;z-index:3;border:0;outline:none;background:rgba(10,7,10,.22);color:#f8ead1;font-weight:850;border-radius:2.1vw;padding:0 4%;-webkit-appearance:none;appearance:none;text-shadow:0 1px 2px rgba(0,0,0,.9)}
.hotspot::placeholder{color:rgba(248,234,209,.72)}
.hotspot:focus{background:rgba(20,10,22,.42);box-shadow:0 0 0 2px rgba(209,129,171,.78)}
.member-field{left:14.15%;top:56.85%;width:40.45%;height:4.45%;font-size:clamp(13px,3.15vw,21px);padding-right:9%}
.code-field{left:14.15%;top:66.45%;width:40.45%;height:4.45%;font-size:clamp(13px,3.05vw,20px)}
.player-field{display:none!important}
.tap-area{position:absolute;z-index:4;border:0;background:transparent;cursor:pointer;border-radius:2vw;-webkit-tap-highlight-color:transparent}
.tap-area:active{background:rgba(255,255,255,.10)}
.start-area{left:10.25%;top:72.5%;width:46.1%;height:7.15%;border-radius:4vw}
.how-area,.menu-area,.settings-area,.reward-area{display:none!important}
.login-error{position:absolute;z-index:6;left:8%;top:80.7%;width:49%;margin:0;text-align:center;color:#ffd4e4;font-weight:900;font-size:clamp(11px,2.5vw,16px);text-shadow:0 2px 3px #160d15}

/* ===== หน้าสวนพื้นหลังใหม่ 12 แปลง ===== */
.game-screen{
  position:fixed;
  inset:0;
  overflow:hidden;
  background-image:url("farm-page-template.jpeg?v=4");
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  isolation:isolate;
}

/* ===== สัตว์เลี้ยงเดินเล่นเฉพาะสวน Aida ===== */
.aida-farm-pet-layer{
  position:absolute;
  inset:0;
  z-index:19;
  overflow:hidden;
  pointer-events:none;
  contain:layout paint;
}
.aida-farm-pet{
  position:absolute;
  left:0;
  top:0;
  width:clamp(58px,15.5vw,104px);
  aspect-ratio:314/418;
  transform:translate3d(0,0,0);
  transform-origin:center bottom;
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  pointer-events:auto;
  cursor:pointer;
  touch-action:manipulation;
}
.aida-farm-pet.pet-cat{width:clamp(76px,20.5vw,134px)}
/* CAT-09 ถึง CAT-12: ลดขนาดเฉพาะ 4 ตัวใหม่ ไม่กระทบ CAT-01 ถึง CAT-08 */
.aida-farm-pet.pet-cat.pet-cat-09-12{width:clamp(64px,17.4vw,114px)}
.aida-farm-pet.pet-cat.pet-cat-09-12::before{
  background:rgba(20,13,22,.70);
  opacity:1;
  filter:blur(2.2px);
}
.aida-farm-pet::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  bottom:var(--pet-shadow-bottom,22%);
  width:var(--pet-shadow-width,48%);
  height:8.5%;
  border-radius:50%;
  background:rgba(20,13,22,.48);
  filter:blur(2.5px);
  transform:translateX(-50%) scaleX(1);
  transform-origin:center;
  opacity:.94;
  pointer-events:none;
}
.aida-farm-pet.is-walking::before{animation:aidaPetShadowStep 1450ms ease-in-out infinite}
@keyframes aidaPetShadowStep{
  0%,50%,100%{transform:translateX(-50%) scaleX(.95);opacity:.90}
  25%,75%{transform:translateX(-50%) scaleX(1.04);opacity:.98}
}
.aida-farm-pet-sprite{
  position:absolute;
  z-index:1;
  inset:0;
  background-image:none;
  background-repeat:no-repeat;
  background-size:400% 300%;
  background-position:0 0;
  transform:translateZ(0) scaleX(1);
  transform-origin:center bottom;
  scale:var(--pet-art-scale,1);
  opacity:1;
  transition:opacity 170ms ease-out,scale 135ms ease-in-out;
  will-change:transform,background-position,scale,opacity;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  image-rendering:auto;
  filter:drop-shadow(0 2px 2px rgba(40,24,24,.18));
}
.aida-farm-pet-sprite.is-changing-pose{opacity:.08;scale:calc(var(--pet-art-scale,1) * .97)}
.aida-farm-pet-sprite.is-walking{
  background-size:400% 200%;
}
.aida-farm-pet-sprite.face-left{transform:translateZ(0) scaleX(-1)}
.game-screen.plot-page-2 .aida-farm-pet-layer,
.game-screen.hidden .aida-farm-pet-layer{display:none!important}
@media (prefers-reduced-motion:reduce){.aida-farm-pet,.aida-farm-pet-sprite{will-change:auto}.aida-farm-pet.is-walking::before{animation:none}}

.pet-test-button{
  position:absolute;
  z-index:74;
  left:3.5%;
  top:27.5%;
  border:1px solid rgba(255,255,255,.65);
  border-radius:999px;
  padding:7px 11px;
  background:linear-gradient(135deg,#432052,#7f416d);
  color:#fff;
  font:700 clamp(10px,2.7vw,13px)/1.1 inherit;
  box-shadow:0 4px 12px rgba(30,12,36,.28);
}
.pet-test-panel{
  position:absolute;
  z-index:90;
  left:3%;
  right:3%;
  bottom:14.5%;
  max-height:42%;
  overflow:auto;
  padding:10px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:16px;
  background:rgba(33,17,45,.94);
  color:#fff8e9;
  box-shadow:0 10px 28px rgba(22,8,28,.42);
  backdrop-filter:blur(8px);
}
.pet-test-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pet-test-heading b{font-size:14px}
.pet-test-heading button{width:29px;height:29px;border:0;border-radius:50%;background:#fff2dc;color:#442348;font-size:20px}
.pet-test-help{margin:0 0 9px;color:#eadcea;font-size:11px;line-height:1.35}
.pet-test-section-title{display:block;margin:8px 0 5px;font-size:12px;color:#ffd986}
.pet-test-list{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pet-test-choice{min-height:38px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:#f1d49d;color:#3c223e;font-size:11px;font-weight:800}
.pet-test-choice:active{transform:scale(.96);background:#fff0c8}
.pet-test-panel>small{display:block;margin-top:7px;color:#dac4da;font-size:9px;text-align:center}
.pet-test-active-panel{position:absolute;z-index:91;left:8%;right:8%;bottom:15%;padding:12px;border:1px solid rgba(255,255,255,.5);border-radius:16px;background:rgba(33,17,45,.96);color:#fff8e9;text-align:center;box-shadow:0 10px 28px rgba(22,8,28,.42)}
.pet-test-active-panel b,.pet-test-active-panel span{display:block}.pet-test-active-panel span{margin:5px 0 10px;font-size:10px;color:#dac4da}.pet-test-active-panel div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pet-test-active-panel button{min-height:38px;border:0;border-radius:10px;background:#f1d49d;color:#3c223e;font-weight:800}.pet-test-active-panel #petTestStopBtn{background:#a83e60;color:#fff}
@media (min-width:700px){
  .pet-test-panel{left:auto;right:18px;bottom:18px;width:390px;max-height:390px}
  .pet-test-button{left:18px;top:170px}
  .pet-test-active-panel{left:auto;right:18px;bottom:18px;width:350px}
}

.garden,.plots{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0}
.garden{z-index:18;pointer-events:none}
.plots{pointer-events:none}
.plot{
  position:absolute;
  width:25.6%;
  height:10.8%;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  overflow:visible;
  cursor:pointer;
  pointer-events:auto;
  -webkit-tap-highlight-color:transparent;
}
.plot:active{transform:scale(.985)}

/* ตำแหน่งแปลง 1–12 ให้ตรงกับภาพใหม่ */
.plot:nth-child(1),.plot:nth-child(4),.plot:nth-child(7),.plot:nth-child(10){left:6.4%}
.plot:nth-child(2),.plot:nth-child(5),.plot:nth-child(8),.plot:nth-child(11){left:37.2%}
.plot:nth-child(3),.plot:nth-child(6),.plot:nth-child(9),.plot:nth-child(12){left:67.7%}
.plot:nth-child(1),.plot:nth-child(2),.plot:nth-child(3){top:38.5%}
.plot:nth-child(4),.plot:nth-child(5),.plot:nth-child(6){top:50.5%}
.plot:nth-child(7),.plot:nth-child(8),.plot:nth-child(9){top:62.7%}
.plot:nth-child(10),.plot:nth-child(11),.plot:nth-child(12){top:75.2%}

.plot-no{display:none!important}
.plot-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1% 2% 0;text-align:center;overflow:visible}
.plot.empty .plot-inner{opacity:0}
.crop{width:100%;height:68%;display:flex;align-items:center;justify-content:center;overflow:visible}
.crop img.crop-img{display:block;width:clamp(50px,12.5vw,100px);height:clamp(50px,12.5vw,100px);max-width:none;max-height:none;object-fit:contain;object-position:center;filter:drop-shadow(0 4px 4px rgba(0,0,0,.38));transform:none}
.crop img.stage-seed{width:clamp(38px,8vw,66px);height:clamp(38px,8vw,66px)}
.crop img.stage-sprout{width:clamp(45px,9.5vw,78px);height:clamp(45px,9.5vw,78px)}
.crop img.stage-grow{width:clamp(52px,11vw,90px);height:clamp(52px,11vw,90px)}
.crop img.stage-ready{width:clamp(62px,14.5vw,116px);height:clamp(62px,14.5vw,116px);transform:translateY(-3%)}
.crop-name{max-width:96%;margin-top:-3%;padding:2px 5px;border-radius:999px;background:rgba(66,38,18,.72);color:#fff;font-size:clamp(7px,1.9vw,12px);line-height:1.05;font-weight:900;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.timer{margin-top:2px;padding:2px 5px;border-radius:999px;background:rgba(68,42,23,.82);color:#fff;font-size:clamp(7px,1.75vw,11px);line-height:1;font-weight:900;white-space:nowrap}
.status-badge{position:absolute;right:1%;top:3%;width:clamp(30px,7.2vw,55px);height:clamp(30px,7.2vw,55px);object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.42));z-index:5}

/* ===== รูปโปรไฟล์แบบวงกลม ปิดกรอบเต็ม ===== */
.avatar-button{
  position:absolute;
  left:1.7%;
  top:1.35%;
  width:15.7%;
  aspect-ratio:1/1;
  z-index:85;
  padding:0;
  border:clamp(3px,.75vw,6px) solid rgba(163,106,64,.96);
  border-radius:50%;
  background:linear-gradient(180deg,rgba(82,55,88,.99),rgba(43,29,53,.99));
  overflow:hidden;
  box-shadow:0 5px 12px rgba(39,18,42,.42),inset 0 1px rgba(255,238,198,.24),inset 0 0 0 2px rgba(28,12,34,.5);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.avatar-button:active{transform:scale(.97)}
#playerAvatar{display:none;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 55%;transform:scale(1.16);background:transparent}
#playerAvatar.has-avatar{display:block}
#avatarPlaceholder{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(28px,8vw,58px)}
#playerAvatar.has-avatar + #avatarPlaceholder{display:none}
.profile-name-button{
  position:absolute;
  left:1.1%;
  top:12.05%;
  width:17%;
  height:3.15%;
  z-index:86;
  padding:0 4px;
  border:1.5px solid rgba(163,106,64,.92);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(82,55,88,.98),rgba(43,29,53,.98));
  color:#fff0c9;
  font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;
  font-size:clamp(8px,2.15vw,13px);
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 1px 2px rgba(14,6,18,.9);
  box-shadow:0 4px 9px rgba(39,18,42,.34),inset 0 1px rgba(255,238,198,.18);
  cursor:pointer;
}

/* ชื่ออิสระบนป้ายไม้ในภาพ */
.top-player-name-button{
  position:absolute;
  left:2%;
  top:25.25%;
  width:30%;
  height:6.7%;
  z-index:82;
  padding:0 5%;
  border:0;
  background:transparent;
  color:#f8e7b9;
  font-size:clamp(13px,4vw,28px);
  line-height:1.08;
  font-weight:950;
  text-align:center;
  white-space:normal;
  overflow:hidden;
  text-shadow:0 2px 0 #50301d,0 3px 5px rgba(30,15,10,.6);
  cursor:pointer;
  transform:rotate(-1.7deg);
  -webkit-tap-highlight-color:transparent;
}
.top-player-name-button:active{transform:rotate(-1.7deg) scale(.97)}

/* ===== เวลาไทย / ฝน / พยากรณ์ ===== */
.weather-clock,.rain-status,.forecast-button,.merit-status,.mode-button{
  position:absolute;
  top:2.2%;
  z-index:84;
  overflow:hidden;
  border:2px solid rgba(151,101,60,.88);
  background:
    linear-gradient(112deg,transparent 0 42%,rgba(255,255,255,.045) 43% 45%,transparent 46% 100%),
    linear-gradient(180deg,rgba(82,55,88,.97),rgba(43,29,53,.97));
  color:#fff0c9;
  font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;
  text-shadow:0 1px 2px rgba(14,6,18,.9);
  box-shadow:
    0 5px 11px rgba(39,18,42,.38),
    inset 0 1px rgba(255,238,198,.22),
    inset 0 0 12px rgba(25,9,32,.32);
}
.weather-clock::after,.rain-status::after,.forecast-button::after,.merit-status::after,.mode-button::after{
  position:absolute;
  right:3px;
  top:-5px;
  opacity:.22;
  font-size:clamp(13px,3.3vw,21px);
  pointer-events:none;
  filter:grayscale(.25);
}
.weather-clock::after{content:"👁️"}
.rain-status::after{content:"👻"}
.forecast-button::after{content:"🔮"}
.merit-status::after{content:"🕯️"}
.mode-button::after{content:"🪄"}
.weather-clock{
  left:21.2%;
  width:22.5%;
  height:5.3%;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  pointer-events:none;
}
.weather-clock-emoji{font-size:clamp(16px,4.2vw,29px);line-height:1}
.thai-clock{font-size:clamp(14px,3.65vw,25px);line-height:1;font-weight:850;letter-spacing:.35px}
.rain-status{
  left:45.4%;
  width:29.8%;
  min-height:5.3%;
  border-radius:15px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  padding:3px 5px;
  text-align:center;
  pointer-events:none;
}
.rain-status strong{font-size:clamp(8px,2.25vw,14px);line-height:1.05;font-weight:950}
.rain-status span{font-size:clamp(13px,3.6vw,23px);line-height:1;font-weight:950;color:#f3c7ff}
.forecast-button{
  left:77%;
  width:20.5%;
  height:5.3%;
  border-radius:15px;
  padding:0 4px;
  font-size:clamp(9px,2.5vw,15px);
  line-height:1.05;
  font-weight:950;
  cursor:pointer;
}

.merit-status{
  left:45.4%;
  top:8.15%;
  width:29.8%;
  height:4.5%;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:2px 8px;
  text-align:center;
  pointer-events:none;
}
.merit-status span{font-size:clamp(8px,2.15vw,13px);line-height:1;font-weight:950}
.merit-status strong{font-size:clamp(13px,3.5vw,22px);line-height:1;color:#ffd878;letter-spacing:1px}
.forecast-button:active,.mode-button:active{transform:scale(.97)}
.mode-button{
  position:absolute;
  left:77%;
  top:8.15%;
  width:20.5%;
  height:4.5%;
  z-index:84;
  overflow:hidden;
  border:2px solid rgba(151,101,60,.88);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(82,55,88,.97),rgba(43,29,53,.97));
  color:#fff0c9;
  padding:0 4px;
  font-size:clamp(8px,2.15vw,13px);
  font-weight:850;
  cursor:pointer;
  box-shadow:0 5px 11px rgba(39,18,42,.38),inset 0 1px rgba(255,238,198,.22),inset 0 0 12px rgba(25,9,32,.32);
}
.scene-hotspot{position:absolute;z-index:76;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.scene-hotspot:active{background:rgba(255,255,255,.055);border-radius:20%}
.house-hotspot{left:31%;top:22%;width:14%;height:11.8%}
.well-hotspot{left:82%;top:24%;width:16%;height:13.5%}

/* ปรับจุดสัมผัสเล็กน้อยตามองค์ประกอบของแต่ละโหมด */
.game-screen[data-farm-mode="haunted"] .house-hotspot{left:31%;top:21.5%;width:14%;height:12%}
.game-screen[data-farm-mode="winter"] .house-hotspot{left:31%;top:20.8%;width:14%;height:12%}
.game-screen[data-farm-mode="festival"] .house-hotspot{left:31.5%;top:21%;width:14%;height:12%}
.game-screen[data-farm-mode="haunted"] .well-hotspot,.game-screen[data-farm-mode="winter"] .well-hotspot,.game-screen[data-farm-mode="festival"] .well-hotspot{left:82%;top:23.5%;width:16%;height:14%}

/* เอฟเฟกต์ฝนจริง 30 วินาที */
.rain-overlay{position:absolute;inset:0;z-index:60;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease}
.rain-overlay::before{content:"";position:absolute;inset:0;background:rgba(18,31,51,.22);backdrop-filter:brightness(.84) saturate(.88);-webkit-backdrop-filter:brightness(.84) saturate(.88)}
.game-screen.raining .rain-overlay{opacity:1;visibility:visible}
.rain-drops{position:absolute;inset:0;overflow:hidden}
.rain-drop{position:absolute;top:-24vh;width:2px;height:var(--drop-length,20px);border-radius:999px;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(210,235,255,.96));opacity:var(--drop-opacity,.75);animation:ghostRainFall var(--drop-speed,.9s) linear infinite;animation-delay:var(--drop-delay,0s);will-change:transform}
@keyframes ghostRainFall{from{transform:translate3d(0,-20vh,0) rotate(11deg)}to{transform:translate3d(-46px,132vh,0) rotate(11deg)}}
.weather-toast{position:absolute;left:50%;top:13.4%;z-index:90;max-width:78%;padding:8px 14px;border-radius:999px;background:rgba(54,35,75,.94);color:#fff;font-size:clamp(12px,3vw,18px);font-weight:950;text-align:center;box-shadow:0 5px 16px rgba(0,0,0,.3);transform:translate(-50%,-8px) scale(.96);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
.weather-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}

/* ===== พื้นที่กดเมนูล่าง 6 ปุ่ม ===== */
.bottom-nav-hotspots{position:absolute;inset:0;z-index:80;pointer-events:none}
.bottom-nav-hotspots button{position:absolute;top:89.2%;width:15.2%;height:9.7%;padding:0;border:0;border-radius:18%;background:transparent;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bottom-nav-hotspots button:active{background:rgba(255,255,255,.13)}
#gardenNavBtn{left:1.4%}
#inventoryNavBtn{left:17.8%}
#shopNavBtn{left:34.2%}
#missionsNavBtn{left:50.6%}
#friendsNavBtn{left:67%}
#menuNavBtn{left:83.4%}

/* ===== Popup ธีมสวนผี ===== */
.modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:16px;background:rgba(20,10,27,.72);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.modal-card{position:relative;width:min(560px,94vw);max-height:86svh;overflow:auto;padding:22px 16px 18px;border:3px solid #a66d3f;border-radius:25px;background:linear-gradient(180deg,#fff6d8,#f2dcae);box-shadow:0 18px 50px rgba(0,0,0,.46),inset 0 0 0 3px rgba(255,255,255,.38)}
.close{position:absolute;right:8px;top:5px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#7c4c35;color:#fff;font-size:28px;line-height:1;cursor:pointer}
#modalContent h2{margin:2px 38px 14px 0;color:#4d3045;text-align:center}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tile{min-width:0;padding:10px 7px;border:2px solid #d4a970;border-radius:18px;background:rgba(255,252,238,.92);text-align:center}
.tile b{display:block;font-size:13px}
.tile p{margin:6px 0;font-size:12px}
.tile button{width:100%;border:0;border-radius:12px;padding:9px;background:linear-gradient(#93d76d,#60a84a);color:#24451f;font-weight:950;cursor:pointer}
.seed-choice-img{display:block;width:min(118px,30vw);height:min(118px,30vw);object-fit:contain;margin:0 auto 7px;background:transparent}
.list{display:grid;gap:8px}
.row{display:flex;justify-content:space-between;gap:8px;padding:11px;border:1px solid #e2c491;border-radius:13px;background:rgba(255,255,255,.7)}

.forecast-panel{color:#432c49}
.forecast-panel h2{margin-right:38px}
.forecast-subtitle{margin:-6px 0 12px;color:#765d7b;font-size:13px;text-align:center}
.forecast-list{display:grid;gap:8px}
.forecast-row{display:grid;grid-template-columns:34px 92px 1fr;align-items:center;gap:7px;padding:9px 10px;border:1px solid #d9b78e;border-radius:14px;background:rgba(255,255,255,.72)}
.forecast-row.current{border-color:#8d5aa7;background:#f2e5fa;box-shadow:0 0 0 2px rgba(141,90,167,.15)}
.forecast-emoji{font-size:23px;text-align:center}
.forecast-time{color:#75527f;font-size:12px;font-weight:950}
.forecast-name{font-size:13px;font-weight:950}

/* ===== ร้านค้า ภารกิจ เพื่อน และยืนยันกลับหน้าล็อกอิน ===== */
.feature-panel{color:#432c49}
.feature-subtitle{margin:-7px 0 13px;color:#765d7b;font-size:12px;text-align:center}
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shop-card{position:relative;overflow:hidden;padding:12px 8px 10px;border:2px solid #a97b54;border-radius:18px;background:linear-gradient(180deg,rgba(70,46,77,.97),rgba(42,29,48,.97));color:#fff0c9;text-align:center;box-shadow:0 5px 12px rgba(48,25,49,.23)}
.shop-card::after{content:"";position:absolute;inset:auto -20% -52% -20%;height:70%;border-radius:50%;background:rgba(166,91,191,.16);pointer-events:none}
.shop-emoji{position:relative;z-index:1;margin-bottom:3px;font-size:clamp(40px,12vw,72px);line-height:1;filter:drop-shadow(0 4px 4px rgba(0,0,0,.35))}
.shop-card b{position:relative;z-index:1;display:block;margin-bottom:9px;font-size:13px}
.shop-card button{position:relative;z-index:1;width:100%;padding:8px 5px;border:1px solid rgba(255,223,168,.28);border-radius:11px;background:#59465d;color:#cfc3d1;font-size:11px;font-weight:900;opacity:.8}
.shop-card button:disabled{cursor:not-allowed}
.mission-list{display:grid;gap:8px}
.mission-item{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;padding:10px;border:1px solid #c49a6a;border-radius:15px;background:linear-gradient(90deg,rgba(84,51,86,.96),rgba(61,39,68,.96));color:#fff2d2;box-shadow:0 3px 8px rgba(51,27,52,.18)}
.mission-number{display:grid;place-items:center;width:31px;height:31px;border:2px solid #d6ad69;border-radius:50%;background:#2f2038;color:#ffd984;font-size:13px;font-weight:950}
.mission-text{font-size:12px;line-height:1.35;font-weight:850}
.empty-feature{text-align:center;color:#765d7b}
.friend-list{display:grid;gap:7px;max-height:60svh;overflow:auto;padding-right:2px}
.friend-row{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid #cfaa79;border-radius:14px;background:linear-gradient(90deg,rgba(255,250,230,.94),rgba(235,213,170,.94));color:#4d3045}
.friend-avatar{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:2px solid #865b85;border-radius:50%;background:linear-gradient(#76527f,#3e2949);font-size:21px;box-shadow:0 3px 6px rgba(50,28,49,.25)}
.friend-row b{font-size:13px}
.confirm-panel{text-align:center}
.confirm-ghost{margin:3px 0 6px;font-size:64px;filter:drop-shadow(0 5px 5px rgba(55,26,58,.32))}
.confirm-panel p{margin:0 auto 15px;max-width:330px;color:#6d526d;font-size:13px;line-height:1.45}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.confirm-actions button{padding:10px 7px;border:0;border-radius:13px;font-size:12px;font-weight:950;cursor:pointer}
.secondary-action{background:#e5d1a4;color:#513a4c}
.danger-action{background:linear-gradient(#8c527d,#60365c);color:#fff0d0;box-shadow:0 4px 9px rgba(71,34,68,.25)}

.shop-panel{position:relative;padding-top:2px}
.stable-entrance-button{position:absolute;left:0;top:0;z-index:2;max-width:38%;padding:5px 8px;border:1px solid rgba(255,224,170,.34);border-radius:10px;background:linear-gradient(180deg,#5a435e,#3d2a46);color:#d9c9d7;font-size:clamp(8px,2vw,11px);font-weight:850;opacity:.78}
.stable-entrance-button:disabled{cursor:not-allowed}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mode-choice{display:flex;min-height:98px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 6px;border:2px solid #9c735a;border-radius:17px;background:linear-gradient(180deg,rgba(79,51,84,.98),rgba(42,29,49,.98));color:#fff0cf;box-shadow:0 5px 12px rgba(46,25,48,.22);cursor:pointer}
.mode-choice span{font-size:32px;line-height:1}
.mode-choice b{font-size:12px}
.mode-choice small{color:#d7c8d7;font-size:9px}
.mode-choice.selected{border-color:#e3bd71;box-shadow:0 0 0 2px rgba(228,190,113,.18),0 5px 12px rgba(46,25,48,.26)}
.scene-choice-panel{text-align:center}
.scene-choice-icon{font-size:58px;line-height:1;margin:3px 0 8px;filter:drop-shadow(0 5px 5px rgba(54,29,56,.28))}
.scene-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.scene-choice-actions button{padding:11px 7px;border:0;border-radius:13px;font-size:12px;font-weight:900;cursor:pointer}
.primary-spooky-action{background:linear-gradient(#86517d,#59345d);color:#fff0d1;box-shadow:0 4px 9px rgba(71,34,68,.25)}

@media(max-width:420px){
  .forecast-row{grid-template-columns:29px 79px 1fr;gap:4px;padding:8px 6px}
  .forecast-time,.forecast-name{font-size:10.5px}
  .tile b{font-size:11px}
  .mission-item{grid-template-columns:31px 1fr;padding:8px;gap:7px}
  .mission-text{font-size:10.5px}
  .shop-card b,.friend-row b{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.rain-drop{animation-duration:1.6s}}
@supports not (height:100dvh){.screen{height:100vh}}


/* ===== หน้าต่างเลือกโหมดแบบแยก ป้องกันหน้าจอล็อก ===== */
.mode-overlay{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:18px;background:rgba(18,8,25,.78);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.mode-overlay-card{position:relative;width:min(520px,92vw);max-height:82svh;overflow:auto;padding:24px 16px 18px;border:3px solid #a66d3f;border-radius:24px;background:linear-gradient(180deg,#fff6d8,#efd7a5);box-shadow:0 18px 55px rgba(0,0,0,.55),inset 0 0 0 3px rgba(255,255,255,.35);color:#432c49}
.mode-overlay-card h2{margin:0 38px 5px;text-align:center;font-size:clamp(20px,5.5vw,29px)}
.mode-overlay-card>p{margin:0 0 14px;text-align:center;color:#765d7b;font-size:13px}
.mode-overlay-close{position:absolute;right:8px;top:7px;width:38px;height:38px;border:0;border-radius:50%;background:#7c4c35;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.mode-overlay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mode-overlay-grid button{display:flex;min-height:112px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;border:2px solid #9c735a;border-radius:17px;background:linear-gradient(180deg,rgba(79,51,84,.98),rgba(42,29,49,.98));color:#fff0cf;box-shadow:0 5px 12px rgba(46,25,48,.22);cursor:pointer}
.mode-overlay-grid button span{font-size:36px;line-height:1}
.mode-overlay-grid button b{font-size:13px}
.mode-overlay-grid button small{color:#d7c8d7;font-size:10px}
.mode-overlay-grid button.selected{border-color:#f0c774;box-shadow:0 0 0 3px rgba(240,199,116,.2),0 5px 12px rgba(46,25,48,.26)}

/* ===== รอบปรับปรุง: ป้ายไม้ รูปโปรไฟล์ ร้านค้า ฉากบ้าน/บาดาล/โรงเรือน และสมุดเมนู ===== */
.top-player-name-button{left:.45%;width:30.6%}
.avatar-button{left:.75%;top:.9%;width:18.2%}
#avatarPlaceholder{font-size:clamp(31px,9.2vw,66px)}
.profile-name-button{left:.55%;top:13.15%;width:18.7%;height:3.35%}

.shop-animal-img{position:relative;z-index:1;display:block;width:min(148px,35vw);height:min(118px,28vw);margin:0 auto 5px;object-fit:contain;background:transparent;filter:drop-shadow(0 4px 4px rgba(0,0,0,.3))}
.shop-card button.shop-worship-button{background:linear-gradient(180deg,#9564a0,#5d3b67);color:#fff0d1;border-color:rgba(255,223,168,.48);opacity:1;cursor:pointer}
.stable-entrance-button{opacity:1;color:#fff0d0;cursor:pointer}

.scene-screen{position:fixed;inset:0;z-index:120;overflow:hidden;background-position:center;background-repeat:no-repeat;background-size:100% 100%;isolation:isolate}
.scene-interactive-layer{position:absolute;inset:0;z-index:4}
.scene-nav-button{position:absolute;top:max(2.2%,env(safe-area-inset-top));z-index:12;max-width:43%;min-height:38px;padding:7px 11px;border:2px solid rgba(183,125,75,.95);border-radius:13px;background:linear-gradient(180deg,rgba(82,55,88,.98),rgba(43,29,53,.98));color:#fff0c9;font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;font-size:clamp(9px,2.4vw,14px);font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.85);box-shadow:0 5px 12px rgba(28,12,34,.42);cursor:pointer}
.scene-back-button{left:2.2%}
.scene-next-button{right:2.2%}
.scene-nav-button:active{transform:scale(.97)}

.bed-hotspot{position:absolute;left:0;top:30%;width:37%;height:37%;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bed-hotspot:active{background:rgba(255,255,255,.04)}
.bed-countdown{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);min-width:110px;padding:7px 10px;border:2px solid rgba(184,123,76,.94);border-radius:999px;background:rgba(44,27,50,.93);color:#fff0cf;font-size:clamp(10px,2.8vw,16px);font-weight:950;text-align:center;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.38)}
.house-altar-slots{position:absolute;left:18%;top:67.2%;width:64%;height:10%;display:grid;grid-template-columns:repeat(3,1fr);gap:5%}
.offering-slot{display:grid;place-items:center;padding:2px;border:2px dashed rgba(255,225,174,.94);border-radius:50%;background:rgba(48,30,54,.77);color:#fff2cf;box-shadow:0 4px 10px rgba(0,0,0,.32);cursor:pointer}
.offering-slot span{font-size:clamp(24px,7vw,48px);line-height:1}
.offering-slot img{display:block;width:92%;height:92%;object-fit:contain}
.scene-action-button{position:absolute;z-index:7;padding:8px 12px;border:2px solid rgba(180,117,72,.96);border-radius:13px;background:linear-gradient(180deg,#87517d,#57345c);color:#fff0cf;font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;font-size:clamp(10px,2.7vw,15px);font-weight:900;box-shadow:0 5px 12px rgba(34,15,38,.42);cursor:pointer}
.house-worship-button{left:50%;top:79.1%;transform:translateX(-50%)}
.house-worship-button:active,.underwater-send-button:active{transform:translateX(-50%) scale(.97)}

.rest-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rest-choice-actions button{display:flex;min-height:92px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px solid #a47a58;border-radius:17px;background:linear-gradient(180deg,#715079,#422d4d);color:#fff0d2;font-weight:900;cursor:pointer}
.rest-choice-actions b{font-size:18px}
.rest-choice-actions small{color:#e1d1df}
.important-warning-panel{text-align:center}
.warning-symbol{font-size:58px;line-height:1;margin-bottom:6px;animation:warningPulse 1.1s ease-in-out infinite}
.important-warning-panel p{padding:12px;border:2px solid #b25963;border-radius:14px;background:#fff0e8;color:#772f3d;font-size:14px;line-height:1.55;font-weight:900}
@keyframes warningPulse{50%{transform:scale(1.12)}}

.underwater-offering-slot{position:absolute;left:41%;top:78.1%;width:18%;aspect-ratio:1/1}
.underwater-send-button{left:50%;top:88.1%;transform:translateX(-50%)}

.dish-picker-grid,.animal-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.dish-picker-grid button,.animal-picker-grid button{display:flex;min-width:0;flex-direction:column;align-items:center;gap:4px;padding:8px;border:2px solid #c79c68;border-radius:15px;background:rgba(255,252,236,.94);color:#4c3046;cursor:pointer}
.dish-picker-grid img,.animal-picker-grid img{width:min(118px,28vw);height:min(94px,22vw);object-fit:contain}
.dish-picker-grid b,.animal-picker-grid b{font-size:11px;text-align:center}
.dish-picker-grid small{font-size:10px;color:#775b73}

.animal-slots{position:absolute;inset:0}
.animal-add-slot{position:absolute;width:15.5%;aspect-ratio:1/1;border:2px dashed rgba(255,235,190,.92);border-radius:50%;background:rgba(63,42,49,.34);color:#fff6d4;font-size:clamp(23px,7.5vw,48px);font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.7);box-shadow:inset 0 0 14px rgba(0,0,0,.18);cursor:pointer}
.animal-add-slot:active{transform:scale(.94);background:rgba(94,61,76,.45)}

.recipe-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.recipe-card{min-width:0;padding:9px 7px;border:2px solid #bd8f60;border-radius:18px;background:linear-gradient(180deg,rgba(255,252,235,.98),rgba(235,212,172,.98));box-shadow:0 5px 11px rgba(67,40,43,.18);text-align:center}
.recipe-card>img{display:block;width:min(140px,31vw);height:min(120px,27vw);margin:0 auto 4px;object-fit:contain}
.recipe-card h3{min-height:36px;margin:3px 0 7px;color:#51344a;font-size:clamp(11px,2.7vw,15px);line-height:1.2}
.recipe-needs{display:grid;gap:3px;min-height:72px;margin-bottom:8px;padding:6px;border-radius:11px;background:rgba(255,255,255,.55);text-align:left}
.recipe-needs span{font-size:clamp(8px,2.15vw,11px);line-height:1.25;font-weight:800}
.recipe-card>button{width:100%;padding:9px 6px;border:0;border-radius:11px;background:linear-gradient(180deg,#8f5b85,#5e3b67);color:#fff0d2;font-weight:950;cursor:pointer}
.craft-warning-panel,.craft-success-panel{text-align:center}
.craft-warning-panel>img,.craft-success-panel>img{display:block;width:min(190px,48vw);height:min(160px,40vw);margin:0 auto 6px;object-fit:contain}
.craft-warning-panel p{padding:11px;border:1px solid #d39a77;border-radius:13px;background:#fff4e4;color:#6b3b43;font-size:13px;line-height:1.5;font-weight:850}
.craft-success-panel h3{margin:5px 0;color:#57364e}

@media(max-width:420px){
  .scene-nav-button{min-height:34px;padding:6px 8px;font-size:9.5px}
  .recipe-catalog-grid{gap:7px}
  .recipe-card{padding:7px 5px}
  .recipe-needs{min-height:65px;padding:5px}
  .recipe-needs span{font-size:8.5px}
  .animal-add-slot{width:16.5%}
}
.offering-slot:disabled,.scene-action-button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}


/* ======================================================================
   ระบบเพิ่มเติมรอบใหญ่ — ไม่เปลี่ยนตำแหน่ง Login/แปลงเดิม
   ====================================================================== */
.activity-button{
  position:absolute;z-index:84;overflow:hidden;
  border:2px solid rgba(151,101,60,.88);border-radius:14px;
  background:linear-gradient(180deg,rgba(82,55,88,.97),rgba(43,29,53,.97));
  color:#fff0c9;font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;
  text-shadow:0 1px 2px rgba(14,6,18,.9);box-shadow:0 5px 11px rgba(39,18,42,.38),inset 0 1px rgba(255,238,198,.22);
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 4px;cursor:pointer;
}
.activity-button b{font-size:clamp(7px,1.95vw,12px);line-height:1.05}
.activity-button small{font-size:clamp(6px,1.55vw,10px);line-height:1;color:#e7cfee}
.alms-button{left:21.2%;top:13.25%;width:36%;height:4.6%}
.challenge-button{left:59%;top:13.25%;width:38.5%;height:4.6%}
.friendly-ghost-hotspot{position:absolute;left:.2%;top:43.5%;width:9%;height:8%;z-index:82;border:0;background:transparent;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.friendly-ghost-hotspot:active{background:rgba(255,255,255,.10)}

/* ท้าทายภูติผี */
.game-screen.challenge-rain .rain-overlay{opacity:1;visibility:visible}
.challenge-fx{position:absolute;inset:0;z-index:61;pointer-events:none;overflow:hidden}
.challenge-fx.show{display:block!important}
.challenge-fx.fx-fog{background:radial-gradient(ellipse at 30% 65%,rgba(230,220,255,.42),transparent 36%),radial-gradient(ellipse at 75% 45%,rgba(220,205,250,.35),transparent 42%);backdrop-filter:blur(2px);animation:ghostFog 5s ease-in-out infinite alternate}
.challenge-fx.fx-fireflies{background-image:radial-gradient(circle at 20% 30%,rgba(255,246,145,.95) 0 2px,transparent 3px),radial-gradient(circle at 70% 60%,rgba(255,246,145,.9) 0 2px,transparent 3px),radial-gradient(circle at 45% 80%,rgba(213,255,160,.9) 0 2px,transparent 3px);background-size:90px 120px,130px 160px,110px 145px;animation:firefliesFloat 4s linear infinite}
.challenge-fx.fx-shootingstar::before,.challenge-fx.fx-shootingstar::after{content:"";position:absolute;width:40%;height:2px;background:linear-gradient(90deg,transparent,#fff 55%,#c9b2ff);transform:rotate(-28deg);filter:drop-shadow(0 0 7px #fff);animation:shootStar 2.4s linear infinite}
.challenge-fx.fx-shootingstar::after{animation-delay:1.1s;top:20%}
@keyframes ghostFog{from{opacity:.35;transform:translateX(-3%)}to{opacity:.7;transform:translateX(3%)}}
@keyframes firefliesFloat{from{background-position:0 0,20px 0,0 20px}to{background-position:20px -80px,0 -110px,30px -90px}}
@keyframes shootStar{0%{left:-50%;top:5%;opacity:0}15%{opacity:1}100%{left:115%;top:55%;opacity:0}}

/* กระเป๋า */
.inventory-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px}
.inventory-tabs button{padding:8px 4px;border:1px solid #8a5f73;border-radius:12px;background:#4d3556;color:#f8e7c4;font-weight:900}
.inventory-tabs button.active{background:#7b4a73;box-shadow:0 0 0 2px #d6a26a inset}
.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.inventory-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:6px;padding:7px;border:1px solid #b58b64;border-radius:13px;background:linear-gradient(180deg,#55384f,#322536);color:#fff0d2;min-width:0}
.inventory-item img{width:50px;height:50px;object-fit:contain}
.inventory-item span{font-size:10px;font-weight:850;min-width:0}
.inventory-item b{font-size:12px;color:#ffd879}

/* ปรับตำแหน่งที่ผู้ใช้สั่งไว้ในบ้าน/บาดาล */
.house-altar-slots{top:61.5%!important;transform:none!important}
.bed-hotspot{top:47%!important}
.bed-countdown{top:-12%!important;bottom:auto!important;min-width:0!important;padding:4px 7px!important;font-size:clamp(8px,2vw,11px)!important}
.underwater-offering-slot{left:39.5%!important;top:74.5%!important;width:21%!important}
.underwater-send-button{top:86.8%!important}

/* ใส่บาตร */
.alms-slots{position:absolute;left:10%;right:10%;top:65%;display:grid;grid-template-columns:repeat(4,1fr);gap:3%}
.alms-offering-slot{position:relative!important;left:auto!important;top:auto!important;width:100%!important;aspect-ratio:1/1}
.alms-give-button{left:50%;top:83%;transform:translateX(-50%)}
.alms-result-card{position:absolute;left:10%;right:10%;bottom:8%;padding:11px;border:2px solid #b48653;border-radius:16px;background:rgba(50,31,52,.91);color:#fff0cf;text-align:center;display:grid;gap:5px;font-family:"Ayuthaya","Thonburi","Noto Serif Thai",serif}

/* คราฟ */
.recipe-card{position:relative}
.craft-chance-badge{position:absolute;right:5px;top:5px;z-index:2;padding:4px 6px;border-radius:999px;background:#3d2449;color:#ffd878;font-size:9px;font-weight:950;border:1px solid #b98a5b}
.difficulty-label{display:block;margin:-2px 0 6px;color:#7c5472;font-size:9px;font-weight:850}
.recipe-card>button:disabled{opacity:.45;filter:grayscale(.5)}
.night-menu-frame{margin-top:15px;padding:11px;border:3px double #87538e;border-radius:20px;background:linear-gradient(180deg,rgba(47,28,62,.96),rgba(31,19,43,.96));box-shadow:0 0 18px rgba(123,69,145,.35) inset}
.night-menu-frame>h2,.night-menu-frame>p{color:#f5d7ff!important;text-align:center}
.night-menu-frame>p{font-size:11px}
.night-recipe-card{border-color:#9a68a5;background:linear-gradient(180deg,#f4e5fb,#d9bfdc)}
.craft-chance-big{display:inline-block;margin:3px auto 8px;padding:7px 13px;border-radius:999px;background:#43284b;color:#ffd878;font-weight:950}

/* สัตว์ */
.animal-add-slot.pending{font-size:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.animal-add-slot.pending img{width:75%;height:65%;object-fit:contain}
.animal-add-slot.pending small{color:#fff0d0;font-size:8px;font-weight:900}
.animal-owned-slot{position:absolute;width:17%;aspect-ratio:1/1;border:2px solid rgba(255,229,176,.9);border-radius:50%;background:rgba(58,37,50,.72);color:#fff;cursor:pointer;padding:2px}
.animal-owned-slot img{width:75%;height:64%;object-fit:contain}
.animal-owned-slot small{display:block;font-size:7px;line-height:1.1}
.animal-owned-slot.product-ready{box-shadow:0 0 0 3px rgba(255,213,87,.5),0 0 16px rgba(255,215,85,.45)}
.animal-merit-star{position:absolute;right:-2px;top:-5px;font-size:24px;animation:bonusStar 1s ease-in-out infinite alternate}
@keyframes bonusStar{to{transform:scale(1.18) rotate(8deg)}}
.single-animal-choice{grid-template-columns:1fr!important}
.single-animal-choice button{max-width:230px;margin:auto}

/* ธีม modal ให้หลอนขึ้น แต่ไม่แตะ layout */
.modal-card{background:linear-gradient(180deg,#f7e8c8,#d8bd90);border-color:#8a5a43}
#modalContent h2{font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;text-shadow:0 1px 0 rgba(255,255,255,.55)}

.challenge-fx.hidden{display:none!important}


/* ===== PATCH สวนมะพร้าว + แก้เฉพาะจุดที่รายงาน ===== */
.coconut-garden-hotspot{position:absolute;left:67%;top:20%;width:14%;height:13%;z-index:77;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.coconut-garden-hotspot:active{background:rgba(255,255,255,.055);border-radius:22%}

.coconut-tree-hotspot{position:absolute;z-index:7;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.coconut-tree-hotspot:active{background:rgba(255,255,255,.08);border-radius:40%}
.coconut-tree-hotspot small{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);max-width:92%;padding:3px 6px;border:1px solid rgba(255,230,176,.82);border-radius:999px;background:rgba(48,31,50,.82);color:#fff1d0;font-size:clamp(7px,1.8vw,10px);font-weight:900;white-space:nowrap;text-shadow:0 1px 2px #241225}
.coconut-boat-hotspot{position:absolute;left:37%;top:43%;width:26%;height:23%;z-index:8;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:44%}
.coconut-boat-hotspot:active{background:rgba(255,255,255,.08)}
.coconut-boat-label{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);padding:5px 8px;border:2px solid rgba(184,125,77,.92);border-radius:999px;background:rgba(65,39,67,.9);color:#fff0cf;font-size:clamp(8px,2vw,11px);font-weight:950;white-space:nowrap}

.coconut-craft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.coconut-craft-card{position:relative;min-width:0;padding:9px 7px;border:2px solid #b88961;border-radius:17px;background:linear-gradient(180deg,#fff8df,#ead2a5);text-align:center;color:#53364e}
.coconut-craft-card img{display:block;width:min(120px,29vw);height:min(100px,24vw);margin:0 auto 4px;object-fit:contain}
.coconut-craft-card h3{margin:4px 0;font-size:clamp(11px,2.8vw,15px)}
.coconut-craft-card p{min-height:45px;margin:4px 0 7px;font-size:clamp(8px,2.15vw,11px);line-height:1.35}
.coconut-needs{display:grid;gap:2px;min-height:52px;margin-bottom:7px;padding:5px;border-radius:10px;background:rgba(255,255,255,.58);text-align:left}
.coconut-needs span{font-size:clamp(8px,2vw,10px);font-weight:850}
.coconut-chance{position:absolute;right:5px;top:5px;padding:3px 6px;border-radius:999px;background:#4c2e54;color:#ffd97a;font-size:9px;font-weight:950}
.coconut-craft-card button{width:100%;padding:8px 5px;border:0;border-radius:11px;background:linear-gradient(180deg,#8c5983,#5b3a64);color:#fff1d4;font-weight:950}
.coconut-craft-card button:disabled{opacity:.48;filter:grayscale(.5)}
.coconut-craft-back{margin-top:11px;width:100%;padding:9px;border:2px solid #a77b58;border-radius:12px;background:#5a3b62;color:#fff0d0;font-weight:950}

.coconut-boost-panel{margin-top:10px;padding:9px;border:2px solid #ae7c57;border-radius:14px;background:rgba(71,45,70,.92);color:#fff0cf}
.coconut-boost-panel h3{margin:0 0 7px;text-align:center;font-size:13px}
.coconut-boost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.coconut-boost-btn{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:5px;padding:6px;border:1px solid #c79a68;border-radius:12px;background:#f7e7c6;color:#52374d;text-align:left;font-weight:900}
.coconut-boost-btn img{width:46px;height:46px;object-fit:contain}
.coconut-boost-btn small{display:block;font-size:8px;color:#775a70}
.coconut-boost-btn:disabled{opacity:.45}

.special-coconut-item img{width:50px;height:50px;object-fit:contain}

/* ======================================================================
   V1 ONLINE LAUNCH — UI ใหม่ใช้พื้นที่ว่างเดิม ไม่ดันแถบข้อมูลลงล่าง
   ====================================================================== */
.notification-button{
  position:absolute;left:21.2%;top:8.15%;width:22.5%;height:4.5%;z-index:86;
  border:2px solid rgba(151,101,60,.88);border-radius:14px;
  background:linear-gradient(180deg,rgba(82,55,88,.97),rgba(43,29,53,.97));
  color:#fff0c9;font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;
  font-size:clamp(8px,2.15vw,13px);font-weight:900;cursor:pointer;
  box-shadow:0 5px 11px rgba(39,18,42,.38),inset 0 1px rgba(255,238,198,.22);
}
.notification-button:active{transform:scale(.97)}
.notification-badge{position:absolute;right:-5px;top:-8px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #ffe2a7;border-radius:999px;background:#8d315f;color:#fff;font-size:9px;font-weight:950;box-shadow:0 3px 7px rgba(0,0,0,.38)}

.shop-category-tabs,.notification-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 11px}
.shop-category-tabs button,.notification-tabs button{padding:8px 5px;border:1px solid #9d745c;border-radius:11px;background:#4b3553;color:#f6e5c8;font-size:11px;font-weight:950}
.shop-category-tabs button.active,.notification-tabs button.active{background:#7b4a73;box-shadow:0 0 0 2px #d6a26a inset}
.shop-price{position:relative;z-index:1;display:block;margin:-4px 0 8px;color:#ffd77d;font-size:10px;font-weight:900}

.mission-item-v1{grid-template-columns:31px 1fr auto}
.mission-item-v1 .mission-text{display:grid;gap:3px}
.mission-item-v1 .mission-text small{color:#dbc4d8;font-size:9px;font-weight:750}
.mission-item-v1>button{min-width:70px;padding:7px 6px;border:1px solid #d8aa69;border-radius:10px;background:#7a4c71;color:#fff0cf;font-size:9px;font-weight:950}
.mission-item-v1>button:disabled{opacity:.48}

.friend-rank-row{display:grid;grid-template-columns:34px 36px minmax(0,1fr) auto;gap:7px}
.friend-rank{font-size:12px;font-weight:950;color:#754466;text-align:center}
.friend-info{display:grid;gap:2px;min-width:0}.friend-info small{font-size:9px;color:#765d70}
.friend-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.friend-actions button{padding:6px 5px;border:0;border-radius:9px;background:#67425f;color:#fff0cf;font-size:8px;font-weight:900}.friend-actions button:disabled{opacity:.4}.friend-self{font-size:9px;font-weight:950;color:#7b526f}

.visitor-banner{position:absolute;left:21%;right:2%;top:18.4%;z-index:105;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:6px 8px;border:2px solid #a87255;border-radius:12px;background:rgba(55,35,61,.95);color:#fff0cf;font-size:clamp(8px,2vw,11px);font-weight:900;box-shadow:0 5px 12px rgba(0,0,0,.35)}
.visitor-banner button{padding:5px 7px;border:1px solid #e0b56f;border-radius:9px;background:#8b557c;color:#fff;font-size:9px;font-weight:950}
.game-screen.visiting-friend .avatar-button,.game-screen.visiting-friend .profile-name-button,.game-screen.visiting-friend .top-player-name-button,.game-screen.visiting-friend .weather-clock,.game-screen.visiting-friend .rain-status,.game-screen.visiting-friend .forecast-button,.game-screen.visiting-friend .merit-status,.game-screen.visiting-friend .mode-button,.game-screen.visiting-friend .notification-button,.game-screen.visiting-friend .activity-button,.game-screen.visiting-friend .scene-hotspot,.game-screen.visiting-friend .friendly-ghost-hotspot,.game-screen.visiting-friend .coconut-garden-hotspot,.game-screen.visiting-friend .bottom-nav-hotspots{pointer-events:none!important}

.gift-item-list{display:grid;gap:7px;max-height:48svh;overflow:auto}.gift-item-option{display:grid;grid-template-columns:22px 48px 1fr;align-items:center;gap:6px;padding:7px;border:1px solid #bc956b;border-radius:12px;background:rgba(255,248,224,.74)}.gift-item-option img{width:46px;height:46px;object-fit:contain}.gift-item-option span{font-size:10px;font-weight:900}.gift-item-option small{display:block;color:#765d70;font-size:8px}.gift-qty-label{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0;font-size:11px;font-weight:900}.gift-qty-label input{width:80px;padding:7px;border:1px solid #a47b5e;border-radius:9px}.gift-send-btn{width:100%;padding:10px;border:0;border-radius:12px}

.notification-list{display:grid;gap:8px;max-height:58svh;overflow:auto;padding-right:2px}.notification-card{display:grid;gap:4px;padding:9px 10px;border:1px solid #c09a70;border-radius:13px;background:rgba(255,248,224,.8);color:#53384d}.notification-card.unread{border-color:#8a4e7d;box-shadow:0 0 0 2px rgba(138,78,125,.14)}.notification-card b{font-size:11px}.notification-card span{font-size:10px;line-height:1.35}.notification-card small{font-size:8px;color:#7b6476}.notification-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:3px}.notification-actions button{padding:6px;border:0;border-radius:9px;background:#704667;color:#fff0cf;font-size:9px;font-weight:900}.notification-actions button:disabled{opacity:.5}.admin-center-entry{width:100%;margin:0 0 10px;padding:8px;border:1px solid #bc8b59;border-radius:11px;background:#4f3157;color:#ffd985;font-weight:950}

.admin-section{margin-top:11px;padding:10px;border:1px solid #b68b65;border-radius:14px;background:rgba(255,249,229,.64)}.admin-section h3{margin:0 0 8px;font-size:12px}.admin-request-list{display:grid;gap:7px;max-height:32svh;overflow:auto}.admin-request-card{display:grid;gap:4px;padding:8px;border:1px solid #c4a078;border-radius:11px;background:#fff8e5}.admin-request-card b{font-size:10px}.admin-request-card span,.admin-request-card small{font-size:9px}.admin-request-card>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.admin-request-card button,.admin-section>button{padding:7px;border:0;border-radius:9px;background:#6f4667;color:#fff0d0;font-size:9px;font-weight:950}.admin-section input,.admin-section textarea,.admin-section select{width:100%;margin:4px 0;padding:8px;border:1px solid #ad8662;border-radius:9px;background:#fffaf0;color:#4d3349;font-size:10px}.admin-section textarea{min-height:74px;resize:vertical}

.animal-ready-banner{position:absolute;left:27%;right:27%;top:4.2%;z-index:10;padding:5px 7px;border:1px solid rgba(255,226,174,.85);border-radius:999px;background:rgba(49,31,55,.9);color:#fff0cf;text-align:center;font-size:clamp(7px,1.8vw,10px);font-weight:900}.animal-expired{filter:grayscale(.65);opacity:.72}.animal-detail-panel{text-align:center}.animal-detail-img{display:block;width:min(180px,42vw);height:min(130px,31vw);margin:0 auto;object-fit:contain}.animal-detail-panel>p{font-size:11px;line-height:1.55}.animal-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0}.animal-detail-actions button{padding:8px;border:0;border-radius:10px;font-size:9px;font-weight:950}.animal-boost-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px;padding:8px;border:1px solid #a87c5c;border-radius:13px;background:#51374f}.animal-boost-panel h3{grid-column:1/-1;margin:0;color:#fff0cf;font-size:11px}.animal-boost-panel button{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:4px;padding:5px;border:1px solid #c99b69;border-radius:10px;background:#f5e4c4;color:#51384d;text-align:left}.animal-boost-panel img{width:40px;height:40px;object-fit:contain}.animal-boost-panel span{font-size:9px;font-weight:900}.animal-boost-panel small{display:block;font-size:7px;color:#775d70}

.coconut-quota-label{position:absolute;left:35%;top:3.2%;z-index:12;padding:5px 8px;border:2px solid #aa744e;border-radius:999px;background:rgba(52,34,58,.94);color:#fff0cf;font-size:clamp(8px,2vw,11px);font-weight:950}.coconut-history-btn{position:absolute;right:2.2%;top:max(2.2%,env(safe-area-inset-top));z-index:13;padding:7px 9px;border:2px solid #aa744e;border-radius:11px;background:rgba(52,34,58,.96);color:#fff0cf;font-size:clamp(8px,2vw,11px);font-weight:950}.coconut-loading{position:absolute;left:18%;right:18%;top:45%;padding:10px;border-radius:14px;background:rgba(52,34,58,.92);color:#fff0cf;text-align:center;font-weight:900}.special-craft-section-title{margin:12px 0 7px;padding:6px;border-radius:10px;background:#4f3357;color:#fff0cf;text-align:center;font-size:11px;font-weight:950}

@media(max-width:420px){.friend-rank-row{grid-template-columns:29px 32px minmax(0,1fr) auto}.friend-actions{grid-template-columns:1fr}.friend-actions button{font-size:7.5px}.mission-item-v1{grid-template-columns:28px 1fr auto}.mission-item-v1>button{min-width:60px;font-size:8px}.notification-button{font-size:clamp(7px,1.9vw,11px)}}

/* ======================================================================
   MAJOR UPDATE V2 — UI เฉพาะระบบใหม่ (ไม่แตะหน้า Login)
   ====================================================================== */
/* คลอง/แม่น้ำข้างบ้าน: hotspot โปร่งใส เข้า "บ่อแมงกะพรุน" */
.river-hotspot{left:50%;top:30%;width:16%;height:9%}
.game-screen[data-farm-mode="haunted"] .river-hotspot,
.game-screen[data-farm-mode="winter"] .river-hotspot,
.game-screen[data-farm-mode="festival"] .river-hotspot,
.game-screen[data-farm-mode="village"] .river-hotspot,
.game-screen[data-farm-mode="sea"] .river-hotspot{left:50%;top:30%;width:16%;height:9%}

/* โหมดสวนใหม่ */
.game-screen[data-farm-mode="village"] .house-hotspot,.game-screen[data-farm-mode="sea"] .house-hotspot{left:31%;top:21.5%;width:14%;height:12%}
.game-screen[data-farm-mode="village"] .well-hotspot,.game-screen[data-farm-mode="sea"] .well-hotspot{left:82%;top:23.5%;width:16%;height:14%}

/* ร้านค้าแบบเลือกจำนวน */
.shop-category-tabs-v2{grid-template-columns:repeat(3,minmax(0,1fr))}
.shop-qty-label{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px 0 7px;color:#f7e8d1;font-size:10px;font-weight:900}
.shop-qty-input{width:68px;min-height:32px;padding:5px 7px;border:1px solid #c79b6a;border-radius:9px;background:#fff8e7;color:#4f344b;text-align:center;font-weight:950}
.mystery-shop-grid{grid-template-columns:1fr}
.mystery-box-card{max-width:390px;margin:0 auto}
.mystery-rules{display:grid;gap:4px;margin:8px 0;padding:8px;border:1px solid rgba(226,187,120,.72);border-radius:12px;background:rgba(255,244,214,.12);text-align:left}
.mystery-rules strong{color:#ffd77c;font-size:10px;line-height:1.3}
.mystery-rules span{color:#f7ead8;font-size:9px;line-height:1.35}

/* กระเป๋า 5 หมวด */
.inventory-tabs-v2{grid-template-columns:repeat(3,minmax(0,1fr))}
.inventory-tabs-v2 button{font-size:9px;line-height:1.2}

/* สไตล์สัตว์ตอนวาง */
.animal-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.animal-style-grid button,.animal-picker-panel .single-animal-choice button{min-width:0;padding:9px 6px;border:2px solid #b78a60;border-radius:15px;background:linear-gradient(180deg,#fff6d9,#ecd2a7);color:#52374d;font-weight:950;cursor:pointer}
.animal-style-grid img,.animal-picker-panel .single-animal-choice img{display:block;width:100%;height:min(120px,28vw);object-fit:contain;margin:0 auto 5px}
.animal-style-grid b,.animal-picker-panel b{display:block;font-size:11px}
.animal-picker-panel small{display:block;margin-top:4px;font-size:9px;color:#765f70}

/* ขโมยพืชเพื่อน */
.steal-badge{position:absolute;left:50%;top:-7%;z-index:9;transform:translateX(-50%);padding:3px 7px;border:2px solid rgba(255,228,174,.95);border-radius:999px;background:rgba(84,47,72,.94);color:#fff1d0;font-size:clamp(8px,2.05vw,11px);font-weight:950;white-space:nowrap;box-shadow:0 3px 8px rgba(0,0,0,.28);pointer-events:none}
.steal-confirm-panel{text-align:center}
.steal-confirm-panel>p{font-size:11px;line-height:1.45}
.steal-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.steal-confirm-actions button{min-height:43px;padding:8px 6px;border:0;border-radius:12px;font-size:10px;font-weight:950}

/* สวนป่าของด้า / แพนด้า */
.panda-forest-entry{position:absolute;right:2.2%;bottom:3.2%;z-index:14;min-width:31%;padding:8px 10px;border:2px solid rgba(188,132,81,.96);border-radius:13px;background:linear-gradient(180deg,rgba(82,55,88,.98),rgba(43,29,53,.98));color:#fff0c9;font-size:clamp(9px,2.3vw,13px);font-weight:950;box-shadow:0 5px 12px rgba(28,12,34,.42);cursor:pointer}
.panda-forest-entry:active{transform:scale(.97)}
.panda-hotspot{position:absolute;z-index:8;padding:0;border:0;background:transparent;border-radius:40%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.panda-hotspot:active{background:rgba(255,255,255,.06)}
.panda-leaf-banner{position:absolute;left:50%;top:9%;z-index:10;transform:translateX(-50%);padding:6px 10px;border:2px solid rgba(194,139,81,.9);border-radius:999px;background:rgba(52,35,58,.92);color:#fff1d1;font-size:clamp(9px,2.3vw,13px);font-weight:950;white-space:nowrap}
.panda-feed-panel{text-align:center}.panda-feed-panel>p{line-height:1.55;font-size:11px}.panda-feed-panel>button{width:100%;padding:10px;border:0;border-radius:12px;font-weight:950}
.bamboo-craft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.bamboo-craft-grid article{padding:10px 8px;border:2px solid #b78a60;border-radius:15px;background:rgba(255,249,229,.76);text-align:center}
.bamboo-craft-grid h3{margin:0 0 6px;font-size:12px}.bamboo-craft-grid p{min-height:72px;margin:0 0 8px;font-size:9px;line-height:1.5}.bamboo-craft-grid button{width:100%;padding:8px 6px;border:0;border-radius:10px;background:#68445f;color:#fff0d0;font-size:9px;font-weight:950}

/* บ่อแมงกะพรุนส่วนกลาง */
.jelly-pond-banner{position:absolute;left:50%;top:9%;z-index:12;transform:translateX(-50%);max-width:76%;padding:5px 10px;border:2px solid rgba(216,176,119,.9);border-radius:999px;background:rgba(49,33,58,.88);color:#fff1d2;font-size:clamp(8px,2vw,11px);font-weight:950;text-align:center;white-space:normal}
.jelly-slot{position:absolute;z-index:8;width:18%;height:14%;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.jelly-slot-empty{border:0;background:transparent;box-shadow:none}
.jelly-slot-empty:active{border-radius:50%;background:rgba(255,255,255,.07)}
.jelly-slot-owned{overflow:visible}
.jelly-slot-owned img{display:block;width:100%;height:76%;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(17,25,52,.26))}
.jelly-slot-owned small{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);max-width:135%;padding:2px 5px;border-radius:999px;background:rgba(40,31,65,.76);color:#fff;font-size:clamp(6px,1.55vw,8px);font-weight:900;line-height:1.15;white-space:nowrap;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.75)}
.jelly-slot-owned.jelly-ready-love img{animation:jellyReadyPulse 1.45s ease-in-out infinite}
@keyframes jellyReadyPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.jelly-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.jelly-picker-grid button{padding:8px 5px;border:2px solid #b88d67;border-radius:15px;background:#fff6dd;color:#52384d;font-weight:950}
.jelly-picker-grid img{display:block;width:100%;height:min(105px,25vw);object-fit:contain}.jelly-picker-grid b{display:block;font-size:10px}.jelly-picker-grid small{font-size:8px;color:#765c70}
.jelly-detail-panel{text-align:center}.jelly-detail-img{display:block;width:min(190px,44vw);height:min(155px,36vw);margin:0 auto;object-fit:contain}.jelly-detail-panel>p{font-size:11px;line-height:1.55}
.jelly-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.jelly-action-grid button{min-height:39px;padding:7px 5px;border:0;border-radius:11px;background:#68445f;color:#fff0d0;font-size:9px;font-weight:950}.jelly-action-grid button:disabled{opacity:.45}

/* การ์ดใหม่ให้เข้ากับ modal เดิม */
.spooky-seed-tile strong{color:#7e4166;font-size:10px}

@media(max-width:420px){
  .shop-category-tabs-v2 button{font-size:9px}
  .inventory-tabs-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .animal-style-grid,.jelly-picker-grid{gap:6px}
  .jelly-pond-banner{top:8.5%;font-size:7.5px}
  .panda-forest-entry{min-width:34%;font-size:9px}
}


/* ======================================================================
   MAJOR UPDATE V3 — Boat Race / Boat Drinks / Admin bundle
   ====================================================================== */
.boat-menu-frame{margin-top:15px;padding:10px;border:3px solid #e98ab7;border-radius:18px;background:linear-gradient(180deg,rgba(255,225,241,.96),rgba(247,190,220,.9));box-shadow:inset 0 0 0 2px rgba(255,255,255,.42)}
.boat-menu-frame>h2{margin:0 0 4px;color:#6f3159;text-align:center}
.boat-menu-frame>p{margin:0 0 9px;color:#7d4b68;font-size:10px;text-align:center;font-weight:850}
.boat-recipe-card{border-color:#d783ad;background:linear-gradient(180deg,#fff4fa,#f8d7e9)}
.boat-recipe-card .difficulty-label{color:#8b4c70}
.boat-craft-warning,.boat-craft-success{border-color:#df8bb4}
.boat-drink-inventory{border-color:#d994b5;background:rgba(255,237,247,.82)}

.jelly-food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.jelly-food-grid button{padding:12px 8px;border:2px solid #b88d67;border-radius:14px;background:#fff6dd;color:#52384d;font-weight:950}
.jelly-food-grid button:disabled{opacity:.42}.jelly-food-grid small{display:block;margin-top:4px;font-size:9px;color:#7b6072}

.admin-bundle-row{grid-template-columns:22px minmax(0,1fr) 86px!important}
.admin-bundle-row>input[type="number"]{width:86px!important;margin:0!important;text-align:center}
.admin-include-aida{display:flex;align-items:center;gap:8px;margin:6px 0 9px;font-size:10px;font-weight:950}
.admin-include-aida input{width:auto!important;margin:0!important}

.boat-finish-label{position:absolute;left:50%;top:9%;z-index:15;transform:translateX(-50%);padding:6px 13px;border:2px solid rgba(255,231,175,.94);border-radius:999px;background:rgba(49,32,57,.92);color:#fff0cf;font-size:clamp(10px,2.5vw,14px);font-weight:950;white-space:nowrap}
.boat-progress-marks{position:absolute;left:2.2%;top:0;bottom:0;z-index:11;pointer-events:none}
.boat-progress-marks span{position:absolute;left:0;padding:2px 5px;border-radius:999px;background:rgba(48,32,57,.76);color:#fff0cf;font-size:clamp(7px,1.8vw,10px);font-weight:950}
.boat-lane{position:absolute;top:0;bottom:0;width:28%;transform:translateX(-50%);z-index:9;pointer-events:none}
.boat-lane::before{content:"";position:absolute;left:50%;top:17%;bottom:13%;width:1px;border-left:2px dashed rgba(255,255,255,.26)}
.boat-lane-progress{position:absolute;left:50%;top:13.5%;transform:translateX(-50%);min-width:68px;padding:4px 7px;border-radius:999px;background:rgba(49,32,57,.88);color:#fff4d2;text-align:center;font-size:clamp(8px,2vw,11px);font-weight:950}
.boat-racer{position:absolute;left:50%;width:86%;height:16%;transform:translate(-50%,-50%);z-index:12;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;transition:top .4s ease;-webkit-tap-highlight-color:transparent}
.boat-racer img{display:block;width:100%;height:78%;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.35))}
.boat-racer small{display:inline-block;max-width:100%;padding:3px 6px;border-radius:999px;background:rgba(49,32,57,.9);color:#fff0cf;font-size:clamp(6px,1.6vw,9px);font-weight:950;white-space:nowrap}
.boat-racer:disabled{opacity:.72}.boat-racer.winner img{transform:scale(1.1)}
.boat-season-result{position:absolute;left:13%;right:13%;top:43%;z-index:30;padding:11px 12px;border:3px solid rgba(213,157,91,.96);border-radius:17px;background:rgba(50,32,57,.94);color:#fff1d0;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.boat-season-result b{display:block;margin-bottom:5px;font-size:clamp(12px,3vw,18px)}.boat-season-result span{font-size:clamp(8px,2.05vw,11px);line-height:1.45;font-weight:850}
.boat-reset-button{position:absolute;right:2.2%;top:max(8%,calc(env(safe-area-inset-top) + 52px));z-index:35;min-height:36px;padding:7px 10px;border:2px solid rgba(255,212,157,.98);border-radius:11px;background:rgba(92,45,66,.97);color:#fff1d0;font-size:clamp(9px,2.2vw,12px);font-weight:950;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.38)}

.boat-supply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.boat-supply-grid button{padding:8px 6px;border:2px solid #cf8cab;border-radius:14px;background:linear-gradient(180deg,#fff3f9,#f4d3e4);color:#55384e;font-weight:950}
.boat-supply-grid img{display:block;width:100%;height:min(105px,25vw);object-fit:contain}.boat-supply-grid b{display:block;font-size:10px}.boat-supply-grid small{display:block;margin-top:3px;font-size:8px;color:#7a6071}

@media(max-width:420px){
  .boat-lane{width:30%}.boat-racer{width:94%}.boat-lane-progress{min-width:58px;font-size:8px}
  .admin-bundle-row{grid-template-columns:20px minmax(0,1fr) 72px!important}.admin-bundle-row>input[type="number"]{width:72px!important}
}

/* ======================================================================
   UPDATE V4 — Fishing / Plots 13–24 / Coconut river collectibles
   ====================================================================== */
.plot-page-nav{position:absolute;z-index:110;border:2px solid rgba(255,226,173,.9);background:rgba(59,37,67,.82);color:#fff1d0;font-size:clamp(25px,7vw,44px);font-weight:950;line-height:1;border-radius:999px;width:clamp(38px,9.5vw,58px);height:clamp(38px,9.5vw,58px);display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.35);-webkit-tap-highlight-color:transparent}
.plot-page-next{right:1.2%;top:59.5%}.plot-page-prev{left:1.2%;top:49%}
.plot-page-nav:active{transform:scale(.94)}
.game-screen.plot-page-2{background-image:url("farm-plots-13-24-hell-theme.PNG?v=1")!important}
.game-screen.plot-page-2 .plot-page-next{display:none!important}
.game-screen.plot-page-2 .avatar-button,.game-screen.plot-page-2 .profile-name-button,.game-screen.plot-page-2 .top-player-name-button,.game-screen.plot-page-2 .weather-clock,.game-screen.plot-page-2 .rain-status,.game-screen.plot-page-2 .forecast-button,.game-screen.plot-page-2 .merit-status,.game-screen.plot-page-2 .mode-button,.game-screen.plot-page-2 .notification-button,.game-screen.plot-page-2 .activity-button,.game-screen.plot-page-2 .scene-hotspot,.game-screen.plot-page-2 .friendly-ghost-hotspot,.game-screen.plot-page-2 .coconut-garden-hotspot,.game-screen.plot-page-2 .bottom-nav-hotspots,.game-screen.plot-page-2 .rain-overlay,.game-screen.plot-page-2 .weather-toast{display:none!important}
.game-screen.plot-page-2 .garden{z-index:40}
.game-screen.plot-page-2 .plot-page-prev{display:grid!important}
/* หน้าแปลง 13–24: จูนตำแหน่งให้ตรงหลุมของพื้นหลังนรกมากขึ้น */
.game-screen.plot-page-2 .plot:nth-child(1),.game-screen.plot-page-2 .plot:nth-child(4),.game-screen.plot-page-2 .plot:nth-child(7),.game-screen.plot-page-2 .plot:nth-child(10){left:9.2%}
.game-screen.plot-page-2 .plot:nth-child(2),.game-screen.plot-page-2 .plot:nth-child(5),.game-screen.plot-page-2 .plot:nth-child(8),.game-screen.plot-page-2 .plot:nth-child(11){left:37.2%}
.game-screen.plot-page-2 .plot:nth-child(3),.game-screen.plot-page-2 .plot:nth-child(6),.game-screen.plot-page-2 .plot:nth-child(9),.game-screen.plot-page-2 .plot:nth-child(12){left:66.8%}
.game-screen.plot-page-2 .plot:nth-child(1),.game-screen.plot-page-2 .plot:nth-child(2),.game-screen.plot-page-2 .plot:nth-child(3){top:41.5%}
.game-screen.plot-page-2 .plot:nth-child(4),.game-screen.plot-page-2 .plot:nth-child(5),.game-screen.plot-page-2 .plot:nth-child(6){top:52.0%}
.game-screen.plot-page-2 .plot:nth-child(7),.game-screen.plot-page-2 .plot:nth-child(8),.game-screen.plot-page-2 .plot:nth-child(9){top:63.0%}
.game-screen.plot-page-2 .plot:nth-child(10),.game-screen.plot-page-2 .plot:nth-child(11),.game-screen.plot-page-2 .plot:nth-child(12){top:74.0%}


/* หน้าบ่อบาดาลตกปลา */
.fishing-dashboard-btn{position:absolute;left:2.2%;bottom:2.5%;z-index:30;padding:8px 11px;border:2px solid rgba(255,226,173,.94);border-radius:12px;background:rgba(57,35,67,.94);color:#fff1d0;font-size:clamp(9px,2.2vw,12px);font-weight:950;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.35)}
.naga-offering-hotspot{position:absolute;left:39%;top:21%;width:22%;height:36%;z-index:9;border:0;background:transparent;cursor:pointer;border-radius:38%;-webkit-tap-highlight-color:transparent}.naga-offering-hotspot:active{background:rgba(255,255,255,.05)}
.fishing-dock{position:absolute;z-index:12;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:20%;padding:0}.fishing-dock:active{background:rgba(255,255,255,.06)}
.fishing-dock-status{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:max-content;max-width:155%;padding:4px 6px;border:1px solid rgba(255,228,174,.88);border-radius:10px;background:rgba(48,31,57,.88);color:#fff3d5;font-size:clamp(6px,1.55vw,9px);line-height:1.25;font-weight:900;text-align:center;white-space:normal;text-shadow:0 1px 2px #241225;pointer-events:none}
.fishing-result-fishes{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:1%;pointer-events:none}.fishing-result-fishes img{width:34%;height:48%;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.fishing-claim-mini{position:absolute;right:0;top:0;z-index:18;padding:4px 7px;border:2px solid #f5d36a;border-radius:999px;background:#7e4f72;color:#fff;font-size:clamp(7px,1.8vw,10px);font-weight:950;pointer-events:auto}
.fishing-scene-banner{position:absolute;left:50%;top:1.8%;transform:translateX(-50%);z-index:16;padding:6px 12px;border:2px solid rgba(255,225,174,.9);border-radius:999px;background:rgba(47,30,57,.9);color:#fff1d0;font-size:clamp(9px,2.3vw,13px);font-weight:950;white-space:nowrap}
.fishing-bait-grid,.fishing-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fishing-bait-card,.fishing-result-card{padding:9px;border:2px solid #bd9569;border-radius:16px;background:rgba(255,251,235,.94);text-align:center}.fishing-bait-card img,.fishing-result-card img{display:block;width:min(118px,29vw);height:min(105px,25vw);object-fit:contain;margin:0 auto 5px}.fishing-bait-card h3,.fishing-result-card h3{margin:3px 0;font-size:12px}.fishing-bait-card small,.fishing-result-card small{display:block;font-size:9px;line-height:1.35}.fishing-bait-card button{width:100%;margin-top:7px;padding:8px;border:0;border-radius:11px;background:#6e496f;color:#fff2d4;font-weight:950}.fishing-bait-card button:disabled{opacity:.45}
.fishing-total-weight{margin:10px 0;padding:9px;border:2px solid #b77b5f;border-radius:13px;background:#513653;color:#fff0cf;text-align:center;font-size:16px;font-weight:950}.fishing-claim-button{width:100%;padding:10px;border:0;border-radius:13px;background:#6b9857;color:#fff;font-weight:950}.fishing-claim-button:disabled{opacity:.45}
.fishing-dashboard-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:9px}.fishing-dashboard-tabs button{padding:8px;border:1px solid #b88b66;border-radius:11px;background:#f1dfbd;color:#583a51;font-weight:900}.fishing-dashboard-tabs button.active{background:#5c3c64;color:#fff0d0}.fishing-rank-list{display:grid;gap:6px}.fishing-rank-row{display:grid;grid-template-columns:34px 1fr auto;gap:7px;align-items:center;padding:8px;border:1px solid #d1ad82;border-radius:11px;background:rgba(255,255,255,.72)}.fishing-rank-row strong{text-align:center}.fishing-rank-row b{font-size:11px}.fishing-rank-row span{font-size:11px;font-weight:950}.fishing-history-day{margin-bottom:9px;padding:9px;border:1px solid #c9a06f;border-radius:13px;background:rgba(255,255,255,.72)}.fishing-history-day h3{margin:0 0 5px;font-size:12px}.fishing-history-day div{display:flex;justify-content:space-between;gap:8px;font-size:10px;padding:3px 0}

/* สวนมะพร้าว: ปลา/กบ 4 จุด และโบนัสคนมือไว */
.coconut-fast-bonus-btn{position:absolute;left:50%;top:9.2%;transform:translateX(-50%);z-index:20;padding:7px 12px;border:2px solid rgba(255,228,171,.94);border-radius:999px;background:rgba(77,45,75,.95);color:#fff0cf;font-size:clamp(9px,2.2vw,12px);font-weight:950;cursor:pointer;box-shadow:0 5px 13px rgba(0,0,0,.32)}
.coconut-river-slot{position:absolute;z-index:15;border:0;background:transparent;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.coconut-river-slot:active{background:rgba(255,255,255,.06);border-radius:30%}.coconut-river-slot img{display:block;width:82%;height:64%;margin:0 auto;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.34))}.coconut-river-slot small{position:absolute;left:50%;bottom:-7%;transform:translateX(-50%);width:165%;padding:3px 5px;border:1px solid rgba(255,230,182,.85);border-radius:9px;background:rgba(49,31,57,.88);color:#fff0d0;font-size:clamp(6px,1.5vw,9px);line-height:1.2;font-weight:900;text-align:center;white-space:normal}.coconut-river-slot.cooldown{cursor:default}
.coconut-collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:7px 0}.coconut-collection-item{padding:5px;border:1px solid #c69b72;border-radius:11px;background:#fff7e5;text-align:center}.coconut-collection-item img{width:100%;height:min(76px,18vw);object-fit:contain}.coconut-collection-item b{display:block;font-size:8px}.coconut-collection-item span{display:block;font-size:9px;font-weight:950}.coconut-bonus-section{margin:10px 0;padding:10px;border:2px solid #ba8a63;border-radius:15px;background:rgba(255,248,225,.92)}.coconut-bonus-section h3{margin:0 0 6px;font-size:13px}.coconut-bonus-section button{width:100%;padding:8px;border:0;border-radius:11px;background:#6a4b6f;color:#fff1d2;font-weight:950}.coconut-bonus-section button:disabled{opacity:.42}.coconut-exchange-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:7px;padding:7px;border-radius:10px;background:rgba(85,55,83,.09);font-size:10px}.coconut-exchange-row button{width:auto;padding:7px 10px}

.inventory-tabs-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.inventory-item img{object-fit:contain}.inventory-item.coconut-river-inventory img,.inventory-item.fishing-bait-inventory img{width:55px;height:55px}

@media(max-width:420px){.fishing-bait-grid,.fishing-result-grid{grid-template-columns:1fr 1fr}.coconut-river-slot small{width:180%;font-size:6px}.coconut-fast-bonus-btn{top:9.2%}}


/* ===== PATCH V4.3 โบนัสคนมือไว: แสดงวัตถุดิบ + ปุ่มแลกกดได้เสมอและตรวจของตอนกด ===== */
.coconut-exchange-row-v2{display:block!important;padding:9px!important}
.coconut-exchange-items{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:5px;align-items:center}
.coconut-exchange-item{min-width:0;padding:6px 4px;border:1px solid #cfaa82;border-radius:11px;background:rgba(255,250,235,.78);text-align:center}
.coconut-exchange-item img{display:block;width:min(72px,17vw);height:min(72px,17vw);margin:0 auto 3px;object-fit:contain}
.coconut-exchange-item b{display:block;font-size:9px;line-height:1.2;color:#55384f}
.coconut-exchange-item span{display:block;margin-top:2px;font-size:8px;color:#765d70;font-weight:850}
.coconut-exchange-plus{text-align:center;font-size:20px;font-weight:950;color:#6b4566}
.coconut-exchange-reward{margin:7px 0 6px;text-align:center;font-size:11px;font-weight:950;color:#5c3a57}
.coconut-exchange-row-v2>button{display:block;width:100%!important;min-height:40px;padding:9px 12px!important;border:0;border-radius:11px;background:#6a4b6f;color:#fff1d2;font-weight:950;cursor:pointer;opacity:1!important;pointer-events:auto!important}
.coconut-exchange-row-v2>button:active{transform:scale(.98)}


/* ======================================================================
   UPDATE V5 — รถไถ + แมวจริงของผู้เล่น + Cat Drop
   ====================================================================== */
.tractor-button{position:absolute;left:1.6%;top:17.15%;z-index:87;min-width:20%;height:3.55%;padding:0 8px;border:2px solid rgba(151,101,60,.92);border-radius:999px;background:linear-gradient(180deg,rgba(82,55,88,.98),rgba(43,29,53,.98));color:#fff0c9;font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;font-size:clamp(8px,2.15vw,12px);font-weight:950;box-shadow:0 5px 11px rgba(39,18,42,.36),inset 0 1px rgba(255,238,198,.2);cursor:pointer;white-space:nowrap}
.tractor-button:active{transform:scale(.97)}.tractor-button:disabled{opacity:.62}
.game-screen.plot-page-2 .tractor-button{left:1.8%;top:10.0%;border-color:#b26a45;background:linear-gradient(180deg,rgba(90,40,47,.96),rgba(46,20,34,.97));color:#ffe1bd}
.tractor-working-overlay{position:absolute;inset:0;z-index:145;display:grid;place-items:center;background:rgba(25,12,30,.33);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);pointer-events:auto}.tractor-working-card{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(290px,72vw);padding:15px 16px;border:3px solid #aa744e;border-radius:22px;background:linear-gradient(180deg,#fff2cf,#e7c68d);color:#4d3045;text-align:center;box-shadow:0 14px 35px rgba(0,0,0,.42)}.tractor-working-card img{width:min(170px,44vw);height:min(130px,34vw);object-fit:contain;animation:tractorWork .38s ease-in-out infinite alternate}.tractor-working-card b{font-size:clamp(13px,3.5vw,19px)}@keyframes tractorWork{to{transform:translateX(4px) rotate(1deg)}}

/* ใช้ engine แมวเดิมได้ทั้งฟาร์ม 1 และ 2; visitor ไม่ได้ render จาก JS */
.game-screen.plot-page-2 .aida-farm-pet-layer{display:block!important}
.farm-cat-name{position:absolute;z-index:6;left:50%;top:10%;transform:translateX(-50%);max-width:150%;padding:3px 7px;border:1px solid rgba(255,225,174,.9);border-radius:999px;background:rgba(49,31,57,.9);color:#fff1d0;font-size:clamp(7px,1.8vw,10px);font-weight:950;line-height:1.1;text-align:center;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.75);pointer-events:none}
.cat-drop-item{position:absolute;z-index:28;width:clamp(48px,12vw,78px);height:clamp(48px,12vw,78px);transform:translate(-50%,-50%);padding:1px;border:0;background:transparent;pointer-events:auto;cursor:pointer;animation:catDropBlink .72s ease-in-out infinite alternate;-webkit-tap-highlight-color:transparent}.cat-drop-item img{display:block;width:100%;height:78%;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,238,129,.96))}.cat-drop-item small{position:absolute;left:50%;top:75%;transform:translateX(-50%);width:max-content;max-width:150px;padding:2px 5px;border-radius:999px;background:rgba(49,31,57,.88);color:#fff1d0;font-size:clamp(6px,1.45vw,8px);font-weight:900;white-space:nowrap}@keyframes catDropBlink{from{opacity:.55;filter:brightness(.9);transform:translate(-50%,-50%) scale(.94)}to{opacity:1;filter:brightness(1.35);transform:translate(-50%,-50%) scale(1.08)}}
.cat-result-icon{display:block;width:min(180px,44vw);height:min(180px,44vw);margin:4px auto 8px;object-fit:contain}.cat-box-result{text-align:center}.cat-box-result h3{line-height:1.45}.cat-consolation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.cat-consolation-grid>div{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;padding:7px 4px;border:1px solid #c59b6e;border-radius:12px;background:#fff7e4}.cat-consolation-grid img,.cat-merit-gift{width:64px;height:64px;object-fit:contain;font-size:42px;display:grid;place-items:center}.cat-consolation-grid b{font-size:8px;line-height:1.25}.cat-inventory-item{grid-template-columns:58px 1fr auto!important}.cat-inventory-item small{display:block;font-size:8px;color:#765d70}.cat-inventory-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.cat-inventory-actions button{padding:7px;border:0;border-radius:9px;background:#6f4667;color:#fff0d0;font-size:9px;font-weight:950}.cat-place-panel{text-align:center}.cat-place-panel>.secondary-action{width:100%;margin-top:8px;padding:9px;border:0;border-radius:11px}.placed-cat-panel{text-align:center}.placed-cat-panel>.secondary-action{width:100%;padding:9px;border:0;border-radius:11px}.cat-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.cat-feed-grid button{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:5px;padding:6px;border:1px solid #c49b6e;border-radius:11px;background:#fff4db;color:#53384d;text-align:left}.cat-feed-grid img{width:46px;height:46px;object-fit:contain}.cat-feed-grid span{font-size:9px;font-weight:900}.cat-feed-grid small{display:block;font-size:7px;color:#765d70}
@media(max-width:420px){.tractor-button{top:17.0%;left:1.5%;min-width:22%;font-size:8px}.game-screen.plot-page-2 .tractor-button{top:9.8%;left:1.7%}.cat-consolation-grid{grid-template-columns:repeat(3,1fr)}}


/* V9 — กล่องสุ่ม 2 ใบวางซ้าย/ขวาเท่ากัน */
.mystery-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
.mystery-shop-grid .mystery-box-card{width:100%;max-width:none;margin:0;display:flex;flex-direction:column;min-width:0;height:100%;padding:10px}
.mystery-shop-grid .mystery-box-card>.shop-animal-img{width:min(132px,28vw);height:min(132px,28vw);margin:0 auto 6px;object-fit:contain}
.mystery-shop-grid .mystery-box-card>b{min-height:34px;display:flex;align-items:center;justify-content:center;text-align:center}
.mystery-shop-grid .mystery-box-card .shop-price{min-height:24px;display:flex;align-items:center;justify-content:center}
.mystery-shop-grid .mystery-rules{flex:1;min-height:112px}
.mystery-shop-grid .shop-qty-label{min-height:38px;margin:7px 0}
.mystery-shop-grid .shop-worship-button{margin-top:auto;width:100%;min-height:42px}
.cat-box-card::after{content:"";display:block;min-height:38px;margin:7px 0}
.placed-cat-release{width:100%;margin-top:10px;padding:10px;border:0;border-radius:11px;background:#a83e60;color:#fff;font-weight:950}
@media(max-width:430px){.mystery-shop-grid{gap:7px}.mystery-shop-grid .mystery-box-card{padding:8px}.mystery-shop-grid .mystery-rules{min-height:106px}.mystery-shop-grid .mystery-box-card>.shop-animal-img{width:min(118px,27vw);height:min(118px,27vw)}}

/* ======================================================================
   UPDATE V10 — Dog Hotel / Drop Basket / Worm Spray / 3 Mystery Cards
   ====================================================================== */
.collect-drops-button{position:absolute;left:1.4%;top:21.15%;z-index:87;min-width:25%;height:3.55%;padding:0 8px;border:2px solid rgba(151,101,60,.92);border-radius:999px;background:linear-gradient(180deg,rgba(82,55,88,.98),rgba(43,29,53,.98));color:#fff0c9;font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif;font-size:clamp(7px,1.9vw,11px);font-weight:950;box-shadow:0 5px 11px rgba(39,18,42,.36),inset 0 1px rgba(255,238,198,.2);cursor:pointer;white-space:nowrap}.collect-drops-button:active{transform:scale(.97)}
.drop-basket-working-overlay{position:absolute;inset:0;z-index:146;display:grid;place-items:center;background:rgba(25,12,30,.30);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);pointer-events:auto}.drop-basket-working-card{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(290px,72vw);padding:15px 16px;border:3px solid #aa744e;border-radius:22px;background:linear-gradient(180deg,#fff2cf,#e7c68d);color:#4d3045;text-align:center;box-shadow:0 14px 35px rgba(0,0,0,.42)}.drop-basket-working-card img{width:min(150px,39vw);height:min(125px,32vw);object-fit:contain;animation:basketWork .55s ease-in-out infinite alternate}.drop-basket-working-card b{font-size:clamp(13px,3.5vw,19px)}@keyframes basketWork{to{transform:translateY(-5px) rotate(2deg)}}

/* ร้านกล่องสุ่ม 3 ใบ ให้กรอบ/แถบเท่ากัน */
.mystery-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;align-items:stretch!important}
.mystery-shop-grid .mystery-box-card{height:100%!important;min-width:0!important;padding:8px 6px!important}
.mystery-shop-grid .mystery-box-card>.shop-animal-img{width:min(108px,24vw)!important;height:min(108px,24vw)!important}
.mystery-shop-grid .mystery-box-card>b{min-height:42px!important;font-size:clamp(8px,2vw,11px)!important;line-height:1.2}
.mystery-shop-grid .mystery-box-card .shop-price{min-height:25px!important;font-size:clamp(7px,1.7vw,9px)!important}
.mystery-shop-grid .mystery-rules{min-height:118px!important;padding:7px 5px!important;gap:4px!important}
.mystery-shop-grid .mystery-rules strong,.mystery-shop-grid .mystery-rules span{font-size:clamp(6px,1.45vw,8px)!important}
.mystery-shop-grid .shop-qty-label,.mystery-qty-spacer{height:38px!important;min-height:38px!important;margin:7px 0!important}
.mystery-shop-grid .shop-worship-button{min-height:43px!important;padding:6px 3px!important;font-size:clamp(7px,1.65vw,9px)!important}
.cat-box-card::after{display:none!important}

/* ตัวเลือกสเปรย์หนอนบ้านเพื่อน */
.friend-worm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.friend-worm-actions>button{min-height:58px;padding:7px;border:0;border-radius:12px;font-size:9px;font-weight:950}.friend-worm-actions .primary-spooky-action{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:5px;text-align:left}.friend-worm-actions img{width:40px;height:40px;object-fit:contain}.friend-worm-actions small{font-size:7px}.friend-worm-actions button:disabled{opacity:.42}

/* โรงแรมน้องหมา */
.dog-hotel-counter{position:absolute;left:50%;top:8.5%;z-index:20;transform:translateX(-50%);padding:6px 11px;border:2px solid rgba(176,126,80,.92);border-radius:999px;background:rgba(52,34,58,.92);color:#fff0cf;font-size:clamp(8px,2.1vw,12px);font-weight:950;white-space:nowrap;pointer-events:none}.dog-hotel-pet-layer,.dog-hotel-drop-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.dog-hotel-pet-layer{z-index:14}.dog-hotel-drop-layer{z-index:18}.dog-hotel-pet{position:absolute;width:clamp(64px,16vw,108px);aspect-ratio:314/418;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}.dog-hotel-pet::before{content:"";position:absolute;left:50%;bottom:18%;width:48%;height:8%;transform:translateX(-50%);border-radius:50%;background:rgba(20,13,22,.36);filter:blur(2.5px)}.dog-hotel-sprite{position:absolute;z-index:1;inset:0;background-repeat:no-repeat;background-size:400% 300%;background-position:0 0;transform-origin:center bottom;filter:drop-shadow(0 2px 2px rgba(40,24,24,.18));backface-visibility:hidden}.dog-hotel-sprite.is-walking{background-size:400% 200%}.dog-hotel-sprite.face-left{transform:scaleX(-1)}.dog-hotel-name{position:absolute;z-index:3;left:50%;top:14%;transform:translateX(-50%);max-width:150%;padding:3px 7px;border:1px solid rgba(255,225,174,.9);border-radius:999px;background:rgba(49,31,57,.9);color:#fff1d0;font-size:clamp(7px,1.7vw,10px);font-weight:950;line-height:1.1;text-align:center;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.75);pointer-events:none}.dog-drop-item{pointer-events:auto}

@media(max-width:430px){.collect-drops-button{left:1.3%;top:21.0%;min-width:27%;font-size:7px}.mystery-shop-grid{gap:5px!important}.mystery-shop-grid .mystery-box-card{padding:7px 4px!important}.mystery-shop-grid .mystery-rules{min-height:110px!important}.dog-hotel-pet{width:clamp(58px,15vw,88px)}}

/* V10.2 dog placement visibility fallback */
.dog-hotel-fallback-icon{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(40,24,24,.18));opacity:1;transition:opacity .18s ease}.dog-hotel-fallback-icon.sprite-ready{opacity:0;pointer-events:none}.dog-hotel-sprite{z-index:2!important}

/* ======================================================================
   UPDATE V11 — เมนูหน้าฝน / เช็คสมาชิกมะหมา / หนอนไจแอนท์
   ====================================================================== */

/* แถบสีเขียว เมนูหน้าฝน */
.rainy-menu-frame{
  margin-top:16px;padding:12px 10px 14px;border:3px solid #4f8d5d;border-radius:20px;
  background:linear-gradient(180deg,#e5f6d7,#b9ddb0);
  box-shadow:0 8px 18px rgba(35,83,49,.18),inset 0 1px rgba(255,255,255,.8);
}
.rainy-menu-frame>h2,.rainy-menu-frame>p{color:#285b36!important;text-align:center}
.rainy-menu-frame>p{font-size:11px;font-weight:800}
.rainy-recipe-card{border-color:#5d9b68!important;background:linear-gradient(180deg,#f4ffe9,#cde9c5)!important}
.rainy-recipe-card h3{color:#285b36}
.rainy-recipe-card button{background:linear-gradient(180deg,#4e985e,#2f6f40)!important;color:#fff!important}
.rainy-recipe-card button:disabled{opacity:.38!important}
.rainy-chance-badge{background:#2f6f40!important;color:#fff6bf!important}
.rainy-craft-chance{background:#2f6f40!important;color:#fff7c8!important}
.rainy-craft-result img{filter:drop-shadow(0 5px 8px rgba(32,84,45,.22))}
.rainy-inventory-item{border-color:#72a77c!important;background:linear-gradient(180deg,#f6ffef,#d9ecd3)!important}
.rainy-boat-supply-picker .boat-supply-grid button{border-color:#5e9669;background:linear-gradient(180deg,#f2ffe8,#cbe6c3)}

/* โรงแรมน้องหมา: ปุ่มเช็คสมาชิก */
.dog-member-check-button{
  position:absolute;left:50%;top:13.2%;z-index:23;transform:translateX(-50%);
  min-width:38%;padding:7px 12px;border:2px solid rgba(176,126,80,.95);border-radius:999px;
  background:linear-gradient(180deg,rgba(84,55,92,.97),rgba(50,31,61,.97));
  color:#fff1cf;font-size:clamp(8px,2.25vw,12px);font-weight:950;
  box-shadow:0 5px 12px rgba(24,12,31,.32);cursor:pointer;
}
.dog-member-check-button:active{transform:translateX(-50%) scale(.97)}
.dog-roster-panel{max-width:720px}
.dog-roster-list{display:grid;gap:8px;margin-top:10px}
.dog-roster-row{
  display:grid;grid-template-columns:58px minmax(0,1fr) 74px;align-items:center;gap:8px;
  padding:8px;border:1.5px solid #9c795b;border-radius:14px;background:rgba(255,249,226,.78)
}
.dog-roster-row>img{width:56px;height:62px;object-fit:contain}
.dog-roster-info{min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}
.dog-roster-info b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dog-roster-info small,.dog-roster-info span{font-size:9px;line-height:1.25}
.dog-roster-hunger{font-weight:900;color:#735d50}
.dog-roster-hunger.ready{color:#24733c}
.dog-roster-row>button{
  min-height:40px;border:0;border-radius:11px;padding:5px;background:linear-gradient(180deg,#4e985e,#2e713f);
  color:#fff;font-size:9px;font-weight:950
}
.dog-roster-row>button:disabled{background:#aa9d8d;color:#eee;opacity:.72}
.dog-roster-feed-panel .secondary-action{margin-bottom:8px}

/* หนอนไจแอนท์ */
.status-badge[src*="giant-worm"]{
  right:-4%!important;top:-8%!important;width:clamp(46px,11vw,78px)!important;height:clamp(46px,11vw,78px)!important;
  filter:drop-shadow(0 4px 7px rgba(64,16,27,.55))!important
}
.giant-worm-panel{text-align:center}
.giant-worm-preview{display:block;width:min(180px,42vw);height:min(150px,34vw);object-fit:contain;margin:2px auto 8px;filter:drop-shadow(0 6px 9px rgba(55,18,22,.35))}

/* ===== V11 FIX: ลดรูปใหญ่ในหน้ากดยืนยันคราฟเมนูหน้าฝน ===== */
.rainy-craft-confirm .confirm-dish-img{
  display:block!important;
  width:min(130px,34vw)!important;
  height:min(110px,28vw)!important;
  max-width:130px!important;
  max-height:110px!important;
  margin:0 auto 8px!important;
  object-fit:contain!important;
}
.rainy-craft-result>img{
  display:block!important;
  width:min(130px,34vw)!important;
  height:min(110px,28vw)!important;
  max-width:130px!important;
  max-height:110px!important;
  margin:0 auto 8px!important;
  object-fit:contain!important;
}

/* ======================================================================
   V12 — สวนมะพร้าว 8 ต้น + ปลา/กบ 16 จุด
   ====================================================================== */
.coconut-river-slot{
  display:flex;
  align-items:center;
  justify-content:center;
}
.coconut-river-slot img{
  width:96%!important;
  height:88%!important;
  margin:0 auto!important;
  object-fit:contain;
}
.coconut-river-slot:not(.cooldown) small{
  display:none;
}
.coconut-river-slot.cooldown small{
  bottom:6%!important;
  width:145%!important;
  padding:2px 3px!important;
  font-size:clamp(5px,1.25vw,7px)!important;
  line-height:1.1!important;
  opacity:.9;
}
.coconut-tree-hotspot small{
  max-width:115%;
  font-size:clamp(6px,1.5vw,9px);
}

/* V12.1 — ย้ายปุ่มคราฟไอเท็มพิเศษไปล่างซ้ายของสวนมะพร้าว */
.coconut-boat-hotspot{
  left:4%!important;
  top:auto!important;
  bottom:7%!important;
  width:28%!important;
  height:10%!important;
}
.coconut-boat-label{
  left:50%!important;
  bottom:8%!important;
}

/* ======================================================================
   V13 — จัดระเบียบ HUD หน้าแรกใหม่
   โปรไฟล์ซ้าย / เวลา+ฝนอยู่ด้านนอก / เมนูรวมขวา / รถไถ+เก็บดรอปคงด้านนอก
   ====================================================================== */
.profile-hud-card{
  position:absolute;
  left:1.7%;
  top:1.4%;
  width:31%;
  height:13.4%;
  z-index:88;
  border:2px solid rgba(166,113,70,.96);
  border-radius:16px;
  background:
    linear-gradient(145deg,rgba(255,240,200,.08),transparent 40%),
    linear-gradient(180deg,rgba(76,47,79,.98),rgba(39,26,49,.98));
  box-shadow:0 7px 16px rgba(30,13,34,.38),inset 0 1px rgba(255,240,205,.24);
  overflow:hidden;
}
.profile-hud-card .avatar-button{
  left:4%!important;
  top:8%!important;
  width:39%!important;
  height:61%!important;
  aspect-ratio:auto!important;
  border-radius:12px!important;
  border-width:2px!important;
  z-index:2!important;
}
.profile-hud-card #playerAvatar{
  border-radius:10px!important;
  transform:scale(1.08)!important;
}
.profile-hud-card #avatarPlaceholder{
  font-size:clamp(24px,7vw,46px)!important;
}
.profile-hud-card .profile-name-button{
  left:46%!important;
  top:11%!important;
  width:50%!important;
  height:29%!important;
  z-index:3!important;
  border:0!important;
  border-radius:9px!important;
  background:rgba(255,239,204,.10)!important;
  box-shadow:none!important;
  text-align:left!important;
  padding:0 6px!important;
  font-size:clamp(9px,2.45vw,14px)!important;
  color:#fff1ca!important;
}
.profile-hud-card .merit-status{
  left:46%!important;
  top:45%!important;
  width:50%!important;
  height:31%!important;
  min-height:0!important;
  z-index:3!important;
  border:0!important;
  border-radius:9px!important;
  background:rgba(24,14,30,.34)!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  padding:0 6px!important;
}
.profile-hud-card .merit-status::after{display:none!important}
.profile-hud-card .merit-status span{font-size:clamp(7px,1.9vw,10px)!important}
.profile-hud-card .merit-status strong{font-size:clamp(11px,3.0vw,17px)!important}
.profile-hud-card::after{
  content:"แตะรูปหรือชื่อเพื่อแก้ไข";
  position:absolute;
  left:4%;right:4%;bottom:5%;
  color:rgba(255,235,203,.62);
  font-size:clamp(5px,1.35vw,8px);
  text-align:center;
  pointer-events:none;
}

/* เวลาและฝนยังอยู่ด้านนอกตามเดิม แต่รวมสมดุลให้เป็นคู่กลางบน */
.weather-clock{
  left:35%!important;
  top:1.5%!important;
  width:28%!important;
  height:5.7%!important;
  z-index:88!important;
  border-radius:14px!important;
}
.rain-status{
  left:35%!important;
  top:7.8%!important;
  width:28%!important;
  min-height:5.7%!important;
  height:5.7%!important;
  z-index:88!important;
  border-radius:14px!important;
}
.weather-clock::after,.rain-status::after{display:none!important}

/* ปุ่มเมนูรวมขวาบน */
.hud-menu-button{
  position:absolute;
  right:2%;
  top:1.5%;
  width:31%;
  height:11.95%;
  z-index:90;
  border:2px solid rgba(166,113,70,.96);
  border-radius:16px;
  background:
    linear-gradient(145deg,rgba(255,240,200,.10),transparent 42%),
    linear-gradient(180deg,rgba(76,47,79,.98),rgba(39,26,49,.98));
  color:#fff1ca;
  box-shadow:0 7px 16px rgba(30,13,34,.38),inset 0 1px rgba(255,240,205,.24);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
}
.hud-menu-button span{font-size:clamp(22px,6vw,36px);line-height:.9}
.hud-menu-button b{font-size:clamp(10px,2.7vw,15px)}
.hud-menu-button:active{transform:scale(.97)}

/* ปุ่มใช้งานเร็ว 2 ปุ่มใต้หัว HUD */
.tractor-button{
  left:35%!important;
  top:14.35%!important;
  width:30%!important;
  min-width:0!important;
  height:3.8%!important;
  border-radius:11px!important;
  font-size:clamp(7px,1.9vw,11px)!important;
}
.collect-drops-button{
  left:67%!important;
  top:14.35%!important;
  width:31%!important;
  min-width:0!important;
  height:3.8%!important;
  border-radius:11px!important;
  font-size:clamp(6px,1.75vw,10px)!important;
}

/* ปุ่มเดิมย้ายเข้า drawer แล้ว — ยกเลิก absolute layout เดิม */
.hud-menu-drawer .forecast-button,
.hud-menu-drawer .mode-button,
.hud-menu-drawer .notification-button,
.hud-menu-drawer .activity-button,
.hud-menu-drawer .alms-button,
.hud-menu-drawer .challenge-button{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:54px!important;
  border:1px solid rgba(172,129,91,.55)!important;
  border-radius:13px!important;
  overflow:visible!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-family:inherit!important;
}
.hud-menu-drawer .forecast-button::after,
.hud-menu-drawer .mode-button::after{display:none!important}
.hud-menu-drawer .activity-button b,
.hud-menu-drawer .activity-button small{
  font-size:inherit;
  line-height:inherit;
}

/* drawer */
.hud-menu-backdrop{
  position:absolute;
  inset:0;
  z-index:118;
  background:rgba(23,13,27,.42);
  backdrop-filter:blur(2px);
}
.hud-menu-drawer{
  position:absolute;
  z-index:119;
  right:2%;
  top:1.5%;
  width:min(76%,380px);
  max-height:82%;
  overflow:auto;
  padding:10px;
  border:2px solid rgba(176,126,79,.96);
  border-radius:18px;
  background:
    radial-gradient(circle at 90% 0%,rgba(221,164,110,.14),transparent 34%),
    linear-gradient(180deg,rgba(66,42,69,.99),rgba(35,24,43,.99));
  box-shadow:0 14px 32px rgba(21,10,25,.55),inset 0 1px rgba(255,239,200,.22);
  color:#fff0ce;
}
.hud-menu-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:3px 2px 9px;
  border-bottom:1px solid rgba(224,190,143,.22);
}
.hud-menu-head small{display:block;color:#cfb7c9;font-size:9px}
.hud-menu-head h2{margin:1px 0 0;font-size:clamp(16px,4.4vw,23px)}
.hud-menu-head>button{
  width:32px;height:32px;border:1px solid rgba(219,179,131,.65);border-radius:50%;
  background:#f0d9b2;color:#4d304f;font-size:23px;font-weight:900;
}
.hud-menu-list{display:grid;gap:7px;margin-top:9px}
.hud-menu-item{
  position:relative;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:7px!important;
  width:100%;
  min-height:54px;
  padding:7px 8px!important;
  border:1px solid rgba(172,129,91,.55);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(255,244,219,.96),rgba(226,204,165,.96))!important;
  color:#513750!important;
  text-align:left;
  cursor:pointer;
}
.hud-menu-item>span{font-size:24px;text-align:center}
.hud-menu-item>div{display:grid;gap:1px;min-width:0}
.hud-menu-item>div>b{font-size:clamp(10px,2.65vw,14px)!important;line-height:1.1!important}
.hud-menu-item>div>small{font-size:clamp(7px,1.8vw,10px)!important;line-height:1.15!important;color:#806a78!important}
.hud-menu-item>i{font-style:normal;font-size:22px;color:#7b5c73;text-align:center}
.hud-menu-item:active{transform:scale(.985)}
.hud-menu-featured{
  background:linear-gradient(180deg,#ffe7b4,#d8aa72)!important;
  border-color:#d69b57!important;
}
.hud-menu-item .notification-badge{
  position:absolute!important;
  right:22px!important;
  top:6px!important;
}

/* หน้า 2 และตอนเยี่ยมเพื่อน: ซ่อน HUD ใหม่ให้ตรงพฤติกรรมเดิม */
.game-screen.plot-page-2 .profile-hud-card,
.game-screen.plot-page-2 .hud-menu-button,
.game-screen.plot-page-2 .hud-menu-drawer,
.game-screen.plot-page-2 .hud-menu-backdrop,
.game-screen.visiting-friend .profile-hud-card,
.game-screen.visiting-friend .hud-menu-button,
.game-screen.visiting-friend .hud-menu-drawer,
.game-screen.visiting-friend .hud-menu-backdrop{display:none!important}

@media(max-width:430px){
  .profile-hud-card{width:32%;height:13.1%}
  .weather-clock,.rain-status{left:35%;width:27.5%}
  .hud-menu-button{width:32.5%}
  .tractor-button{left:34.5%!important;width:30%!important}
  .collect-drops-button{left:66%!important;width:32.5%!important}
  .hud-menu-drawer{width:82%;right:2%}
}

/* ======================================================================
   V13.1 HOTFIX — เมนูเปิดทันที + โปรไฟล์ใหญ่ขึ้น + เวลาเล็กลง
   + รถไถ/ตะกร้าเป็นไอคอนลอย + หน้า 2 ย้ายลงซ้าย
   ====================================================================== */

/* โปรไฟล์ใหญ่ขึ้นและให้รูปเด่นขึ้น */
.profile-hud-card{
  left:1.4%!important;
  top:1.2%!important;
  width:37%!important;
  height:15.2%!important;
  border-radius:17px!important;
}
.profile-hud-card .avatar-button{
  left:3.5%!important;
  top:6%!important;
  width:46%!important;
  height:69%!important;
  border-radius:13px!important;
}
.profile-hud-card .profile-name-button{
  left:52%!important;
  top:10%!important;
  width:44%!important;
  height:28%!important;
  font-size:clamp(10px,2.8vw,15px)!important;
}
.profile-hud-card .merit-status{
  left:52%!important;
  top:43%!important;
  width:44%!important;
  height:30%!important;
}
.profile-hud-card .merit-status span{font-size:clamp(7px,1.85vw,10px)!important}
.profile-hud-card .merit-status strong{font-size:clamp(13px,3.4vw,19px)!important}
.profile-hud-card::after{
  bottom:4%!important;
  font-size:clamp(5px,1.2vw,7px)!important;
}

/* เวลาและสถานะฝนย่อให้เล็กลง แต่ยังอยู่ข้างนอก */
.weather-clock{
  left:41%!important;
  top:1.45%!important;
  width:23%!important;
  height:4.65%!important;
  border-radius:12px!important;
}
.rain-status{
  left:41%!important;
  top:6.65%!important;
  width:23%!important;
  min-height:4.65%!important;
  height:4.65%!important;
  border-radius:12px!important;
  padding:2px 4px!important;
}
.weather-clock-emoji{font-size:clamp(13px,3.5vw,22px)!important}
.thai-clock{font-size:clamp(12px,3.0vw,19px)!important}
.rain-status strong{font-size:clamp(6px,1.7vw,10px)!important}
.rain-status span{font-size:clamp(10px,2.65vw,17px)!important}

/* เมนูขวาบนเล็กลงนิดหนึ่งเพื่อบาลานซ์กับโปรไฟล์ */
.hud-menu-button{
  right:1.6%!important;
  top:1.3%!important;
  width:32%!important;
  height:10.1%!important;
  border-radius:16px!important;
}
.hud-menu-button span{font-size:clamp(20px,5.2vw,31px)!important}
.hud-menu-button b{font-size:clamp(9px,2.35vw,13px)!important}

/* ปุ่มรถไถ/เก็บดรอป = ไอคอนลอย ไม่มีแถบ */
.tractor-button,
.collect-drops-button{
  min-width:0!important;
  width:11.5vw!important;
  max-width:52px!important;
  height:11.5vw!important;
  max-height:52px!important;
  padding:0!important;
  border:1.5px solid rgba(255,235,191,.78)!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.24),transparent 30%),
    linear-gradient(180deg,rgba(86,54,87,.98),rgba(42,28,51,.98))!important;
  box-shadow:
    0 6px 12px rgba(27,12,32,.42),
    inset 0 1px rgba(255,246,215,.32),
    inset 0 -3px 8px rgba(16,8,23,.26)!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  line-height:1!important;
}
.tractor-button>span,
.collect-drops-button>span{
  display:block;
  font-size:clamp(20px,6.1vw,31px)!important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.38));
}
.tractor-button{
  left:67%!important;
  top:12.25%!important;
}
.collect-drops-button{
  left:81.5%!important;
  top:12.25%!important;
}
.tractor-button:active,.collect-drops-button:active{transform:scale(.91)!important}

/* Drawer ต้องขึ้นเหนือทุกอย่าง และตอบสนองทันที */
.hud-menu-backdrop{z-index:498!important}
.hud-menu-drawer{
  z-index:499!important;
  top:1.3%!important;
  right:1.6%!important;
  width:min(82%,390px)!important;
  max-height:86%!important;
  border-radius:18px!important;
}
.hud-menu-item{
  min-height:50px!important;
  transition:none!important;
}

/* หน้า 2: รถไถ + ตะกร้าเป็นไอคอนมุมล่างซ้าย */
.game-screen.plot-page-2 .tractor-button,
.game-screen.plot-page-2 .collect-drops-button{
  top:auto!important;
  bottom:3.2%!important;
  width:13vw!important;
  max-width:56px!important;
  height:13vw!important;
  max-height:56px!important;
  z-index:96!important;
}
.game-screen.plot-page-2 .tractor-button{left:3%!important}
.game-screen.plot-page-2 .collect-drops-button{left:17.5%!important}

/* หน้า 2 ไม่ต้องมีเวลา/สถานะฝนด้านบน เพื่อเปิดพื้นที่ฉาก */
.game-screen.plot-page-2 .weather-clock,
.game-screen.plot-page-2 .rain-status{
  display:none!important;
}

@media(max-width:430px){
  .profile-hud-card{width:38%!important;height:15%!important}
  .weather-clock,.rain-status{left:41%!important;width:22.5%!important}
  .hud-menu-button{width:33%!important}
  .tractor-button{left:67%!important}
  .collect-drops-button{left:82%!important}
  .hud-menu-drawer{width:86%!important}
}

/* ======================================================================
   V13.2 — ปรับ HUD ตามฟีดแบ็ก
   ทางลัดเป็นแถบเล็ก / โปรไฟล์เด่นขึ้น / ชื่อและกุศลใหญ่ขึ้น
   ====================================================================== */

/* การ์ดโปรไฟล์เด่นขึ้นและใช้พื้นที่ฝั่งซ้ายมากขึ้น */
.profile-hud-card{
  left:1.2%!important;
  top:1.15%!important;
  width:45%!important;
  height:15.8%!important;
  border-radius:18px!important;
  overflow:hidden!important;
}

/* รูปโปรไฟล์ใหญ่ขึ้นอีก */
.profile-hud-card .avatar-button{
  left:3%!important;
  top:5%!important;
  width:48%!important;
  height:82%!important;
  border-radius:14px!important;
}
.profile-hud-card #playerAvatar{
  border-radius:12px!important;
  transform:scale(1.04)!important;
}

/* ชื่อให้ใหญ่ ชัด และดูเหมือนชื่อผู้เล่นจริง ไม่เหมือนปุ่มตั้งค่า */
.profile-hud-card .profile-name-button{
  left:54%!important;
  top:11%!important;
  width:42%!important;
  height:31%!important;
  padding:0 4px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff4d2!important;
  font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif!important;
  font-size:clamp(14px,3.8vw,22px)!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:left!important;
  text-shadow:0 2px 3px rgba(22,8,26,.85)!important;
}

/* กุศลให้เด่นขึ้น — ป้ายเล็กแต่เลขใหญ่ */
.profile-hud-card .merit-status{
  left:54%!important;
  top:48%!important;
  width:42%!important;
  height:34%!important;
  padding:0 5px!important;
  border:1px solid rgba(229,192,123,.30)!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,rgba(36,19,42,.58),rgba(20,12,26,.46))!important;
  box-shadow:inset 0 1px rgba(255,243,205,.12)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}
.profile-hud-card .merit-status span{
  font-size:clamp(8px,2.1vw,12px)!important;
  font-weight:850!important;
  color:#f1d9b5!important;
}
.profile-hud-card .merit-status strong{
  font-family:"Georgia","Times New Roman","Ayuthaya",serif!important;
  font-size:clamp(19px,5.2vw,31px)!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.6px!important;
  color:#ffe58d!important;
  text-shadow:
    0 2px 0 rgba(92,52,20,.75),
    0 0 8px rgba(255,222,123,.20)!important;
}

/* ลบข้อความ "แตะรูปหรือชื่อเพื่อแก้ไข" ออกทั้งหมด */
.profile-hud-card::after{display:none!important}

/* เวลา/ฝนย่ออีกนิดเพื่อหลีกทางให้โปรไฟล์ */
.weather-clock{
  left:48.5%!important;
  top:1.4%!important;
  width:21%!important;
  height:4.3%!important;
}
.rain-status{
  left:48.5%!important;
  top:6.25%!important;
  width:21%!important;
  min-height:4.3%!important;
  height:4.3%!important;
}
.weather-clock-emoji{font-size:clamp(12px,3.2vw,20px)!important}
.thai-clock{font-size:clamp(11px,2.8vw,17px)!important}
.rain-status strong{font-size:clamp(6px,1.55vw,9px)!important}
.rain-status span{font-size:clamp(9px,2.35vw,15px)!important}

/* "ทางลัด" เป็นเพียงแถบเล็ก ไม่ใช่กล่องใหญ่ */
.hud-menu-button{
  right:1.5%!important;
  top:1.5%!important;
  width:27%!important;
  height:5.2%!important;
  min-height:0!important;
  border-radius:999px!important;
  padding:0 9px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  background:linear-gradient(180deg,rgba(78,48,81,.98),rgba(42,28,52,.98))!important;
  box-shadow:
    0 5px 12px rgba(30,13,35,.34),
    inset 0 1px rgba(255,241,205,.22)!important;
}
.hud-menu-button span{
  font-size:clamp(13px,3.3vw,20px)!important;
  line-height:1!important;
}
.hud-menu-button b{
  font-size:clamp(9px,2.45vw,14px)!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* ไอคอนรถไถ/ตะกร้าขยับให้บาลานซ์กับแถบทางลัด */
.tractor-button{
  left:auto!important;
  right:15.5%!important;
  top:7.5%!important;
}
.collect-drops-button{
  left:auto!important;
  right:1.8%!important;
  top:7.5%!important;
}

/* หน้า 2 ยังเหมือน V13.1: ไอคอนอยู่ล่างซ้าย */
.game-screen.plot-page-2 .tractor-button{
  left:3%!important;
  right:auto!important;
  top:auto!important;
  bottom:3.2%!important;
}
.game-screen.plot-page-2 .collect-drops-button{
  left:17.5%!important;
  right:auto!important;
  top:auto!important;
  bottom:3.2%!important;
}

@media(max-width:430px){
  .profile-hud-card{width:46%!important}
  .weather-clock,.rain-status{left:49%!important;width:20%!important}
  .hud-menu-button{width:28%!important}
}

/* ======================================================================
   V13.3 — โปรไฟล์ไทยสวยขึ้น + โรงแรมหมาโหมดกันค้าง
   ====================================================================== */

/* ให้การ์ดโปรไฟล์เป็นจุดเด่นที่สุด */
.profile-hud-card{
  width:47%!important;
  height:16.2%!important;
}

/* รูปใหญ่ขึ้นอีกเล็กน้อย */
.profile-hud-card .avatar-button{
  width:50%!important;
  height:84%!important;
}

/* ชื่อ: อยู่กึ่งกลางฝั่งขวา ขยับขวา และใช้ฟอนต์ไทยนุ่มขึ้น */
.profile-hud-card .profile-name-button{
  left:53%!important;
  top:10%!important;
  width:45%!important;
  height:35%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:0 2px!important;
  font-family:"Thonburi","Sukhumvit Set","Ayuthaya","Noto Serif Thai","Noto Sans Thai",serif!important;
  font-size:clamp(16px,4.5vw,26px)!important;
  font-weight:900!important;
  letter-spacing:.15px!important;
  color:#fff5d9!important;
  text-shadow:0 2px 3px rgba(23,10,28,.88)!important;
}

/* กุศล: ไม่มี emoji, ตัวเลขใหญ่และหรู */
.profile-hud-card .merit-status{
  left:53%!important;
  top:50%!important;
  width:45%!important;
  height:35%!important;
  gap:7px!important;
}
.profile-hud-card .merit-status span{
  font-family:"Thonburi","Sukhumvit Set","Ayuthaya","Noto Serif Thai",serif!important;
  font-size:clamp(9px,2.35vw,13px)!important;
  font-weight:800!important;
  color:#f1d9b5!important;
}
.profile-hud-card .merit-status strong{
  font-family:"Georgia","Times New Roman","Thonburi","Ayuthaya",serif!important;
  font-size:clamp(23px,6.2vw,36px)!important;
  font-weight:900!important;
  letter-spacing:1px!important;
  color:#ffe790!important;
  text-shadow:
    0 2px 0 rgba(96,55,22,.85),
    0 0 10px rgba(255,224,135,.22)!important;
}

/* โรงแรมหมา: แจ้งเมื่อมีของดรอปจำนวนมาก โดยไม่วาดทุกชิ้นพร้อมกัน */
.dog-hotel-drop-overflow{
  position:absolute;
  z-index:96;
  left:50%;
  bottom:7.5%;
  transform:translateX(-50%);
  width:min(82%,360px);
  min-height:38px;
  padding:6px 10px;
  border:1.5px solid rgba(245,218,164,.88);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(75,46,79,.96),rgba(40,25,50,.96));
  color:#fff1cb;
  font-size:clamp(8px,2.2vw,12px);
  font-weight:900;
  box-shadow:0 6px 16px rgba(22,10,28,.42),inset 0 1px rgba(255,245,218,.18);
}
.dog-hotel-drop-overflow:active{transform:translateX(-50%) scale(.97)}

/* ======================================================================
   V13.4 — iOS PWA / Home Screen Safe Area Fix
   Safari ปกติไม่ขยับ แต่เมื่อเปิดจากไอคอนแอปบนหน้าจอหลัก
   HUD ด้านบนจะเลื่อนลงพ้น Status Bar / Dynamic Island
   ====================================================================== */
:root{
  --standalone-safe-top:0px;
  --standalone-safe-bottom:0px;
}
html.standalone-app{
  --standalone-safe-top:max(env(safe-area-inset-top,0px), 18px);
  --standalone-safe-bottom:env(safe-area-inset-bottom,0px);
}

/* ขยับเฉพาะ HUD ด้านบน ไม่ขยับฉาก/แปลง/จุดกดของเกม */
html.standalone-app .profile-hud-card,
html.standalone-app .weather-clock,
html.standalone-app .rain-status,
html.standalone-app .hud-menu-button,
html.standalone-app .tractor-button,
html.standalone-app .collect-drops-button{
  translate:0 var(--standalone-safe-top);
}

/* Drawer ทางลัดต้องเปิดใต้ status bar เช่นกัน */
html.standalone-app .hud-menu-drawer{
  top:calc(1.3% + var(--standalone-safe-top))!important;
}
html.standalone-app .hud-menu-backdrop{
  padding-top:var(--standalone-safe-top);
}

/* หน้า 2: ไอคอนที่ย้ายล่างซ้ายไม่ต้องโดน translate ด้านบน */
html.standalone-app .game-screen.plot-page-2 .tractor-button,
html.standalone-app .game-screen.plot-page-2 .collect-drops-button{
  translate:none!important;
}

/* กัน bottom nav ชิด home indicator บนเครื่องที่มี safe-area ล่าง */
html.standalone-app .bottom-nav-hotspots{
  bottom:var(--standalone-safe-bottom);
}

/* ======================================================================
   V13.5 — Dog drop tapping hotfix
   ====================================================================== */
.dog-hotel-drop-layer{
  pointer-events:none!important;
  z-index:94!important;
}
.dog-hotel-drop-layer .dog-drop-item{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  z-index:95!important;
}
.dog-hotel-drop-layer .dog-drop-item:disabled{
  opacity:.55;
  pointer-events:none!important;
}

/* V13.6 — กล่องสุ่มหมายเลข4 */
.number4-box-card{
  border-color:rgba(255,211,112,.92)!important;
  box-shadow:0 8px 22px rgba(62,38,20,.18),inset 0 0 0 1px rgba(255,239,175,.3)!important;
}
.number4-box-card .shop-price{color:#8a5b18!important;font-weight:950!important}
.number4-reward-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:10px 0;
}
.number4-reward-grid>div{
  display:grid;
  justify-items:center;
  gap:4px;
  padding:9px 5px;
  border:1px solid rgba(133,93,128,.25);
  border-radius:14px;
  background:rgba(255,247,233,.88);
}
.number4-reward-grid img{
  width:min(25vw,110px);
  aspect-ratio:1/1;
  object-fit:contain;
}
.number4-reward-grid b{font-size:clamp(8px,2.2vw,12px);text-align:center}
.number4-reward-grid strong{font-size:clamp(18px,5vw,28px);color:#6d3d70}

/* ======================================================================
   V13.7 — Dog Hotel Pen 2
   ====================================================================== */
.dog-pen-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:12px 0;
}
.dog-pen-choice-grid button{
  min-height:72px;
  line-height:1.2;
}
.dog-pen-choice-grid button small{
  display:block;
  margin-top:3px;
  opacity:.8;
  font-size:.8em;
}

/* ======================================================================
   V13.8 — Dog pen move + utility buttons
   ====================================================================== */
.dog-move-pen-button{
  width:100%;
  min-height:46px;
  margin:8px 0;
  border:1.5px solid rgba(153,111,196,.72);
  border-radius:14px;
  background:linear-gradient(180deg,#d9cbff,#a99ad8);
  color:#38284a;
  font-weight:950;
  box-shadow:0 5px 12px rgba(46,30,70,.18),inset 0 1px rgba(255,255,255,.65);
}
.dog-move-pen-button:disabled{
  opacity:.52;
  filter:grayscale(.25);
}
.dog-hotel-utility-row{
  position:absolute;
  z-index:98;
  left:50%;
  top:7.2%;
  transform:translateX(-50%);
  width:min(88%,430px);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  pointer-events:auto;
}
.dog-hotel-utility-row .dog-pen-utility{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  min-height:38px!important;
  border-radius:999px!important;
  font-size:clamp(8px,2.15vw,12px)!important;
  padding:5px 8px!important;
}
.dog-pen-collect-button{
  border:1.5px solid rgba(232,204,150,.86);
  background:linear-gradient(180deg,rgba(81,52,85,.98),rgba(42,28,52,.98));
  color:#fff1ca;
  font-weight:900;
  box-shadow:0 5px 12px rgba(25,12,31,.32);
}

/* ======================================================================
   V13.9 — Dog Hotel clean layout
   ====================================================================== */

/* ซ่อนตัวนับ 0/10, 10/10 เดิม */
.dog-hotel-scene .dog-hotel-counter{display:none!important}

/* แถว utility เดิมจาก V13.8 ไม่ใช้แล้ว */
.dog-hotel-scene .dog-hotel-utility-row{display:none!important}

/* ปุ่มเช็คสมาชิก: แถบเล็กมุมซ้ายบน ไม่ชน nav */
.dog-hotel-scene .dog-member-check-clean{
  position:absolute!important;
  z-index:110!important;
  left:3%!important;
  top:calc(env(safe-area-inset-top,0px) + 8.5%)!important;
  width:auto!important;
  max-width:46%!important;
  min-height:38px!important;
  padding:6px 12px!important;
  border:1.5px solid rgba(224,186,126,.86)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(80,49,84,.98),rgba(42,27,52,.98))!important;
  color:#fff0cc!important;
  font-size:clamp(8px,2.1vw,12px)!important;
  font-weight:900!important;
  box-shadow:0 6px 14px rgba(27,12,34,.35),inset 0 1px rgba(255,244,213,.22)!important;
  white-space:nowrap!important;
}

/* เก็บดรอปทั้งหมด = ตะกร้าอย่างเดียว มีเงาและมิติ */
.dog-hotel-scene .dog-collect-basket-button{
  position:absolute;
  z-index:111;
  right:3%;
  top:calc(env(safe-area-inset-top,0px) + 7.7%);
  width:clamp(48px,13vw,62px);
  height:clamp(48px,13vw,62px);
  padding:0;
  border:1.5px solid rgba(255,226,170,.88);
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.28),transparent 28%),
    linear-gradient(180deg,rgba(91,57,94,.99),rgba(43,28,53,.99));
  box-shadow:
    0 8px 16px rgba(24,10,30,.40),
    inset 0 2px rgba(255,246,215,.30),
    inset 0 -5px 10px rgba(18,8,24,.28);
  display:grid;
  place-items:center;
  color:#fff;
  cursor:pointer;
  touch-action:manipulation;
}
.dog-hotel-scene .dog-collect-basket-button span{
  display:block;
  font-size:clamp(25px,7vw,34px);
  line-height:1;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.38));
  transform:translateY(-1px);
}
.dog-hotel-scene .dog-collect-basket-button:active{
  transform:scale(.91);
  box-shadow:
    0 3px 7px rgba(24,10,30,.34),
    inset 0 3px 8px rgba(18,8,24,.30);
}

/* ปุ่มเปลี่ยนคอก/กลับแปลง ย้ายลงล่างให้พ้นทุกแถบ */
.dog-hotel-scene .scene-nav-button{
  top:auto!important;
  bottom:calc(env(safe-area-inset-bottom,0px) + 3.2%)!important;
  width:auto!important;
  max-width:44%!important;
  min-width:0!important;
  height:auto!important;
  min-height:44px!important;
  padding:8px 13px!important;
  border-radius:16px!important;
  font-size:clamp(9px,2.45vw,14px)!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  z-index:115!important;
}
.dog-hotel-scene .scene-back-button{
  left:3%!important;
  right:auto!important;
}
.dog-hotel-scene .scene-next-button{
  right:3%!important;
  left:auto!important;
}

/* ป้าย overflow ดรอปยกขึ้นเหนือปุ่มล่าง */
.dog-hotel-scene .dog-hotel-drop-overflow{
  bottom:calc(env(safe-area-inset-bottom,0px) + 9.5%)!important;
  max-width:70%!important;
}

/* ลดโอกาสแตะทับหมาด้านบน */
.dog-hotel-scene .dog-hotel-pet-layer{
  top:13%!important;
  bottom:9%!important;
}

/* iPhone แบบ Add to Home Screen */
html.standalone-app .dog-hotel-scene .dog-member-check-clean{
  top:calc(var(--standalone-safe-top) + 6.5%)!important;
}
html.standalone-app .dog-hotel-scene .dog-collect-basket-button{
  top:calc(var(--standalone-safe-top) + 5.8%)!important;
}

/* ======================================================================
   V14.0 — Member button position fix
   ====================================================================== */

/* class เดิมมี transform:translateX(-50%) ติดมาด้วย ทำให้หลุดซ้าย
   ยกเลิก transform แล้วขยับเข้ามาในจอ */
.dog-hotel-scene .dog-member-check-clean{
  left:4%!important;
  right:auto!important;
  transform:none!important;
  max-width:44%!important;
}
.dog-hotel-scene .dog-member-check-clean:active{
  transform:scale(.97)!important;
}
html.standalone-app .dog-hotel-scene .dog-member-check-clean{
  left:4%!important;
  transform:none!important;
}



/* ======================================================================
   V15 BIG UPDATE UI
   ====================================================================== */
.sprinkler-button{position:absolute;z-index:87;min-width:0!important;width:11.5vw;max-width:52px;height:11.5vw;max-height:52px;padding:0;border:1.5px solid rgba(255,235,191,.78);border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.24),transparent 30%),linear-gradient(180deg,rgba(86,54,87,.98),rgba(42,28,51,.98));box-shadow:0 6px 12px rgba(27,12,32,.42),inset 0 1px rgba(255,246,215,.32),inset 0 -3px 8px rgba(16,8,23,.26);display:grid;place-items:center;color:#fff;line-height:1;cursor:pointer;left:53%!important;top:12.25%!important}
.sprinkler-button>span{font-size:clamp(20px,6.1vw,31px);filter:drop-shadow(0 2px 2px rgba(0,0,0,.38))}.sprinkler-button:active{transform:scale(.91)}.sprinkler-button:disabled{opacity:.55}
.tractor-button{left:67%!important}.collect-drops-button{left:81.5%!important}
.game-screen.plot-page-2 .sprinkler-button{top:auto!important;bottom:3.2%!important;width:13vw;max-width:56px;height:13vw;max-height:56px;left:32%!important;z-index:96}
html.standalone-app .sprinkler-button{translate:0 var(--standalone-safe-top)}html.standalone-app .game-screen.plot-page-2 .sprinkler-button{translate:none!important}

.visitor-banner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.visitor-home-icon{flex:0 0 auto!important;width:12vw!important;max-width:50px!important;height:12vw!important;max-height:50px!important;padding:0!important;border-radius:50%!important;border:1.5px solid rgba(255,234,188,.85)!important;background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.26),transparent 30%),linear-gradient(180deg,#654b6b,#372641)!important;font-size:clamp(21px,6vw,31px)!important;box-shadow:0 7px 14px rgba(29,13,34,.38),inset 0 1px rgba(255,255,255,.3)!important}.visitor-home-icon:active{transform:scale(.92)}

.plot-black-magic-active{box-shadow:none!important}.plot-black-magic-active::after{inset:-15%!important;border-radius:50%!important;clip-path:ellipse(48% 43% at 50% 50%)!important;background:radial-gradient(ellipse at center,rgba(92,20,136,.16) 0%,rgba(44,4,68,.15) 42%,rgba(20,0,30,.08) 62%,transparent 78%)!important;animation:v15MagicAura 2.8s ease-in-out infinite!important}
.plot-black-magic-overlay{inset:-28% -28% -24% -28%!important;animation:v15MagicTremble 2.4s ease-in-out infinite!important}
.plot-black-magic-overlay img{width:125%!important;height:125%!important;-webkit-mask-image:radial-gradient(ellipse at center,#000 54%,rgba(0,0,0,.96) 66%,rgba(0,0,0,.55) 78%,transparent 94%)!important;mask-image:radial-gradient(ellipse at center,#000 54%,rgba(0,0,0,.96) 66%,rgba(0,0,0,.55) 78%,transparent 94%)!important;filter:drop-shadow(0 5px 6px rgba(26,0,36,.32)) drop-shadow(0 0 8px rgba(134,56,210,.48))!important}
@keyframes v15MagicTremble{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(-.8px,.4px) scale(1.008)}50%{transform:translate(.7px,-.5px) scale(1.015)}75%{transform:translate(-.4px,-.5px) scale(1.006)}}@keyframes v15MagicAura{0%,100%{opacity:.55;filter:brightness(.95)}50%{opacity:.82;filter:brightness(1.08)}}
.plot-black-magic-badge{min-width:auto!important;padding:5px 9px!important;border-radius:999px!important;font-size:9px!important;bottom:2px!important}

.v15-card-x{position:absolute;right:10px;top:9px;width:32px;height:32px;border:0;border-radius:50%;background:#efe4f2;color:#5a3665;font-size:22px;font-weight:900}.v15-magic-card{position:relative;text-align:center;padding-top:22px!important}.v15-magic-orb{width:54px;height:54px;margin:0 auto 5px;display:grid;place-items:center;border-radius:50%;font-size:28px;background:radial-gradient(circle,#8e66a5,#3d214d);box-shadow:0 8px 18px rgba(59,25,75,.25)}.v15-magic-card h2{margin:5px 0 8px}.v15-time-pill{display:inline-flex;padding:6px 12px;border-radius:999px;background:#4c285d;color:#fff1ff;font-weight:900;box-shadow:0 5px 12px rgba(49,17,62,.2)}.v15-magic-card>p{margin:9px auto;max-width:310px;font-size:11px;color:#76536f}
.v15-cost-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.v15-cost-cards>div{padding:8px;border:1px solid rgba(99,61,111,.18);border-radius:14px;background:#fff9fc}.v15-cost-cards img{width:54px;height:54px;object-fit:contain}.v15-cost-cards b,.v15-cost-cards small{display:block;font-size:9px}.v15-cost-cards small{color:#8a6b84;margin-top:2px}.v15-magic-primary{width:auto!important;min-width:132px;padding:9px 18px;border:0;border-radius:999px;background:linear-gradient(180deg,#7a4b91,#4b285d);color:white;font-weight:950;box-shadow:0 6px 13px rgba(55,25,69,.22)}.v15-magic-primary:disabled{opacity:.42}

.temple-entry-action{position:absolute;bottom:4.2%;z-index:20;min-width:35%;min-height:48px;padding:9px 14px;border:2px solid rgba(205,160,90,.9);border-radius:18px;background:linear-gradient(180deg,rgba(94,57,92,.96),rgba(52,31,61,.98));color:#fff2d6;font-weight:950;font-size:clamp(12px,3.2vw,18px);box-shadow:0 8px 18px rgba(31,15,37,.35),inset 0 1px rgba(255,248,224,.25)}.temple-solo-action{left:5%}.temple-group-action{right:5%}
.temple-mission-board{position:absolute;z-index:15;left:4%;right:4%;top:max(8%,calc(env(safe-area-inset-top) + 6%));bottom:4%;padding:10px;border:1.5px solid rgba(210,174,116,.7);border-radius:20px;background:linear-gradient(180deg,rgba(255,250,235,.94),rgba(248,232,205,.94));box-shadow:0 14px 30px rgba(44,29,31,.25);overflow:auto;backdrop-filter:blur(5px)}
.temple-board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;padding:5px 4px}.temple-board-head small{font-size:9px;color:#866851}.temple-board-head h2{margin:1px 0;color:#5a3449;font-size:19px}.temple-board-head>span{padding:5px 8px;border-radius:999px;background:#68465f;color:#fff1dd;font-size:8px;font-weight:900;text-align:center}
.temple-mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.temple-mission-card{min-width:0;padding:9px;border:1.5px solid #d0ac77;border-radius:16px;background:linear-gradient(180deg,#fffdf7,#f5e5c9);box-shadow:0 5px 11px rgba(89,57,42,.1)}.temple-mission-card header{display:flex;gap:6px;align-items:flex-start}.temple-mission-card header>span{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#6b4968;color:white;font-size:9px;font-weight:950}.temple-mission-card h3{margin:2px 0 6px;font-size:11px;line-height:1.25;color:#513546}.temple-mission-card p{margin:6px 0;font-size:9px;line-height:1.4;color:#745b67}
.temple-accept-btn,.temple-claim-btn{width:100%;min-height:37px;margin-top:7px;border:0;border-radius:12px;background:linear-gradient(180deg,#795176,#543750);color:white;font-size:9px;font-weight:950}.temple-accept-btn:disabled{opacity:.45}.temple-claim-btn{background:linear-gradient(180deg,#c4863f,#8d5a2b)}.temple-countdown,.temple-reward-chip{display:inline-block;margin:4px 0;padding:4px 7px;border-radius:999px;background:#694963;color:#fff2df;font-size:8px;font-weight:900}.temple-reward-chip{background:#9d6c34}
.temple-supply-list{display:grid;gap:5px;margin-top:7px}.temple-supply-row{display:grid;grid-template-columns:34px 1fr auto;gap:5px;align-items:center;padding:5px;border-radius:10px;background:rgba(255,255,255,.66)}.temple-supply-row img{width:32px;height:32px;object-fit:contain}.temple-supply-row b{display:block;font-size:8px}.temple-supply-row small{display:block;font-size:7px;color:#866f78}.temple-supply-row button{padding:6px 7px;border:0;border-radius:9px;background:#76516f;color:#fff;font-size:7px;font-weight:900}.temple-supply-row i{font-style:normal;color:#3d8254;font-weight:950}
.temple-sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:6px 0}.temple-sign-slot{min-width:0;padding:4px;border:1px solid #d3b58a;border-radius:9px;background:#fff9ec;text-align:center}.temple-sign-slot b{display:block;font-size:8px;color:#76505f}.temple-sign-slot span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.temple-mission-card.is-busy{background:linear-gradient(180deg,#f4eafa,#e9d7ef)}.temple-mission-card.is-cooldown{opacity:.74;background:#eee7df}
@media(max-width:390px){.temple-mission-grid{gap:6px}.temple-mission-card{padding:7px}.temple-mission-card h3{font-size:10px}.temple-supply-row{grid-template-columns:30px 1fr auto}.temple-supply-row img{width:28px;height:28px}}

.animal-ready-banner{display:none!important}.animal-slots{position:absolute;inset:0}.animal-empty-slot{width:23%!important;height:12.5%!important;aspect-ratio:auto!important;border:0!important;border-radius:18px!important;background:transparent!important;box-shadow:none!important;font-size:0!important}.animal-slot-wrap{position:absolute;width:23%;height:12.5%;z-index:8;pointer-events:none}.animal-owned-slot{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;pointer-events:auto}.animal-owned-slot img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 4px 4px rgba(25,15,25,.28))}
.animal-slot-wrap.animal-chicken .animal-owned-slot img{transform:scale(.78)}.animal-slot-wrap.animal-fish .animal-owned-slot img{transform:scale(.82)}.animal-slot-wrap.animal-pig .animal-owned-slot img{transform:scale(.90)}.animal-slot-wrap.animal-cow .animal-owned-slot img{transform:scale(.94)}
.animal-product-float{position:absolute;z-index:14;left:50%;top:-30%;transform:translateX(-50%);width:38px;height:38px;padding:3px;border:1.5px solid rgba(255,236,168,.9);border-radius:50%;background:radial-gradient(circle,#fff8c8,#e1b65a);box-shadow:0 0 0 3px rgba(255,220,86,.18),0 0 15px rgba(255,207,65,.7);pointer-events:auto;animation:v15ProductGlow 1.55s ease-in-out infinite}.animal-product-float img{width:100%;height:100%;object-fit:contain!important;transform:none!important}@keyframes v15ProductGlow{0%,100%{transform:translateX(-50%) scale(.96);filter:brightness(.96)}50%{transform:translateX(-50%) scale(1.08);filter:brightness(1.14)}}
.animal-collect-all-button{position:absolute;z-index:25;right:4%;top:max(8%,calc(env(safe-area-inset-top) + 4%));width:52px;height:52px;padding:0;border:1.5px solid rgba(255,229,176,.9);border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.28),transparent 30%),linear-gradient(180deg,#654c68,#38283e);box-shadow:0 7px 14px rgba(28,14,31,.35),inset 0 1px rgba(255,255,255,.24);color:white}.animal-collect-all-button span{font-size:29px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.v15-animal-place-panel{position:relative;text-align:center}.v15-animal-place-panel>img{display:block;width:min(170px,42vw);height:min(130px,32vw);object-fit:contain;margin:0 auto}.v15-animal-place-panel>p{font-size:11px}


/* ======================================================================
   V15.1 — จัดระเบียบ HUD ด้านบนให้สะอาดขึ้น
   ลดการ์ดโปรไฟล์ / ใช้โทนเดียว / จัด 3 ปุ่มใช้งานเร็วเป็นแถวเดียว
   ====================================================================== */
.profile-hud-card{
  left:1.4%!important;
  top:1.25%!important;
  width:39.5%!important;
  height:13.7%!important;
  border:1.5px solid rgba(214,183,128,.72)!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,rgba(70,43,76,.97),rgba(41,27,50,.97))!important;
  box-shadow:0 6px 14px rgba(28,13,34,.30),inset 0 1px rgba(255,244,214,.18)!important;
}
.profile-hud-card .avatar-button{
  left:4%!important;
  top:8%!important;
  width:38%!important;
  height:78%!important;
  border-radius:13px!important;
  border:2px solid rgba(244,224,184,.90)!important;
  background:#f7f1e8!important;
}
.profile-hud-card #playerAvatar{
  border-radius:11px!important;
  transform:scale(1.03)!important;
}
.profile-hud-card .profile-name-button{
  left:45%!important;
  top:13%!important;
  width:51%!important;
  height:30%!important;
  font-size:clamp(13px,3.5vw,20px)!important;
  justify-content:flex-start!important;
  text-align:left!important;
  color:#fff3d6!important;
}
.profile-hud-card .merit-status{
  left:45%!important;
  top:50%!important;
  width:51%!important;
  height:31%!important;
  border:1px solid rgba(231,203,151,.20)!important;
  border-radius:10px!important;
  background:rgba(24,14,30,.30)!important;
  gap:5px!important;
  justify-content:center!important;
}
.profile-hud-card .merit-status span{font-size:clamp(7px,1.8vw,10px)!important}
.profile-hud-card .merit-status strong{font-size:clamp(18px,4.7vw,28px)!important}

.weather-clock,
.rain-status,
.hud-menu-button{
  border:1.5px solid rgba(214,183,128,.66)!important;
  background:linear-gradient(180deg,rgba(70,43,76,.97),rgba(41,27,50,.97))!important;
  box-shadow:0 5px 12px rgba(28,13,34,.28),inset 0 1px rgba(255,244,214,.16)!important;
}
.weather-clock{
  left:42.5%!important;
  top:1.35%!important;
  width:24%!important;
  height:4.25%!important;
  border-radius:13px!important;
}
.rain-status{
  left:42.5%!important;
  top:6.05%!important;
  width:24%!important;
  min-height:4.25%!important;
  height:4.25%!important;
  border-radius:13px!important;
}
.hud-menu-button{
  right:1.5%!important;
  top:1.35%!important;
  width:30.5%!important;
  height:4.9%!important;
  border-radius:999px!important;
  padding:0 10px!important;
  gap:5px!important;
}
.hud-menu-button span{font-size:clamp(12px,3vw,18px)!important}
.hud-menu-button b{font-size:clamp(9px,2.4vw,13px)!important}

/* ปุ่มเร็ว 3 ปุ่มวางเป็นแถวเดียวทางขวา ไม่กองทับสีของโปรไฟล์ */
.sprinkler-button,
.tractor-button,
.collect-drops-button{
  top:7.3%!important;
  width:11.2vw!important;
  max-width:50px!important;
  height:11.2vw!important;
  max-height:50px!important;
  min-width:0!important;
  padding:0!important;
  border:1.5px solid rgba(232,210,169,.74)!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.18),transparent 28%),linear-gradient(180deg,rgba(73,47,79,.98),rgba(40,27,49,.98))!important;
  box-shadow:0 6px 12px rgba(28,13,34,.30),inset 0 1px rgba(255,246,219,.20)!important;
  display:grid!important;
  place-items:center!important;
}
.sprinkler-button{left:53%!important;right:auto!important}
.tractor-button{left:68%!important;right:auto!important}
.collect-drops-button{left:83%!important;right:auto!important}
.sprinkler-button>span,
.tractor-button>span,
.collect-drops-button>span{
  font-size:clamp(20px,5.7vw,29px)!important;
  line-height:1!important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.32))!important;
}

@media(max-width:390px){
  .profile-hud-card{width:40.5%!important}
  .weather-clock,.rain-status{left:43%!important;width:23.5%!important}
  .hud-menu-button{width:30.5%!important}
  .sprinkler-button{left:52.5%!important}
  .tractor-button{left:67.5%!important}
  .collect-drops-button{left:82.5%!important}
}

/* รักษาการจัดวางหน้าแปลง 13–24 เดิม */
.game-screen.plot-page-2 .sprinkler-button,
.game-screen.plot-page-2 .tractor-button,
.game-screen.plot-page-2 .collect-drops-button{
  top:auto!important;
}


/* ======================================================================
   REQUESTED UPDATE — 2026-08-13 (targeted visual overrides only)
   ====================================================================== */
/* page 1 quick icons: spaced cleanly; page 2/3 retain their own layout */
.game-screen:not(.plot-page-2):not(.plot-page-3) .sprinkler-button{left:50.5%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3) .tractor-button{left:67%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3) .collect-drops-button{left:83.5%!important}

/* Farm page 3 — exact uploaded filename/case */
.game-screen.plot-page-3{background-image:url("farm-plots-25-36.PNG?v=1")!important}
.game-screen.plot-page-3 .profile-hud-card,
.game-screen.plot-page-3 .weather-clock,
.game-screen.plot-page-3 .rain-status,
.game-screen.plot-page-3 .hud-menu-button,
.game-screen.plot-page-3 .top-player-name-button,
.game-screen.plot-page-3 .scene-hotspot,
.game-screen.plot-page-3 .friendly-ghost-hotspot,
.game-screen.plot-page-3 .coconut-garden-hotspot,
.game-screen.plot-page-3 .bottom-nav-hotspots{display:none!important}
.game-screen.plot-page-3 .aida-farm-pet-layer{display:block!important}
.game-screen.plot-page-3 .plot:nth-child(1),.game-screen.plot-page-3 .plot:nth-child(4),.game-screen.plot-page-3 .plot:nth-child(7),.game-screen.plot-page-3 .plot:nth-child(10){left:5.0%!important}
.game-screen.plot-page-3 .plot:nth-child(2),.game-screen.plot-page-3 .plot:nth-child(5),.game-screen.plot-page-3 .plot:nth-child(8),.game-screen.plot-page-3 .plot:nth-child(11){left:34.5%!important}
.game-screen.plot-page-3 .plot:nth-child(3),.game-screen.plot-page-3 .plot:nth-child(6),.game-screen.plot-page-3 .plot:nth-child(9),.game-screen.plot-page-3 .plot:nth-child(12){left:64.3%!important}
.game-screen.plot-page-3 .plot:nth-child(1),.game-screen.plot-page-3 .plot:nth-child(2),.game-screen.plot-page-3 .plot:nth-child(3){top:30.6%!important}
.game-screen.plot-page-3 .plot:nth-child(4),.game-screen.plot-page-3 .plot:nth-child(5),.game-screen.plot-page-3 .plot:nth-child(6){top:42.8%!important}
.game-screen.plot-page-3 .plot:nth-child(7),.game-screen.plot-page-3 .plot:nth-child(8),.game-screen.plot-page-3 .plot:nth-child(9){top:55.0%!important}
.game-screen.plot-page-3 .plot:nth-child(10),.game-screen.plot-page-3 .plot:nth-child(11),.game-screen.plot-page-3 .plot:nth-child(12){top:67.2%!important}
.game-screen.plot-page-2 .plot-page-next{display:flex!important}
.game-screen.plot-page-3 .plot-page-next{display:none!important}

/* status icons: same size/position, subtle dimensional shadow, no blinking */
.status-badge{filter:drop-shadow(0 3px 4px rgba(0,0,0,.46)) drop-shadow(0 1px 1px rgba(255,255,255,.20))!important;animation:none!important}
.angel-status-badge{filter:drop-shadow(0 4px 5px rgba(45,18,62,.50)) drop-shadow(0 0 3px rgba(255,239,166,.55))!important}

/* Rank podium */
.friend-rank-row{position:relative;transition:transform .18s ease,box-shadow .18s ease}
.admin-rank-row{border:2px solid rgba(244,200,91,.98)!important;background:linear-gradient(135deg,rgba(67,30,91,.98),rgba(112,53,121,.97))!important;box-shadow:0 8px 22px rgba(61,20,79,.35),0 0 0 2px rgba(255,224,135,.18),inset 0 0 18px rgba(255,214,95,.12)!important;transform:translateY(-2px)}
.admin-rank-row .friend-info b{color:#fff0b9!important;font-size:1.06em}.admin-rank-badge{background:linear-gradient(180deg,#ffe18a,#c88d2e)!important;color:#4c270c!important;border-radius:999px!important;padding:5px 8px!important;font-size:.72em!important;width:auto!important}
.rank-top-1{border:2px solid #d8a62b!important;box-shadow:0 7px 17px rgba(150,103,12,.28),inset 0 0 12px rgba(255,217,102,.18)!important;transform:translateY(-1px)}
.rank-top-2{border:2px solid #b8c4d1!important;box-shadow:0 6px 15px rgba(100,118,140,.22),inset 0 0 12px rgba(235,246,255,.22)!important}
.rank-top-3{border:2px solid #c88671!important;box-shadow:0 6px 15px rgba(145,83,65,.20),inset 0 0 12px rgba(255,207,190,.16)!important}
.rank-crown{position:absolute;left:7px;top:-10px;font-size:22px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));pointer-events:none}
@media (prefers-reduced-motion:no-preference){.admin-rank-row,.rank-top-1{background-size:200% 100%;animation:y26RankShimmer 5s ease-in-out infinite}@keyframes y26RankShimmer{0%,100%{background-position:0 0}50%{background-position:100% 0}}}

/* Rainy menu text contrast only */
.rainy-inventory-item,.rainy-inventory-item span,.rainy-inventory-item b,.rainy-inventory-item small{color:#2d241d!important;text-shadow:none!important}

/* Pet status follows animal/name */
.farm-pet-status-wrap{position:absolute;z-index:8;left:50%;top:-3%;transform:translateX(22px);pointer-events:auto}
.pet-status-icon{width:30px;height:30px;padding:0;border:0;background:transparent;display:grid;place-items:center;filter:drop-shadow(0 3px 3px rgba(0,0,0,.38));cursor:pointer}
.pet-status-icon img{width:100%;height:100%;object-fit:contain;display:block}
.pet-hungry-icon{pointer-events:none}
.dog-hotel-pet .farm-pet-status-wrap{top:-12px;left:52%}
.dog-roster-actions{display:flex;align-items:center;gap:5px}.dog-roster-angry{width:34px!important;height:34px!important;padding:2px!important;border-radius:50%!important}.dog-roster-angry img{width:100%;height:100%;object-fit:contain}

/* medicine */
.medicine-shop-card img,.medicine-inventory-item>img{object-fit:contain}.medicine-inventory-item small{display:block}.pet-medicine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0 12px}.pet-medicine-grid button{min-width:0;padding:7px;border-radius:12px}.pet-medicine-grid img{width:42px;height:42px;object-fit:contain}.pet-medicine-grid span,.pet-medicine-grid small{display:block}.pet-medicine-active{margin:8px 0 12px;padding:9px;border-radius:12px;background:rgba(126,91,159,.14);font-weight:800}.y26-three-farms{grid-template-columns:repeat(3,1fr)!important}

/* Jelly V2 */
.jelly-v2-craft-button{position:absolute;left:3%;bottom:4%;z-index:35;border:0;border-radius:999px;padding:9px 12px;background:rgba(63,34,85,.92);color:#fff3c9;font-weight:900;box-shadow:0 5px 14px rgba(30,12,42,.32)}
.jelly-v2-slot img{filter:drop-shadow(0 4px 5px rgba(35,20,70,.38))}.jelly-version-title{margin:15px 4px 7px}.jelly-v2-inventory{box-shadow:inset 0 0 0 1px rgba(122,87,175,.22)}.jelly-craft-stock{margin:9px 0;padding:8px;border-radius:12px;background:rgba(100,70,130,.10)}

/* Barn gift box */
.animal-slot-wrap{overflow:visible!important}.animal-merit-gift{position:absolute;z-index:18;right:-5px;top:-12px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(255,247,220,.94);font-size:21px;box-shadow:0 4px 10px rgba(55,31,23,.28);cursor:pointer}

.purchase-warning-card p{font-size:1.02em;line-height:1.55}.friend-cat-view .feature-subtitle{margin-top:10px}

/* Bed activity: allow scene navigation but block gameplay interactions inside the scene. */
.scene-interactive-layer.rest-view-only{pointer-events:none!important}


/* ======================================================================
   V27 — QUICK MENU REORGANIZE ONLY
   ====================================================================== */
.hud-menu-sectioned-list{gap:11px!important}
.hud-menu-section{display:grid;gap:6px}
.hud-menu-section+.hud-menu-section{padding-top:9px;border-top:1px solid rgba(224,190,143,.22)}
.hud-menu-section-title{margin:0;padding:0 3px;color:#ffe1a8;font-size:clamp(11px,2.85vw,14px);font-weight:950;letter-spacing:.1px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.hud-menu-section-items{display:grid;gap:6px}
.hud-menu-sectioned-list .hud-menu-item{min-height:50px!important}
.hud-menu-sectioned-list .hud-menu-item>span{font-size:22px}
.hud-menu-drawer{max-height:88%!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}


/* ======================================================================
   V28 — cleanup bugfix visuals only
   ====================================================================== */
/* Rank hierarchy */
.friend-rank-list{display:grid;gap:8px}.admin-rank-row{position:relative;border:2px solid #d7a84c!important;background:linear-gradient(115deg,#321a45,#5b2f66 55%,#7b5830)!important;box-shadow:0 0 0 2px rgba(255,220,126,.22),0 9px 22px rgba(45,18,52,.32)!important;color:#fff7df!important}.admin-rank-row .friend-info b,.admin-rank-row .friend-info small{color:#fff7df!important}.admin-rank-badge{min-width:66px;padding:6px 8px;border-radius:999px;background:linear-gradient(180deg,#ffd975,#b77a20);color:#4d2a19;font-weight:950;font-size:clamp(8px,2vw,11px);text-align:center;box-shadow:0 3px 8px rgba(80,43,13,.3)}
.rank-top-1{border:2px solid #e1b13f!important;background:linear-gradient(110deg,#fff7d8,#f5d983,#fff5cf)!important;box-shadow:0 0 0 2px rgba(255,220,88,.2),0 7px 18px rgba(157,105,18,.22)!important}.rank-top-2{border:2px solid #aeb9ca!important;background:linear-gradient(110deg,#f7f9fc,#dfe6ef,#f7f9fc)!important;box-shadow:0 7px 16px rgba(84,98,121,.18)!important}.rank-top-3{border:2px solid #c88369!important;background:linear-gradient(110deg,#fff0e8,#e7b59f,#fff1e9)!important;box-shadow:0 7px 16px rgba(121,66,49,.17)!important}.rank-top-1 .friend-rank,.rank-top-2 .friend-rank,.rank-top-3 .friend-rank{font-size:1.08em;font-weight:1000}

/* Dog hungry / angry icon follows moving dog */
.dog-hotel-pet{overflow:visible!important}.dog-hotel-pet .dog-status-wrap{position:absolute!important;z-index:12!important;left:62%!important;top:-8px!important;transform:none!important;pointer-events:auto!important}.dog-hotel-pet .dog-status-wrap .pet-status-icon{width:32px!important;height:32px!important}

/* Page 1 sprinkler: move away from the upper control stack. Pages 2/3 keep their own layout. */
.game-screen:not(.plot-page-2):not(.plot-page-3) .sprinkler-button{left:52.5%!important;top:17.15%!important}

/* Jelly craft ingredient cards */
.jelly-v2-craft-panel-v28{max-width:620px}.jelly-v1-craft-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.jelly-v1-craft-choice{min-width:0;padding:7px 4px;border:2px solid rgba(116,77,135,.22);border-radius:13px;background:linear-gradient(180deg,#fffaf0,#f0dfc1);color:#4b2b4d;text-align:center}.jelly-v1-craft-choice img{display:block;width:58px;height:58px;max-width:100%;margin:0 auto 4px;object-fit:contain}.jelly-v1-craft-choice b,.jelly-v1-craft-choice small{display:block}.jelly-v1-craft-choice b{font-size:10px;line-height:1.15}.jelly-v1-craft-choice small{font-size:8px;margin-top:2px}.jelly-v1-craft-choice.selected{border-color:#d59d2e;background:linear-gradient(180deg,#fff4b7,#f2cc61);box-shadow:0 0 0 2px rgba(255,215,76,.24),0 6px 14px rgba(97,65,25,.18)}.jelly-v1-craft-choice:disabled{opacity:.43}.jelly-plankton-card{margin-top:10px;padding:9px 11px;border-radius:14px;display:flex;align-items:center;gap:10px;background:rgba(103,72,132,.10);border:2px solid rgba(103,72,132,.14)}.jelly-plankton-card.ready{border-color:rgba(69,145,81,.55);background:rgba(91,166,99,.12)}.jelly-plankton-card.not-ready{border-color:rgba(178,78,88,.45)}.jelly-plankton-card img{width:62px;height:62px;object-fit:contain}.jelly-plankton-card span,.jelly-plankton-card b,.jelly-plankton-card small{display:block}.jelly-v28-craft-btn{width:100%;margin-top:11px;min-height:46px}
@media(max-width:430px){.jelly-v1-craft-grid{grid-template-columns:repeat(4,1fr);gap:5px}.jelly-v1-craft-choice img{width:48px;height:48px}.jelly-v1-craft-choice{padding:6px 2px}}

/* Crop art slightly larger, same center/position */
.crop img.crop-img{width:clamp(54px,13.4vw,106px)!important;height:clamp(54px,13.4vw,106px)!important}.crop img.stage-seed{width:clamp(41px,8.6vw,70px)!important;height:clamp(41px,8.6vw,70px)!important}.crop img.stage-sprout{width:clamp(48px,10.2vw,83px)!important;height:clamp(48px,10.2vw,83px)!important}.crop img.stage-grow{width:clamp(56px,11.8vw,96px)!important;height:clamp(56px,11.8vw,96px)!important}.crop img.stage-ready{width:clamp(66px,15.3vw,122px)!important;height:clamp(66px,15.3vw,122px)!important}


/* ======================================================================
   V29 — final cleanup visuals
   ====================================================================== */
/* Page 1: one tool button; the three existing actions become a compact flyout. */
.farm-tools-button{position:absolute;z-index:86;right:4.2%;top:15.7%;min-width:104px;height:48px;border:2px solid rgba(180,126,74,.92);border-radius:999px;background:linear-gradient(180deg,rgba(82,55,88,.98),rgba(43,29,53,.98));color:#fff0c9;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:900;box-shadow:0 5px 12px rgba(39,18,42,.36)}
.farm-tools-button span{font-size:22px}.farm-tools-button b{font-size:12px}
.game-screen:not(.plot-page-2):not(.plot-page-3) .tractor-button,
.game-screen:not(.plot-page-2):not(.plot-page-3) .collect-drops-button,
.game-screen:not(.plot-page-2):not(.plot-page-3) .sprinkler-button{opacity:0;pointer-events:none;transform:translateY(-6px) scale(.92);transition:opacity .14s ease,transform .14s ease}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button{opacity:1;pointer-events:auto;transform:none;top:20.6%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button{left:49%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button{left:66%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{left:83%!important}
.game-screen.plot-page-2 .farm-tools-button,.game-screen.plot-page-3 .farm-tools-button{display:none!important}

/* Friend visit: view-only top HUD. Keep farm-page arrows, show only Home at upper-right. */
.visit-home-button{position:absolute;z-index:98;right:4.5%;top:3%;width:58px;height:58px;border-radius:50%;border:2px solid #e8c88b;background:linear-gradient(180deg,#5d365f,#33203d);font-size:27px;box-shadow:0 7px 18px rgba(35,15,42,.34)}
.game-screen.visiting-friend .profile-hud-card,
.game-screen.visiting-friend .weather-clock,
.game-screen.visiting-friend .rain-status,
.game-screen.visiting-friend .hud-menu-button,
.game-screen.visiting-friend .farm-tools-button,
.game-screen.visiting-friend .tractor-button,
.game-screen.visiting-friend .collect-drops-button,
.game-screen.visiting-friend .sprinkler-button,
.game-screen.visiting-friend .top-player-name-button,
.game-screen.visiting-friend .scene-hotspot,
.game-screen.visiting-friend .friendly-ghost-hotspot,
.game-screen.visiting-friend .coconut-garden-hotspot,
.game-screen.visiting-friend .bottom-nav-hotspots{display:none!important}
.game-screen.visiting-friend .visit-home-button{display:grid!important;place-items:center}

/* Rank: admin is visually strongest and intentionally has no numeric rank. */
.v29-rank-panel .friend-rank-list{gap:9px}
.v29-admin-rank{position:relative;border:3px solid #f0bd4f!important;background:linear-gradient(120deg,#261331 0%,#5e2e72 52%,#8b6330 100%)!important;box-shadow:0 0 0 2px rgba(255,229,143,.28),0 10px 24px rgba(49,18,60,.34),inset 0 0 22px rgba(255,208,90,.16)!important;color:#fff8e5!important;transform:translateY(-2px)}
.v29-admin-rank .friend-info b,.v29-admin-rank .friend-info small{color:#fff8e5!important}.v29-admin-label{min-width:72px;padding:6px 9px;border-radius:999px;background:linear-gradient(180deg,#ffe58b,#c18a27);color:#4b280d;font-weight:1000;font-size:10px;text-align:center;box-shadow:0 4px 10px rgba(67,38,10,.28)}
.v29-top-1{position:relative;border:3px solid #e2ad24!important;background:linear-gradient(110deg,#fff8d9,#f4d26b,#fff7d6)!important;box-shadow:0 0 0 2px rgba(255,218,71,.25),0 8px 20px rgba(146,96,12,.24)!important;transform:translateY(-1px)}
.v29-top-2{border:3px solid #aebacb!important;background:linear-gradient(110deg,#fafcff,#dfe7f1,#f9fbff)!important;box-shadow:0 7px 18px rgba(74,89,111,.18)!important}
.v29-top-3{border:3px solid #c98469!important;background:linear-gradient(110deg,#fff2eb,#e9b6a0,#fff2eb)!important;box-shadow:0 7px 18px rgba(117,64,48,.17)!important}
.v29-rank-crown{position:absolute;left:8px;top:-13px;font-size:23px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));pointer-events:none}

/* ======================================================================
   V30 — definitive cleanup visuals
   ====================================================================== */
/* Never show the old long visitor banner. The single home icon is enough. */
.game-screen.visiting-friend .visitor-banner,
#visitorBanner{display:none!important}

/* Page 1 tool flyout becomes one neat tray instead of three scattered circles. */
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open::after{
  content:"";
  position:absolute;
  z-index:84;
  right:2.8%;
  top:20.1%;
  width:53%;
  height:68px;
  border:2px solid rgba(221,181,111,.82);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(70,39,77,.96),rgba(42,24,52,.96));
  box-shadow:0 8px 20px rgba(30,12,38,.34),inset 0 1px rgba(255,239,198,.18);
  pointer-events:none;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{
  top:20.55%!important;
  left:auto!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  border-radius:50%!important;
  z-index:87!important;
  margin:0!important;
  transform:none!important;
  box-shadow:0 4px 10px rgba(28,13,34,.28)!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button{right:38%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button{right:20.5%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{right:3.2%!important}

/* Friend visit: exactly one Home button, top-right. */
.game-screen.visiting-friend .visit-home-button{
  display:grid!important;
  place-items:center;
  right:4%!important;
  top:3%!important;
  width:58px!important;
  height:58px!important;
  z-index:120!important;
}

/* Rank final styling is intentionally forceful so older friend-row CSS cannot win. */
.v29-rank-panel .v29-admin-rank{
  border:3px solid #f2c24f!important;
  background:linear-gradient(120deg,#21102e 0%,#5f2d72 55%,#9b7133 100%)!important;
  box-shadow:0 0 0 2px rgba(255,231,151,.35),0 10px 24px rgba(49,18,60,.36),inset 0 0 24px rgba(255,213,95,.18)!important;
}
.v29-rank-panel .v29-admin-rank .friend-rank{display:none!important}
.v29-rank-panel .v29-admin-label{display:inline-flex!important;align-items:center;justify-content:center!important}
.v29-rank-panel .v29-top-1{border:3px solid #e3ac18!important;background:linear-gradient(110deg,#fff9dc,#f3d15d,#fff8d8)!important}
.v29-rank-panel .v29-top-2{border:3px solid #aeb8c8!important;background:linear-gradient(110deg,#fbfdff,#dde5ef,#fbfdff)!important}
.v29-rank-panel .v29-top-3{border:3px solid #c67d63!important;background:linear-gradient(110deg,#fff1e9,#e8b19a,#fff2eb)!important}


/* ======================================================================
   V31 — move the Page 1 tools button higher + screwdriver icon
   ====================================================================== */
.game-screen:not(.plot-page-2):not(.plot-page-3):not(.visiting-friend) .farm-tools-button{
  top:11.6%!important;
  right:4.2%!important;
}


/* ======================================================================
   V32 — cleanup visuals
   ====================================================================== */
/* Tools: closer to Shortcuts, but not overlapping. One compact aligned tray. */
.game-screen:not(.plot-page-2):not(.plot-page-3):not(.visiting-friend) .farm-tools-button{
  top:8.2%!important;
  right:4.2%!important;
  height:43px!important;
  min-width:98px!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open::after{
  right:3.2%!important;
  top:12.25%!important;
  width:45.5%!important;
  height:60px!important;
  border-radius:22px!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{
  top:12.62%!important;
  width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
  border-radius:16px!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button{right:34.5%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button{right:18.7%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{right:3.8%!important}

/* Jelly pond: V1 slightly calmer/smaller; V2 only modestly larger and more prominent. */
.jelly-slot-owned:not(.jelly-v2-slot) img{width:94%!important;height:72%!important;margin:0 auto!important}
.jelly-slot-owned.jelly-v2-slot img{width:108%!important;height:82%!important;margin-left:-4%!important;filter:drop-shadow(0 5px 7px rgba(54,24,86,.42))!important}
.jelly-slot-owned.jelly-v2-hungry img{animation:v32JellyV2Hungry 1.28s ease-in-out infinite!important}
@keyframes v32JellyV2Hungry{0%,100%{transform:scale(1);filter:drop-shadow(0 5px 7px rgba(54,24,86,.42)) brightness(1)}50%{transform:scale(1.08);filter:drop-shadow(0 7px 11px rgba(121,63,176,.58)) brightness(1.16)}}

/* Shop neutral landing screen. */
.shop-home-panel .shop-category-tabs{margin-bottom:12px}
.shop-home-cover{position:relative;overflow:hidden;border-radius:18px;border:2px solid rgba(139,90,125,.22);background:#ead8b7;box-shadow:0 8px 20px rgba(70,38,67,.14)}
.shop-home-cover>img{display:block;width:100%;max-height:52vh;object-fit:cover;object-position:center}
.shop-home-copy{padding:11px 13px;text-align:center;background:linear-gradient(180deg,#fff7e7,#ecd7ae);color:#4b2a49}
.shop-home-copy b,.shop-home-copy small{display:block}.shop-home-copy b{font-size:14px}.shop-home-copy small{margin-top:3px;font-size:10px;opacity:.78}

/* ======================================================================
   V33 — bed activity cards + exact tool tray alignment
   ====================================================================== */
.v33-rest-panel{padding-top:4px!important}
.v33-rest-heading{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:4px 2px 12px;border-bottom:1px solid rgba(105,65,98,.16)}
.v33-rest-heading-icon{flex:0 0 auto;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:27px;background:linear-gradient(145deg,#fff8e8,#ead2a5);border:1.5px solid rgba(126,79,104,.2);box-shadow:0 5px 12px rgba(76,44,72,.13)}
.v33-rest-heading h2{margin:0;color:#4a2948;font-size:clamp(21px,6vw,30px);line-height:1.05}
.v33-rest-heading p{margin:5px 0 0;color:#806778;font-size:clamp(10px,2.7vw,13px);line-height:1.25}
.v33-rest-options{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0!important}
.v33-rest-card{position:relative;min-width:0;min-height:116px;padding:12px 10px 10px!important;border:1.5px solid rgba(116,72,103,.24)!important;border-radius:18px!important;background:linear-gradient(160deg,#fffaf0 0%,#f4e5c6 100%)!important;color:#4a2948!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;box-shadow:0 6px 14px rgba(68,36,66,.12),inset 0 1px rgba(255,255,255,.75)!important;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v33-rest-card::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,#9b5f8f,#e6b55f);opacity:.8}
.v33-rest-card:active{transform:scale(.975)}
.v33-rest-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-size:22px;margin-bottom:8px;background:rgba(255,255,255,.72);box-shadow:0 3px 8px rgba(73,39,68,.12)}
.v33-rest-copy{display:block;width:100%;padding-right:14px}
.v33-rest-copy b{display:block;font-size:clamp(13px,3.7vw,16px);line-height:1.18;color:#452641;margin-bottom:4px}
.v33-rest-copy small{display:block;font-size:clamp(9px,2.55vw,11px);font-weight:850;color:#7d536e;line-height:1.2}
.v33-rest-copy em{display:block;margin-top:4px;font-style:normal;font-size:clamp(8px,2.2vw,10px);line-height:1.2;color:#9a7b89}
.v33-rest-arrow{position:absolute;right:10px;bottom:9px;font-size:24px;line-height:1;color:#8a587c;opacity:.75}
.v33-rest-sleep{background:linear-gradient(160deg,#f9f3ff 0%,#eadcf4 100%)!important}
.v33-rest-nap{background:linear-gradient(160deg,#eef8ff 0%,#dcebf5 100%)!important}
.v33-rest-flirt{background:linear-gradient(160deg,#fff1f5 0%,#f4d9e4 100%)!important}
.v33-rest-introvert{background:linear-gradient(160deg,#f5f2ed 0%,#e4ddd4 100%)!important}
@media(max-width:380px){.v33-rest-options{gap:8px!important}.v33-rest-card{min-height:108px;padding:10px 8px 8px!important}.v33-rest-icon{width:34px;height:34px;font-size:20px;margin-bottom:6px}}

/* Page 1 tools: one exact tray; every tool is centered inside its own equal slot. */
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open::after{
  right:4%!important;
  top:12.15%!important;
  width:46%!important;
  height:60px!important;
  border-radius:19px!important;
  border:2px solid rgba(224,187,119,.82)!important;
  background:linear-gradient(180deg,rgba(69,38,76,.98),rgba(41,23,51,.98))!important;
  box-shadow:0 7px 18px rgba(30,12,38,.32),inset 0 1px rgba(255,239,198,.18)!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{
  top:12.58%!important;
  right:auto!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  padding:0!important;
  margin:0!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  box-sizing:border-box!important;
  transform:none!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button{left:52%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button{left:68%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{left:84%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button>span,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button>span,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button>span{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;margin:0!important;font-size:25px!important;line-height:1!important}


/* ======================================================================
   V35 — requested UI cleanup only
   ====================================================================== */
/* Food options: image-first game cards instead of text-only choices. */
.v35-food-choice-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.v35-food-card{min-width:0!important;min-height:112px!important;padding:10px 8px!important;border:1.5px solid rgba(145,94,64,.46)!important;border-radius:18px!important;background:linear-gradient(160deg,#fffaf0,#f3dfb7)!important;color:#4b2a49!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;text-align:center!important;box-shadow:0 5px 12px rgba(70,38,67,.11),inset 0 1px rgba(255,255,255,.78)!important}
.v35-food-card img{display:block!important;width:64px!important;height:64px!important;object-fit:contain!important;margin:0 auto!important;filter:drop-shadow(0 3px 4px rgba(65,35,56,.16))}
.v35-food-card span,.v35-food-card b,.v35-food-card small{display:block!important}
.v35-food-card b{font-size:clamp(11px,3.05vw,14px)!important;line-height:1.18!important}
.v35-food-card small{margin-top:3px!important;font-size:clamp(9px,2.45vw,11px)!important;color:#856b76!important}
.v35-food-card:disabled{opacity:.46!important;filter:grayscale(.22)!important}

/* Dog roster actions: compact, separate, and visually intentional. */
.v35-dog-roster-row{grid-template-columns:68px minmax(0,1fr) 112px!important;align-items:center!important;gap:9px!important}
.v35-dog-roster-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;align-content:center!important}
.v35-dog-roster-actions>button:not(.dog-roster-angry){width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:5px 7px!important;border-radius:12px!important;font-size:clamp(10px,2.7vw,12px)!important;font-weight:900!important;line-height:1.05!important}
.v35-dog-feed-btn{border:1.5px solid #4f9a59!important;background:linear-gradient(180deg,#75c77d,#4f9c5a)!important;color:#fff!important;box-shadow:0 4px 9px rgba(45,107,56,.23)!important}
.v35-dog-feed-btn:disabled{background:linear-gradient(180deg,#b7c5b9,#98aa9b)!important;border-color:#94a796!important;color:#eef3ef!important;opacity:.68!important;box-shadow:none!important}
.v35-dog-med-btn{border:1.5px solid #a66b9c!important;background:linear-gradient(180deg,#b978aa,#8d5486)!important;color:#fff!important;box-shadow:0 4px 9px rgba(104,54,96,.22)!important}
.v35-dog-roster-actions .dog-roster-angry{justify-self:center!important;width:34px!important;height:34px!important;min-width:34px!important;padding:2px!important;border-radius:50%!important}
.v35-dog-roster-actions .dog-roster-angry img{width:100%!important;height:100%!important;object-fit:contain!important}
@media(max-width:390px){.v35-dog-roster-row{grid-template-columns:58px minmax(0,1fr) 98px!important}.v35-dog-roster-actions>button:not(.dog-roster-angry){font-size:10px!important;padding:4px!important}}

/* Tool tray: lower than before, fixed shared tray, 3 equal centered slots. */
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open::after{
  right:3.5%!important;
  top:13.45%!important;
  width:47.5%!important;
  height:64px!important;
  border-radius:20px!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{
  top:13.82%!important;
  width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;
  margin:0!important;padding:0!important;border-radius:14px!important;display:grid!important;place-items:center!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button{left:51.6%!important;right:auto!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button{left:68.1%!important;right:auto!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{left:84.6%!important;right:auto!important}

/* ======================================================================
   V36 — Campaign luxury dashboard + reliable gift tap + lower tool tray
   ====================================================================== */
.animal-merit-gift{
  z-index:60!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:rgba(255,255,255,.18)!important;
}

/* Lower the page-1 tool tray and keep all three buttons centered in-frame. */
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open::after{
  top:15.25%!important;
  right:3.5%!important;
  width:47.5%!important;
  height:66px!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button,
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{
  top:15.72%!important;
}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .sprinkler-button{left:51.7%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .tractor-button{left:68.1%!important}
.game-screen:not(.plot-page-2):not(.plot-page-3).farm-tools-open .collect-drops-button{left:84.5%!important}

.campaign-shortcut-section .campaign-shortcut-item{
  background:linear-gradient(135deg,rgba(74,38,87,.98),rgba(116,62,96,.98))!important;
  border-color:rgba(238,195,109,.48)!important;
}
.campaign-shortcut-section .campaign-shortcut-item>span{filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}

.modal-card:has(.v36-campaign-dashboard),
.modal-card:has(.v36-campaign-conditions),
.modal-card:has(.v36-campaign-ended){
  width:min(96vw,680px)!important;
  max-width:680px!important;
  height:min(92dvh,920px)!important;
  max-height:92dvh!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:26px!important;
  background:#25142d!important;
  border:2px solid rgba(236,198,116,.58)!important;
  box-shadow:0 20px 55px rgba(20,7,27,.46)!important;
}
.modal-card:has(.v36-campaign-dashboard)>.close,
.modal-card:has(.v36-campaign-conditions)>.close,
.modal-card:has(.v36-campaign-ended)>.close{display:none!important}
.v36-campaign-dashboard,.v36-campaign-conditions,.v36-campaign-ended{
  position:relative!important;
  min-height:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background-image:var(--campaign-bg)!important;
  background-size:cover!important;
  background-position:center!important;
  color:#fff8e9!important;
}
.v36-campaign-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(29,12,34,.42) 0%,rgba(34,15,40,.50) 30%,rgba(26,10,31,.88) 100%),
    linear-gradient(90deg,rgba(31,12,36,.20),rgba(255,255,255,.03),rgba(31,12,36,.20));
  backdrop-filter:blur(1.2px);
}
.v36-campaign-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;padding:16px 15px 14px}
.v36-campaign-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v36-campaign-topbar button,.v36-campaign-topbar>span{
  min-height:40px;padding:8px 12px;border-radius:999px;border:1.5px solid rgba(255,225,158,.7);
  background:linear-gradient(180deg,rgba(72,35,83,.94),rgba(44,22,54,.96));color:#fff4ce;
  font-size:clamp(10px,2.8vw,13px);font-weight:900;box-shadow:0 5px 14px rgba(22,7,29,.28);
}
.v36-campaign-title{margin:16px 3px 12px;text-align:center}
.v36-campaign-title>small{display:inline-block;padding:5px 11px;border-radius:999px;background:rgba(54,24,65,.72);border:1px solid rgba(255,220,142,.42);font-weight:900}
.v36-campaign-title h2{margin:8px auto 5px;max-width:94%;font-size:clamp(23px,6.4vw,35px);line-height:1.08;color:#fff5d8;text-shadow:0 3px 10px rgba(0,0,0,.55)}
.v36-campaign-total-label{font-size:clamp(10px,2.6vw,12px);color:#ffe2a3;font-weight:800}
.v36-campaign-ranks{
  flex:1;min-height:0;overflow:auto;padding:5px 3px 86px;display:flex;flex-direction:column;gap:8px;
  scrollbar-width:none;
}
.v36-campaign-ranks::-webkit-scrollbar{display:none}
.v36-rank-row{
  display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;
  min-height:62px;padding:9px 13px;border-radius:18px;
  background:linear-gradient(135deg,rgba(255,248,230,.92),rgba(239,220,183,.90));
  color:#4d2a4b;border:1.5px solid rgba(255,233,184,.82);box-shadow:0 7px 18px rgba(21,8,27,.24);
  transition:transform .22s ease,box-shadow .22s ease;
}
.v36-rank-row strong{font-size:clamp(20px,5.4vw,28px);color:#693a63}
.v36-rank-no{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(90,51,82,.11);font-weight:1000;font-size:18px}
.v36-rank-name b{display:block;font-size:clamp(13px,3.6vw,16px);line-height:1.1}
.v36-rank-name small{display:block;margin-top:3px;font-size:10px;opacity:.72}
.v36-rank-top-1{
  min-height:76px;background:linear-gradient(135deg,#fff8d9,#e8b857)!important;
  border:2px solid #ffe59d!important;box-shadow:0 0 0 2px rgba(89,49,52,.18),0 10px 25px rgba(229,178,70,.30)!important;
}
.v36-rank-top-1 .v36-rank-no{font-size:29px;background:rgba(255,255,255,.34)}
.v36-rank-top-2{background:linear-gradient(135deg,#f7fbff,#cbd5e4)!important;border-color:#edf4ff!important}
.v36-rank-top-3{background:linear-gradient(135deg,#fff0e8,#d99b86)!important;border-color:#ffd0bf!important}
.v36-campaign-footer{
  position:absolute;left:50%;bottom:13px;transform:translateX(-50%);
  min-width:min(86%,420px);padding:9px 18px;border-radius:20px;text-align:center;
  background:linear-gradient(180deg,rgba(57,27,69,.97),rgba(33,16,42,.98));
  border:1.5px solid rgba(255,216,137,.72);box-shadow:0 8px 22px rgba(15,5,20,.34);
}
.v36-campaign-footer span,.v36-campaign-footer strong{display:block}
.v36-campaign-footer span{font-size:10px;color:#f6dca5;font-weight:800}
.v36-campaign-footer strong{margin-top:2px;font-size:clamp(19px,5vw,27px);letter-spacing:.6px;color:#fff4cf}
.v36-condition-card{
  margin:auto 0;max-height:72%;overflow:auto;padding:20px 18px;border-radius:24px;
  background:linear-gradient(160deg,rgba(255,250,235,.96),rgba(239,218,181,.94));color:#4d2b4c;
  border:2px solid rgba(255,225,165,.95);box-shadow:0 14px 34px rgba(18,6,24,.33);
}
.v36-condition-card h2{margin:0 0 12px;text-align:center;font-size:clamp(23px,6vw,33px)}
.v36-condition-card p{margin:0;font-size:clamp(12px,3.2vw,15px);line-height:1.62;font-weight:700}
.v36-ended-card{
  margin:auto 0;padding:24px 16px 18px;border-radius:26px;text-align:center;
  background:linear-gradient(160deg,rgba(255,249,231,.97),rgba(233,205,155,.96));color:#4e2949;
  border:2px solid #ffe3a1;box-shadow:0 15px 38px rgba(17,6,23,.36);
}
.v36-ended-icon{display:block;font-size:56px;filter:drop-shadow(0 5px 8px rgba(91,58,28,.2))}
.v36-ended-card h2{margin:5px 0 7px;font-size:clamp(28px,7vw,40px)}
.v36-ended-card p{margin:0 auto 16px;max-width:430px;font-size:clamp(12px,3.3vw,15px);line-height:1.45;font-weight:800}
.v36-ended-top3{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 18px}
.v36-ended-place{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;padding:10px 12px;border-radius:16px;background:#fff8e7;border:1px solid rgba(119,79,65,.15);text-align:left}
.v36-ended-place span{font-size:25px}.v36-ended-place b{font-size:14px}.v36-ended-place strong{font-size:20px}
.v36-ended-place-1{background:linear-gradient(135deg,#fff6c9,#e7b64f)}
.v36-ended-place-2{background:linear-gradient(135deg,#f7fbff,#d2dae7)}
.v36-ended-place-3{background:linear-gradient(135deg,#fff0e8,#d99a83)}
#v36EndedBackFarm{width:100%;min-height:46px;border:0;border-radius:15px;background:linear-gradient(180deg,#7d4b75,#593554);color:white;font-weight:950}
.v36-campaign-wait{text-align:center}
@media(max-width:390px){
  .v36-campaign-content{padding:13px 10px 11px}
  .v36-rank-row{grid-template-columns:46px minmax(0,1fr) auto;min-height:56px;padding:8px 9px;gap:7px}
  .v36-rank-no{width:38px;height:38px}
  .v36-campaign-topbar button{padding:7px 9px}
}

.v36-my-score{
  margin:10px auto 0;min-width:145px;max-width:220px;padding:7px 14px;border-radius:16px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(180deg,rgba(255,247,218,.94),rgba(226,190,119,.92));
  border:1.5px solid rgba(255,231,170,.95);color:#4e2a49;
  box-shadow:0 6px 15px rgba(24,8,29,.22);
}
.v36-my-score span{font-size:10px;font-weight:900}
.v36-my-score strong{font-size:24px;line-height:1;color:#6d3a64}


/* ======================================================================
   V37 — Campaign shortcut hotfix
   Fix: clickable campaign cards + high-contrast text in the shortcut drawer
   ====================================================================== */
.campaign-shortcut-section .campaign-shortcut-item{
  pointer-events:auto!important;
  opacity:1!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  background:linear-gradient(135deg,#6f3d78 0%,#8f506f 58%,#6a3a66 100%)!important;
  border:1.5px solid rgba(255,220,148,.82)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 5px 13px rgba(26,10,31,.22)!important;
}
.campaign-shortcut-section .campaign-shortcut-item>div>b{
  color:#fff7dc!important;
  text-shadow:0 1px 2px rgba(30,10,32,.88)!important;
  font-weight:950!important;
}
.campaign-shortcut-section .campaign-shortcut-item>div>small{
  color:#f7d9bc!important;
  text-shadow:0 1px 2px rgba(30,10,32,.72)!important;
  font-weight:800!important;
}
.campaign-shortcut-section .campaign-shortcut-item>i{
  color:#ffe09b!important;
  font-weight:950!important;
}
.campaign-shortcut-section .campaign-shortcut-item:active{
  transform:scale(.985)!important;
  filter:brightness(1.08)!important;
}


/* ======================================================================
   V38 — Campaign dashboard compact + scrollable + more background visible
   ====================================================================== */

/* Smaller floating dashboard; do not fill almost the whole phone. */
.modal-card:has(.v36-campaign-dashboard),
.modal-card:has(.v36-campaign-conditions),
.modal-card:has(.v36-campaign-ended){
  width:min(91vw,560px)!important;
  max-width:560px!important;
  height:min(82dvh,760px)!important;
  max-height:82dvh!important;
  border-radius:22px!important;
  overflow:hidden!important;
}

/* The background image is the visual hero; reduce the dark wash. */
.v36-campaign-shade{
  background:
    linear-gradient(180deg,rgba(29,12,34,.15) 0%,rgba(34,15,40,.22) 36%,rgba(26,10,31,.50) 100%)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Compact fixed header/footer with the ranking list as the only scroll area. */
.v36-campaign-content{
  height:100%!important;
  padding:12px 11px 10px!important;
  overflow:hidden!important;
}
.v36-campaign-topbar{
  flex:0 0 auto!important;
  gap:8px!important;
}
.v36-campaign-topbar button,
.v36-campaign-topbar>span{
  min-height:34px!important;
  padding:6px 10px!important;
  font-size:clamp(9px,2.45vw,12px)!important;
  background:linear-gradient(180deg,rgba(64,31,75,.78),rgba(40,20,50,.84))!important;
}

.v36-campaign-title{
  flex:0 0 auto!important;
  margin:9px 2px 7px!important;
}
.v36-campaign-title>small{
  padding:4px 9px!important;
  font-size:clamp(9px,2.35vw,11px)!important;
  background:rgba(54,24,65,.58)!important;
}
.v36-campaign-title h2{
  margin:6px auto 3px!important;
  max-width:90%!important;
  font-size:clamp(18px,5.0vw,27px)!important;
  line-height:1.08!important;
  color:#fff6dc!important;
  text-shadow:0 2px 5px rgba(25,8,29,.88)!important;
}
.v36-campaign-total-label{
  font-size:clamp(8px,2.1vw,10px)!important;
  color:#ffe9b7!important;
  text-shadow:0 1px 3px rgba(20,7,23,.8)!important;
}
.v36-my-score{
  margin:6px auto 0!important;
  min-width:128px!important;
  max-width:180px!important;
  padding:5px 10px!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,rgba(255,247,218,.88),rgba(226,190,119,.86))!important;
}
.v36-my-score span{font-size:9px!important}
.v36-my-score strong{font-size:20px!important}

/* This section must scroll on iPhone/Safari. */
.v36-campaign-ranks{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  padding:3px 2px 62px!important;
  gap:6px!important;
  scrollbar-width:none!important;
}

/* Smaller, more translucent cards so the campaign artwork remains visible. */
.v36-rank-row{
  min-height:48px!important;
  grid-template-columns:40px minmax(0,1fr) auto!important;
  gap:7px!important;
  padding:6px 9px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(255,248,230,.80),rgba(239,220,183,.74))!important;
  border:1px solid rgba(255,237,199,.78)!important;
  box-shadow:0 4px 10px rgba(21,8,27,.15)!important;
  backdrop-filter:blur(1px)!important;
}
.v36-rank-no{
  width:34px!important;
  height:34px!important;
  border-radius:11px!important;
  font-size:14px!important;
}
.v36-rank-name b{
  font-size:clamp(11px,3.0vw,14px)!important;
}
.v36-rank-name small{
  margin-top:1px!important;
  font-size:8px!important;
}
.v36-rank-row strong{
  font-size:clamp(16px,4.2vw,22px)!important;
}
.v36-rank-top-1{
  min-height:58px!important;
  background:linear-gradient(135deg,rgba(255,248,217,.91),rgba(232,184,87,.86))!important;
  border-width:1.5px!important;
  box-shadow:0 6px 14px rgba(229,178,70,.20)!important;
}
.v36-rank-top-1 .v36-rank-no{font-size:22px!important}
.v36-rank-top-2{
  background:linear-gradient(135deg,rgba(247,251,255,.87),rgba(203,213,228,.82))!important;
}
.v36-rank-top-3{
  background:linear-gradient(135deg,rgba(255,240,232,.87),rgba(217,155,134,.82))!important;
}

/* Small floating countdown, leaving more image visible. */
.v36-campaign-footer{
  bottom:8px!important;
  min-width:min(68%,300px)!important;
  padding:6px 13px!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,rgba(57,27,69,.82),rgba(33,16,42,.88))!important;
}
.v36-campaign-footer span{font-size:8px!important}
.v36-campaign-footer strong{
  font-size:clamp(15px,4vw,21px)!important;
}

/* Conditions page should also scroll normally instead of locking the screen. */
.v36-campaign-conditions .v36-campaign-content{
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
.v36-condition-card{
  margin:12px 0 64px!important;
  max-height:none!important;
  overflow:visible!important;
  padding:15px 14px!important;
  border-radius:18px!important;
  background:linear-gradient(160deg,rgba(255,250,235,.88),rgba(239,218,181,.84))!important;
}
.v36-condition-card h2{
  font-size:clamp(19px,5vw,27px)!important;
}
.v36-condition-card p{
  font-size:clamp(10px,2.75vw,13px)!important;
  line-height:1.55!important;
}

/* Make the end screen compact too. */
.v36-ended-card{
  padding:18px 13px 14px!important;
  border-radius:20px!important;
  background:linear-gradient(160deg,rgba(255,249,231,.90),rgba(233,205,155,.87))!important;
}
.v36-ended-icon{font-size:42px!important}
.v36-ended-card h2{font-size:clamp(23px,6vw,32px)!important}
.v36-ended-place{
  padding:7px 9px!important;
  border-radius:13px!important;
}
.v36-ended-place span{font-size:20px!important}
.v36-ended-place b{font-size:12px!important}
.v36-ended-place strong{font-size:17px!important}

@media(max-width:390px){
  .modal-card:has(.v36-campaign-dashboard),
  .modal-card:has(.v36-campaign-conditions),
  .modal-card:has(.v36-campaign-ended){
    width:90vw!important;
    height:80dvh!important;
    max-height:80dvh!important;
  }
  .v36-campaign-content{padding:10px 8px 8px!important}
  .v36-rank-row{
    grid-template-columns:36px minmax(0,1fr) auto!important;
    min-height:45px!important;
    padding:5px 7px!important;
  }
  .v36-rank-no{width:31px!important;height:31px!important}
}

/* ======================================================================
   V39 — Campaign leaderboard: all 18 members visible, no inner scrolling
   + lighter UI for faster iPhone rendering
   ====================================================================== */
.modal-card:has(.v36-campaign-dashboard){
  width:min(92vw,560px)!important;
  height:min(84dvh,780px)!important;
  max-height:84dvh!important;
}
.v36-campaign-dashboard .v36-campaign-content{
  padding:9px 9px 7px!important;
}
.v36-campaign-dashboard .v36-campaign-topbar button{
  min-height:29px!important;
  padding:4px 8px!important;
  font-size:10px!important;
}
.v36-campaign-dashboard .v36-campaign-title{
  margin:5px 2px 4px!important;
}
.v36-campaign-dashboard .v36-campaign-title>small{
  padding:3px 8px!important;
  font-size:9px!important;
}
.v36-campaign-dashboard .v36-campaign-title h2{
  margin:4px auto 2px!important;
  font-size:clamp(16px,4.2vw,22px)!important;
  line-height:1.02!important;
}
.v36-campaign-dashboard .v36-campaign-total-label{font-size:8px!important}
.v36-campaign-dashboard .v36-my-score{
  margin:4px auto 1px!important;
  min-width:116px!important;
  max-width:150px!important;
  padding:3px 8px!important;
  border-radius:10px!important;
}
.v36-campaign-dashboard .v36-my-score span{font-size:8px!important}
.v36-campaign-dashboard .v36-my-score strong{font-size:17px!important}
.v36-campaign-dashboard .v36-campaign-ranks{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:repeat(18,minmax(0,1fr))!important;
  flex:1 1 0!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:2px 1px 42px!important;
  gap:3px!important;
  touch-action:auto!important;
}
.v36-campaign-dashboard .v36-rank-row,
.v36-campaign-dashboard .v36-rank-top-1{
  min-height:0!important;
  height:auto!important;
  grid-template-columns:29px minmax(0,1fr) auto!important;
  gap:5px!important;
  padding:2px 7px!important;
  border-radius:10px!important;
  box-shadow:0 2px 5px rgba(21,8,27,.10)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.v36-campaign-dashboard .v36-rank-no{
  width:25px!important;
  height:25px!important;
  border-radius:8px!important;
  font-size:10px!important;
}
.v36-campaign-dashboard .v36-rank-top-1 .v36-rank-no{font-size:15px!important}
.v36-campaign-dashboard .v36-rank-name{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
}
.v36-campaign-dashboard .v36-rank-name b{
  font-size:clamp(9px,2.45vw,12px)!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.v36-campaign-dashboard .v36-rank-name small{
  display:none!important;
}
.v36-campaign-dashboard .v36-rank-row>strong{
  font-size:clamp(12px,3.1vw,16px)!important;
  line-height:1!important;
}
.v36-campaign-dashboard .v36-campaign-footer{
  bottom:5px!important;
  min-width:min(54%,220px)!important;
  padding:3px 10px!important;
  border-radius:11px!important;
}
.v36-campaign-dashboard .v36-campaign-footer span{font-size:7px!important}
.v36-campaign-dashboard .v36-campaign-footer strong{font-size:14px!important;margin-top:0!important}


/* ======================================================================
   V40 — FINAL campaign layout:
   - 18 members visible at once
   - 2 columns × 9 rows, no scrolling required
   - no collapsed grid rows
   - lighter paint work for iPhone Safari
   ====================================================================== */

.modal-card:has(.v36-campaign-dashboard){
  width:min(94vw,610px)!important;
  height:min(82dvh,760px)!important;
  max-height:82dvh!important;
  overflow:hidden!important;
}

.v36-campaign-dashboard .v36-campaign-content{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  height:100%!important;
  min-height:0!important;
  padding:9px 9px 8px!important;
  overflow:hidden!important;
}

.v36-campaign-dashboard .v36-campaign-topbar{
  grid-row:1!important;
}
.v36-campaign-dashboard .v36-campaign-title{
  grid-row:2!important;
  margin:5px 1px 5px!important;
}
.v36-campaign-dashboard .v36-campaign-title h2{
  font-size:clamp(15px,4vw,21px)!important;
  line-height:1.02!important;
  margin:3px auto 1px!important;
}
.v36-campaign-dashboard .v36-campaign-title>small{
  font-size:8px!important;
  padding:3px 7px!important;
}
.v36-campaign-dashboard .v36-campaign-total-label{
  font-size:7.5px!important;
}
.v36-campaign-dashboard .v36-my-score{
  margin:3px auto 0!important;
  padding:3px 7px!important;
  min-width:108px!important;
}
.v36-campaign-dashboard .v36-my-score span{font-size:7px!important}
.v36-campaign-dashboard .v36-my-score strong{font-size:15px!important}

/* 18 people: #1–#9 left, #10–#18 right. */
.v36-campaign-dashboard .v36-campaign-ranks{
  grid-row:3!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(9,minmax(0,1fr))!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px 5px!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:2px 1px 3px!important;
  margin:0!important;
}

/* Important: give every card a real minimum height; V39 could collapse to zero. */
.v36-campaign-dashboard .v36-rank-row,
.v36-campaign-dashboard .v36-rank-top-1,
.v36-campaign-dashboard .v36-rank-top-2,
.v36-campaign-dashboard .v36-rank-top-3{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) auto!important;
  align-items:center!important;
  min-width:0!important;
  min-height:27px!important;
  height:100%!important;
  max-height:none!important;
  padding:2px 5px!important;
  gap:4px!important;
  border-radius:8px!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.v36-campaign-dashboard .v36-rank-no{
  width:20px!important;
  height:20px!important;
  border-radius:6px!important;
  font-size:8px!important;
}
.v36-campaign-dashboard .v36-rank-top-1 .v36-rank-no{font-size:12px!important}
.v36-campaign-dashboard .v36-rank-name{
  display:block!important;
  min-width:0!important;
}
.v36-campaign-dashboard .v36-rank-name b{
  display:block!important;
  font-size:clamp(7px,1.95vw,10px)!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.v36-campaign-dashboard .v36-rank-name small{display:none!important}
.v36-campaign-dashboard .v36-rank-row strong{
  font-size:clamp(10px,2.7vw,14px)!important;
  line-height:1!important;
}

/* Keep top 3 beautiful without making them taller. */
.v36-campaign-dashboard .v36-rank-top-1{
  background:linear-gradient(135deg,rgba(255,247,211,.94),rgba(227,177,66,.88))!important;
  border:1px solid rgba(255,228,150,.95)!important;
}
.v36-campaign-dashboard .v36-rank-top-2{
  background:linear-gradient(135deg,rgba(247,251,255,.93),rgba(198,210,227,.89))!important;
  border:1px solid rgba(239,246,255,.94)!important;
}
.v36-campaign-dashboard .v36-rank-top-3{
  background:linear-gradient(135deg,rgba(255,239,231,.93),rgba(214,147,124,.88))!important;
  border:1px solid rgba(255,211,194,.94)!important;
}

/* Countdown is a normal compact footer now, not an overlay covering ranks. */
.v36-campaign-dashboard .v36-campaign-footer{
  grid-row:4!important;
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  justify-self:center!important;
  width:min(62%,280px)!important;
  min-width:0!important;
  margin-top:4px!important;
  padding:4px 10px!important;
  border-radius:11px!important;
}
.v36-campaign-dashboard .v36-campaign-footer span{font-size:7px!important}
.v36-campaign-dashboard .v36-campaign-footer strong{
  font-size:clamp(12px,3.2vw,17px)!important;
}

/* Faster painting: background stays crisp, no expensive blur/filter layers. */
.v36-campaign-dashboard .v36-campaign-shade{
  background:linear-gradient(180deg,rgba(25,10,31,.10),rgba(25,10,31,.24) 52%,rgba(25,10,31,.42))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media(max-width:390px){
  .modal-card:has(.v36-campaign-dashboard){
    width:94vw!important;
    height:82dvh!important;
  }
  .v36-campaign-dashboard .v36-campaign-ranks{
    gap:3px 4px!important;
  }
  .v36-campaign-dashboard .v36-rank-row{
    grid-template-columns:21px minmax(0,1fr) auto!important;
    padding:2px 4px!important;
  }
  .v36-campaign-dashboard .v36-rank-no{
    width:18px!important;height:18px!important;
  }
  .v36-campaign-dashboard .v36-rank-name b{
    font-size:7.5px!important;
  }
}


/* ======================================================================
   V41 — campaign card hugs its content; no dead purple space below
   ====================================================================== */
.modal-card:has(.v36-campaign-dashboard){
  width:min(94vw,610px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:88dvh!important;
  overflow:hidden!important;
}

.v36-campaign-dashboard{
  height:auto!important;
  min-height:0!important;
  max-height:88dvh!important;
}

.v36-campaign-dashboard .v36-campaign-content{
  display:grid!important;
  grid-template-rows:auto auto auto auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:9px 9px 9px!important;
}

.v36-campaign-dashboard .v36-campaign-ranks{
  height:auto!important;
  min-height:0!important;
  grid-template-rows:repeat(9,28px)!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  overflow:hidden!important;
  padding:2px 1px 2px!important;
}

.v36-campaign-dashboard .v36-rank-row,
.v36-campaign-dashboard .v36-rank-top-1,
.v36-campaign-dashboard .v36-rank-top-2,
.v36-campaign-dashboard .v36-rank-top-3{
  min-height:28px!important;
  height:28px!important;
}

.v36-campaign-dashboard .v36-campaign-footer{
  margin:5px auto 0!important;
}

/* Keep the visible area tight even on short iPhone viewports. */
@media(max-width:390px){
  .modal-card:has(.v36-campaign-dashboard){
    width:94vw!important;
    height:auto!important;
    max-height:86dvh!important;
  }
  .v36-campaign-dashboard .v36-campaign-ranks{
    grid-template-rows:repeat(9,26px)!important;
  }
  .v36-campaign-dashboard .v36-rank-row,
  .v36-campaign-dashboard .v36-rank-top-1,
  .v36-campaign-dashboard .v36-rank-top-2,
  .v36-campaign-dashboard .v36-rank-top-3{
    min-height:26px!important;
    height:26px!important;
  }
}


/* V42 — compact campaign gift/reward UI, sized for phone screens */
.v42-campaign-footer-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px;align-items:stretch;margin-top:4px}
.v42-campaign-footer-row .v36-campaign-footer{margin:0!important;min-height:46px!important;padding:5px 8px!important}
.v42-campaign-gift{border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(72,69,77,.88);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:46px;padding:3px 4px;box-shadow:0 3px 8px rgba(0,0,0,.25)}
.v42-campaign-gift span{font-size:21px;line-height:1}.v42-campaign-gift small{font-size:8px;font-weight:900}
.v42-campaign-gift.is-ready{background:linear-gradient(180deg,#57b66c,#267b42);border-color:#bff4c9;box-shadow:0 0 0 2px rgba(174,255,188,.16),0 3px 9px rgba(0,0,0,.28)}
.v42-campaign-gift.is-claimed{background:rgba(83,83,88,.88);filter:saturate(.45)}
.modal-card:has(.v42-campaign-reward){width:min(92vw,520px)!important;height:min(82dvh,720px)!important;max-height:82dvh!important}
.v42-campaign-reward{position:relative;height:100%;min-height:0;overflow:hidden;border-radius:20px;background-image:var(--reward-bg);background-size:cover;background-position:center}
.v42-reward-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,8,20,.18),rgba(20,10,24,.28) 38%,rgba(18,8,22,.68))}
.v42-reward-content{position:relative;z-index:2;height:100%;padding:10px;display:flex;flex-direction:column;gap:7px}
.v42-reward-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}.v42-reward-top b{grid-column:2;text-align:center;background:rgba(39,20,46,.76);border:1px solid rgba(255,232,181,.42);border-radius:999px;padding:6px 10px;font-size:12px}.v42-reward-top button{grid-column:1;grid-row:1;border:0;border-radius:10px;padding:6px 9px;font-size:10px;font-weight:900}
.v42-reward-progress-card{margin-top:auto;background:rgba(38,22,42,.84);border:1px solid rgba(255,229,180,.34);border-radius:14px;padding:8px 10px;text-align:center;backdrop-filter:blur(4px)}
.v42-reward-score{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px}.v42-reward-score strong{font-size:13px;color:#fff0b7}
.v42-reward-track{height:8px;margin:6px 0 4px;border-radius:999px;background:rgba(255,255,255,.17);overflow:hidden}.v42-reward-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#efc05c,#fff0a3)}
.v42-reward-progress-card small{font-size:9px;color:#f9e7c1}
.v42-reward-cat-list{display:grid;grid-template-columns:1fr;gap:5px}
.v42-reward-cat{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(63,61,68,.90);color:#fff;display:grid;grid-template-columns:42px minmax(0,1fr) 35px;align-items:center;gap:7px;padding:4px 7px;text-align:left}
.v42-reward-cat img{width:40px;height:40px;object-fit:contain}.v42-reward-cat span{min-width:0}.v42-reward-cat b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v42-reward-cat small{display:block;font-size:8px;opacity:.8;margin-top:1px}.v42-reward-cat em{font-style:normal;text-align:center;font-size:10px;font-weight:900}
.v42-reward-cat.is-ready{background:linear-gradient(90deg,rgba(43,113,61,.94),rgba(64,145,82,.90));border-color:rgba(193,255,202,.68)}
.v42-reward-cat.is-selected{background:rgba(74,74,78,.92);border-color:rgba(255,255,255,.35)}
.v42-reward-confirm{text-align:center}.v42-reward-confirm img{width:min(42vw,170px);height:min(42vw,170px);object-fit:contain}
@media(max-height:700px){.modal-card:has(.v42-campaign-reward){height:88dvh!important;max-height:88dvh!important}.v42-reward-content{padding:7px;gap:4px}.v42-reward-progress-card{padding:6px 8px}.v42-reward-cat-list{gap:3px}.v42-reward-cat{min-height:42px}.v42-reward-cat img{width:34px;height:34px}}



/* V42.1 — campaign footer layout fix
   Keep gift button compact on the left and countdown wide/readable on the right. */
.v42-campaign-footer-row{
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:end !important;
  width:100% !important;
  margin-top:8px !important;
}
.v42-campaign-footer-row .v42-campaign-gift{
  width:64px !important;
  min-width:64px !important;
  height:58px !important;
  min-height:58px !important;
  padding:4px 3px !important;
  border-radius:14px !important;
  align-self:end !important;
}
.v42-campaign-footer-row .v42-campaign-gift span{
  font-size:24px !important;
  line-height:1 !important;
}
.v42-campaign-footer-row .v42-campaign-gift small{
  font-size:9px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}
.v42-campaign-footer-row .v36-campaign-footer{
  width:100% !important;
  min-width:0 !important;
  min-height:58px !important;
  height:58px !important;
  margin:0 !important;
  padding:6px 12px !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  align-items:center !important;
  justify-content:stretch !important;
  column-gap:10px !important;
  text-align:left !important;
  border-radius:14px !important;
}
.v42-campaign-footer-row .v36-campaign-footer span{
  display:block !important;
  margin:0 !important;
  font-size:10px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
.v42-campaign-footer-row .v36-campaign-footer strong{
  display:block !important;
  margin:0 !important;
  text-align:right !important;
  font-size:clamp(16px,4vw,22px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  letter-spacing:.2px !important;
}
@media(max-width:390px){
  .v42-campaign-footer-row{
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:6px !important;
  }
  .v42-campaign-footer-row .v42-campaign-gift{
    width:58px !important;
    min-width:58px !important;
    height:54px !important;
    min-height:54px !important;
  }
  .v42-campaign-footer-row .v36-campaign-footer{
    height:54px !important;
    min-height:54px !important;
    padding:5px 8px !important;
    column-gap:6px !important;
  }
  .v42-campaign-footer-row .v36-campaign-footer strong{
    font-size:clamp(14px,3.8vw,19px) !important;
  }
}



/* V42.2 — make campaign reward page fill the modal instead of leaving beige empty space */
.modal-card:has(.v42-campaign-reward){
  display:flex !important;
  flex-direction:column !important;
}
.modal-card:has(.v42-campaign-reward) #modalContent,
.modal-card:has(.v42-campaign-reward) .modal-content{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
.v42-campaign-reward{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  flex:1 1 auto !important;
  margin:0 !important;
  background-size:cover !important;
  background-position:center center !important;
}
.v42-reward-content{
  height:100% !important;
  min-height:100% !important;
  justify-content:flex-start !important;
}
.v42-reward-progress-card{
  margin-top:0 !important;
}
.v42-reward-cat-list{
  margin-top:0 !important;
}
@media(max-height:700px){
  .v42-campaign-reward{
    min-height:100% !important;
  }
}



/* V42.3 — TRUE full-bleed reward modal.
   Previous fix left #modalContent in normal document flow, so the cream modal
   background was still visible below the reward content. */
.modal-card:has(.v42-campaign-reward){
  position:relative !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#25142d !important;
}
.modal-card:has(.v42-campaign-reward) > #modalContent{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.modal-card:has(.v42-campaign-reward) > .close{
  z-index:50 !important;
  top:8px !important;
  right:8px !important;
}
.modal-card:has(.v42-campaign-reward) .v42-campaign-reward{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background-size:cover !important;
  background-position:center center !important;
}
.modal-card:has(.v42-campaign-reward) .v42-reward-shade{
  position:absolute !important;
  inset:0 !important;
}
.modal-card:has(.v42-campaign-reward) .v42-reward-content{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  box-sizing:border-box !important;
  padding:12px 14px 14px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}
.modal-card:has(.v42-campaign-reward) .v42-reward-top{
  padding-right:42px !important;
  flex:0 0 auto !important;
}
.modal-card:has(.v42-campaign-reward) .v42-reward-progress-card{
  margin-top:auto !important;
  flex:0 0 auto !important;
}
.modal-card:has(.v42-campaign-reward) .v42-reward-cat-list{
  flex:0 0 auto !important;
  margin:0 !important;
  padding-bottom:2px !important;
}



/* V42.4 — FINAL campaign footer alignment
   Gift stays bottom-left, countdown stays bottom-right, both compact. */
.v42-campaign-footer-row{
  display:flex !important;
  flex-direction:row !important;
  justify-content:space-between !important;
  align-items:flex-end !important;
  gap:12px !important;
  width:100% !important;
  margin-top:8px !important;
}

.v42-campaign-footer-row .v42-campaign-gift{
  flex:0 0 66px !important;
  width:66px !important;
  min-width:66px !important;
  height:62px !important;
  min-height:62px !important;
  margin:0 !important;
  padding:4px 4px !important;
  align-self:flex-end !important;
}

.v42-campaign-footer-row .v42-campaign-gift span{
  font-size:25px !important;
  line-height:1 !important;
}

.v42-campaign-footer-row .v42-campaign-gift small{
  font-size:9px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

.v42-campaign-footer-row .v36-campaign-footer{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:190px !important;
  max-width:230px !important;
  height:62px !important;
  min-height:62px !important;
  margin:0 0 0 auto !important;
  padding:7px 12px !important;
  display:flex !important;
  flex-direction:row !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  text-align:right !important;
  align-self:flex-end !important;
  border-radius:14px !important;
}

.v42-campaign-footer-row .v36-campaign-footer span{
  display:block !important;
  margin:0 !important;
  font-size:9px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  opacity:.9 !important;
}

.v42-campaign-footer-row .v36-campaign-footer strong{
  display:block !important;
  margin:0 !important;
  font-size:clamp(15px,3.6vw,20px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  letter-spacing:.15px !important;
}

@media(max-width:390px){
  .v42-campaign-footer-row{
    gap:8px !important;
  }
  .v42-campaign-footer-row .v42-campaign-gift{
    flex-basis:60px !important;
    width:60px !important;
    min-width:60px !important;
    height:56px !important;
    min-height:56px !important;
  }
  .v42-campaign-footer-row .v36-campaign-footer{
    min-width:175px !important;
    max-width:205px !important;
    height:56px !important;
    min-height:56px !important;
    padding:6px 9px !important;
    gap:6px !important;
  }
  .v42-campaign-footer-row .v36-campaign-footer strong{
    font-size:clamp(14px,3.5vw,18px) !important;
  }
}



/* ======================================================================
   YAINOO CURRENT — new 8 menus / reward popup
   ====================================================================== */

/* New menu PNGs were visually larger than older dish art.
   Keep their visible footprint consistent without stretching. */
.recipe-card>img[src*="01_phak_kat_ho_phi"],
.recipe-card>img[src*="02_phak_bung_phat_sadung_phi"],
.recipe-card>img[src*="03_pla_phi_mamuang"],
.recipe-card>img[src*="04_pla_phi_angun"],
.recipe-card>img[src*="05_yam_phak_suan_phi_taek"],
.recipe-card>img[src*="06_pla_phi_lui_suan"],
.recipe-card>img[src*="07_kaeng_truffle_phak_lon"],
.recipe-card>img[src*="08_samrap_phi_daek_mai_lueak"],
.craft-warning-panel>img[src*="01_phak_kat_ho_phi"],
.craft-warning-panel>img[src*="02_phak_bung_phat_sadung_phi"],
.craft-warning-panel>img[src*="03_pla_phi_mamuang"],
.craft-warning-panel>img[src*="04_pla_phi_angun"],
.craft-warning-panel>img[src*="05_yam_phak_suan_phi_taek"],
.craft-warning-panel>img[src*="06_pla_phi_lui_suan"],
.craft-warning-panel>img[src*="07_kaeng_truffle_phak_lon"],
.craft-warning-panel>img[src*="08_samrap_phi_daek_mai_lueak"],
.craft-success-panel>img[src*="01_phak_kat_ho_phi"],
.craft-success-panel>img[src*="02_phak_bung_phat_sadung_phi"],
.craft-success-panel>img[src*="03_pla_phi_mamuang"],
.craft-success-panel>img[src*="04_pla_phi_angun"],
.craft-success-panel>img[src*="05_yam_phak_suan_phi_taek"],
.craft-success-panel>img[src*="06_pla_phi_lui_suan"],
.craft-success-panel>img[src*="07_kaeng_truffle_phak_lon"],
.craft-success-panel>img[src*="08_samrap_phi_daek_mai_lueak"]{
  transform:scale(.84);
  transform-origin:center;
  object-fit:contain;
}

.yn-claim-success{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.yn-claim-success>img{
  width:min(150px,42vw);
  height:min(150px,42vw);
  object-fit:contain;
}
.yn-claim-success h2{
  margin:0;
  font-size:clamp(17px,4.6vw,25px);
  line-height:1.35;
}
.yn-claim-success p{margin:0;font-weight:900}
.yn-claim-success button{min-width:130px}

.yn-boat-supply-picker .boat-supply-grid img{
  object-fit:contain !important;
}

.v42-reward-cat.is-retired{
  opacity:.52 !important;
  filter:grayscale(1) !important;
  cursor:not-allowed !important;
}
.v42-reward-cat.is-retired small{white-space:normal !important}

/* ======================================================================
   YAINOO FINAL — compact cute UI for new shop/menu/pet controls
   ====================================================================== */

/* New special shop items: use exactly the same image box as old specials. */
.yn-merit-shop-card{align-content:start}
.yn-merit-shop-img{width:min(148px,35vw)!important;height:min(118px,28vw)!important;max-width:100%!important;object-fit:contain!important;transform:none!important}
.yn-merit-shop-detail{display:block;min-height:28px;margin:2px 0 5px;color:#f3dfc1;font-size:10px;line-height:1.3}
.yn-merit-price{margin:4px auto 6px;color:#ffd67f;font-size:12px;font-weight:950}
.yn-merit-qty-label{display:flex;align-items:center;justify-content:center;gap:7px;margin:6px 0;color:#f8ead1;font-size:10px;font-weight:900}
.yn-merit-qty{width:58px;height:32px;padding:2px 5px;border:1px solid #c49b72;border-radius:10px;background:#fff8df;color:#4b2f49;text-align:center;font-weight:900}
.yn-merit-buy-btn{width:auto!important;min-width:116px!important;margin:5px auto 0!important;padding:8px 12px!important;border-radius:999px!important}

/* Angel status can coexist with water/worm badge while crop is growing. */
.status-badge.angel-status-badge{right:auto!important;left:1%!important;top:3%!important;z-index:7!important}
.yn-angel-capsule-panel{margin-top:9px;padding-top:8px;border-top:1px dashed rgba(117,74,112,.28)}
.yn-angel-capsule-panel h3{margin:0 0 6px;font-size:12px;color:#765078}

/* Guardian fishing result / selector note. */
.yn-guardian-bait-note{display:block;margin-top:5px;color:#7a4f91;font-weight:950}
.yn-guardian-result{margin:7px auto 10px;padding:9px 10px;border:1.5px solid #d8a35f;border-radius:15px;background:linear-gradient(180deg,#fff5d9,#f4d8ee);color:#583454;text-align:center;box-shadow:0 4px 10px rgba(82,46,82,.12)}
.yn-guardian-result b,.yn-guardian-result span,.yn-guardian-result strong{display:block}
.yn-guardian-result b{font-size:13px}.yn-guardian-result span{margin-top:2px;font-size:10px}.yn-guardian-result strong{margin-top:4px;font-size:15px;color:#7b4a73}

/* เมนูในสวน — same cute cream/purple/gold family as current Shop home. */
.yn-menu-home-panel,.yn-menu-catalog-panel{font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif}
.yn-menu-home-panel>h2,.yn-menu-catalog-panel h2{margin:2px 0 10px;text-align:center;color:#4b2a49;font-size:clamp(22px,6vw,32px)}
.yn-menu-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:6px 0 11px}
.yn-menu-tabs button{min-height:34px;padding:6px 5px;border:1px solid #9d745c;border-radius:12px;background:linear-gradient(180deg,#573a5d,#412d49);color:#f8e7ca;font-size:clamp(9px,2.5vw,11px);font-weight:900;line-height:1.12;box-shadow:inset 0 1px rgba(255,255,255,.10);cursor:pointer}
.yn-menu-tabs button.active{background:linear-gradient(180deg,#9b5d8d,#71456f);box-shadow:0 0 0 2px #d6a26a inset}
.yn-menu-home-cover{position:relative;overflow:hidden;border-radius:18px;border:2px solid rgba(139,90,125,.22);background:#ead8b7;box-shadow:0 8px 20px rgba(70,38,67,.14)}
.yn-menu-home-cover>img{display:block;width:100%;max-height:52vh;object-fit:cover;object-position:center}
.yn-menu-home-copy{padding:10px 12px;text-align:center;background:linear-gradient(180deg,#fff7e7,#ecd7ae);color:#4b2a49}
.yn-menu-home-copy b,.yn-menu-home-copy small{display:block}.yn-menu-home-copy b{font-size:14px}.yn-menu-home-copy small{margin-top:3px;font-size:10px;opacity:.78}
.yn-menu-title-row{display:flex;align-items:center;justify-content:center;position:relative;min-height:38px}
.yn-menu-title-row h2{margin:0!important}
.yn-menu-title-row #ynMenuHomeBtn{position:absolute;right:0;top:2px;width:auto;min-width:0;padding:6px 9px;border:1px solid #a37a60;border-radius:999px;background:#5a3b5e;color:#f8e7c9;font-size:9px;font-weight:900}
.yn-menu-category-title{margin:5px 0 9px;text-align:center;color:#684262;font-size:15px;font-weight:950}
.yn-menu-catalog-panel .recipe-card>button{display:inline-block;width:auto!important;min-width:86px;margin:7px auto 0;padding:7px 14px!important;border-radius:999px!important;font-size:11px}
.yn-menu-catalog-panel .recipe-card{padding-bottom:10px}
.yn-menu-catalog-panel .recipe-card h3{font-family:"Ayuthaya","Thonburi","Noto Serif Thai","Noto Sans Thai",serif}
@media(max-width:390px){.yn-menu-tabs{gap:5px}.yn-menu-tabs button{padding:5px 3px;font-size:9px}.yn-menu-title-row #ynMenuHomeBtn{font-size:8px;padding:5px 7px}}

/* สมาชิกมะหมา: new bulk button is intentionally small and theme-matched. */
.yn-dog-roster-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.yn-dog-roster-head h2{margin:0;min-width:0;font-size:clamp(17px,4.7vw,23px)}
.yn-dog-roster-head #ynFeedAllDogsBtn{flex:0 0 auto;width:auto;min-width:0;padding:7px 9px;border:1px solid #a57a5d;border-radius:999px;background:linear-gradient(180deg,#7e5277,#5a3c61);color:#fff1d2;font-size:9px;font-weight:950;box-shadow:0 3px 8px rgba(68,36,67,.14)}
.yn-dog-roster-head #ynFeedAllDogsBtn:disabled{opacity:.45}
.yn-feed-all-panel .yn-feed-all-need{margin:7px auto 8px;padding:7px 10px;border-radius:12px;background:#f6e6c6;color:#5b3c51;text-align:center;font-size:11px}
.yn-compact-back{display:inline-block!important;width:auto!important;min-width:0!important;margin:0 0 8px!important;padding:6px 10px!important;border-radius:999px!important;font-size:9px!important}

.yn-ready-angel-actions{display:grid;gap:7px;margin-top:8px}
.yn-ready-angel-actions>.primary-spooky-action{justify-self:center;width:auto!important;min-width:108px;padding:7px 12px!important;border-radius:999px!important;font-size:10px!important}

/* ======================================================================
   YN AUG-15 BIG UPDATE UI — compact/cute/same theme, mobile first
   ====================================================================== */
:root{--ynu-panel:#fff7ec;--ynu-purple:#6e3c93;--ynu-gold:#c9964a;--ynu-ink:#43284c}
.feature-panel,.modal-card{font-family:"Thonburi","Ayuthaya","Noto Sans Thai",sans-serif}

/* Shop: equal cards, true white ONLY behind the item image */
.shop-panel .shop-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}
.shop-panel .shop-card,.ynu-shop-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:315px!important;height:auto!important;padding:9px!important;border-radius:17px!important;background:linear-gradient(180deg,#fff8ec,#f4e5d0)!important;border:1.5px solid rgba(126,78,139,.38)!important;box-shadow:0 4px 12px rgba(54,31,65,.12)!important;overflow:hidden!important}
.ynu-shop-image-box,.shop-card>.ynu-shop-image-box{height:118px!important;min-height:118px!important;width:100%!important;background:#fff!important;border:1.5px solid rgba(169,119,59,.45)!important;border-radius:14px!important;display:grid!important;place-items:center!important;overflow:hidden!important;position:relative!important}
.ynu-shop-image-box:before,.ynu-shop-image-box:after{content:"✦";position:absolute;color:rgba(105,56,128,.28);font-size:12px}.ynu-shop-image-box:before{left:6px;top:4px}.ynu-shop-image-box:after{right:6px;bottom:4px}
.ynu-shop-image-box img{display:block!important;width:94%!important;height:94%!important;max-width:120px!important;max-height:112px!important;object-fit:contain!important;margin:0!important;background:#fff!important;border:0!important;border-radius:0!important}
.shop-card h3,.ynu-shop-card h3{font-size:clamp(11px,3vw,14px)!important;line-height:1.2!important;margin:7px 0 4px!important;min-height:34px!important;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ynu-ink)!important}
.shop-card small,.ynu-shop-card small{font-size:10px!important;line-height:1.35!important;text-align:center}.ynu-shop-price,.yn-merit-price{font-weight:900;text-align:center;color:#744174;margin:2px 0 4px;font-size:11px}
.ynu-condition-btn{align-self:center;border:1px solid #caa47a!important;border-radius:999px!important;background:#fff!important;color:#68416e!important;padding:4px 10px!important;font-size:10px!important;font-weight:800!important;margin:2px 0 5px!important;min-height:0!important}
.ynu-condition-copy{padding:6px!important;margin:0 0 5px!important;background:rgba(255,255,255,.8)!important;border-radius:9px!important;color:#66516d!important}
.ynu-qty,.yn-merit-qty-label{margin-top:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font-size:10px!important;font-weight:800!important}
.ynu-qty input,.yn-merit-qty{width:55px!important;height:29px!important;border:1px solid #c9a77c!important;border-radius:9px!important;background:#fff!important;text-align:center!important}
.ynu-buy-btn,.ynu-shop-card>button:last-child,.yn-merit-buy-btn{min-height:32px!important;padding:6px 8px!important;border:0!important;border-radius:10px!important;background:linear-gradient(180deg,#8f5aa5,#663c7e)!important;color:white!important;font-size:11px!important;font-weight:900!important;margin-top:6px!important}
.shop-category-tabs,.shop-category-tabs-v2{gap:5px!important}.shop-category-tabs button,.shop-category-tabs-v2 button{padding:6px 8px!important;min-height:32px!important;font-size:10px!important;border-radius:999px!important}

/* Generic cute compact confirmation */
.ynu-confirm{text-align:center;max-width:420px;margin:auto}.ynu-confirm>img{display:block;width:90px;height:90px;object-fit:contain;margin:0 auto 7px;border-radius:14px;background:#fff;border:1px solid rgba(174,126,70,.35)}.ynu-confirm h2{margin:3px 0 6px}.ynu-confirm p{font-size:12px;line-height:1.5}.ynu-confirm>div{display:flex;gap:7px;justify-content:center}.ynu-confirm>div button{padding:7px 11px;border:0;border-radius:10px;font-size:11px;font-weight:900;background:#7b4a91;color:#fff}.ynu-confirm>div button+button{background:#ead8be;color:#52385c}

/* One standard overlay slot on plots */
.ynu-plot-overlay,.status-badge.ynu-plot-overlay,.angel-status-badge.ynu-plot-overlay{position:absolute!important;right:2%!important;top:2%!important;width:clamp(30px,7.2vw,55px)!important;height:clamp(30px,7.2vw,55px)!important;object-fit:contain!important;object-position:center!important;z-index:9!important;transform:none!important;margin:0!important;padding:0!important}
.ynu-takeover-label{position:absolute;left:5%;right:5%;bottom:0;z-index:11;padding:3px 5px;border-radius:999px;background:rgba(70,38,83,.86);color:#fff;font-size:clamp(7px,1.8vw,10px);font-weight:900;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ynu-takeover-plot{outline:2px dashed rgba(197,148,71,.55)!important;outline-offset:-3px}

/* Bulk manager button + modal */
.ynu-garden-manager-button{position:absolute;z-index:79;right:2.5%;top:27%;display:flex;align-items:center;gap:4px;border:1.5px solid rgba(241,211,154,.75);border-radius:999px;padding:6px 9px;background:linear-gradient(180deg,rgba(83,51,96,.97),rgba(51,31,65,.97));color:#fff2cc;box-shadow:0 4px 10px rgba(33,16,40,.3);font-size:11px;font-weight:900}.ynu-garden-manager-button b{font-size:9px}.game-screen.visiting-friend .ynu-garden-manager-button{opacity:.45}
.ynu-garden-manager{max-width:430px;margin:auto}.ynu-manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ynu-manager-grid button{min-height:44px;border:1px solid #d0ac7a;border-radius:13px;background:#fff8ec;color:#56385f;font-weight:900;font-size:11px}
.ynu-seed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:54vh;overflow:auto}.ynu-seed-grid button{border:1px solid #d7b890;border-radius:12px;background:#fff;padding:5px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:#503457;font-weight:800}.ynu-seed-grid img{width:54px;height:54px;object-fit:contain}

/* Friend cat actions */
.ynu-friend-cat-actions{display:flex;gap:8px;justify-content:center;margin-top:8px}.ynu-friend-cat-actions button{border:0;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900;background:#98516f;color:#fff}.ynu-friend-cat-actions button+button{background:#7961a1}

/* Dog care */
.ynu-dog-care-buttons{position:absolute;right:3.5%;top:14%;z-index:50;display:flex;gap:6px}.ynu-dog-care-buttons button{width:36px;height:36px;border:1.5px solid rgba(255,239,205,.75);border-radius:50%;background:linear-gradient(180deg,#7e4c91,#513061);color:#fff;font-size:17px;box-shadow:0 3px 9px rgba(25,12,31,.3)}
.ynu-dog-care{text-align:center;max-width:390px;margin:auto}.ynu-dog-care>img{width:112px;height:112px;object-fit:contain;display:block;margin:0 auto 7px}.ynu-dog-care>strong{display:block;font-size:18px;color:#774486;margin:5px 0}.ynu-dog-care button{border:0;border-radius:11px;padding:7px 14px;background:#714285;color:#fff;font-weight:900}.ynu-dog-care-status small{display:block;margin-top:5px;color:#735f79;font-size:10px}

/* Fishing lobby and ponds are always full-screen */
.scene-screen{background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important}
.ynu-fishing-welcome{position:absolute;left:8%;right:8%;top:10%;padding:8px 11px;border-radius:16px;background:rgba(49,31,60,.82);border:1.5px solid rgba(245,215,164,.72);color:#fff4d4;text-align:center;font-size:clamp(12px,3.2vw,18px);font-weight:950;box-shadow:0 5px 14px rgba(20,10,28,.3)}
.ynu-pond-choices{position:absolute;left:8%;right:8%;top:23%;display:grid;grid-template-columns:1fr;gap:8px}.ynu-pond-choices button{min-height:54px;border:1.5px solid rgba(244,221,177,.78);border-radius:16px;background:rgba(73,43,85,.88);color:#fff4d4;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:900}.ynu-pond-choices button b{font-size:12px}.ynu-pond-choices button small{display:block;font-size:8px;color:#eed9ed}.ynu-pond-choices button:disabled{opacity:.5;filter:grayscale(.5)}
.ynu-fishing-lobby-actions{position:absolute;right:3%;bottom:7%;display:flex;gap:6px}.ynu-fishing-lobby-actions button{border:1px solid rgba(255,239,208,.75);border-radius:999px;padding:6px 9px;background:rgba(61,37,73,.91);color:#fff1d2;font-size:9px;font-weight:900}
.ynu-fishing-dock{position:absolute;z-index:16;border:0;background:transparent;border-radius:18px;color:white;padding:0;display:flex;align-items:flex-end;justify-content:center}.ynu-fishing-dock span{margin-bottom:4px;padding:3px 6px;border-radius:999px;background:rgba(40,25,48,.78);font-size:8px;font-weight:900;line-height:1.25;text-align:center;pointer-events:none}
.ynu-bait-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ynu-bait-list button{border:1px solid #d7b890;border-radius:12px;background:#fff;padding:6px;display:flex;align-items:center;gap:5px;text-align:left;color:#51375a}.ynu-bait-list img{width:52px;height:52px;object-fit:contain}.ynu-bait-list span{font-size:10px;font-weight:900}.ynu-bait-list small{display:block;font-size:8px;font-weight:500}
.ynu-score-table{display:grid;gap:4px;font-size:10px}.ynu-score-table>.head,.ynu-score-table>div{display:grid;grid-template-columns:48px 1fr 70px 80px;gap:4px;align-items:center;padding:6px;border-radius:8px;background:rgba(255,255,255,.72)}.ynu-score-table>.head{background:#714784;color:#fff;font-weight:900}.ynu-score-table strong{text-align:right}.ynu-arena-dashboard .ynu-score-table>.head,.ynu-arena-dashboard .ynu-score-table>div{grid-template-columns:48px 1fr 80px}

/* Jellyfish pond 2 */
.ynu-jelly2-button{position:absolute;right:3%;bottom:6.5%;z-index:120;min-width:132px;min-height:40px;border:2px solid rgba(255,239,204,.95);border-radius:999px;padding:9px 14px;background:linear-gradient(180deg,rgba(102,59,119,.98),rgba(55,31,69,.98));color:#fff7df;font-size:12px;font-weight:950;box-shadow:0 5px 14px rgba(28,12,35,.45);pointer-events:auto;touch-action:manipulation}

/* Arena: left/right are invisible; only the 2 lower actions are visible */
.ynu-arena-zone{position:absolute;z-index:20;top:22%;bottom:31%;width:43%;border:0;background:transparent!important;box-shadow:none!important}.ynu-arena-zone.left{left:4%}.ynu-arena-zone.right{right:4%}.ynu-arena-actions{position:absolute;left:50%;bottom:14%;transform:translateX(-50%);z-index:36;display:flex;gap:7px;white-space:nowrap}.ynu-arena-actions button,.ynu-arena-board{border:1.5px solid rgba(247,221,173,.8);border-radius:999px;padding:7px 11px;background:linear-gradient(180deg,rgba(90,53,102,.94),rgba(57,34,70,.96));color:#fff0cc;font-size:10px;font-weight:900;box-shadow:0 4px 10px rgba(24,11,30,.3)}.ynu-arena-board{position:absolute;left:3%;bottom:7%;z-index:36}
.ynu-arena-picked{position:absolute;z-index:30;top:40%;width:26%;text-align:center;pointer-events:none}.ynu-arena-picked.mine{left:10%}.ynu-arena-picked.opp{right:10%}.ynu-arena-picked img{width:100%;height:112px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.25))}.ynu-arena-picked small{display:inline-block;margin-top:2px;padding:3px 6px;border-radius:999px;background:rgba(49,30,59,.8);color:#fff;font-size:8px;font-weight:900}
.ynu-arena-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:58vh;overflow:auto}.ynu-arena-picker button{border:1px solid #d7b890;border-radius:13px;background:#fff;padding:6px;color:#54365b;display:flex;flex-direction:column;align-items:center}.ynu-arena-picker img{width:90px;height:90px;object-fit:contain}.ynu-arena-picker b{font-size:11px}.ynu-arena-picker small{font-size:8px}
.ynu-move-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.ynu-move-picker button{border:1px solid #d7b890;border-radius:12px;background:#fff;padding:4px;color:#51375a}.ynu-move-picker img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain}.ynu-move-picker small{font-size:8px}
.ynu-arena-status{text-align:center;max-width:390px;min-height:300px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.ynu-arena-status>img{width:125px;height:125px;object-fit:contain;border-radius:14px;display:block;margin:0 auto 8px}.ynu-arena-status h2{font-size:15px;line-height:1.35;margin:4px 0}.ynu-arena-status p{font-size:11px;line-height:1.45;margin:5px 0}.ynu-arena-status>strong{font-size:16px;color:#754580;margin:4px 0}.ynu-arena-status button{margin-top:8px;border:0;border-radius:11px;padding:7px 13px;background:#74478a;color:#fff;font-size:11px;font-weight:900}.ynu-arena-status small{font-size:9px;color:#76617c}

@media(max-width:390px){.shop-panel .shop-card,.ynu-shop-card{min-height:295px!important;padding:7px!important}.ynu-shop-image-box{height:105px!important;min-height:105px!important}.ynu-move-picker{grid-template-columns:repeat(4,1fr)}.ynu-arena-picked img{height:96px}.ynu-garden-manager-button{right:1.8%;top:27.2%;padding:5px 7px}.ynu-garden-manager-button b{display:none}.ynu-score-table>.head,.ynu-score-table>div{grid-template-columns:38px 1fr 54px 68px}}
.ynu-fishing-lobby-scene .scene-back-button{top:auto!important;bottom:7%!important;left:3%!important}


/* =====================================================================
   V1.9 CLEANUP-14 — เก็บตก 14 หัวข้อ
   ===================================================================== */

/* 1–5 Take Over + Overlay: โฉนด/ปีกซาตานต้องมีตำแหน่งและมิติแบบเดียวกับ status */
.ynu-deed-overlay,
.ynu-satan-overlay{
  right:1.5%!important;
  top:2.5%!important;
  width:clamp(34px,8vw,58px)!important;
  height:clamp(34px,8vw,58px)!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  filter:
    drop-shadow(0 6px 6px rgba(25,12,30,.48))
    drop-shadow(0 2px 1px rgba(255,235,185,.36))!important;
  transform:translateZ(0)!important;
}
.ynu-deed-overlay{animation:ynuDeedFloat 2.2s ease-in-out infinite}
.ynu-satan-overlay{animation:ynuSatanPop .42s ease-out both,ynuSatanPulse .72s ease-in-out .42s 2 alternate}
@keyframes ynuDeedFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.045)}}
@keyframes ynuSatanPop{0%{opacity:0;transform:scale(.45) rotate(-9deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes ynuSatanPulse{to{transform:scale(1.12);filter:drop-shadow(0 7px 7px rgba(25,12,30,.54)) drop-shadow(0 0 8px rgba(175,60,205,.46))}}
.ynu-takeover-plot{
  outline:2px dashed rgba(212,160,74,.8)!important;
  outline-offset:-3px!important;
  filter:drop-shadow(0 3px 4px rgba(53,30,61,.15));
}
.ynu-takeover-label{
  left:3%!important;
  right:3%!important;
  bottom:-1%!important;
  padding:4px 6px!important;
  background:linear-gradient(180deg,rgba(77,45,91,.94),rgba(48,28,60,.96))!important;
  border:1px solid rgba(248,220,164,.72)!important;
  box-shadow:0 4px 8px rgba(31,14,38,.35)!important;
  color:#fff5d9!important;
  text-shadow:0 1px 2px rgba(0,0,0,.55)!important;
}
.ynu-takeover-action{text-align:center}
.ynu-takeover-action .primary-spooky-action{width:min(280px,90%);margin:8px auto 0}

/* 6 เยี่ยมบ้านเพื่อน: เมนูด้านล่างทั้งหมดต้องกดได้ */
.game-screen.visiting-friend .bottom-nav-hotspots{
  display:block!important;
  pointer-events:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.game-screen.visiting-friend .bottom-nav-hotspots button{
  display:block!important;
  pointer-events:auto!important;
  opacity:1!important;
  visibility:visible!important;
}
.game-screen.visiting-friend .bottom-nav-hotspots button:active{background:rgba(255,255,255,.14)!important}

/* 7 + 10 ตำแหน่งนักมวยแมงกะพรุน: กึ่งกลางแท่นซ้าย/ขวา และยกขึ้น */
.ynu-arena-picked{
  top:33.5%!important;
  width:25%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  transform:translateY(-3%)!important;
}
.ynu-arena-picked.mine{left:8.5%!important}
.ynu-arena-picked.opp{right:8.5%!important}
.ynu-arena-picked img{
  width:100%!important;
  height:clamp(108px,17.5vh,142px)!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  background:transparent!important;
  filter:drop-shadow(0 8px 7px rgba(17,19,40,.38)) drop-shadow(0 1px 1px rgba(255,255,255,.2))!important;
}
.ynu-arena-picked small{
  margin-top:-2px!important;
  box-shadow:0 4px 9px rgba(25,12,31,.35)!important;
}

/* 11 ร้านค้า: ไม่ใช้พื้นขาวเรียบ / ตัวหนังสือเข้ม / การ์ดและสินค้ามีมิติ */
.shop-panel .shop-card,
.ynu-shop-card,
.medicine-shop-card{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,245,218,.95),rgba(238,211,229,.92) 38%,rgba(221,193,214,.94) 100%)!important;
  border:1.5px solid rgba(117,72,126,.5)!important;
  box-shadow:
    0 10px 22px rgba(53,27,62,.20),
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -8px 18px rgba(107,62,120,.08)!important;
  color:#24172b!important;
}
.ynu-shop-image-box,
.shop-card>.ynu-shop-image-box{
  background:
    radial-gradient(circle at 50% 38%,rgba(255,249,231,.88) 0 20%,rgba(230,204,231,.94) 62%,rgba(198,162,207,.92) 100%)!important;
  border:1.5px solid rgba(117,72,126,.42)!important;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.62),
    inset 0 -8px 15px rgba(88,48,103,.14),
    0 7px 14px rgba(59,29,68,.18)!important;
}
.ynu-shop-image-box img,
.shop-card>.ynu-shop-image-box img,
.shop-card>.shop-animal-img{
  background:transparent!important;
  filter:
    drop-shadow(0 8px 7px rgba(52,27,62,.28))
    drop-shadow(0 2px 1px rgba(255,255,255,.48))!important;
}
.shop-card b,
.shop-card h3,
.shop-card small,
.ynu-shop-card b,
.ynu-shop-card h3,
.ynu-shop-card small,
.shop-price,
.ynu-shop-price,
.mystery-rules,
.mystery-rules span,
.mystery-rules strong{
  color:#211525!important;
  text-shadow:none!important;
}
.ynu-condition-copy,
.mystery-rules{
  background:rgba(246,231,235,.72)!important;
  border:1px solid rgba(118,76,127,.18)!important;
  box-shadow:inset 0 1px 3px rgba(255,255,255,.55)!important;
}
.ynu-condition-btn,
.ynu-qty input,
.yn-merit-qty{
  background:#f4e3ec!important;
  color:#26182b!important;
  border-color:rgba(115,72,125,.38)!important;
}
.ynu-buy-btn,.ynu-shop-card>button:last-child,.yn-merit-buy-btn,.shop-worship-button{
  box-shadow:0 5px 10px rgba(57,29,68,.22),inset 0 1px 0 rgba(255,255,255,.22)!important;
}

/* 12 สถานะต่อสู้/ชนะ/แพ้: ไอคอนเล็กเท่ากัน ไม่มีพื้นขาว */
.ynu-arena-status{
  min-height:285px!important;
  max-width:380px!important;
  padding:10px 8px!important;
}
.ynu-arena-status-icon{
  width:104px!important;
  height:104px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto 7px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ynu-arena-status-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 7px 7px rgba(41,23,53,.28))!important;
}
.ynu-arena-status.ynu-fighting .ynu-arena-status-icon img{
  animation:ynuFightShake .52s ease-in-out infinite;
  transform-origin:50% 70%;
}
@keyframes ynuFightShake{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  20%{transform:translate3d(-2px,1px,0) rotate(-1.2deg)}
  40%{transform:translate3d(2px,-1px,0) rotate(1.2deg)}
  60%{transform:translate3d(-1px,-1px,0) rotate(-.7deg)}
  80%{transform:translate3d(1px,1px,0) rotate(.7deg)}
}

/* 13 เปิดกล่องแมงกะพรุน: แสดงตัวที่สุ่มได้ */
.ynu-jellybox-reward-icon{
  display:block!important;
  width:min(128px,30vw)!important;
  height:min(128px,30vw)!important;
  margin:0 auto 8px!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:drop-shadow(0 8px 7px rgba(52,27,62,.28))!important;
}

/* 14 เลือกคู่แข่ง/ท่าต่อสู้ + Dashboard: ไม่มีพื้นขาวและมีมิติ */
.ynu-arena-choice-panel{
  background:
    linear-gradient(180deg,rgba(255,239,207,.98),rgba(226,199,219,.98))!important;
  border-color:rgba(126,75,137,.55)!important;
  box-shadow:0 14px 28px rgba(35,17,43,.25),inset 0 1px 0 rgba(255,255,255,.7)!important;
}
.ynu-arena-picker button,
.ynu-move-picker button{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,246,221,.92),rgba(213,184,218,.92) 66%,rgba(178,139,190,.94) 100%)!important;
  border:1.5px solid rgba(91,54,105,.42)!important;
  color:#25162c!important;
  box-shadow:
    0 7px 13px rgba(47,23,56,.18),
    inset 0 1px 0 rgba(255,255,255,.66),
    inset 0 -5px 12px rgba(69,35,83,.10)!important;
}
.ynu-arena-picker button:active,
.ynu-move-picker button:active{
  transform:translateY(1px) scale(.985);
  box-shadow:0 3px 7px rgba(47,23,56,.2),inset 0 2px 8px rgba(69,35,83,.13)!important;
}
.ynu-arena-picker img,
.ynu-move-picker img{
  background:transparent!important;
  filter:drop-shadow(0 7px 6px rgba(42,22,52,.27))!important;
}
.ynu-arena-picker b,
.ynu-arena-picker small,
.ynu-move-picker small{
  color:#24172b!important;
  text-shadow:none!important;
  font-weight:900!important;
}
.ynu-move-picker small{
  display:block!important;
  min-height:28px!important;
  padding:4px 2px 1px!important;
  line-height:1.18!important;
  font-size:clamp(7px,1.75vw,9px)!important;
}
.ynu-arena-dashboard{
  max-width:430px!important;
  margin:auto!important;
  background:linear-gradient(180deg,#f9e7c8,#ead1df)!important;
  border:1.5px solid rgba(113,67,126,.48)!important;
  box-shadow:0 14px 30px rgba(36,17,44,.28),inset 0 1px 0 rgba(255,255,255,.7)!important;
}
.ynu-arena-dash-title{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:9px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(92,53,108,.96),rgba(54,31,68,.98))!important;
  color:#fff4d3!important;
  box-shadow:0 6px 13px rgba(44,21,52,.25)!important;
}
.ynu-arena-dash-title>span{font-size:28px}
.ynu-arena-dash-title h2{margin:0!important;color:#fff4d3!important;font-size:17px!important}
.ynu-arena-dash-title p{margin:2px 0 0!important;color:#f3e4ee!important;font-size:9px!important;line-height:1.35!important}
.ynu-arena-dashboard .ynu-score-table{
  max-height:56vh!important;
  overflow:auto!important;
  gap:5px!important;
  padding-right:2px!important;
}
.ynu-arena-dashboard .ynu-score-table>.head,
.ynu-arena-dashboard .ynu-score-table>.ynu-rank-row{
  grid-template-columns:52px 1fr 70px!important;
  border:1px solid rgba(111,72,120,.14)!important;
  box-shadow:0 3px 8px rgba(58,30,66,.08)!important;
}
.ynu-arena-dashboard .ynu-score-table>.head{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  background:linear-gradient(180deg,#794c8d,#5d396e)!important;
  color:#fff6dc!important;
}
.ynu-arena-dashboard .ynu-rank-row{
  background:linear-gradient(180deg,rgba(255,248,229,.96),rgba(241,225,232,.96))!important;
  color:#2b1b30!important;
}
.ynu-arena-dashboard .rank-1{background:linear-gradient(180deg,#fff1ae,#f3d47b)!important;border-color:#d8aa42!important}
.ynu-arena-dashboard .rank-2{background:linear-gradient(180deg,#f4f1f4,#dcd8df)!important;border-color:#aaa5b0!important}
.ynu-arena-dashboard .rank-3{background:linear-gradient(180deg,#f3d1b1,#dca77c)!important;border-color:#b97f54!important}
.ynu-rank-no{font-size:15px;font-weight:900}
.ynu-arena-dashboard .ynu-score-table strong{color:#4c2a58!important;font-size:12px!important}

@media(max-width:390px){
  .ynu-arena-picked{top:34%!important;width:24%!important}
  .ynu-arena-picked.mine{left:9%!important}
  .ynu-arena-picked.opp{right:9%!important}
  .ynu-arena-picked img{height:104px!important}
  .ynu-arena-status-icon{width:92px!important;height:92px!important}
  .ynu-arena-dashboard .ynu-score-table>.head,
  .ynu-arena-dashboard .ynu-score-table>.ynu-rank-row{grid-template-columns:44px 1fr 58px!important}
}

.ynu-arena-picker button.selected,
.ynu-move-picker button.selected{
  border-color:#d6a13d!important;
  box-shadow:0 0 0 2px rgba(255,216,99,.42),0 8px 15px rgba(61,30,71,.22),inset 0 1px 0 rgba(255,255,255,.72)!important;
  background:radial-gradient(circle at 50% 28%,#fff2bb,#e6c1dc 62%,#c698cc 100%)!important;
}

/* ถ้าเซิร์ฟเวอร์ยังมีไฟล์ผลแข่งเป็น JPG ให้พื้นขาวกลืนกับแผงแทนการเห็นสี่เหลี่ยมขาว */
.ynu-arena-status-icon img[src*=".jpg"]{mix-blend-mode:multiply!important}

/* V177 compact Take Over UI */
.yn177-take-panel{max-width:430px;margin:0 auto;text-align:center;padding:14px 12px!important}
.yn177-take-panel h2{margin:0 0 6px;font-size:22px}
.yn177-take-panel p{margin:0 0 10px;font-size:13px}
.yn177-take-actions{display:grid;gap:8px}
.yn177-take-actions>button{min-height:42px;border-radius:12px}
.yn177-take-boost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:38vh;overflow:auto}
.yn177-take-boost-grid button{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:7px;padding:7px;border:1px solid #d8b98f;border-radius:12px;background:#f7e7c9;color:#4f3558;text-align:left}
.yn177-take-boost-grid img{width:44px!important;height:44px!important;object-fit:contain!important;background:transparent!important}
.yn177-take-boost-grid span{font-size:11px;font-weight:800}
.yn177-take-boost-grid small{display:block;font-size:9px;font-weight:600;opacity:.78}
.yn177-seed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:52vh;overflow:auto}
.yn177-seed-grid button{border:1px solid #d8b98f;border-radius:12px;background:#f7e7c9;padding:5px;color:#4f3558;font-size:9px;font-weight:800}
.yn177-seed-grid img{display:block;width:52px!important;height:52px!important;object-fit:contain!important;margin:0 auto 3px;background:transparent!important}
.ynu-deed-overlay{object-fit:contain!important;background:transparent!important}


/* ===== V181 SMOOTH / MOBILE PERFORMANCE ===== */
.ynu-garden-manager-button{
  top:24.6%!important;
}
@media(max-width:390px){
  .ynu-garden-manager-button{
    top:24.8%!important;
  }
}

/* backdrop-filter is expensive on older iPhones/iPads; these surfaces remain
   opaque enough without continuously blurring the entire game underneath. */
@media(max-width:600px){
  .tractor-working-overlay,
  .hud-menu-backdrop,
  .pet-test-panel,
  .pet-test-active-panel{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}

/* ======================================================================
   V195 — วิมานหมา Aida private test
   ====================================================================== */
#sceneScreen[data-scene="wimanDog"]{
  background-color:#1b0f2b;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
#sceneScreen[data-scene="wimanDog"] .scene-back-button{
  left:max(3.2%,env(safe-area-inset-left));
  top:max(2.2%,env(safe-area-inset-top));
  max-width:none;
  min-height:42px;
  padding:8px 15px 8px 13px;
  border:1.5px solid rgba(255,221,171,.86);
  border-radius:999px;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,188,233,.28),transparent 34%),
    linear-gradient(180deg,rgba(104,59,129,.97),rgba(50,28,72,.98));
  color:#fff4d9;
  font-size:clamp(10px,2.55vw,14px);
  font-weight:950;
  letter-spacing:.01em;
  text-shadow:0 1px 2px rgba(13,5,23,.92);
  box-shadow:0 6px 18px rgba(16,7,29,.38),inset 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(104,50,131,.38);
  backdrop-filter:blur(7px);
}
#sceneScreen[data-scene="wimanDog"] .scene-back-button::before{content:"‹";font-size:18px;line-height:0;margin-right:5px;vertical-align:-1px}
#sceneScreen[data-scene="wimanDog"] .scene-back-button:active{transform:scale(.96)}

.wiman-dog-inventory-button{
  position:absolute;
  z-index:80;
  left:max(3.2%,env(safe-area-inset-left));
  bottom:max(3.5%,env(safe-area-inset-bottom));
  min-height:46px;
  padding:8px 15px 8px 11px;
  border:1.5px solid rgba(255,221,171,.9);
  border-radius:999px;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,174,222,.34),transparent 34%),
    linear-gradient(180deg,rgba(119,62,139,.97),rgba(55,29,78,.98));
  color:#fff5dc;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:clamp(10px,2.7vw,14px);
  font-weight:950;
  box-shadow:0 7px 20px rgba(18,8,30,.4),inset 0 1px rgba(255,255,255,.2),0 0 0 1px rgba(236,160,218,.18);
  text-shadow:0 1px 2px rgba(16,5,24,.92);
  backdrop-filter:blur(8px);
  -webkit-tap-highlight-color:transparent;
}
.wiman-dog-inventory-button .paw{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:rgba(255,229,244,.16);font-size:17px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.wiman-dog-inventory-button:active{transform:scale(.96)}

.wiman-dog-pet-layer{position:absolute;inset:0;z-index:34;overflow:hidden;pointer-events:none}
.wiman-dog-pet{
  --wiman-dog-size:clamp(42px,10.8vw,72px);
  position:absolute;
  width:var(--wiman-dog-size);
  height:var(--wiman-dog-size);
  transform:translate(-50%,-100%);
  transform-origin:center bottom;
  pointer-events:auto;
  cursor:pointer;
  touch-action:manipulation;
  will-change:left,top;
}
.wiman-dog-pet::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  bottom:-1px;
  width:47%;
  height:10%;
  border-radius:50%;
  background:rgba(20,12,28,.52);
  filter:blur(2.2px);
  transform:translateX(-50%) scaleX(.96);
  opacity:.94;
  box-shadow:0 1px 3px rgba(10,4,18,.28);
}
.wiman-dog-pet.is-moving::before{animation:wimanDogShadowStep 1.45s ease-in-out infinite}
@keyframes wimanDogShadowStep{
  0%,50%,100%{transform:translateX(-50%) scaleX(.92);opacity:.86}
  25%,75%{transform:translateX(-50%) scaleX(1.06);opacity:.98}
}
.wiman-dog-sprite{
  position:absolute;
  z-index:1;
  left:50%;
  bottom:1px;
  width:100%;
  height:100%;
  background-repeat:no-repeat;
  background-size:400% 400%;
  background-position:0 0;
  transform:translateX(-50%) scaleX(1);
  transform-origin:center bottom;
  image-rendering:auto;
  filter:drop-shadow(0 2px 2px rgba(28,15,31,.16));
  will-change:background-position,transform;
}
/* Ludo diagonal sheet has a 508×612 frame instead of 1024×1024.
   Scale only at render time so the dog remains visually the same size.
   The source PNG is never resized or altered. */
.wiman-dog-sprite[data-kind="diag"]{width:66%;height:80%}
.wiman-dog-sprite.face-left{transform:translateX(-50%) scaleX(-1)}
.wiman-dog-touch-hint{
  position:absolute;left:50%;bottom:96%;transform:translateX(-50%);padding:2px 5px;border-radius:999px;
  background:rgba(48,28,62,.68);color:#fff2d7;font-size:7px;font-weight:850;white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none
}
.wiman-dog-pet:active .wiman-dog-touch-hint{opacity:1}

.wiman-dog-inventory-panel{max-width:430px;margin:auto;text-align:center;color:#53365f}
.wiman-dog-inventory-panel .wiman-dog-panel-kicker{display:inline-block;margin-bottom:3px;padding:3px 8px;border-radius:999px;background:#f2e4ff;color:#75448a;font-size:9px;font-weight:950;letter-spacing:.07em}
.wiman-dog-inventory-panel h2{margin:2px 0 4px;color:#5c3570;font-size:clamp(20px,5.5vw,27px)}
.wiman-dog-inventory-panel .wiman-dog-panel-sub{margin:0 0 12px;color:#8b7392;font-size:11px;line-height:1.45}
.wiman-dog-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(92px,34%) 1fr;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1.5px solid #e1c1e7;
  border-radius:19px;
  background:
    radial-gradient(circle at 8% 0%,rgba(251,189,228,.38),transparent 38%),
    linear-gradient(150deg,#fffdfd,#fff4fb 58%,#f5edff);
  box-shadow:0 8px 22px rgba(73,38,86,.13),inset 0 1px #fff;
  text-align:left;
}
.wiman-dog-card::after{content:"";position:absolute;right:-35px;top:-44px;width:110px;height:110px;border-radius:50%;background:rgba(166,113,201,.08);pointer-events:none}
.wiman-dog-card-art{position:relative;aspect-ratio:1;border-radius:16px;background:linear-gradient(145deg,#f7e8ff,#fff4f8);display:grid;place-items:center;border:1px solid rgba(186,134,202,.28);overflow:hidden}
.wiman-dog-card-art img{width:92%;height:92%;object-fit:contain;display:block;filter:drop-shadow(0 5px 6px rgba(53,26,62,.13))}
.wiman-dog-card-copy{position:relative;z-index:1;min-width:0}
.wiman-dog-card-copy b{display:block;color:#5f3770;font-size:15px;margin-bottom:2px}
.wiman-dog-card-copy span{display:block;color:#8b6b91;font-size:10px;line-height:1.35;margin-bottom:8px}
.wiman-dog-status-pill{display:inline-flex!important;width:auto!important;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:#f2e5f7;color:#765181!important;font-size:8px!important;font-weight:900;margin:0 0 7px!important}
.wiman-dog-card button{
  width:100%;min-height:39px;border:0;border-radius:12px;padding:7px 10px;
  background:linear-gradient(180deg,#8c5aa6,#68407d);color:white;font-weight:950;font-size:11px;
  box-shadow:0 5px 12px rgba(82,44,97,.22),inset 0 1px rgba(255,255,255,.2)
}
.wiman-dog-card button.is-placed{background:linear-gradient(180deg,#b7799f,#89546f)}
.wiman-dog-card button:active{transform:scale(.98)}
.wiman-dog-panel-note{margin:10px 4px 0;color:#9a819f;font-size:9px;line-height:1.4}
.hud-menu-item.wiman-aida-unlocked{box-shadow:inset 0 0 0 1px rgba(222,160,226,.28)}
.hud-menu-item.wiman-aida-unlocked>i{color:#ffd5f3!important}

@media (prefers-reduced-motion:reduce){.wiman-dog-pet{transition:none!important}.wiman-dog-pet.is-moving::before{animation:none}}
