*{box-sizing:border-box}body{margin:0;font-family:Arial,"Malgun Gothic";color:#263628;background:#82b96f;overflow:hidden}button{cursor:pointer;font:inherit}header{height:70px;background:#263b30;color:white;display:flex;align-items:center;gap:25px;padding:0 22px;position:relative;z-index:20}header>b{font-size:22px;color:#ffe28a}header span{font-size:12px}header strong{display:block;font-size:16px}header button{margin-left:auto;padding:11px 16px;border:0;border-radius:10px;background:#f0cb69}header button+button{margin-left:0}main{position:absolute;top:70px;bottom:120px;left:0;right:0;background:linear-gradient(#a8ddeb 0 28%,#75b966 28%);overflow:hidden}.house{position:absolute;left:50%;top:39%;transform:translate(-50%,-50%);font-size:180px;filter:drop-shadow(0 12px 6px #0004);text-align:center}.house small{display:block;font-size:13px;background:#fff9;border-radius:12px;padding:4px}.fence{position:absolute;left:33%;right:30%;top:58%;font-size:30px;color:#fff5db}.plot{position:absolute;width:145px;height:95px;background:repeating-linear-gradient(90deg,#7b4f2f 0 14px,#99623a 14px 27px);border:5px solid #b67b4b;border-radius:18px;display:grid;place-items:center;box-shadow:0 8px 0 #0002}.plot:nth-child(1){left:12%;top:18%}.plot:nth-child(2){left:15%;bottom:12%}.plot:nth-child(3){right:12%;top:18%}.plot:nth-child(4){right:15%;bottom:12%}.plot:nth-child(5){left:40%;bottom:3%}.plot:nth-child(6){left:42%;top:4%}.plant{font-size:50px;text-align:center;cursor:pointer}.plant small{display:block;font-size:11px;background:#263b30dd;color:white;border-radius:8px;padding:3px 7px}.plus{border:0;border-radius:50%;font-size:27px;width:45px;height:45px}.ready{animation:bob .7s infinite}aside{position:absolute;right:15px;top:88px;width:210px;background:#fffbeaee;border:3px solid #657258;border-radius:15px;padding:12px;z-index:10}aside h3{margin:0 0 8px}.ir{display:flex;padding:7px;border-bottom:1px dashed #bbb}.ir b{margin-left:auto}aside button{width:100%;margin-top:9px;padding:8px;background:#3d5942;color:white;border:0;border-radius:8px}footer{height:120px;position:absolute;bottom:0;left:0;right:0;background:#f7f2df;border-top:4px solid #657258;display:flex;align-items:center;gap:16px;padding:12px 25px}.avatar{font-size:55px;background:#cce5b5;border-radius:50%;padding:8px}.level{width:270px}.bar{height:12px;background:#d4d1bb;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:#75a84d}.point{padding:20px;border-left:1px solid #bbb}.point b{display:block}footer button{width:155px;height:68px;background:white;border:1px solid #999;border-radius:10px}footer button i{font-style:normal}footer button small{display:block}#modal{position:fixed;inset:0;background:#0007;z-index:50;display:grid;place-items:center}#modal[hidden]{display:none}#modal section{width:min(650px,90vw);background:#fffbea;border:5px solid #526a50;border-radius:20px;padding:22px;position:relative}.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:27px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice{padding:14px;font-size:18px;border:1px solid #aaa;border-radius:12px;background:white}.choice em{display:block;font-style:normal;font-size:40px}.market{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;padding:10px;border-bottom:1px solid #ccc}.market .hi{color:#c34d38}.market .lo{color:#37729c}#speech{position:absolute;left:50%;top:35%;font-size:28px;font-weight:bold;color:white;text-shadow:0 2px 4px #000;pointer-events:none}.pop{animation:up 1.2s forwards}#field{background:linear-gradient(#a4d9e4 0 25%,#4e9258 25%)}#field h2{margin:20px;background:#fffbdccc;display:inline-block;padding:12px 18px;border-radius:14px}#field h2 small{display:block;font-size:11px}.river{position:absolute;top:45%;left:-5%;width:110%;height:110px;background:#55adc3;transform:rotate(-4deg)}.spot{position:absolute;text-align:center;width:170px}.spot:nth-child(1){left:10%;top:28%}.spot:nth-child(2){left:29%;top:61%}.spot:nth-child(3){left:52%;top:20%}.spot:nth-child(4){right:18%;top:58%}.spot:nth-child(5){right:5%;top:28%}.hut{font-size:75px;cursor:pointer}.badge{background:#24382ddd;color:white;border-radius:12px;padding:6px;font-size:11px}.badge b{color:#ffe484}#toast{position:fixed;top:82px;left:50%;transform:translateX(-50%);z-index:100}.toast{background:#263b30eF;color:white;padding:11px 17px;border-radius:12px;margin:5px;animation:fade 2.3s forwards}@keyframes bob{50%{transform:scale(1.12)}}@keyframes up{to{transform:translateY(-100px);opacity:0}}@keyframes fade{80%{opacity:1}100%{opacity:0}}
/* v0.2 natural farm field */
.fence{display:none!important}.farmTrees{position:absolute;left:2%;right:2%;top:6%;font-size:70px;opacity:.95;filter:drop-shadow(0 8px 4px #0003)}
.truck{position:absolute;left:57%;top:43%;font-size:70px;transform:rotate(-4deg);filter:drop-shadow(0 7px 4px #0004);z-index:4}
.well{position:absolute;left:34%;top:47%;font-size:55px;text-align:center;filter:drop-shadow(0 6px 3px #0003);z-index:4}.well small{display:block;font-size:10px;background:#fff9;border-radius:8px}
.soil{position:absolute;top:28%;bottom:4%;width:34%;background:linear-gradient(90deg,#8a5a36,#9a6842 45%,#865533);border-radius:28% 12% 18% 22%;box-shadow:inset 0 0 40px #4e321f55,0 8px 15px #0002;opacity:.96}
.soil:after{content:"";position:absolute;inset:6%;border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0 28px,#68412655 29px 35px)}
.soil span{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);font-size:10px;color:#e9d3b5;letter-spacing:3px;z-index:2}.leftSoil{left:3%}.rightSoil{right:3%;transform:scaleX(-1)}.rightSoil span{transform:translateX(-50%) scaleX(-1)}
.plot{width:58px;height:58px;background:transparent;border:0;border-radius:50%;box-shadow:none;z-index:6;transition:.15s}.plot:hover{background:#f5df9b33;box-shadow:0 0 0 2px #ffe39d99}.plot .plus{opacity:0;transition:.15s;background:#fff5c8dd;box-shadow:0 3px 8px #0004}.plot:hover .plus{opacity:1}
.plot:nth-child(1){left:7%;top:35%}.plot:nth-child(2){left:15%;top:34%}.plot:nth-child(3){left:24%;top:37%}.plot:nth-child(4){left:30%;top:48%}.plot:nth-child(5){left:8%;top:51%}.plot:nth-child(6){left:18%;top:51%}.plot:nth-child(7){left:27%;top:62%}.plot:nth-child(8){left:8%;top:68%}.plot:nth-child(9){left:18%;top:70%}.plot:nth-child(10){left:29%;top:76%}
.plot:nth-child(11){left:auto;right:7%;top:35%}.plot:nth-child(12){left:auto;right:15%;top:34%}.plot:nth-child(13){left:auto;right:24%;top:37%}.plot:nth-child(14){left:auto;right:30%;top:48%}.plot:nth-child(15){left:auto;right:8%;top:51%}.plot:nth-child(16){left:auto;right:18%;top:51%}.plot:nth-child(17){left:auto;right:27%;top:62%}.plot:nth-child(18){left:auto;right:8%;top:68%}.plot:nth-child(19){left:auto;right:18%;top:70%}.plot:nth-child(20){left:auto;right:29%;top:76%}
.plot .plant{font-size:42px;filter:drop-shadow(0 4px 2px #0004)}.plot .plant small{font-size:9px}
#field .river{height:135px;background:linear-gradient(180deg,#78c9d5,#4ca7be 50%,#78c9d5);border-top:8px solid #7bb579;border-bottom:8px solid #659c67;overflow:hidden;box-shadow:inset 0 10px 20px #fff3}
.flow{position:absolute;color:#d8f7f8aa;font-size:28px;font-style:normal;white-space:nowrap;animation:waterflow 5s linear infinite}.f1{top:15px;left:5%}.f2{bottom:13px;left:35%;animation-duration:7s}.stones{position:absolute;left:18%;top:52px;color:#7b8f87;font-size:24px}
.animals span{position:absolute;font-size:42px;z-index:3;filter:drop-shadow(0 4px 2px #0003);animation:graze 5s ease-in-out infinite}.deer{left:18%;top:19%}.rabbit{left:42%;top:69%;animation-duration:3s!important}.goat{right:27%;top:17%;animation-duration:6s!important}.sheep{right:9%;top:69%;animation-duration:7s!important}
@keyframes waterflow{from{transform:translateX(-120px)}to{transform:translateX(700px)}}@keyframes graze{50%{transform:translateX(22px) translateY(4px) scaleX(.96)}}
.rareTag{color:#ffe36e!important;text-shadow:0 0 5px #d99b00}
/* v0.3 water, character, fishing */
.well{border:0;background:transparent!important;cursor:pointer}.well b{display:block;font-size:9px;color:#24527a;background:#fff9;border-radius:8px}.spare{font-size:13px;font-weight:bold}.farmer{position:absolute;left:45%;top:62%;font-size:52px;z-index:9;transition:transform .08s;filter:drop-shadow(0 5px 2px #0004)}.farmer small{display:block;font-size:9px;background:#fffbd9dd;border-radius:7px;padding:3px;text-align:center;white-space:nowrap}.fishing{animation:fishCast .5s}.fishing:after{content:'🎣';position:absolute;left:38px;top:-8px;font-size:42px;transform:rotate(-20deg)}@keyframes fishCast{50%{transform:rotate(-8deg)}}#riverWater{position:absolute;right:14%;top:42px;z-index:5;border:0;border-radius:10px;padding:8px;background:#e8f8ffcc;color:#24546a;font-weight:bold}#bobber{position:absolute;left:53%;top:46px;font-size:22px;z-index:8;animation:bobber 1s infinite}@keyframes bobber{50%{transform:translateY(8px)}}#bobber.bite{animation:bite .18s infinite}@keyframes bite{50%{transform:translateY(18px) rotate(15deg)}}.waterInfo{padding:7px;background:#eaf8ff;border-radius:8px;margin-top:7px;font-size:11px}.waterBtns{display:flex;gap:6px;margin-top:6px}.waterBtns button{flex:1;padding:7px;border:0;border-radius:8px;background:#4f8cab;color:white}.fishrow{background:#eaf4fa}.rareCrop{color:#d79a00!important;text-shadow:0 0 5px #ffd85a}.marketActions{display:flex;gap:8px;margin:12px 0}.marketActions button{flex:1;padding:11px;border:0;border-radius:10px;color:white;font-weight:bold}.marketActions .single{background:#db8338}.marketActions .all{background:#3d9b63}.marketTimer{background:#263b30;color:white;padding:8px 12px;border-radius:9px;text-align:center;margin:8px 0}.biteHint{position:absolute;left:43%;top:39%;z-index:12;background:#fff;color:#c4442d;border:3px solid #e9c44d;border-radius:15px;padding:9px 14px;font-weight:bold;animation:bob .3s infinite}

/* ===== v0.3.1 풍성한 밀밭 / 책 시장 / 가이드 ===== */
#farm{background:
radial-gradient(circle at 18% 42%,#6d9d45 0 2px,transparent 3px),
radial-gradient(circle at 76% 62%,#6b9843 0 2px,transparent 3px),
linear-gradient(#a8ddeb 0 24%,#d9b84f 24% 100%)!important}
.wheatBackdrop{position:absolute;inset:24% 0 0;pointer-events:none;opacity:.92;background:
repeating-linear-gradient(83deg,transparent 0 16px,#d9a82d55 17px 19px,transparent 20px 29px),
repeating-linear-gradient(97deg,transparent 0 23px,#f0cf5a44 24px 27px,transparent 28px 38px)}
.wheatBackdrop:before,.wheatBackdrop:after{content:"🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾 🌾";position:absolute;left:-2%;right:-2%;font-size:35px;letter-spacing:8px;white-space:nowrap;filter:drop-shadow(0 4px 2px #6e532955);animation:wheatSway 4s ease-in-out infinite;transform-origin:bottom}.wheatBackdrop:before{top:4%}.wheatBackdrop:after{bottom:3%;animation-delay:-2s}
.grassTufts{position:absolute;inset:24% 0 0;pointer-events:none;background:
radial-gradient(ellipse at 5% 15%,#4f8c39 0 3px,transparent 4px),
radial-gradient(ellipse at 12% 72%,#4f8c39 0 3px,transparent 4px),
radial-gradient(ellipse at 25% 30%,#568e3b 0 3px,transparent 4px),
radial-gradient(ellipse at 38% 83%,#4c8737 0 3px,transparent 4px),
radial-gradient(ellipse at 49% 18%,#4e8b38 0 3px,transparent 4px),
radial-gradient(ellipse at 61% 72%,#568f3b 0 3px,transparent 4px),
radial-gradient(ellipse at 74% 28%,#4b8535 0 3px,transparent 4px),
radial-gradient(ellipse at 87% 80%,#558e39 0 3px,transparent 4px),
radial-gradient(ellipse at 95% 43%,#4c8736 0 3px,transparent 4px);background-size:90px 75px}
.soil{z-index:2}.house,.truck,.well,.farmTrees{z-index:5}.plot{z-index:8}
@keyframes wheatSway{50%{transform:skewX(2deg) translateX(5px)}}

#field{background:linear-gradient(#a8dce8 0 22%,#78aa4d 22% 100%)!important}
#field:before{content:"";position:absolute;inset:22% 0 0;background:
radial-gradient(circle,#3e7e34 0 2px,transparent 3px) 0 0/55px 45px,
radial-gradient(circle,#8bc45e 0 3px,transparent 4px) 20px 15px/75px 65px;opacity:.65;pointer-events:none}
.wildForest .tree{position:absolute;z-index:2;filter:drop-shadow(0 8px 4px #0003);animation:treeSway 5s ease-in-out infinite}.wildForest .big{font-size:92px}.wildForest .mid{font-size:72px}.wildForest .small{font-size:54px}.wildForest .a{left:2%;top:18%}.wildForest .b{left:12%;top:69%}.wildForest .c{left:24%;top:12%}.wildForest .d{left:34%;top:72%}.wildForest .e{left:47%;top:16%}.wildForest .f{right:36%;top:68%}.wildForest .g{right:22%;top:11%}.wildForest .h{right:12%;top:72%}.wildForest .i{right:2%;top:18%}.wildForest .j{right:3%;top:64%}
@keyframes treeSway{50%{transform:rotate(1.5deg) translateY(-2px)}}
.animals .cow{left:7%;top:63%;animation-duration:8s!important}.animals .horse{left:31%;top:15%;animation-duration:9s!important}.animals .duck{right:38%;top:62%;animation-duration:4s!important}.animals .chicken{right:4%;top:34%;animation-duration:3.5s!important}
#field .river{background:linear-gradient(180deg,#9cdae1 0,#64bed0 22%,#3ea3bd 55%,#73c8d3 100%)!important;box-shadow:inset 0 8px 14px #fff7,inset 0 -8px 18px #276f8a44!important}
#field .river:after{content:"≈　≈　≈　≈　≈　≈　≈　≈　≈";position:absolute;left:0;top:28px;color:#e7ffffbb;font-size:28px;white-space:nowrap;animation:riverGlide 6s linear infinite}@keyframes riverGlide{from{transform:translateX(-150px)}to{transform:translateX(900px)}}

.spare{display:flex;flex-direction:column;align-items:center;gap:5px}.guideBtn{width:auto!important;height:auto!important;padding:7px 11px!important;background:#527c4f!important;color:white;border:0!important;border-radius:9px!important;font-weight:bold}
#modal section.bookModal{width:min(1000px,94vw);max-height:86vh;overflow:auto;background:#765338;border:8px solid #503522;padding:14px;border-radius:20px;box-shadow:0 25px 60px #0008}
.bookPages{display:grid;grid-template-columns:1fr 1fr;gap:7px;position:relative}.bookPages:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:#a7835d;box-shadow:0 0 8px #5c3b25}
.bookPage{min-height:460px;background:linear-gradient(90deg,#f3e3b9,#fff8df 8%,#fff9e8 92%,#e8d3a7);padding:17px 20px;border-radius:5px;box-shadow:inset 0 0 20px #a47d4655}.bookPage h3{margin:0 0 10px;color:#674625;border-bottom:2px solid #c6a36f;padding-bottom:7px}.bookMarketRow{display:grid;grid-template-columns:1.5fr .65fr .7fr auto;align-items:center;gap:5px;padding:8px 4px;border-bottom:1px dashed #c9ae7d;font-size:12px}.bookMarketRow button{border:0;border-radius:7px;background:#8a633a;color:white;padding:6px 8px}.bookMarketRow .hi{color:#c3472d}.bookMarketRow .lo{color:#39729a}.marketTimer.big{font-size:14px;margin-bottom:10px}.marketActions.sticky{position:sticky;top:0;z-index:3;background:#fff5d8;padding:7px;border-radius:10px}.marketActions .single.active{outline:3px solid #f1c57b}.sellSummary{font-size:11px;color:#725739;text-align:center;margin:5px 0}

.guideBook{display:grid;grid-template-columns:1fr 1fr;gap:7px}.guidePage{background:linear-gradient(90deg,#f3e3b9,#fff9e7 9%,#fff9e7 91%,#ead5aa);padding:18px;border-radius:6px;min-height:470px}.guidePage h3{margin:0 0 10px;color:#5c4127}.guideHero{text-align:center;font-size:58px;animation:guideBob 2s infinite}.guideCard{display:grid;grid-template-columns:54px 1fr;gap:9px;align-items:center;background:#fffdf4;border:1px solid #dbc89d;border-radius:12px;padding:9px;margin:8px 0;box-shadow:0 3px 7px #79572a1f}.guideCard .pic{font-size:38px;text-align:center}.guideCard b{color:#5c4229}.guideCard p{margin:3px 0;font-size:11px;line-height:1.5}.guideKeys{display:flex;gap:5px;flex-wrap:wrap}.guideKeys span{background:#527c4f;color:white;padding:4px 7px;border-radius:7px;font-size:10px}.guideWarn{background:#fff0c6;border:1px solid #d9a847;padding:8px;border-radius:9px;font-size:10px}@keyframes guideBob{50%{transform:translateY(-5px) rotate(2deg)}}
@media(max-width:1250px){#modal section.bookModal{width:96vw}.bookMarketRow{grid-template-columns:1.3fr .6fr .7fr auto}.wildForest .big{font-size:72px}}

/* ===== v0.3.2 하천/낚시/양동이 개편 ===== */
.well{display:none!important}
.truck{left:43%!important;top:58%!important;font-size:175px!important;z-index:7!important;transform:rotate(-3deg)!important;filter:drop-shadow(0 12px 7px #0005)!important;animation:truckBig 3s ease-in-out infinite}
@keyframes truckBig{50%{transform:rotate(-2deg) translateY(-3px)}}

/* 넓은 하천 */
#field .river{top:37%!important;height:235px!important;left:-8%!important;width:116%!important;transform:rotate(-3deg)!important;border-top:12px solid #75a66b!important;border-bottom:12px solid #63945e!important;overflow:hidden!important;z-index:4!important}
#field .river:before{content:"";position:absolute;inset:0;background:
linear-gradient(105deg,transparent 0 15%,#ffffff17 17% 20%,transparent 23% 40%,#ffffff14 43% 46%,transparent 49%),
repeating-linear-gradient(172deg,transparent 0 26px,#d8fbff25 28px 31px,transparent 33px 55px);animation:waterTexture 5s linear infinite}
@keyframes waterTexture{to{background-position:700px 0,500px 0}}
.flow{font-size:31px!important;color:#e7ffff9e!important;z-index:4}.f1{top:25px!important}.f2{bottom:27px!important}.f3{position:absolute;top:104px;left:18%;animation:waterflow 4.5s linear infinite;color:#e7ffff88;font-style:normal;white-space:nowrap}
.riverGravel{position:absolute;inset:0;opacity:.25;background:
radial-gradient(circle at 8% 35%,#5d685f 0 3px,transparent 4px),
radial-gradient(circle at 14% 70%,#7b7567 0 5px,transparent 6px),
radial-gradient(circle at 22% 45%,#6e7165 0 4px,transparent 5px),
radial-gradient(circle at 31% 78%,#6d6559 0 6px,transparent 7px),
radial-gradient(circle at 39% 28%,#777b6d 0 4px,transparent 5px),
radial-gradient(circle at 48% 66%,#5f6d64 0 5px,transparent 6px),
radial-gradient(circle at 57% 39%,#777166 0 3px,transparent 4px),
radial-gradient(circle at 64% 77%,#626d65 0 6px,transparent 7px),
radial-gradient(circle at 73% 32%,#77766b 0 5px,transparent 6px),
radial-gradient(circle at 82% 68%,#626b62 0 4px,transparent 5px),
radial-gradient(circle at 91% 43%,#777165 0 6px,transparent 7px);background-size:125px 90px}
.riverRocks{position:absolute;left:3%;right:3%;bottom:7px;font-size:29px;opacity:.75;letter-spacing:18px;white-space:nowrap;filter:drop-shadow(0 3px 2px #22586a66);z-index:5}

/* 물고기 10마리 */
.fishSchool{position:absolute;inset:0;z-index:3;pointer-events:none}.fish{position:absolute;font-size:25px;opacity:.72;filter:saturate(.8) drop-shadow(0 2px 2px #174f6688);animation:swim 10s linear infinite}.fish:nth-child(even){transform:scaleX(-1);animation-name:swimBack}
.fish1{top:18%;left:-8%;animation-duration:9s}.fish2{top:35%;left:-14%;animation-duration:13s;animation-delay:-5s}.fish3{top:63%;left:-10%;animation-duration:11s;animation-delay:-7s}.fish4{top:78%;left:-16%;animation-duration:15s;animation-delay:-3s}.fish5{top:49%;left:-12%;animation-duration:8s;animation-delay:-6s}.fish6{top:24%;right:-12%;animation-duration:12s;animation-delay:-8s}.fish7{top:57%;right:-10%;animation-duration:10s;animation-delay:-2s}.fish8{top:72%;right:-15%;animation-duration:14s;animation-delay:-9s}.fish9{top:42%;right:-11%;animation-duration:9s;animation-delay:-4s}.fish10{top:14%;right:-14%;animation-duration:16s;animation-delay:-11s}
@keyframes swim{0%{transform:translateX(0) translateY(0)}25%{transform:translateX(30vw) translateY(7px)}50%{transform:translateX(60vw) translateY(-6px)}75%{transform:translateX(90vw) translateY(5px)}100%{transform:translateX(125vw) translateY(0)}}
@keyframes swimBack{0%{transform:scaleX(-1) translateX(0)}100%{transform:scaleX(-1) translateX(125vw)}}

/* 양동이 랜덤 인터페이스 */
.bucketPoint{position:absolute;z-index:12;border:2px solid white;border-radius:12px;background:#174d69e8;color:white;padding:7px 10px;font-weight:bold;font-size:11px;box-shadow:0 4px 8px #0004;animation:bucketBob 1.8s ease-in-out infinite}.bucketPoint:before{content:"🪣 ";font-size:20px}.bucketPoint:nth-child(1){left:17%;top:18%}.bucketPoint:nth-child(2){left:48%;top:66%}.bucketPoint:nth-child(3){right:15%;top:27%}@keyframes bucketBob{50%{transform:translateY(-5px)}}

/* 캐릭터 더 빠르고 부드러운 프레임 느낌 */
#player{transition:left .055s linear,top .055s linear!important;will-change:left,top,transform}.player.walk{animation:fastRun .14s steps(2,end) infinite}.player.walk span{animation:bodyRun .14s ease-in-out infinite!important}@keyframes fastRun{50%{transform:translateY(-3px)}}@keyframes bodyRun{25%{transform:rotate(-4deg) translateY(-3px)}75%{transform:rotate(4deg) translateY(1px)}}

/* 긴 낚싯대/낚싯줄 */
.fishingRod{position:absolute;z-index:18;width:150px;height:5px;background:linear-gradient(90deg,#70451e,#3c2918);border-radius:5px;transform-origin:0 50%;transform:rotate(-25deg);left:45px;top:27px;animation:rodCast .45s ease-out forwards;box-shadow:0 2px 2px #0004}.fishingLine{position:absolute;left:185px;top:-30px;width:2px;height:150px;background:#e9ffffcc;transform:rotate(3deg);transform-origin:top}.fishingFloat{position:absolute;left:178px;top:116px;font-size:19px;animation:floatBob 1.1s ease-in-out infinite}@keyframes rodCast{from{transform:rotate(-75deg) scaleX(.4)}to{transform:rotate(-25deg) scaleX(1)}}@keyframes floatBob{50%{transform:translateY(6px)}}.bite .fishingRod{animation:rodBite .18s infinite}@keyframes rodBite{50%{transform:rotate(-20deg)}}

/* ===== v0.3.4 functional + layout hotfix ===== */

/* FARM: keep upper blank area free from new trees. New landscaping only in lower vehicle/soil area. */
.farmTrees{display:none!important}
.farmLowerTrees span{position:absolute;z-index:6;filter:drop-shadow(0 7px 4px #0003);transform-origin:bottom;animation:treeSwaySoft 5s ease-in-out infinite}
.farmLowerTrees .lt1{left:5%;top:58%;font-size:74px}.farmLowerTrees .lt2{left:12%;top:73%;font-size:48px}
.farmLowerTrees .lt3{left:28%;top:67%;font-size:62px}.farmLowerTrees .lt4{left:37%;top:78%;font-size:45px}
.farmLowerTrees .lt5{right:30%;top:67%;font-size:68px}.farmLowerTrees .lt6{right:13%;top:71%;font-size:56px}
.farmLowerTrees .lt7{right:4%;top:58%;font-size:76px}
@keyframes treeSwaySoft{50%{transform:rotate(1.2deg) translateY(-2px)}}
.bench{position:absolute;z-index:8;font-size:48px;filter:drop-shadow(0 6px 4px #0003)}
.bench1{left:39%;top:50%;transform:rotate(-4deg)}.bench2{left:57%;top:50%;transform:scaleX(-1) rotate(-4deg)}
.truck{left:43%!important;top:60%!important;font-size:175px!important;z-index:7!important;transform:rotate(-3deg)!important;filter:drop-shadow(0 12px 7px #0005)!important}

/* WILD: wide river, but huts always stay above it and remain clickable. */
#field .river{z-index:3!important}
.hutDeck{position:absolute;left:4%;right:4%;top:22%;bottom:8%;z-index:7;pointer-events:none}
#spots{position:absolute;inset:0;z-index:18;pointer-events:none}
#spots .spot{z-index:19!important;pointer-events:auto}
#spots .spot .hut{pointer-events:auto}
#spots .spot:nth-child(1){left:7%!important;top:18%!important}
#spots .spot:nth-child(2){left:21%!important;top:69%!important}
#spots .spot:nth-child(3){left:48%!important;top:14%!important}
#spots .spot:nth-child(4){right:20%!important;top:70%!important}
#spots .spot:nth-child(5){right:5%!important;top:18%!important}
#spots .spot .hut{font-size:78px!important;filter:drop-shadow(0 9px 4px #0005)!important}
#spots .spot .badge{box-shadow:0 4px 8px #0004;border:2px solid #d7f3df}

/* bucket buttons must remain clickable over the water */
#bucketPoints{position:absolute;inset:0;z-index:25;pointer-events:none}
#bucketPoints .bucketPoint{pointer-events:auto}

/* player and fishing visuals above river/huts */
#farmer{z-index:26!important}
.fishingRod{z-index:30!important}
.biteHint{position:absolute;left:45%;top:28%;z-index:45;background:#fff3ad;color:#9b3423;border:3px solid white;border-radius:14px;padding:10px 16px;font-weight:900;font-size:21px;animation:biteHint .3s infinite alternate}
@keyframes biteHint{to{transform:scale(1.08)}}

/* ===== v0.3.5 자연스러운 잔디 표현 =====
   참고 이미지처럼 점무늬가 아니라 짧고 촘촘한 잔디결 + 높낮이가 섞인 들판 느낌
*/
.grassTufts{
  position:absolute!important;
  inset:24% 0 0!important;
  pointer-events:none!important;
  opacity:.85!important;
  background:
    repeating-linear-gradient(76deg,transparent 0 11px,#4e863b88 12px 13px,transparent 14px 24px),
    repeating-linear-gradient(102deg,transparent 0 15px,#6a9d4b80 16px 17px,transparent 18px 31px),
    repeating-linear-gradient(86deg,transparent 0 27px,#3f773688 28px 29px,transparent 30px 45px)!important;
  background-size:52px 34px,68px 42px,93px 55px!important;
  mix-blend-mode:multiply;
  filter:blur(.05px);
}

/* ===== v2.0.61 야생 횃불 시야 / 방향별 몽둥이 / 타격감 ===== */
.huntClubFx{width:11px!important;height:39px!important;border-radius:60% 60% 38% 38%!important;background:linear-gradient(90deg,#402413 0 18%,#9a6337 42%,#c38a4d 68%,#5a321a 100%)!important;border:1px solid #2d170c!important;box-shadow:inset 2px 0 #e0a86766,0 3px 3px #0008!important;right:-16px!important;top:-3px!important;transform:rotate(-28deg)!important;transform-origin:50% 92%!important}
.huntClubFx:before{content:"";position:absolute;left:-3px;top:-5px;width:15px;height:18px;border-radius:55% 55% 40% 40%;background:linear-gradient(90deg,#5b321a,#bc7b40 58%,#6d3e20);border:1px solid #351b0e}
.huntPlayer[data-dir="left"] .huntBody{display:inline-block;transform:scaleX(-1)}
.huntPlayer[data-dir="left"] .huntClubFx{left:-17px!important;right:auto!important;transform:rotate(28deg)!important}.huntPlayer[data-dir="left"] .huntTorchFx{left:auto!important;right:-22px!important}
.huntPlayer[data-dir="up"] .huntClubFx{right:-12px!important;top:-14px!important;transform:rotate(-8deg)!important}.huntPlayer[data-dir="down"] .huntClubFx{right:-18px!important;top:8px!important;transform:rotate(-42deg)!important}
.huntPlayer[data-dir="right"].clubSwing .huntClubFx{animation:clubSwingRight .34s ease-out!important}.huntPlayer[data-dir="left"].clubSwing .huntClubFx{animation:clubSwingLeft .34s ease-out!important}.huntPlayer[data-dir="up"].clubSwing .huntClubFx{animation:clubSwingUp .34s ease-out!important}.huntPlayer[data-dir="down"].clubSwing .huntClubFx{animation:clubSwingDown .34s ease-out!important}
@keyframes clubSwingRight{0%{transform:rotate(-65deg)}58%{transform:rotate(78deg) translate(6px,1px)}100%{transform:rotate(-28deg)}}@keyframes clubSwingLeft{0%{transform:rotate(65deg)}58%{transform:rotate(-78deg) translate(-6px,1px)}100%{transform:rotate(28deg)}}@keyframes clubSwingUp{0%{transform:rotate(-48deg)}58%{transform:rotate(42deg) translateY(-8px)}100%{transform:rotate(-8deg)}}@keyframes clubSwingDown{0%{transform:rotate(-75deg)}58%{transform:rotate(68deg) translateY(9px)}100%{transform:rotate(-42deg)}}
.huntAnimal{transition:left .2s linear,top .2s linear,opacity .16s ease!important;will-change:left,top,opacity}.huntAnimal>span{display:block!important;transform:scaleX(1.32)!important;transform-origin:center bottom!important}.hunt-rabbit>span{transform:scaleX(1.22)!important}.hunt-deer>span{transform:scaleX(1.38)!important}.hunt-boar>span,.hunt-hyena>span{transform:scaleX(1.42)!important}.hunt-lion>span,.hunt-tiger>span{transform:scaleX(1.48)!important}
.huntHitFx{position:absolute;z-index:24;transform:translate(-50%,-65%);pointer-events:none;width:76px;height:62px;text-align:center;animation:huntImpactPop .58s ease-out forwards}.huntHitFx span{font-size:31px;filter:drop-shadow(0 0 8px #ffb027)}.huntHitFx i{position:absolute;inset:2px;font-style:normal;font-size:52px;color:#ffe780;text-shadow:0 0 12px #ff7a24}.huntHitFx b{position:absolute;left:50%;top:-13px;transform:translateX(-50%);z-index:2;font-size:17px;color:#fff4c1;text-shadow:0 2px 2px #5c1200,0 0 7px #ff3b12}.huntHitFx.finishing{filter:saturate(1.4) brightness(1.25)}
@keyframes huntImpactPop{0%{opacity:0;transform:translate(-50%,-55%) scale(.25)}35%{opacity:1;transform:translate(-50%,-72%) scale(1.25)}100%{opacity:0;transform:translate(-50%,-105%) scale(.78)}}
.grassTufts:before,
.grassTufts:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.grassTufts:before{
  background:
    linear-gradient(83deg,transparent 48%,#447a36 49% 50%,transparent 51%) 2% 18%/31px 25px,
    linear-gradient(97deg,transparent 48%,#5b9143 49% 50%,transparent 51%) 11% 37%/37px 30px,
    linear-gradient(79deg,transparent 48%,#3f7333 49% 50%,transparent 51%) 23% 72%/43px 34px,
    linear-gradient(101deg,transparent 48%,#61964a 49% 50%,transparent 51%) 39% 28%/35px 29px,
    linear-gradient(85deg,transparent 48%,#497e38 49% 50%,transparent 51%) 55% 65%/39px 31px,
    linear-gradient(96deg,transparent 48%,#568b40 49% 50%,transparent 51%) 73% 32%/34px 27px,
    linear-gradient(82deg,transparent 48%,#3f7433 49% 50%,transparent 51%) 89% 76%/42px 33px;
  opacity:.75;
}
.grassTufts:after{
  background:
    repeating-linear-gradient(88deg,transparent 0 21px,#77a75635 22px 24px,transparent 25px 41px),
    repeating-linear-gradient(94deg,transparent 0 33px,#376a2f40 34px 36px,transparent 37px 58px);
  background-size:80px 46px,117px 67px;
  animation:grassBreathe 5.5s ease-in-out infinite;
  transform-origin:bottom;
}
@keyframes grassBreathe{
  50%{transform:skewX(1.4deg) translateX(2px);opacity:.82}
}

/* 자연산 필드도 동일한 잔디결로 통일 */
#field:before{
  content:""!important;
  position:absolute!important;
  inset:22% 0 0!important;
  background:
    repeating-linear-gradient(77deg,transparent 0 13px,#447b3980 14px 15px,transparent 16px 27px),
    repeating-linear-gradient(101deg,transparent 0 19px,#65964c72 20px 21px,transparent 22px 36px),
    repeating-linear-gradient(87deg,transparent 0 31px,#356a3170 32px 33px,transparent 34px 52px)!important;
  background-size:56px 37px,73px 47px,101px 61px!important;
  opacity:.68!important;
  pointer-events:none!important;
  mix-blend-mode:multiply;
}

/* ===== v0.3.6 ===== */
/* 기존 물결 문자/선 애니메이션 제거 */
#field .river .flow,#field .river:after,#field .river:before{display:none!important}
.flow,.f1,.f2,.f3{display:none!important}

/* 물고기: 더 길고 알록달록하게 */
.fish{font-size:0!important;width:54px;height:20px;opacity:.88!important;border-radius:55% 70% 70% 55%;box-shadow:inset -8px 0 0 #ffffff44,0 3px 4px #174f6655}
.fish:before{content:"";position:absolute;left:-13px;top:3px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:16px solid currentColor}
.fish:after{content:"•";position:absolute;right:8px;top:-5px;font-size:18px;color:#162f3a}
.fish1,.fish6{background:linear-gradient(90deg,#ff7b56,#ffd85a);color:#ff7b56}.fish2,.fish7{background:linear-gradient(90deg,#58d4d1,#5d82ed,#d878e8);color:#58d4d1}
.fish3,.fish8{background:linear-gradient(90deg,#f5dc54,#77c85a);color:#f5dc54}.fish4,.fish9{background:linear-gradient(90deg,#e76d9d,#ff9d58);color:#e76d9d}
.fish5,.fish10{background:linear-gradient(90deg,#66c7ef,#f0e35c,#f07873);color:#66c7ef}

/* 우측 상단 자연산 포인트는 완전히 제거 */
#spots .spot:nth-child(5){display:none!important}

/* 움막/텐트/허름한 나무집 스타일 */
#spots .spot .hut{font-size:0!important;width:92px;height:68px;display:block;position:relative;margin:auto;background:linear-gradient(145deg,#6e4c2d,#9a6c3d 52%,#51351f);clip-path:polygon(50% 0,100% 38%,91% 100%,9% 100%,0 38%);border-radius:8px;filter:drop-shadow(0 8px 4px #0005)!important}
#spots .spot .hut:before{content:"";position:absolute;left:17px;right:17px;top:17px;height:5px;background:#c19a63;box-shadow:0 10px #7e5a36,0 20px #bd9160,0 30px #735032}
#spots .spot .hut:after{content:"";position:absolute;left:37px;bottom:0;width:20px;height:31px;background:#2d2118;border-radius:8px 8px 0 0}
#spots .spot:nth-child(2) .hut{background:linear-gradient(145deg,#806441,#b18a57 55%,#5c442d);clip-path:polygon(50% 0,95% 88%,76% 100%,24% 100%,5% 88%)}
#spots .spot:nth-child(3) .hut{background:linear-gradient(145deg,#5d452e,#876747 55%,#45311f)}
#spots .spot:nth-child(4) .hut{background:linear-gradient(145deg,#7a5634,#a77849 55%,#52371f);transform:rotate(1deg)}
#spots .spot .badge{margin-top:3px}

/* 트럭을 조금 더 중앙/집 쪽 위로 */
.truck{left:46%!important;top:54%!important}

/* 커플용 긴 나무 벤치 */
.bench{width:105px;height:52px;font-size:0!important;filter:drop-shadow(0 6px 4px #0003);z-index:8}
.bench span{position:absolute;left:4px;top:5px;width:96px;height:17px;background:linear-gradient(#a46e3b,#724624);border-radius:5px;border:2px solid #55331c}
.bench span:after{content:"";position:absolute;left:0;top:21px;width:96px;height:13px;background:linear-gradient(#b27a42,#7a4c27);border-radius:4px;border:2px solid #55331c}
.bench i:before,.bench i:after{content:"";position:absolute;top:35px;width:8px;height:17px;background:#53331f}.bench i:before{left:17px}.bench i:after{right:17px}
.bench1{left:37%!important;top:49%!important;transform:rotate(-4deg)}.bench2{left:58%!important;top:49%!important;transform:rotate(4deg)}

/* 낚싯대는 캐릭터에서 위쪽 강 방향으로 캐스팅 */
.fishingRod{left:28px!important;top:4px!important;width:175px!important;transform-origin:0 100%!important;transform:rotate(-72deg)!important;animation:rodCastUp .5s ease-out forwards!important}
.fishingLine{left:166px!important;top:-118px!important;height:145px!important;transform:rotate(-8deg)!important}
.fishingFloat{left:153px!important;top:-128px!important}
@keyframes rodCastUp{from{transform:rotate(-20deg) scaleX(.45)}to{transform:rotate(-72deg) scaleX(1)}}
.bite .fishingRod{animation:rodBiteUp .18s infinite!important}@keyframes rodBiteUp{50%{transform:rotate(-68deg)}}

/* 인벤토리: 기본 3줄만 표시 */
#inv.invCollapsed .ir:nth-child(n+4){display:none}
.invMore{width:100%;margin-top:7px;padding:7px;border:1px solid #8eb6c7;border-radius:8px;background:#edf8fb;color:#17465c;font-weight:bold}

/* ===== v0.3.7 판매 UI / 시장 HUD / 인벤토리 / 토지 풍성화 ===== */

/* 상단 HUD 크기/가독성 강화 */
.topbar,.topHud,.hudTop{font-size:16px!important}
#clock{font-size:18px!important;font-weight:900!important;letter-spacing:.4px!important}
#mood{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-width:150px;padding:8px 14px!important;border-radius:14px!important;
  font-size:19px!important;font-weight:950!important;letter-spacing:.4px!important;
  color:#fff!important;background:#426a45!important;
  box-shadow:0 5px 12px #0003,inset 0 1px 0 #ffffff55!important;
  text-shadow:0 2px 2px #0005!important
}
.logo,.brand,.farmTitle,h1.siteTitle{font-size:25px!important;font-weight:950!important;letter-spacing:.6px!important}
#farm .topTitle,#farmTitle{font-size:25px!important;font-weight:950!important}

/* 농산물 시장의 판매 모드 배너: 흰색 글씨가 묻히지 않게 */
.marketActions.sticky{
  background:linear-gradient(180deg,#ead09a,#c99b59)!important;
  border:2px solid #83572d!important;
  box-shadow:0 5px 12px #69431f44!important;
  color:#3b2718!important;
  gap:8px!important
}
.marketActions.sticky button{
  background:#654528!important;color:#fff8e7!important;border:2px solid #3f2918!important;
  font-size:14px!important;font-weight:950!important;text-shadow:0 1px 1px #0008!important;
  padding:9px 16px!important;box-shadow:0 3px 0 #3e2818!important
}
.marketActions.sticky button.active{
  background:#2f6847!important;color:#fff!important;border-color:#19422d!important;
  transform:translateY(-1px)!important;box-shadow:0 4px 0 #173728!important
}
.marketModeHelp{
  margin:8px 0 10px;padding:9px 12px;background:#fff3cf;border:1px solid #caa266;
  border-radius:10px;color:#54391f;font-weight:800;font-size:12px
}

/* 전체판매 모드일 때 각 품목 판매 버튼을 눈에 띄게 */
.bookMarketRow button{
  min-width:76px!important;background:#735033!important;color:#fff8ea!important;
  font-weight:900!important;border:1px solid #4b2f1b!important;
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease!important
}
.bookMarketRow button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0002}
.bookMarketRow button.sellAllItem{
  background:linear-gradient(180deg,#b56b32,#8a461e)!important;color:#fff!important;
  border-color:#662e13!important;animation:sellModePulse .8s ease-in-out 1
}
@keyframes sellModePulse{0%{transform:scale(.92)}55%{transform:scale(1.07)}100%{transform:scale(1)}}
.saleFlash{animation:saleFlash .7s ease}
@keyframes saleFlash{0%{box-shadow:inset 0 0 0 999px #ffe56a88}100%{box-shadow:inset 0 0 0 999px transparent}}

/* 인벤토리 물 항목 줄띄움/정렬 */
#inv .waterDivider{
  margin-top:9px;padding-top:9px;border-top:1px dashed #b9c7c8
}
#inv .waterRow{
  display:flex!important;justify-content:space-between!important;align-items:center!important;
  padding:7px 8px!important;margin:4px 0!important;border-radius:8px!important;
  background:#eef8f8!important
}
#inv .waterRow.rock{background:#f0efff!important}
#inv .waterRow b{font-size:13px!important}

/* 맵 상단 공백까지 필드/땅으로 꽉 채우기 */
#farm{
  background:
    linear-gradient(180deg,#b7d79a 0%,#a6c884 19%,#b98a55 19.3%,#b98a55 100%)!important;
}
#field{
  background:
    linear-gradient(180deg,#9dc680 0%,#86b56a 100%)!important;
}
#farm:after,#field:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(90deg,transparent 0 48%,#ffffff0c 49% 51%,transparent 52%),
    repeating-linear-gradient(7deg,transparent 0 24px,#ffffff0d 25px 27px,transparent 28px 52px);
  opacity:.45
}

/* 농장 흙을 더 풍성하게: 흙결, 작은 덩어리, 갈퀴자국 */
.soil,.fieldSoil,.soilField{
  background:
    radial-gradient(ellipse at 12% 24%,#6e482f 0 4px,transparent 5px),
    radial-gradient(ellipse at 28% 68%,#8a5c3c 0 5px,transparent 6px),
    radial-gradient(ellipse at 46% 34%,#6f4931 0 3px,transparent 4px),
    radial-gradient(ellipse at 61% 76%,#936342 0 5px,transparent 6px),
    radial-gradient(ellipse at 82% 42%,#734b32 0 4px,transparent 5px),
    repeating-linear-gradient(168deg,#9f714b 0 9px,#8e603f 10px 14px,#a97850 15px 23px)!important;
  box-shadow:inset 0 9px 15px #d29a6a66,inset 0 -10px 18px #5c392744!important
}
.soil:after,.fieldSoil:after,.soilField:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(92deg,transparent 0 40px,#5f3d2a22 41px 43px,transparent 44px 78px);
  border-radius:inherit
}

/* 기존 상단 하늘/공백 계열을 덮어 필드로 통일 */
.wheatBackdrop{inset:0!important;opacity:.7!important}
.grassTufts{inset:0!important;top:0!important}
#field:before{inset:0!important;top:0!important}

/* 레이어 보정 */
#farm>*:not(.wheatBackdrop):not(.grassTufts),#field>*{position:absolute}
.topbar,.topHud,.hudTop,.rightPanel,.bottomHud{position:relative!important;z-index:60!important}

#inv.invCollapsed #invProductRows .productRow:nth-child(n+4){display:none}
#inv.invExpanded #invProductRows .productRow{display:flex}

/* ===== v0.3.8 랜덤 바위 / 농장 조경 / 하우스 / 가이드 ===== */

/* 자연산 필드 바위: JS가 들어올 때마다 랜덤 위치를 지정 */
#wildRocks{position:absolute;inset:0;z-index:8;pointer-events:none}
.wildRock{position:absolute;filter:drop-shadow(0 6px 4px #0004);transform-origin:center bottom}
.wildRock.big{font-size:64px}
.wildRock.mid{font-size:42px}
.wildRock.small{font-size:26px}
.wildRock:nth-child(2n){transform:rotate(-7deg)}
.wildRock:nth-child(3n){transform:rotate(8deg)}

/* 기존 수평 나열 강변 바위는 숨김 */
.riverRocks{display:none!important}

/* 농장 나무: 씨앗 심는 토지 영역을 비우고 집 근처 + 토지 아래 테두리에만 배치 */
.farmLowerTrees .lt1{left:7%!important;top:49%!important;font-size:70px!important}
.farmLowerTrees .lt2{left:16%!important;top:53%!important;font-size:46px!important}
.farmLowerTrees .lt3{left:6%!important;top:77%!important;font-size:58px!important}
.farmLowerTrees .lt4{left:24%!important;top:82%!important;font-size:42px!important}
.farmLowerTrees .lt5{right:24%!important;top:82%!important;font-size:62px!important}
.farmLowerTrees .lt6{right:9%!important;top:77%!important;font-size:50px!important}
.farmLowerTrees .lt7{right:6%!important;top:50%!important;font-size:73px!important}
/* 중앙 재배 토지 보호 구역을 침범하지 않도록 좌/우 및 하단만 사용 */

/* 집 앞 긴 판자 벤치 1개 */
.bench2{display:none!important}
.bench1{
  left:50%!important;top:52%!important;
  width:138px!important;height:62px!important;
  transform:translateX(-50%) rotate(-1deg)!important;
  z-index:15!important
}
.bench1 span{
  position:absolute;left:4px;top:4px;width:128px;height:21px;
  background:linear-gradient(#a96e35,#744421)!important;
  border:3px solid #52301a!important;border-radius:5px!important;
  box-shadow:inset 0 3px 0 #d69b5d88!important
}
.bench1 span:before{
  content:"";position:absolute;left:0;top:27px;width:128px;height:16px;
  background:linear-gradient(#b67a3d,#784622);border:3px solid #52301a;border-radius:4px
}
.bench1 span:after{
  content:"";position:absolute;left:12px;right:12px;top:8px;height:2px;
  background:#e7b77a66;box-shadow:0 6px #5c321d55
}
.bench1 i:before,.bench1 i:after{
  content:"";position:absolute;top:43px;width:11px;height:18px;background:#55321c;border-radius:2px
}
.bench1 i:before{left:24px}.bench1 i:after{right:24px}

/* 내 집을 더 화려하고 선명하게 */
.house,.homeHouse,.farmHouse{
  filter:drop-shadow(0 12px 8px #0004)!important;
  z-index:14!important
}
.house:after,.homeHouse:after,.farmHouse:after{
  content:"";position:absolute;inset:-6px;border:2px solid #ffffff55;border-radius:18px;pointer-events:none
}
.homeGarage{
  position:absolute;left:35.5%;top:36.5%;z-index:12;
  width:104px;height:76px;
  background:linear-gradient(180deg,#d8c39b,#ae8e63);
  border:4px solid #6d5135;border-radius:10px 10px 5px 5px;
  box-shadow:0 10px 9px #0003,inset 0 5px #f5e6c2;
  transform:rotate(-1deg)
}
.homeGarage:before{
  content:"";position:absolute;left:-8px;right:-8px;top:-18px;height:27px;
  background:linear-gradient(145deg,#77422d,#9c5b3e);
  clip-path:polygon(50% 0,100% 76%,93% 100%,7% 100%,0 76%)
}
.homeGarage b{
  position:absolute;left:9px;top:11px;color:#5b3c25;font-size:11px
}
.homeGarage span{
  position:absolute;left:14px;right:14px;bottom:7px;height:43px;
  display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(180deg,#836445 0 7px,#6d5138 8px 10px);
  border:3px solid #513a27;color:#d9c7a8;font-size:18px;border-radius:3px
}

/* 트럭은 집/차고 쪽에 조금 더 자연스럽게 */
.truck{left:47%!important;top:56%!important}

/* 가이드 상세 디자인 */
.guideBook{gap:14px!important}
.guidePage{padding:18px!important}
.guideCard{
  align-items:flex-start!important;
  padding:12px!important;margin:9px 0!important;
  background:#fff8de!important;border:1px solid #d4b26f!important;
  box-shadow:0 3px 6px #0001!important
}
.guideCard .pic{
  min-width:64px!important;font-size:34px!important;text-align:center!important;
  background:#eef4db!important;border-radius:12px!important;padding:8px 5px!important
}
.guideCard b{font-size:15px!important;color:#49311f!important}
.guideCard p{font-size:12px!important;line-height:1.65!important;color:#5e4936!important;margin-top:5px!important}
.guideRate{
  display:inline-block;margin-top:5px;padding:3px 7px;border-radius:9px;
  background:#e6f1d6;color:#3b5c2b;font-weight:900;font-size:11px
}

/* ===== v0.3.9 요청사항만 수정 ===== */

/* 내 농장 맨 위 초록 영역도 전체 농장 흙과 같은 갈색 계열로 통일 */
#farm{
  background:
    radial-gradient(ellipse at 10% 12%,#7b5035 0 3px,transparent 4px),
    radial-gradient(ellipse at 33% 8%,#986845 0 4px,transparent 5px),
    radial-gradient(ellipse at 67% 15%,#74492f 0 3px,transparent 4px),
    radial-gradient(ellipse at 89% 9%,#9a6946 0 4px,transparent 5px),
    repeating-linear-gradient(168deg,#a87850 0 14px,#986743 15px 22px,#ad7d55 23px 38px)!important;
}
#farm:after{
  background:
    repeating-linear-gradient(93deg,transparent 0 54px,#65402b20 55px 57px,transparent 58px 103px),
    repeating-linear-gradient(7deg,transparent 0 30px,#e4b78316 31px 33px,transparent 34px 66px)!important;
  opacity:.65!important
}
/* 위쪽은 텃밭이 없으므로 장식 나무를 자연스럽게 분산 */
.farmUpperDecorTrees span{
  position:absolute;z-index:5;filter:drop-shadow(0 7px 5px #0003);
  transform-origin:bottom;animation:treeSwaySoft 5.5s ease-in-out infinite
}
.farmUpperDecorTrees .ut1{left:4%;top:6%;font-size:68px}
.farmUpperDecorTrees .ut2{left:15%;top:13%;font-size:45px}
.farmUpperDecorTrees .ut3{left:27%;top:4%;font-size:55px}
.farmUpperDecorTrees .ut4{right:27%;top:8%;font-size:47px}
.farmUpperDecorTrees .ut5{right:14%;top:4%;font-size:63px}
.farmUpperDecorTrees .ut6{right:3%;top:14%;font-size:49px}

/* 우측 메뉴를 3개 핵심 블록으로 정돈 */
.quickFarmMenu{
  display:grid;gap:8px;margin-top:9px
}
.quickFarmMenu .waterQuick{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 10px;border-radius:9px;font-weight:900;font-size:12px
}
.quickFarmMenu .waterQuick.rock{background:#efedff;border:1px solid #b7ace8;color:#463d78}
.quickFarmMenu .waterQuick.normal{background:#eaf7fb;border:1px solid #9bc9d7;color:#28566a}
.quickFarmMenu .marketQuick{
  width:100%;padding:10px;border-radius:9px;border:1px solid #7a5533;
  background:#765237;color:#fff8e9;font-weight:950;box-shadow:0 3px 0 #4c321f
}
.quickFarmMenu .checkQuick{
  width:100%;padding:8px;border-radius:9px;border:1px solid #6f8e5d;
  background:#eef6df;color:#3e5c31;font-weight:900
}

/* ===== v0.4.0 자연스러운 오브젝트 분산 ===== */
.homeGarage,.bench{display:none!important}

/* 농장 나무: 재배 토지 중앙은 비우고, 상단/집 주변/좌우/하단 테두리로 넓게 분산 */
.farmUpperDecorTrees .ut1{left:5%!important;top:7%!important;font-size:58px!important}
.farmUpperDecorTrees .ut2{left:22%!important;top:11%!important;font-size:42px!important}
.farmUpperDecorTrees .ut3{left:43%!important;top:5%!important;font-size:51px!important}
.farmUpperDecorTrees .ut4{right:37%!important;top:13%!important;font-size:44px!important}
.farmUpperDecorTrees .ut5{right:17%!important;top:5%!important;font-size:61px!important}
.farmUpperDecorTrees .ut6{right:4%!important;top:16%!important;font-size:46px!important}

.farmLowerTrees .lt1{left:5%!important;top:38%!important;font-size:63px!important}
.farmLowerTrees .lt2{left:12%!important;top:62%!important;font-size:44px!important}
.farmLowerTrees .lt3{left:4%!important;top:80%!important;font-size:55px!important}
.farmLowerTrees .lt4{left:31%!important;top:85%!important;font-size:43px!important}
.farmLowerTrees .lt5{right:31%!important;top:84%!important;font-size:58px!important}
.farmLowerTrees .lt6{right:11%!important;top:68%!important;font-size:47px!important}
.farmLowerTrees .lt7{right:4%!important;top:39%!important;font-size:66px!important}

/* 자연산 필드 나무: 양쪽 구석에 몰지 않고 맵 전역의 안전지대에 분산 */
.wildDecorTrees span{
 position:absolute;z-index:6;filter:drop-shadow(0 7px 5px #0003);
 transform-origin:bottom;animation:treeSwaySoft 5.7s ease-in-out infinite;pointer-events:none
}
.wildDecorTrees .wt1{left:5%;top:10%;font-size:64px}
.wildDecorTrees .wt2{left:24%;top:7%;font-size:42px}
.wildDecorTrees .wt3{left:42%;top:10%;font-size:55px}
.wildDecorTrees .wt4{left:64%;top:8%;font-size:45px}
.wildDecorTrees .wt5{right:5%;top:12%;font-size:61px}
.wildDecorTrees .wt6{left:8%;top:73%;font-size:44px}
.wildDecorTrees .wt7{left:31%;top:79%;font-size:57px}
.wildDecorTrees .wt8{left:55%;top:76%;font-size:43px}
.wildDecorTrees .wt9{right:22%;top:80%;font-size:58px}
.wildDecorTrees .wt10{right:5%;top:71%;font-size:46px}

/* 동물은 JS 랜덤 위치를 사용 */
.animal{
 position:absolute!important;z-index:11!important;
 filter:drop-shadow(0 5px 3px #0003)!important;
 transition:left 3.8s ease-in-out,top 3.8s ease-in-out!important
}

/* 작은 바위는 좀 더 자연스럽고 수량감 있게 */
.wildRock.tiny{font-size:17px;opacity:.82}

/* ===== v0.4.2 트럭 씨앗 탐사 / 배치 보정 ===== */
.truck{
  font-size:92px!important;width:190px!important;height:112px!important;
  left:46%!important;top:54%!important;transform:translateX(-50%)!important;
  z-index:19!important;cursor:pointer!important;filter:drop-shadow(0 9px 5px #0004)!important
}
.truckSeedUI{
  position:absolute;left:46%;top:64%;transform:translateX(-50%);
  z-index:35;width:190px;text-align:center;pointer-events:auto
}
#truckSeedBtn{
  width:100%;padding:10px 9px;border:2px solid #74451f;border-radius:12px;
  background:linear-gradient(#ffda72,#d99a38);color:#4d2d12;font-size:14px;font-weight:950;
  box-shadow:0 4px 0 #75481f,0 7px 12px #0003;cursor:pointer;
  animation:truckSeedAttention 1.8s ease-in-out infinite
}
#truckSeedBtn:disabled{animation:none;background:#a9a39a;color:#56514b;border-color:#777;box-shadow:0 3px 0 #666}
.truckSeedTimer{
  margin-top:7px;padding:5px 8px;border-radius:9px;background:#34271de8;color:#fff4d3;
  font-weight:900;font-size:12px;text-shadow:0 1px 2px #000;box-shadow:0 3px 8px #0003
}
@keyframes truckSeedAttention{0%,100%{transform:translateY(0);box-shadow:0 4px 0 #75481f,0 7px 12px #0003}50%{transform:translateY(-3px);box-shadow:0 5px 0 #75481f,0 10px 16px #0004}}

/* 농장 나무 위치: 실제 재배 중앙 영역을 비우고 상단/바깥 테두리에만 자연스럽게 */
.farmUpperDecorTrees .ut1{left:7%!important;top:7%!important}
.farmUpperDecorTrees .ut2{left:25%!important;top:12%!important}
.farmUpperDecorTrees .ut3{left:39%!important;top:4%!important}
.farmUpperDecorTrees .ut4{right:38%!important;top:8%!important}
.farmUpperDecorTrees .ut5{right:20%!important;top:5%!important}
.farmUpperDecorTrees .ut6{right:6%!important;top:13%!important}
.farmLowerTrees .lt1{left:4%!important;top:41%!important}
.farmLowerTrees .lt2{left:6%!important;top:63%!important}
.farmLowerTrees .lt3{left:5%!important;top:82%!important}
.farmLowerTrees .lt4{left:24%!important;top:87%!important}
.farmLowerTrees .lt5{right:25%!important;top:87%!important}
.farmLowerTrees .lt6{right:6%!important;top:65%!important}
.farmLowerTrees .lt7{right:4%!important;top:42%!important}

/* 자연산 동물: 기존 좌측 몰림 CSS를 강제로 해제하고 JS 좌표가 그대로 적용되게 */
#field .animal,#field .deer,#field .rabbit,#field .goat,#field .sheep,#field .cow,#field .horse,#field .duck,#field .chicken{
  right:auto!important;bottom:auto!important;margin:0!important
}

/* ===== v0.4.3 낚시 HP 배틀 ===== */
/* 길게 뻗은 낚싯대/긴 줄 제거 */
.fishingRod,.fishingLine{display:none!important}
.fishingFloat{
  width:18px!important;height:18px!important;left:50%!important;top:38%!important;
  transform:translate(-50%,-50%)!important;z-index:30!important;
  filter:drop-shadow(0 3px 3px #0005)!important
}
.fishingFloat.active{display:block!important;animation:bobberIdle 1.2s ease-in-out infinite}
.fishingFloat.bite{animation:bobberBite .22s ease-in-out infinite!important;filter:drop-shadow(0 0 9px #fff) drop-shadow(0 0 13px #ffcf36)!important}
@keyframes bobberIdle{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(5px)}}
@keyframes bobberBite{0%,100%{transform:translate(-50%,-50%) scale(.9)}50%{transform:translate(-50%,-50%) scale(1.35) translateY(7px)}}

/* 낚시 전투 HP */
#fishBattle{
  position:absolute;left:50%;top:27%;transform:translateX(-50%);
  width:280px;z-index:80;text-align:center;pointer-events:none
}
.fishBattleCard{
  background:#172532e8;border:2px solid #d7f3ff;border-radius:14px;padding:10px 12px;
  color:#fff;box-shadow:0 8px 18px #0005
}
.fishBattleName{font-size:16px;font-weight:950;margin-bottom:6px;text-shadow:0 2px 2px #000}
.fishHpBar{height:18px;background:#3a1e20;border:2px solid #130b0c;border-radius:10px;overflow:hidden}
.fishHpFill{height:100%;width:100%;background:linear-gradient(90deg,#e84b4b,#ffcb45);transition:width .12s ease}
.fishHpText{font-size:11px;font-weight:900;margin-top:4px}
.fishMashHint{font-size:13px;font-weight:950;margin-top:7px;animation:mashHint .65s ease-in-out infinite}
@keyframes mashHint{50%{transform:scale(1.08)}}

/* 보스 크리티컬처럼 위로 터지는 낚시 타격 글자 */
.fishHitFx{
  position:absolute;left:50%;top:45%;z-index:120;pointer-events:none;
  font-size:27px;font-weight:1000;color:#fff4a8;
  text-shadow:-2px -2px 0 #7b2b16,2px -2px 0 #7b2b16,-2px 2px 0 #7b2b16,2px 2px 0 #7b2b16,0 5px 7px #0008;
  animation:fishHitPop .75s cubic-bezier(.15,.85,.2,1) forwards
}
.fishHitFx.crit{font-size:37px;color:#ffdf42}
.fishHitFx.biteFx{font-size:34px;color:#9eefff}
.fishHitFx.catchFx{font-size:42px;color:#fff}
@keyframes fishHitPop{
  0%{opacity:0;transform:translate(-50%,20px) scale(.45) rotate(-5deg)}
  20%{opacity:1;transform:translate(-50%,-5px) scale(1.22) rotate(3deg)}
  100%{opacity:0;transform:translate(-50%,-75px) scale(.92) rotate(-2deg)}
}

/* ===== v0.4.4 최종 배치/트럭/자연산 조경 보정 ===== */

/* 과거 중복 농장 나무 문자열은 숨기고 개별 배치 나무만 사용 */
#farm>.farmTrees{display:none!important}

/* 픽업트럭: v0.3.2의 큰 크기로 복구 */
#farm .truck{
  left:46%!important;top:53%!important;
  width:auto!important;height:auto!important;
  font-size:175px!important;
  line-height:1!important;
  transform:translateX(-50%) rotate(-3deg)!important;
  z-index:18!important;
  cursor:pointer!important;
  filter:drop-shadow(0 12px 7px #0005)!important;
}
/* 문구/버튼은 트럭 아래로 완전히 분리 */
#farm .truckSeedUI{
  left:46%!important;top:73%!important;
  transform:translateX(-50%)!important;
  width:205px!important;z-index:36!important;
}
#truckSeedBtn{position:relative!important;z-index:37!important;pointer-events:auto!important}
#truckSeedTimer{position:relative!important;z-index:37!important}

/* 농장 나무는 작물 토지를 피한 위쪽/외곽에 분산 */
.farmUpperDecorTrees .ut1{left:5%!important;top:5%!important}
.farmUpperDecorTrees .ut2{left:19%!important;top:16%!important}
.farmUpperDecorTrees .ut3{left:36%!important;top:5%!important}
.farmUpperDecorTrees .ut4{left:61%!important;right:auto!important;top:7%!important}
.farmUpperDecorTrees .ut5{left:78%!important;right:auto!important;top:4%!important}
.farmUpperDecorTrees .ut6{left:91%!important;right:auto!important;top:15%!important}
.farmLowerTrees .lt1{left:2%!important;top:43%!important}
.farmLowerTrees .lt2{left:4%!important;top:67%!important}
.farmLowerTrees .lt3{left:8%!important;top:84%!important}
.farmLowerTrees .lt4{left:29%!important;top:88%!important}
.farmLowerTrees .lt5{left:66%!important;right:auto!important;top:88%!important}
.farmLowerTrees .lt6{left:87%!important;right:auto!important;top:69%!important}
.farmLowerTrees .lt7{left:93%!important;right:auto!important;top:43%!important}

/* 자연산 필드: 중복 나무층 제거 */
#field .wildDecorTrees{display:none!important}
/* 동물의 오래된 left/right 규칙을 완전히 무력화 */
#field .animals span{right:auto!important;bottom:auto!important;margin:0!important;z-index:8!important}

/* 내 농장의 자연스러운 잔디 느낌을 자연산 필드에도 추가 */
.wildGrassTufts{
  position:absolute!important;inset:22% 0 0!important;z-index:1!important;pointer-events:none!important;
  opacity:.78;
  background:
    repeating-linear-gradient(77deg,transparent 0 20px,#3f7e3650 21px 23px,transparent 24px 37px),
    repeating-linear-gradient(101deg,transparent 0 28px,#78ad5550 29px 31px,transparent 32px 48px),
    radial-gradient(ellipse at 10% 22%,#3d7935 0 4px,transparent 5px),
    radial-gradient(ellipse at 28% 72%,#4d8a3d 0 5px,transparent 6px),
    radial-gradient(ellipse at 47% 18%,#3e7d36 0 4px,transparent 5px),
    radial-gradient(ellipse at 67% 79%,#548f40 0 5px,transparent 6px),
    radial-gradient(ellipse at 88% 32%,#397532 0 4px,transparent 5px);
  background-size:120px 95px,150px 110px,130px 100px,145px 120px,120px 100px,150px 115px,135px 105px;
}

/* 자연산 마을 꽃 10송이 - 하천/움막 중앙을 피해 곳곳에 */
.wildFlowers span{
  position:absolute!important;z-index:7!important;font-size:25px!important;
  filter:drop-shadow(0 3px 2px #0003);animation:flowerSway 3.5s ease-in-out infinite;
}
.wildFlowers span:nth-child(1){left:7%;top:30%}
.wildFlowers span:nth-child(2){left:20%;top:18%}
.wildFlowers span:nth-child(3){left:34%;top:29%}
.wildFlowers span:nth-child(4){left:49%;top:15%}
.wildFlowers span:nth-child(5){left:65%;top:28%}
.wildFlowers span:nth-child(6){left:82%;top:18%}
.wildFlowers span:nth-child(7){left:13%;top:84%}
.wildFlowers span:nth-child(8){left:35%;top:77%}
.wildFlowers span:nth-child(9){left:63%;top:84%}
.wildFlowers span:nth-child(10){left:86%;top:76%}
@keyframes flowerSway{50%{transform:rotate(8deg) translateY(-2px)}}

/* ===== v0.4.5 나무/동물 완전 재배치 + 낚시찌 가시성 ===== */
.farmUpperDecorTrees,.farmLowerTrees,.farmTrees,.wildDecorTrees,.wildForest,.animals{display:none!important}

/* 내 농장: 집 주변 6그루만 */
.farmHomeTrees span{
 position:absolute;z-index:12;pointer-events:none;transform-origin:bottom;
 filter:drop-shadow(0 7px 5px #0003);animation:treeSwaySoft 5.5s ease-in-out infinite
}
.farmHomeTrees span:nth-child(1){left:28%;top:31%;font-size:67px}
.farmHomeTrees span:nth-child(2){left:35%;top:24%;font-size:48px}
.farmHomeTrees span:nth-child(3){left:40%;top:39%;font-size:53px}
.farmHomeTrees span:nth-child(4){left:58%;top:39%;font-size:49px}
.farmHomeTrees span:nth-child(5){left:63%;top:25%;font-size:61px}
.farmHomeTrees span:nth-child(6){left:69%;top:33%;font-size:47px}

/* 자연산 필드 새 나무/동물 */
.wildNatureTrees span,.wildNatureAnimals span{
 position:absolute;pointer-events:none;filter:drop-shadow(0 5px 4px #0003)
}
.wildNatureTrees span{z-index:6;transform-origin:bottom;animation:treeSwaySoft 5.8s ease-in-out infinite}
.wildNatureAnimals span{z-index:9;font-size:34px;animation:animalBob 3.8s ease-in-out infinite}
@keyframes animalBob{50%{transform:translateY(-3px)}}

/* 찌: farmer 내부가 아니라 field의 #bobber를 확실히 표시 */
#field #bobber{
 position:absolute!important;z-index:100!important;
 width:24px!important;height:24px!important;
 font-size:22px!important;line-height:24px!important;text-align:center!important;
 overflow:visible!important;pointer-events:none!important;
 filter:drop-shadow(0 2px 2px #0008) drop-shadow(0 0 5px #fff)!important;
}
#field #bobber:not([hidden]){display:block!important}
#field #bobber.bite{
 animation:bobberBiteVisible .18s ease-in-out infinite!important;
 filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 14px #ffd632)!important
}
@keyframes bobberBiteVisible{50%{transform:translateY(8px) scale(1.35)}}

/* ===== v0.4.6 UI / 맵 조경 최종 보정 ===== */

/* 나무와 동물은 전부 제거 */
.farmHomeTrees,.wildNatureTrees,.wildNatureAnimals,
.farmUpperDecorTrees,.farmLowerTrees,.farmTrees,.wildDecorTrees,.wildForest,.animals{
  display:none!important
}

/* 상단 참이슬팜/현재시간/시장상태 영역: 기존보다 약 2.2배 세로 확장 */
header{
  min-height:132px!important;
  height:132px!important;
  padding-top:20px!important;
  padding-bottom:20px!important;
  box-sizing:border-box!important;
  align-items:center!important;
}
header h1,#title,.title{font-size:30px!important;line-height:1.15!important}
#mood{
  min-height:78px!important;
  padding:14px 20px!important;
  box-sizing:border-box!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:17px!important;line-height:1.45!important
}

/* 큰 트럭은 유지하고 버튼/타이머만 바퀴 아래로 더 내림 */
#farm .truckSeedUI{
  top:77.5%!important;
  width:210px!important
}

/* 나의 집: 사진을 붙인 듯 보이는 외곽 사각 테두리 제거 */
#farm .house,
#farm .homeHouse,
#farm .houseWrap{
  border:none!important;
  outline:none!important;
  box-shadow:none!important;
  background-color:transparent!important
}
#farm .house:before,#farm .house:after,
#farm .homeHouse:before,#farm .homeHouse:after{
  border:none!important;outline:none!important
}

/* 자연산 수확 맵의 육지 색감을 내 농장과 같은 갈색 흙 계열로 통일 */
#field{
  background:
    radial-gradient(circle at 8% 18%,#9b6b3b55 0 2px,transparent 3px),
    radial-gradient(circle at 27% 72%,#6f472b40 0 2px,transparent 3px),
    radial-gradient(circle at 64% 22%,#a87a4655 0 2px,transparent 3px),
    radial-gradient(circle at 86% 78%,#70492d45 0 2px,transparent 3px),
    repeating-linear-gradient(11deg,#9a7048 0 13px,#a87b4e 14px 27px,#8d633f 28px 39px)!important
}
#field:after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    repeating-linear-gradient(78deg,transparent 0 33px,#69432618 34px 36px,transparent 37px 70px),
    repeating-linear-gradient(102deg,transparent 0 48px,#d1a16a18 49px 51px,transparent 52px 88px)
}

/* 자연산 필드 풀: 점박이 대신 흙 위에서 솟는 가는 풀결 */
#field .wildGrassTufts{
  inset:0!important;z-index:2!important;opacity:.72!important;
  background:
    repeating-linear-gradient(80deg,transparent 0 27px,#557a3650 28px 30px,transparent 31px 57px),
    repeating-linear-gradient(100deg,transparent 0 39px,#7e974750 40px 42px,transparent 43px 73px)!important;
  background-size:135px 105px,165px 125px!important
}

/* 해바라기/밀/들꽃을 위·아래 필드에 자연스럽게 분산 */
.wildFieldDecor span{
  position:absolute;z-index:7;pointer-events:none;
  filter:drop-shadow(0 3px 2px #0003);
  transform-origin:bottom;animation:wildFlowerSway 4s ease-in-out infinite
}
.wildFieldDecor span:nth-child(1){left:7%;top:17%;font-size:31px}
.wildFieldDecor span:nth-child(2){left:16%;top:26%;font-size:29px}
.wildFieldDecor span:nth-child(3){left:29%;top:13%;font-size:24px}
.wildFieldDecor span:nth-child(4){left:43%;top:25%;font-size:31px}
.wildFieldDecor span:nth-child(5){left:58%;top:15%;font-size:32px}
.wildFieldDecor span:nth-child(6){left:72%;top:26%;font-size:29px}
.wildFieldDecor span:nth-child(7){left:86%;top:16%;font-size:24px}
.wildFieldDecor span:nth-child(8){left:9%;top:80%;font-size:31px}
.wildFieldDecor span:nth-child(9){left:24%;top:73%;font-size:24px}
.wildFieldDecor span:nth-child(10){left:39%;top:83%;font-size:32px}
.wildFieldDecor span:nth-child(11){left:56%;top:74%;font-size:30px}
.wildFieldDecor span:nth-child(12){left:69%;top:83%;font-size:24px}
.wildFieldDecor span:nth-child(13){left:81%;top:74%;font-size:30px}
.wildFieldDecor span:nth-child(14){left:91%;top:83%;font-size:31px}
@keyframes wildFlowerSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(7deg) translateY(-2px)}}

/* 하단 내 정보 프로필: 귀엽고 게임 HUD 같은 움직임 */
#profile{
  border-radius:20px!important;
  padding:14px 16px!important;
  background:linear-gradient(145deg,#fff7d8,#f2d99b)!important;
  border:2px solid #a9743b!important;
  box-shadow:0 5px 0 #80522d,0 10px 18px #0002!important;
  animation:profileFloat 3.6s ease-in-out infinite!important;
  position:relative!important;overflow:visible!important
}
#profile:before{
  content:"🌱";position:absolute;left:-9px;top:-13px;font-size:25px;
  animation:profileLeaf 2.5s ease-in-out infinite
}
#profile:after{
  content:"✨";position:absolute;right:-5px;top:-13px;font-size:23px;
  animation:profileSpark 1.8s ease-in-out infinite
}
#profile b,#profile strong{font-weight:950!important;text-shadow:0 1px #fff8}
@keyframes profileFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes profileLeaf{50%{transform:rotate(12deg) scale(1.08)}}
@keyframes profileSpark{0%,100%{opacity:.45;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(12deg)}}

/* ===== v0.4.8 상단 배너 HUD 통합 ===== */

/* 상단을 2단 배너로 사용: 아래 게임 화면과 절대 겹치지 않음 */
#topBanner{
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;
  height:132px!important;min-height:132px!important;
  padding:8px 18px 9px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  background:linear-gradient(180deg,#263b30 0%,#304838 100%)!important;
  border-bottom:4px solid #6b5231!important;
  box-shadow:0 5px 14px #0003!important;
  z-index:60!important;
  overflow:visible!important;
}
.topBannerMain{
  height:49px!important;
  display:flex!important;
  align-items:center!important;
  gap:17px!important;
  min-width:0!important;
}
.farmLogo{
  flex:0 0 auto!important;
  font-size:25px!important;
  line-height:1!important;
  color:#ffe28a!important;
  text-shadow:0 2px 2px #0005!important
}
.clockBox{
  flex:0 0 auto!important;
  min-width:100px!important;
  font-size:11px!important;
  color:#e9efe9!important
}
.clockBox strong{
  display:block!important;
  margin-top:2px!important;
  font-size:15px!important;
  color:#fff!important
}
#topBanner #mood{
  flex:0 0 auto!important;
  min-width:142px!important;
  min-height:36px!important;
  height:36px!important;
  padding:8px 12px!important;
  margin:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:11px!important;
  font-size:13px!important;
  font-weight:900!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px #ffffff24!important
}
.mapButtons{
  margin-left:auto!important;
  display:flex!important;
  gap:7px!important;
  align-items:center!important
}
#topBanner .mapButtons button{
  margin:0!important;
  padding:9px 14px!important;
  min-width:135px!important;
  border:0!important;border-radius:10px!important;
  background:linear-gradient(#f6d87b,#dcae49)!important;
  color:#3e2c18!important;font-weight:950!important;
  box-shadow:0 3px 0 #80622c!important
}

/* 두 번째 줄: 인벤토리 / 물 / 시장을 배너 안에 한 줄로 */
.topFarmHud{
  height:56px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:6px 10px!important;
  border-radius:13px!important;
  background:#f6edcf!important;
  border:2px solid #b18b52!important;
  box-shadow:inset 0 2px 0 #fff8,0 2px 5px #0002!important;
  color:#3b3225!important;
  overflow:visible!important
}
.topHudTitle{
  flex:0 0 auto!important;
  padding:0 11px 0 3px!important;
  font-size:14px!important;
  font-weight:1000!important;
  border-right:1px dashed #9a7c4e!important
}
#topBanner #inv{
  flex:1 1 auto!important;
  min-width:0!important
}
#topBanner #inv .quickFarmMenu{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important
}
#topBanner #inv .waterQuick{
  flex:0 0 160px!important;
  min-height:38px!important;
  margin:0!important;
  padding:6px 10px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  border-radius:9px!important;
  border:1px solid #b9a67e!important;
  background:#fffaf0!important;
  font-size:12px!important;
  box-shadow:none!important
}
#topBanner #inv .waterQuick.rock{
  background:linear-gradient(135deg,#f0efff,#e1dfff)!important;
  border-color:#aaa3d7!important
}
#topBanner #inv .waterQuick b{
  margin-left:7px!important;
  font-size:14px!important;
  color:#392d63!important
}
#topBanner #inv .marketQuick,
#topBanner #inv .checkQuick{
  flex:0 0 150px!important;
  width:auto!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 10px!important;
  border:0!important;border-radius:9px!important;
  font-size:12px!important;font-weight:950!important;
  color:white!important;
  box-shadow:0 3px 0 #293c2e!important
}
#topBanner #inv .marketQuick{background:#3d5942!important}
#topBanner #inv .checkQuick{background:#8a6538!important}

/* 기존 우측 인벤토리는 제거했으므로 게임 화면을 온전히 사용 */
aside{display:none!important}

/* 132px 배너 아래에서 두 맵 시작 → 설명/오브젝트가 헤더에 가려지지 않음 */
main{
  top:132px!important;
}
#field h2{
  position:relative!important;
  z-index:15!important;
  margin:15px 20px!important;
}

/* 토스트도 상단 배너 밑에서 표시 */
#toast{
  top:142px!important;
}

/* 작은 화면에서도 버튼이 너무 길어져 겹치지 않게 */
@media(max-width:1050px){
  .farmLogo{font-size:20px!important}
  #topBanner #inv .waterQuick{flex-basis:130px!important}
  #topBanner #inv .marketQuick,#topBanner #inv .checkQuick{flex-basis:125px!important}
  #topBanner .mapButtons button{min-width:115px!important;padding-left:9px!important;padding-right:9px!important}
}

/* ===== v0.4.9 FARM FANTASY UI ===== */
:root{--wood:#5a351e;--gold:#e8c46a;--cream:#fff2c9;--leaf:#315a3c;--ink:#3d2b20}
#topBanner{
  background:linear-gradient(180deg,#203a2b,#31533a)!important;
  border-bottom:5px solid #8d6232!important;
  box-shadow:inset 0 -2px 0 #d8b467,0 6px 18px #0004!important
}
.farmLogo{
  min-width:310px!important;font-family:Georgia,"Times New Roman","Malgun Gothic",serif!important;
  font-size:30px!important;letter-spacing:1.5px!important;color:#ffe69a!important;
  text-shadow:0 2px 0 #553719,0 0 9px #f4d46a55!important;
  transform:scaleX(1.06);transform-origin:left center
}
.logoLeaf{display:inline-block;animation:logoLeaf 3s ease-in-out infinite}.logoStar{font-size:17px;animation:logoStar 1.8s infinite}
@keyframes logoLeaf{50%{transform:rotate(10deg) translateY(-2px)}}@keyframes logoStar{50%{opacity:.35;transform:scale(.7)}}
.topFarmHud{background:linear-gradient(#f9e8b8,#e6ca8d)!important;border-color:#7c522a!important}
.fishChargeHud{flex:0 0 auto;background:linear-gradient(#1e5960,#173f45);border:2px solid #d6c477;border-radius:11px;padding:5px 10px;color:#fff;font-size:12px;box-shadow:0 3px 0 #102d31}
.fishChargeHud b{font-size:15px;color:#ffe67e;margin-left:4px}.fishChargeHud small{display:block;font-size:9px;text-align:center;color:#bceaf0}

/* collection book matches market book */
.collectionBook{width:min(1000px,94vw)!important}.collectionPages .bookPage{min-height:430px}
.inventoryCheckList .productRow{display:flex;align-items:center;padding:10px 7px;border-bottom:1px dashed #c7a873;font-size:13px}
.inventoryCheckList .productRow span{font-weight:800}.inventoryCheckList .productRow b{margin-left:auto;background:#765338;color:#fff5d5;border-radius:12px;padding:3px 9px}
.bookPages{position:relative}.bookPages:after{content:"";position:absolute;left:50%;top:3%;bottom:3%;width:3px;background:linear-gradient(#8d6538,#d2b47c,#80572e);box-shadow:0 0 8px #0004;transform:translateX(-50%)}

/* every modal has obvious exits */
#modal section{padding-bottom:65px!important}.close{width:38px!important;height:38px!important;border-radius:50%!important;background:#6b3f27!important;color:#fff1c9!important;border:2px solid #d7b66b!important;z-index:20!important}
.modalExit{position:absolute;right:20px;bottom:14px;padding:9px 18px;border:2px solid #d2b06a;border-radius:10px;background:linear-gradient(#795036,#54321f);color:#fff4cf;font-weight:900;box-shadow:0 3px 0 #321d12}

/* fantasy profile footer */
#fantasyProfile{height:126px!important;background:linear-gradient(180deg,#3a2c24,#241c18)!important;border-top:5px solid #b48a48!important;box-shadow:inset 0 2px 0 #e7c980,0 -7px 18px #0003!important;color:#fff1cf!important;gap:12px!important}
.profileIdentity{display:flex;align-items:center;gap:10px;padding:8px 14px;border:2px solid #a67d43;border-radius:18px;background:linear-gradient(135deg,#57422f,#35271e);box-shadow:inset 0 0 15px #e9c86c22}
#fantasyProfile .avatar{font-size:48px;background:radial-gradient(circle,#d9e8aa,#8fb16b);border:3px solid #e0c36c;box-shadow:0 0 12px #d9bd6155;animation:avatarBob 3s ease-in-out infinite}
@keyframes avatarBob{50%{transform:translateY(-3px) rotate(2deg)}}
#fantasyProfile .bar{background:#17130f;border:1px solid #80693d}.bar i{background:linear-gradient(90deg,#6fba67,#d2d85e);box-shadow:0 0 7px #b8e77b}
#fantasyProfile .point{border:2px solid #98703b!important;border-radius:14px!important;padding:13px!important;background:#443324!important;color:#f7db86!important}
.skillDeck{display:flex;gap:8px}.skillDeck button{width:150px!important;height:72px!important;border:2px solid #b48a4b!important;background:linear-gradient(#5d4937,#3a2b22)!important;color:#fff0c7!important;box-shadow:inset 0 0 12px #e9c66c20,0 3px 0 #1d1510!important}
.skillDeck button:hover{transform:translateY(-2px);filter:brightness(1.12)}
.skillCrystal{width:150px;height:82px;border:2px solid #d5b85d;border-radius:16px;background:radial-gradient(circle at 50% 35%,#6659a0,#332c58 65%,#211c3a);box-shadow:0 0 14px #ad92ff55,inset 0 0 12px #fff3;display:flex;flex-direction:column;align-items:center;justify-content:center}
.skillCrystal span{font-family:Georgia,serif;font-size:10px;color:#ffe99c}.skillCrystal b{font-size:27px;color:#fff;text-shadow:0 0 9px #d4c5ff}.skillCrystal small{font-size:8px;color:#d9d0f0}
.guideDock{margin-left:auto;width:155px;height:82px;border:2px solid #9c7744;border-radius:16px;background:linear-gradient(145deg,#6c4930,#3f2a20);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:inset 0 0 14px #f0c76d22}
.guideDock span{font-family:Georgia,serif;font-size:10px;color:#f5d783}.guideDock .guideBtn{background:linear-gradient(#577a4d,#385335)!important;border:2px solid #b8a05e!important}

/* truck: blue tint, lower controls, mission exhaust */
#farm .truck{top:54%!important}.blueTruck{display:inline-block;filter:hue-rotate(155deg) saturate(1.65) brightness(.92);font-size:175px}
#farm .truckSeedUI{top:82%!important}
.truckExhaust{display:none;position:absolute;left:-13px;top:61px;width:55px;height:35px;pointer-events:none}
.missionRunning .truckExhaust{display:block}
.truckExhaust b{position:absolute;left:0;top:10px;width:15px;height:15px;border-radius:50%;background:#60666a99;filter:blur(1px);animation:exhaustPuff 1.4s linear infinite}
.truckExhaust b:nth-child(2){animation-delay:.42s}.truckExhaust b:nth-child(3){animation-delay:.84s}
@keyframes exhaustPuff{0%{opacity:.85;transform:translate(0,0) scale(.6)}100%{opacity:0;transform:translate(-65px,-25px) scale(2.1)}}

/* wild proximity + boat */
.spot{z-index:12!important}.spot .hut{font-size:68px}.spot .badge strong{color:#ffe18a;font-size:12px}
.riverBoat{position:absolute;left:50%;top:69%;font-size:52px;z-index:14;transform:translate(-50%,-50%);filter:drop-shadow(0 5px 3px #0005);transition:left .12s,top .12s}
.boatAction{position:absolute;z-index:35;transform:translate(-50%,-50%)}.boatAction button{border:2px solid #e0bd68;border-radius:10px;background:linear-gradient(#795232,#4f311f);color:#fff1c5;padding:8px 12px;font-weight:900;box-shadow:0 3px 0 #2b1a11}
.gameNotice{padding:25px 18px;background:linear-gradient(#fff6d7,#ead6a5);border:2px solid #9a713e;border-radius:14px;text-align:center;font-size:15px;line-height:1.7;color:#4a3422}

/* guide stays a fantasy book, clearer independent identity */
#modal section.bookModal:has(.guideBook){border-color:#8b6938!important;box-shadow:0 0 0 4px #d1ad5a,0 25px 60px #0009!important}

/* ===== v0.5.0 물고기 등급/희귀 표시 ===== */
.fishrow small{margin-left:6px;padding:2px 6px;border-radius:9px;background:#315b62;color:#dff9ff;font-size:9px}
.rareFishRow{background:linear-gradient(90deg,#fff9df,#f2e5ff)!important}
.rareFishRow span{color:#6d3d85!important;text-shadow:0 1px #fff}

/* ===== v0.5.1 상단 정돈 / 농장 판타지 배너 ===== */
#topBanner{
  padding:7px 12px 9px 0!important;
  gap:6px!important;
  background:
    linear-gradient(180deg,#203928 0%,#2d5036 62%,#27432f 100%)!important;
  border-bottom:5px solid #8d5e2f!important;
  box-shadow:inset 0 -3px 0 #d5ad5a,inset 0 2px 0 #ffffff12,0 8px 20px #0004!important
}
.topBannerMain{
  height:50px!important;
  padding-left:0!important;
  align-items:flex-start!important;
}
.farmLogo{
  margin-left:0!important;
  padding-left:8px!important;
  min-width:355px!important;
  font-size:32px!important;
  letter-spacing:2px!important;
  transform:scaleX(1.08)!important;
  transform-origin:left center!important
}
.clockBox{display:none!important}
#topBanner #mood{margin-left:auto!important}

/* 인벤토리 줄도 로고와 같은 왼쪽 시작선에 딱 정렬 */
.topFarmHud{
  height:58px!important;
  margin-left:0!important;
  padding:7px 8px!important;
  border-radius:0 15px 15px 0!important;
  border-left:0!important;
  max-width:100%!important;
  background:linear-gradient(180deg,#f8e8b5,#e2c27d)!important;
  box-shadow:inset 0 2px 0 #fff9,inset 0 -3px 0 #9b6b36,4px 5px 0 #2b241b55!important
}
.topHudTitle{min-width:96px!important;text-align:left!important}
#topBanner #inv .quickFarmMenu{justify-content:flex-start!important}

/* 자연산 수확 버튼은 아래 인벤토리 배너 라인 우측에 배치 */
.mapButtons{
  position:absolute!important;
  right:16px!important;
  bottom:12px!important;
  z-index:4!important
}
#topBanner .mapButtons button{
  min-width:175px!important;
  padding:12px 18px!important;
  font-size:14px!important;
  border:2px solid #f3d587!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#f3d574 0%,#d59c39 75%,#b67a27 100%)!important;
  box-shadow:inset 0 2px 0 #fff9,inset 0 -3px 0 #7f531f,0 5px 0 #573819,0 7px 13px #0004!important;
  transition:transform .16s,filter .16s,box-shadow .16s!important
}
#topBanner .mapButtons button:hover{
  transform:translateY(-3px) scale(1.035)!important;
  filter:brightness(1.09)!important;
  box-shadow:inset 0 2px 0 #fff,inset 0 -3px 0 #7f531f,0 8px 0 #573819,0 12px 18px #0005!important
}
#topBanner .mapButtons button:active{transform:translateY(2px) scale(.99)!important;box-shadow:inset 0 2px 0 #fff8,0 2px 0 #573819!important}

/* 현실 시간: 농장 토지 중앙 최상단, 집 바로 위 */
.landClock{
  position:absolute;
  top:140px;
  left:50%;
  transform:translateX(-50%);
  z-index:48;
  text-align:center;
  font-size:9px;
  letter-spacing:.6px;
  color:#5b4027;
  background:linear-gradient(#fff4ccdd,#e7c98ddd);
  border:1px solid #9c723f;
  border-radius:10px;
  padding:4px 11px 5px;
  box-shadow:0 3px 6px #0002,inset 0 1px #fff;
  pointer-events:none
}
.landClock strong{display:block;font-size:12px;line-height:1.15;color:#3f2b1c}

/* 집 살짝 위로 */
#farm .house{top:32%!important}

/* 트럭: 조금 더 크게 + 살짝 위. UI/타이머 위치는 그대로 유지 */
#farm .truck{top:51.5%!important}
#farm .blueTruck{font-size:192px!important}

/* ===== v0.5.1 배 탑승 표시/정박 ===== */
#farmer.onBoat{
  z-index:19!important;
  transform:translate(-50%,-72%) scale(.72)!important;
  filter:drop-shadow(0 3px 2px #0005)!important
}
#farmer.onBoat small{display:none!important}
.riverBoat{z-index:16!important}

/* ===== v0.5.1 물고기 5초 연타 배틀 ===== */
.fishFightTimer{
  margin:5px auto 0;
  width:max-content;
  padding:3px 9px;
  border-radius:9px;
  background:#562b24;
  color:#ffe27b;
  font-weight:1000;
  font-size:13px;
  box-shadow:0 2px 0 #2f1814
}

/* ===== v0.5.1 거대 광맥 ===== */
#oreNodes{position:absolute;inset:0;z-index:13;pointer-events:none}
.oreNode{
  position:absolute;
  transform:translate(-50%,-50%);
  width:115px;height:105px;
  border:0;background:transparent;
  pointer-events:auto;
  text-align:center;
  cursor:pointer;
  filter:drop-shadow(0 9px 5px #0005);
  transition:transform .15s,filter .15s
}
.oreNode:hover{transform:translate(-50%,-54%) scale(1.08);filter:drop-shadow(0 12px 7px #0006) brightness(1.08)}
.oreNode .oreRock{
  display:block;
  width:90px;height:70px;
  margin:auto;
  border-radius:48% 42% 45% 38%;
  font-size:50px;line-height:70px;
  border:5px solid #5b432e;
  box-shadow:inset -10px -10px 0 #0002,inset 8px 8px 0 #fff3
}
.oreNode.copper .oreRock{
  background:radial-gradient(circle at 32% 28%,#ffbc68,#b85b2a 55%,#67321f 100%);
  color:#5b291b
}
.oreNode.steel .oreRock{
  background:radial-gradient(circle at 32% 28%,#d9e0e2,#7c8b91 55%,#414b50 100%);
  color:#313b40
}
.oreNode b{
  display:inline-block;margin-top:2px;padding:4px 8px;border-radius:10px;
  background:#2e281fdd;color:#ffe4a1;font-size:10px;border:1px solid #c9a45f
}
#mineBattle{
  position:absolute;left:50%;top:18%;transform:translateX(-50%);
  z-index:80;width:330px
}
.mineBattleCard{
  padding:12px 14px;border-radius:15px;
  background:linear-gradient(#3d3428ee,#211c17ee);
  border:3px solid #c9a056;color:#fff1c2;text-align:center;
  box-shadow:0 9px 22px #0006,inset 0 1px #fff4
}
.mineBattleName{font-size:15px;font-weight:1000}
.mineHpBar{height:15px;margin:8px 0 5px;background:#160f0c;border:2px solid #866238;border-radius:10px;overflow:hidden}
.mineHpFill{height:100%;background:linear-gradient(90deg,#c56c2f,#f5cf5f);transition:width .06s}
.mineBattleText,.mineTimer{font-size:11px}.mineTimer{font-size:14px;font-weight:1000;color:#ffdc69}
.mineMashHint{font-size:10px;margin-top:4px;color:#f6e7b2}

/* 곡괭이 위/아래 타격 모션 */
#farmer.mining:after{
  content:"⛏️";
  position:absolute;
  left:34px;top:-18px;
  font-size:44px;
  transform-origin:8px 42px;
  animation:pickaxeSwing .24s ease-in-out infinite
}
#farmer.mining{animation:minerBob .24s ease-in-out infinite}
@keyframes pickaxeSwing{0%,100%{transform:rotate(-55deg)}50%{transform:rotate(28deg) translateY(5px)}}
@keyframes minerBob{50%{margin-top:3px}}

/* 도감 광물 */
.oreBookTitle{margin-top:18px!important;border-top:2px solid #c5a36c;padding-top:12px}
.oreRow.copper{background:#fff0df!important}.oreRow.steel{background:#edf1f2!important}

/* ===== v0.5.3 배치/자연산 UI/광석 타격 개선 ===== */

/* 현실 시간 바로 아래에 지붕이 닿도록 집을 더 위로 */
#farm .house{
  top:27.5%!important;
}

/* 픽업트럭: 좌우 재배지 사이 정중앙 + 조금 더 위 */
#farm .truck{
  left:50%!important;
  top:47.5%!important;
  transform:translateX(-50%) rotate(-3deg)!important;
}
#farm .truckSeedUI{
  left:50%!important;
  transform:translateX(-50%)!important;
  /* 기존 세로 위치 유지 */
}

/* 자연산 수확 맵의 긴 키워드/설명 배너를 글자 폭 중심으로 축소 */
#field .spot .badge{
  width:max-content!important;
  min-width:0!important;
  max-width:150px!important;
  padding:5px 9px!important;
  white-space:nowrap!important;
  font-size:10px!important;
  line-height:1.25!important;
}
#field .spot .badge strong{
  font-size:10px!important;
}
#field .wildHint,
#field .riverLabel,
#field .bucketPoint,
#field .fishingHint{
  width:max-content!important;
  min-width:0!important;
  max-width:180px!important;
  padding-left:8px!important;
  padding-right:8px!important;
}

/* 광석 배너 역시 광석/문구에 딱 맞게 */
.oreNode{
  width:102px!important;
  height:98px!important;
}
.oreNode .oreRock{
  width:82px!important;
  height:66px!important;
  line-height:66px!important;
}
.oreNode b{
  width:max-content!important;
  min-width:0!important;
  max-width:105px!important;
  white-space:nowrap!important;
  padding:4px 7px!important;
  font-size:9px!important;
}

/* 강철의 톱니바퀴 느낌 제거: 원석 질감으로 */
.oreNode.steel .oreRock{
  font-size:0!important;
  position:relative!important;
}
.oreNode.steel .oreRock:after{
  content:"";
  position:absolute;
  left:19px;top:13px;
  width:44px;height:38px;
  border-radius:46% 54% 43% 57% / 55% 42% 58% 45%;
  background:
    radial-gradient(circle at 30% 25%,#f2f5f5 0 8%,transparent 9%),
    radial-gradient(circle at 67% 65%,#5d696d 0 9%,transparent 10%),
    linear-gradient(145deg,#c8d0d2,#77858a 58%,#465156);
  box-shadow:inset 5px 5px 0 #ffffff33,inset -6px -6px 0 #00000022;
}

/* SPACE 타격마다 광석과 캐릭터가 반응 */
.oreNode.oreHit{
  animation:oreImpact .16s ease-out!important;
}
#farmer.mineImpact{
  animation:farmerImpact .16s ease-out!important;
}
@keyframes oreImpact{
  0%{transform:translate(-50%,-50%) scale(1)}
  35%{transform:translate(-47%,-52%) scale(.91) rotate(-3deg);filter:brightness(1.55) drop-shadow(0 0 12px #ffd66a)}
  100%{transform:translate(-50%,-50%) scale(1)}
}
@keyframes farmerImpact{
  35%{filter:brightness(1.3);transform:translate(-50%,-50%) translateX(4px)}
}

/* ===== v0.5.4 집 제거 / 대형 트럭 / 30개 파종 구멍 ===== */
#farm .house,#farm .homeHouse,#farm .houseWrap{display:none!important}

#farm .truck{
  left:50%!important;top:43.5%!important;
  width:225px!important;height:142px!important;
  transform:translateX(-50%) rotate(-3deg)!important;
  pointer-events:none!important;overflow:visible!important;
}
#farm .blueTruck{
  display:inline-block!important;font-size:212px!important;line-height:1!important;
  pointer-events:auto!important;cursor:pointer!important;
  filter:hue-rotate(155deg) saturate(1.75) brightness(.94) drop-shadow(0 11px 6px #0004)!important;
}
#farm .truckSeedUI{
  top:82%!important;left:50%!important;transform:translateX(-50%)!important;
}

/* 임무 중 차량 뒤쪽 흰 구름 매연 */
.truckExhaust{
  display:none!important;position:absolute!important;
  left:-16px!important;right:auto!important;top:72px!important;
  width:90px!important;height:48px!important;pointer-events:none!important;z-index:-1!important;
}
.missionRunning .truckExhaust{display:block!important}
.truckExhaust b{
  position:absolute!important;left:18px!important;top:13px!important;
  width:19px!important;height:19px!important;border-radius:50%!important;
  background:radial-gradient(circle at 35% 30%,#fff 0 30%,#f2f2f2 55%,#d9d9d9 100%)!important;
  box-shadow:0 0 0 5px #ffffff35!important;filter:none!important;opacity:0!important;
  animation:whiteExhaustPuff 1.65s ease-out infinite!important;
}
.truckExhaust b:nth-child(2){animation-delay:.48s!important}
.truckExhaust b:nth-child(3){animation-delay:.96s!important}
@keyframes whiteExhaustPuff{
  0%{opacity:0;transform:translate(0,0) scale(.45)}
  14%{opacity:.95}55%{opacity:.72}
  100%{opacity:0;transform:translate(-72px,-26px) scale(1.9)}
}

/* 좌 15 + 우 15 = 30개 작은 파종 구멍 */
#farm .plot{
  width:54px!important;height:46px!important;margin:0!important;
  transform:translate(-50%,-50%)!important;background:transparent!important;
  border:0!important;box-shadow:none!important;display:grid!important;place-items:center!important;z-index:9!important;
}
#farm .emptyPlot .plantHole{
  width:42px!important;height:27px!important;border:0!important;border-radius:50%!important;cursor:pointer!important;
  background:radial-gradient(ellipse at 50% 66%,#2c180e 0 35%,#4a2918 36% 55%,#70452a 57% 72%,#9b6b42 74% 100%)!important;
  box-shadow:inset 0 5px 7px #160c08cc,inset 0 -3px 4px #c28a5555,0 3px 2px #0003!important;
  opacity:.82!important;transition:transform .14s,filter .14s,opacity .14s!important;position:relative!important;
}
#farm .emptyPlot .plantHole span{
  opacity:0!important;font-size:17px!important;color:#ffe9a3!important;text-shadow:0 1px 2px #000!important;transition:opacity .12s!important;
}
#farm .emptyPlot:hover .plantHole,#farm .emptyPlot .plantHole:hover{
  transform:scale(1.16)!important;filter:brightness(1.25)!important;opacity:1!important;
  box-shadow:inset 0 5px 8px #120905dd,inset 0 -3px 5px #d8a16666,0 0 0 3px #f2d27b88,0 5px 5px #0003!important;
}
#farm .emptyPlot:hover .plantHole span{opacity:1!important}
#farm .plot .plant{
  width:58px!important;height:58px!important;display:grid!important;place-items:center!important;font-size:31px!important;
}

#farm .plot:nth-child(1){left:7%!important;right:auto!important;top:29%!important;bottom:auto!important}
#farm .plot:nth-child(2){left:15%!important;right:auto!important;top:29%!important;bottom:auto!important}
#farm .plot:nth-child(3){left:23%!important;right:auto!important;top:29%!important;bottom:auto!important}
#farm .plot:nth-child(4){left:7%!important;right:auto!important;top:39%!important;bottom:auto!important}
#farm .plot:nth-child(5){left:15%!important;right:auto!important;top:39%!important;bottom:auto!important}
#farm .plot:nth-child(6){left:23%!important;right:auto!important;top:39%!important;bottom:auto!important}
#farm .plot:nth-child(7){left:7%!important;right:auto!important;top:50%!important;bottom:auto!important}
#farm .plot:nth-child(8){left:15%!important;right:auto!important;top:50%!important;bottom:auto!important}
#farm .plot:nth-child(9){left:23%!important;right:auto!important;top:50%!important;bottom:auto!important}
#farm .plot:nth-child(10){left:7%!important;right:auto!important;top:61%!important;bottom:auto!important}
#farm .plot:nth-child(11){left:15%!important;right:auto!important;top:61%!important;bottom:auto!important}
#farm .plot:nth-child(12){left:23%!important;right:auto!important;top:61%!important;bottom:auto!important}
#farm .plot:nth-child(13){left:7%!important;right:auto!important;top:72%!important;bottom:auto!important}
#farm .plot:nth-child(14){left:15%!important;right:auto!important;top:72%!important;bottom:auto!important}
#farm .plot:nth-child(15){left:23%!important;right:auto!important;top:72%!important;bottom:auto!important}
#farm .plot:nth-child(16){left:93%!important;right:auto!important;top:29%!important;bottom:auto!important}
#farm .plot:nth-child(17){left:85%!important;right:auto!important;top:29%!important;bottom:auto!important}
#farm .plot:nth-child(18){left:77%!important;right:auto!important;top:29%!important;bottom:auto!important}
#farm .plot:nth-child(19){left:93%!important;right:auto!important;top:39%!important;bottom:auto!important}
#farm .plot:nth-child(20){left:85%!important;right:auto!important;top:39%!important;bottom:auto!important}
#farm .plot:nth-child(21){left:77%!important;right:auto!important;top:39%!important;bottom:auto!important}
#farm .plot:nth-child(22){left:93%!important;right:auto!important;top:50%!important;bottom:auto!important}
#farm .plot:nth-child(23){left:85%!important;right:auto!important;top:50%!important;bottom:auto!important}
#farm .plot:nth-child(24){left:77%!important;right:auto!important;top:50%!important;bottom:auto!important}
#farm .plot:nth-child(25){left:93%!important;right:auto!important;top:61%!important;bottom:auto!important}
#farm .plot:nth-child(26){left:85%!important;right:auto!important;top:61%!important;bottom:auto!important}
#farm .plot:nth-child(27){left:77%!important;right:auto!important;top:61%!important;bottom:auto!important}
#farm .plot:nth-child(28){left:93%!important;right:auto!important;top:72%!important;bottom:auto!important}
#farm .plot:nth-child(29){left:85%!important;right:auto!important;top:72%!important;bottom:auto!important}
#farm .plot:nth-child(30){left:77%!important;right:auto!important;top:72%!important;bottom:auto!important}
/* ===== v0.5.5 로고 잎 / 인벤토리 토탈 배너 균형 보정 ===== */

/* CHAMISUL FARM 왼쪽 잎을 글자보다 살짝 크게 */
.logoLeaf{
  display:inline-block!important;
  font-size:1.22em!important;
  line-height:.9!important;
  vertical-align:-.06em!important;
  margin-right:5px!important;
  transform-origin:55% 65%!important;
  filter:drop-shadow(0 2px 1px #0004)!important;
}
.farmLogo{
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
}

/* 인벤토리 전체 배너: 모서리 부드럽게 + 위/아래 여백 균형 */
.topFarmHud{
  height:60px!important;
  min-height:60px!important;
  margin:0!important;
  padding:7px 10px!important;
  border-radius:0 18px 18px 0!important;
  box-sizing:border-box!important;
  align-items:center!important;
  background:
    linear-gradient(180deg,#faedc4 0%,#eed59d 48%,#dfbd77 100%)!important;
  border-top:2px solid #b88b4f!important;
  border-right:2px solid #9b6c39!important;
  border-bottom:3px solid #7f552d!important;
  border-left:0!important;
  box-shadow:
    inset 0 2px 0 #fff9,
    inset 0 -2px 0 #b8874b55,
    4px 5px 0 #2b241b44,
    0 7px 14px #0002!important;
}

/* 인벤토리 문구 자체도 딱딱한 칸 느낌을 줄이고 둥글게 */
.topHudTitle{
  min-width:104px!important;
  height:40px!important;
  padding:0 12px!important;
  margin:0!important;
  border:0!important;
  border-radius:13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:linear-gradient(180deg,#6b5031,#4e3724)!important;
  color:#fff0c2!important;
  box-shadow:inset 0 1px 0 #fff4,0 3px 0 #2e2118!important;
  font-size:13px!important;
  line-height:1!important;
}

/* 내부 메뉴가 배너의 정중앙 높이에 오도록 고정 */
#topBanner #inv{
  height:100%!important;
  display:flex!important;
  align-items:center!important;
}
#topBanner #inv .quickFarmMenu{
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* 물/시장/채집물 버튼 전부 동일 높이로 맞춰 상하 여백 균등 */
#topBanner #inv .waterQuick,
#topBanner #inv .marketQuick,
#topBanner #inv .checkQuick{
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
}

/* 물 보유량은 좌우 정렬 유지 */
#topBanner #inv .waterQuick{
  justify-content:space-between!important;
  padding-left:10px!important;
  padding-right:10px!important;
}

/* 농산물 시장 / 채집물 확인은 위아래 여백 완전히 동일 */
#topBanner #inv .marketQuick,
#topBanner #inv .checkQuick{
  padding-left:12px!important;
  padding-right:12px!important;
  line-height:1!important;
  align-self:center!important;
}

/* 우측 맵 이동 버튼도 인벤토리 줄 중심과 같은 높이에 안정적으로 배치 */
.mapButtons{
  bottom:10px!important;
  align-items:center!important;
}

/* ===== v0.5.6 낚시대 / 수확표시 / 광석 / 트럭 ===== */

/* 낚시 시 캐릭터 몸에서 낚싯대가 다시 보이도록 */
#farmer .fishingRod{
  display:none;
  position:absolute;
  left:29px;
  top:4px;
  width:58px;
  height:4px;
  border-radius:4px;
  background:linear-gradient(90deg,#5a341d 0%,#8a5a2d 45%,#c79b62 100%);
  transform:rotate(-48deg);
  transform-origin:3px 50%;
  box-shadow:0 1px 0 #2b190e,0 2px 3px #0004;
  z-index:-1;
  pointer-events:none;
}
#farmer .fishingRod:after{
  content:"";
  position:absolute;
  right:-1px;
  top:2px;
  width:54px;
  height:1.5px;
  background:#f4f4f4cc;
  transform:rotate(60deg);
  transform-origin:right center;
  box-shadow:0 1px 1px #0003;
}
#farmer.rodOut .fishingRod{
  display:block;
  animation:rodCastIn .24s ease-out;
}
@keyframes rodCastIn{
  from{opacity:0;transform:rotate(-18deg) scale(.72)}
  to{opacity:1;transform:rotate(-48deg) scale(1)}
}

/* 움막 아래 자연산 수확 가능 표시를 같은 기준선에 정렬 */
#field .spot{
  overflow:visible!important;
}
#field .spot .badge{
  position:absolute!important;
  left:50%!important;
  top:74px!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  min-width:118px!important;
  max-width:138px!important;
  width:max-content!important;
  text-align:center!important;
  padding:5px 8px!important;
  line-height:1.15!important;
  border-radius:10px!important;
  white-space:nowrap!important;
}
/* 각각의 움막이 조금 다른 크기여도 배지는 동일 선상에 보이도록 */
#field .spot:nth-child(1) .badge,
#field .spot:nth-child(2) .badge,
#field .spot:nth-child(3) .badge,
#field .spot:nth-child(4) .badge{
  top:74px!important;
}

/* 광석은 가운데 이펙트/별도 코어 없이 바위 모양만 */
.oreNode .oreRock{
  font-size:54px!important;
  line-height:68px!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 6px 4px #0005)!important;
}
.oreNode.steel .oreRock:after,
.oreNode.copper .oreRock:after{
  content:none!important;
  display:none!important;
}
.oreNode.copper .oreRock,
.oreNode.steel .oreRock{
  background:none!important;
  color:inherit!important;
}

/* 픽업트럭을 좌우 재배 토지의 정확한 수평/수직 중심에 배치 */
#farm .truck{
  left:50%!important;
  top:50%!important;
  width:340px!important;
  height:215px!important;
  transform:translate(-50%,-50%) rotate(-3deg)!important;
  transform-origin:center center!important;
  pointer-events:none!important;
}
#farm .blueTruck{
  font-size:318px!important; /* 212px × 1.5 */
  line-height:1!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  transform-origin:center center!important;
}
/* 타이머/버튼은 트럭 자체와 겹치지 않도록 기존 위치 유지 */
#farm .truckSeedUI{
  top:82%!important;
  left:50%!important;
  transform:translateX(-50%)!important;
}

/* ===== v0.5.7 농장/자연산/전용 낚시터 정리 ===== */

/* 현실 시간 완전 제거 */
.landClock,.clockBox,#clock{display:none!important}

/* 기존 현실시간 자리에는 보유 씨앗 */
.seedStatus{
  position:absolute;
  top:140px;left:50%;transform:translateX(-50%);
  z-index:48;
  min-width:132px;
  padding:6px 14px;
  text-align:center;
  color:#4b321d;
  font-size:11px;font-weight:900;
  background:linear-gradient(180deg,#fff1b9,#dfbd70);
  border:2px solid #8d6332;border-radius:12px;
  box-shadow:inset 0 2px #fff9,0 4px 0 #60411f,0 7px 12px #0002;
  pointer-events:none
}
.seedStatus strong{margin-left:5px;color:#27572f;font-size:14px}

/* 트럭: 이전 318px에서 20% 축소 -> 약254px, 왼쪽 + 확실히 위 */
#farm .truck{
  left:44%!important;
  top:36%!important;
  width:272px!important;height:172px!important;
  transform:translate(-50%,-50%) rotate(-3deg)!important;
  pointer-events:none!important;
}
#farm .blueTruck{
  font-size:254px!important;
  pointer-events:none!important; /* 차량 자체 클릭 금지 */
  cursor:default!important;
}
/* 오직 씨앗 구해오기 버튼만 클릭 가능 */
#truckSeedBtn{pointer-events:auto!important;cursor:pointer!important;position:relative!important;z-index:60!important}
#farm .truckSeedUI{pointer-events:none!important}
#farm .truckSeedUI #truckSeedBtn{pointer-events:auto!important}

/* 재배 토지와 파종 구멍을 확실히 보이게 */
#farm .soil{
  outline:2px solid #c68b4b88!important;
  box-shadow:inset 0 0 0 3px #5a321d44,0 4px 8px #0002!important;
}
#farm .emptyPlot{pointer-events:auto!important}
#farm .emptyPlot .plantHole{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:48px!important;height:31px!important;
  pointer-events:auto!important;
  z-index:30!important;
  background:
    radial-gradient(ellipse at 50% 63%,#170b06 0 35%,#3b1f10 36% 53%,#754628 55% 72%,#b47b48 74% 100%)!important;
  box-shadow:inset 0 7px 8px #0d0604dd,inset 0 -3px 4px #d6a16b55,0 0 0 2px #d39a5d88,0 4px 3px #0004!important;
}
#farm .emptyPlot .plantHole:after{
  content:"심기";
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-size:8px;font-weight:1000;color:#ffe9a8;
  opacity:.62;text-shadow:0 1px 2px #000
}
#farm .emptyPlot .plantHole:hover{
  transform:scale(1.18)!important;filter:brightness(1.35)!important;
  box-shadow:inset 0 7px 8px #0d0604dd,0 0 0 4px #ffe27baa,0 5px 5px #0004!important
}
#farm .emptyPlot .plantHole:hover:after{content:"클릭!";opacity:1}

/* 자연산 맵 왼쪽 설명: 기존보다 약 1/3 축소 */
#field h2{
  margin:10px 12px!important;
  padding:7px 11px!important;
  border-radius:10px!important;
  font-size:14px!important;
  line-height:1.05!important;
  max-width:210px!important;
}
#field h2 small{font-size:8px!important;margin-top:3px!important}

/* 자연산 수확 장소: 움막 대신 작은 텃밭 */
#field .spot{
  width:126px!important;height:98px!important;
  transform:translate(-50%,-50%)!important;
  z-index:14!important
}
#field .miniGarden{
  width:92px;height:48px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-evenly;
  border:4px solid #a46a36;border-radius:10px;
  background:
    repeating-linear-gradient(90deg,#5b321c 0 10px,#7b4828 11px 20px);
  box-shadow:inset 0 4px 0 #3a2114aa,0 5px 5px #0003;
  cursor:pointer;transition:.15s
}
#field .miniGarden span{font-size:23px;filter:drop-shadow(0 2px 1px #0003)}
#field .spot:hover .miniGarden{transform:scale(1.07);filter:brightness(1.12)}
#field .spot .badge{
  top:54px!important;
  min-width:0!important;max-width:124px!important;
  padding:4px 6px!important;font-size:9px!important;border-radius:8px!important
}
#field .spot .badge strong{font-size:9px!important}

/* 배 탑승 안내도 약 1/3 축소 */
.boatAction button{
  padding:5px 8px!important;
  font-size:9px!important;
  border-radius:7px!important;
  border-width:1px!important
}

/* 자연산 필드 우측 상단 전용 낚시터 */
.fishingStation{
  position:absolute;left:91%;top:27%;
  width:118px;height:86px;
  transform:translate(-50%,-50%);
  z-index:22;pointer-events:none
}
.fishingDeck{
  position:absolute;left:9px;top:38px;width:94px;height:31px;
  border-radius:6px;
  background:repeating-linear-gradient(90deg,#8a5b31 0 15px,#68401f 16px 18px);
  border:3px solid #4a2c18;
  box-shadow:0 5px 5px #0004
}
.fishingChair{
  position:absolute;left:42px;top:9px;
  font-size:46px;filter:drop-shadow(0 4px 2px #0004)
}
.fishingSign{
  position:absolute;right:0;top:0;
  padding:3px 6px;border-radius:7px;
  background:#49321fe8;color:#ffe5a2;border:1px solid #c99c52;
  font-size:8px;font-weight:1000
}
.fishingStationAction{
  position:absolute;left:50%;top:75px;transform:translateX(-50%);
  pointer-events:auto;z-index:30
}
.fishingStationAction button{
  white-space:nowrap;padding:5px 8px;
  border:1px solid #d8b45e;border-radius:7px;
  background:linear-gradient(#765032,#4d301e);
  color:#fff0c3;font-size:9px;font-weight:1000;
  box-shadow:0 3px 0 #2d1b11;cursor:pointer
}
.fishingStationAction.stopFishing{top:82px}
.fishingStationAction.stopFishing button{background:linear-gradient(#6b4d3b,#493027)}

/* 앉는 모션 */
#farmer.fishingSeated{
  transform:translate(-50%,-50%) scale(.82) rotate(-5deg)!important;
  animation:sitDown .28s ease-out!important;
  z-index:27!important
}
#farmer.fishingSeated small{display:none!important}
@keyframes sitDown{
  from{transform:translate(-50%,-65%) scale(1)}
  to{transform:translate(-50%,-50%) scale(.82) rotate(-5deg)}
}
/* 의자에 앉아 캐스팅할 때 낚싯대가 강 쪽으로 뻗음 */
#farmer.fishingSeated.rodOut .fishingRod{
  display:block!important;
  width:72px!important;
  transform:rotate(38deg)!important;
  transform-origin:4px center!important;
  z-index:2!important
}
#farmer.fishingSeated.rodOut .fishingRod:after{
  width:76px!important;
  transform:rotate(52deg)!important
}

/* ===== v0.5.8 채광 7회 / 광물 시장 ===== */
.mineChargeHud{
  height:40px;min-width:116px;padding:4px 9px;box-sizing:border-box;
  display:grid;grid-template-columns:auto auto;align-items:center;column-gap:6px;
  border-radius:12px;
  background:linear-gradient(180deg,#70543a,#49331f);
  border:1px solid #d2ae66;color:#fff0c4;
  box-shadow:inset 0 1px #fff4,0 3px 0 #2d2016;
  font-size:10px;font-weight:900
}
.mineChargeHud b{font-size:12px;color:#ffe187}
.mineChargeHud small{grid-column:1/3;text-align:center;font-size:8px;color:#e8d3a9}
.bookMarketRow[data-row^="ore:"]{background:linear-gradient(90deg,#eee9df,#ddd4c5)!important}
.bookMarketRow[data-row^="ore:"] b{color:#4c4034!important}

/* ===== v0.5.9 채집물 시장 / 필드 배치 / 밸런스 ===== */

/* 자연산 필드에서는 보유 씨앗 표기 숨김 */
body.fieldMode .seedStatus{display:none!important}

/* 채집물 시장 나가기: 창 맨 우측 상단 */
#modal section.bookModal{position:relative!important}
.marketTopExit{
  position:absolute!important;right:13px!important;top:11px!important;z-index:200!important;
  width:auto!important;min-width:72px!important;margin:0!important;padding:7px 10px!important;
  border:1px solid #8b5b32!important;border-radius:10px!important;
  background:linear-gradient(#7b5030,#4d301d)!important;color:#fff0c8!important;
  font-size:10px!important;font-weight:1000!important;box-shadow:0 3px 0 #2c1b10!important
}
/* 시장에서는 기존 하단 나가기 버튼 중복 숨김 */
#modal section.bookModal:has(.marketTopExit)~*{}
#modal section.bookModal:has(.marketTopExit) #modalExit{display:none!important}

/* 자연산 텃밭은 아래쪽 육지에 고정, 배너는 텃밭 바로 아래 밀착 */
#field .spot{width:126px!important;height:82px!important;z-index:16!important}
#field .miniGarden{margin:0 auto!important}
#field .spot .badge{
  top:48px!important;
  margin-top:0!important;
  transform:translateX(-50%)!important;
  padding:3px 6px!important;
  line-height:1.05!important;
  border-radius:7px!important
}

/* 광석 이외 장식용 돌무더기 전부 제거 */
#wildRocks,.wildRock,.decorRock,.rockPile,#field .rocks,#field .stoneDecor{display:none!important}

/* 좌측 모서리 몰림 방지: 모든 자연산 장식 컨테이너가 필드 전체를 기준으로 배치 */
#field .wildFieldDecor,
#field .wildFlowers{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  margin:0!important;padding:0!important;pointer-events:none!important
}
#field .wildFieldDecor span,
#field .wildFlowers span{
  position:absolute!important;margin:0!important;right:auto!important;bottom:auto!important
}
/* 장식 위치를 명시적으로 재고정 */
#field .wildFieldDecor span:nth-child(1){left:8%!important;top:12%!important}
#field .wildFieldDecor span:nth-child(2){left:22%!important;top:20%!important}
#field .wildFieldDecor span:nth-child(3){left:40%!important;top:10%!important}
#field .wildFieldDecor span:nth-child(4){left:58%!important;top:20%!important}
#field .wildFieldDecor span:nth-child(5){left:75%!important;top:11%!important}
#field .wildFieldDecor span:nth-child(6){left:87%!important;top:20%!important}
#field .wildFieldDecor span:nth-child(7){left:94%!important;top:12%!important}
#field .wildFieldDecor span:nth-child(8){left:6%!important;top:88%!important}
#field .wildFieldDecor span:nth-child(9){left:27%!important;top:91%!important}
#field .wildFieldDecor span:nth-child(10){left:47%!important;top:90%!important}
#field .wildFieldDecor span:nth-child(11){left:69%!important;top:91%!important}
#field .wildFieldDecor span:nth-child(12){left:88%!important;top:89%!important}
#field .wildFieldDecor span:nth-child(13){left:96%!important;top:83%!important}
#field .wildFieldDecor span:nth-child(14){left:76%!important;top:74%!important}
#field .wildFlowers span:nth-child(1){left:10%!important;top:25%!important}
#field .wildFlowers span:nth-child(2){left:26%!important;top:13%!important}
#field .wildFlowers span:nth-child(3){left:44%!important;top:24%!important}
#field .wildFlowers span:nth-child(4){left:62%!important;top:13%!important}
#field .wildFlowers span:nth-child(5){left:79%!important;top:24%!important}
#field .wildFlowers span:nth-child(6){left:91%!important;top:14%!important}
#field .wildFlowers span:nth-child(7){left:12%!important;top:91%!important}
#field .wildFlowers span:nth-child(8){left:39%!important;top:92%!important}
#field .wildFlowers span:nth-child(9){left:67%!important;top:92%!important}
#field .wildFlowers span:nth-child(10){left:91%!important;top:91%!important}
/* 예전 나무/동물 컨테이너가 남아 있으면 좌측 0,0에 쌓이지 않게 제거 */
#field .farmHomeTrees,#field .farmTrees,#field .wildDecorTrees,#field .wildForest,
#field .animals,#field .animal,#field .wildAnimal{display:none!important}

/* 픽업트럭 버튼/타이머를 타이어 바로 아래로 당김 */
#farm .truckSeedUI{
  top:64%!important;
  left:44%!important;
  transform:translateX(-50%)!important;
  gap:3px!important
}
#truckSeedBtn{margin:0!important}
#truckSeedTimer{margin-top:3px!important}

/* 하늘 정원 느낌의 더 넓고 눈에 띄는 낚시터 */
.fishingStation{
  left:90%!important;top:25%!important;
  width:178px!important;height:126px!important;
}
.fishingDeck{
  left:4px!important;top:34px!important;width:168px!important;height:72px!important;
  border:3px solid #c7b7e8!important;border-radius:28px!important;
  background:
    radial-gradient(circle at 18% 28%,#ffffffcc 0 9px,transparent 10px),
    radial-gradient(circle at 77% 23%,#ffffffbb 0 12px,transparent 13px),
    linear-gradient(180deg,#ccefff 0%,#c8e8d0 58%,#91c795 100%)!important;
  box-shadow:inset 0 3px 0 #fff,0 0 0 5px #f0e9ff88,0 9px 15px #0003!important;
}
.fishingDeck:before{
  content:"☁️";position:absolute;left:-18px;top:25px;font-size:34px;
  filter:drop-shadow(145px 4px 0 #fff8)
}
.fishingDeck .skyFlower{position:absolute!important;font-size:18px!important}
.fishingDeck .skyFlower:nth-child(1){left:20px!important;top:10px!important}
.fishingDeck .skyFlower:nth-child(2){right:20px!important;top:13px!important}
.fishingDeck .skyFlower:nth-child(3){right:48px!important;bottom:5px!important}
.fishingChair{left:65px!important;top:17px!important;font-size:55px!important;z-index:4!important}
.fishingSign{right:8px!important;top:2px!important;font-size:10px!important;padding:4px 8px!important}
.fishingStationAction{top:108px!important}
.fishingStationAction.stopFishing{top:111px!important}

/* ===== v0.5.10 착석 낚시 이미지 / 캐스팅 / 낚시터 분위기 ===== */

/* 평상시 별도 착석 이미지는 숨김 */
#farmer .seatedFarmerVisual{
  display:none;
  position:absolute;
  left:50%;top:50%;
  width:54px;height:56px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:5;
}
#farmer .seatedFarmerVisual .seatBody{
  position:absolute;
  left:5px;top:0;
  font-size:42px;
  line-height:1;
  filter:drop-shadow(0 3px 2px #0004);
}
#farmer .seatedFarmerVisual .seatLegs{
  position:absolute;
  left:27px;top:31px;
  font-size:24px;
  transform:rotate(78deg) scale(.82);
  transform-origin:center;
  filter:drop-shadow(0 2px 1px #0003);
}

/* 의자에 앉으면 기존 서있는 농부 이모지는 투명 처리하고 착석 전용 이미지 사용 */
#farmer.fishingSeated{
  font-size:0!important;
  width:58px!important;
  height:61px!important;
  transform:translate(-50%,-50%)!important;
  animation:sitIntoChair .34s ease-out!important;
}
#farmer.fishingSeated .seatedFarmerVisual{display:block!important}
#farmer.fishingSeated small{display:none!important}
@keyframes sitIntoChair{
  0%{transform:translate(-65%,-70%) scale(1.05);opacity:.35}
  65%{transform:translate(-51%,-48%) scale(.94);opacity:1}
  100%{transform:translate(-50%,-50%) scale(1);opacity:1}
}

/* 앉은 농부의 낚싯대: 손에서 강가 방향(좌하단)으로 뻗음 */
#farmer.fishingSeated .fishingRod{
  left:17px!important;
  top:27px!important;
  width:92px!important;
  height:4px!important;
  z-index:8!important;
  transform-origin:5px 50%!important;
}
#farmer.fishingSeated.rodOut .fishingRod{
  display:block!important;
  transform:rotate(146deg)!important;
  animation:rodSettle .32s ease-out forwards!important;
}
#farmer.fishingSeated .fishingRod:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:-74px!important;
  top:1px!important;
  width:102px!important;
  height:1.5px!important;
  background:linear-gradient(90deg,#f9fbffdd,#d8ebf6aa)!important;
  transform:rotate(-27deg)!important;
  transform-origin:left center!important;
  box-shadow:0 1px 1px #0002!important;
}
@keyframes rodSettle{
  0%{transform:rotate(63deg) scale(.82)}
  62%{transform:rotate(157deg) scale(1.05)}
  100%{transform:rotate(146deg) scale(1)}
}

/* SPACE로 던질 때 몸/팔 쪽에서 낚싯대가 앞으로 휘두르는 느낌 */
#farmer.fishingSeated.castSwing .fishingRod{
  animation:castRodTowardRiver .50s cubic-bezier(.2,.8,.25,1)!important;
}
@keyframes castRodTowardRiver{
  0%{transform:rotate(58deg) scale(.86)}
  30%{transform:rotate(92deg) scale(.96)}
  66%{transform:rotate(163deg) scale(1.06)}
  100%{transform:rotate(146deg) scale(1)}
}

/* 찌도 낚시터에서 강가로 날아가는 애니메이션 */
#bobber.bobberCast{
  animation:bobberFlyToRiver .62s cubic-bezier(.22,.78,.31,1),bobberFloat 1.5s .62s ease-in-out infinite!important;
}
@keyframes bobberFlyToRiver{
  0%{transform:translate(72px,-82px) scale(.45);opacity:.15}
  55%{transform:translate(18px,-18px) scale(1.12);opacity:1}
  100%{transform:translate(0,0) scale(1);opacity:1}
}
@keyframes bobberFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(3px)}
}

/* 하늘정원 낚시터 조금 더 넓고 분위기 있게 */
.fishingStation{
  width:224px!important;
  height:148px!important;
  left:88.5%!important;
  top:25%!important;
}
.fishingDeck{
  left:8px!important;
  top:33px!important;
  width:198px!important;
  height:88px!important;
  border-radius:34px!important;
}
.fishingChair{
  left:84px!important;
  top:20px!important;
  font-size:58px!important;
  z-index:3!important;
}
.fishingSign{
  right:12px!important;
  top:1px!important;
}

/* 바베큐 그릴: 낚시터 왼편 */
.fishingBBQ{
  position:absolute;
  left:14px;
  top:53px;
  width:54px;
  height:58px;
  z-index:5;
  pointer-events:none;
}
.fishingBBQ:before{
  content:"";
  position:absolute;
  left:9px;top:16px;
  width:38px;height:23px;
  border-radius:6px 6px 13px 13px;
  background:linear-gradient(#565b5e,#23282b);
  border:2px solid #151819;
  box-shadow:inset 0 3px #90989b55,0 4px 3px #0003;
}
.fishingBBQ:after{
  content:"";
  position:absolute;
  left:14px;top:39px;
  width:29px;height:16px;
  border-left:3px solid #35393b;
  border-right:3px solid #35393b;
}
.fishingBBQ .grillBody{
  position:absolute;
  left:16px;top:11px;
  font-size:23px;
  z-index:2;
}
.bbqSmoke{
  position:absolute;
  width:11px;height:11px;border-radius:50%;
  background:#fff9;
  left:24px;top:4px;
  opacity:0;
  animation:bbqPuff 2.4s ease-out infinite;
}
.bbqSmoke.s2{animation-delay:1.15s;left:33px}
@keyframes bbqPuff{
  0%{opacity:0;transform:translate(0,0) scale(.4)}
  20%{opacity:.8}
  100%{opacity:0;transform:translate(-8px,-31px) scale(1.7)}
}

/* 큰 모닥불: 낚시터 오른편 */
.fishingCampfire{
  position:absolute;
  right:13px;
  top:48px;
  width:66px;
  height:70px;
  z-index:5;
  pointer-events:none;
  filter:drop-shadow(0 5px 4px #0004);
}
.fishingCampfire .fireLogs{
  position:absolute;
  left:11px;bottom:1px;
  font-size:38px;
  transform:rotate(-4deg);
}
.fishingCampfire .fireFlame{
  position:absolute;
  left:16px;bottom:20px;
  font-size:48px;
  transform-origin:50% 100%;
  animation:bigFire 1.05s ease-in-out infinite alternate;
}
@keyframes bigFire{
  from{transform:scale(.92,.88) rotate(-3deg);filter:brightness(.96)}
  to{transform:scale(1.08,1.16) rotate(3deg);filter:brightness(1.18)}
}
.fireSpark{
  position:absolute;
  width:5px;height:5px;border-radius:50%;
  background:#ffd36a;
  left:32px;top:16px;
  opacity:0;
  animation:fireSparkUp 1.7s ease-out infinite;
}
.fireSpark.b{left:22px;animation-delay:.52s}
.fireSpark.c{left:43px;animation-delay:1.04s}
@keyframes fireSparkUp{
  0%{opacity:0;transform:translateY(13px) scale(.5)}
  20%{opacity:1}
  100%{opacity:0;transform:translateY(-29px) translateX(6px) scale(.15)}
}

/* 버튼은 넓어진 낚시터 아래 중앙 */
.fishingStationAction{
  left:50%!important;
  top:126px!important;
}
.fishingStationAction.stopFishing{top:129px!important}

/* ===== v0.5.11 중요 좌표 오류 수정 ===== */

/* 파종 좌표의 기준 컨테이너를 농장 전체로 명시.
  /* 예전 CSS 상속/position 누락 때문에 30개 심기 표기가 좌측 상단에 몰리던 현상 차단. */
#farm{position:absolute!important}
#farm #plots{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  z-index:20!important;
  pointer-events:none!important;
}
#farm #plots .plot{
  position:absolute!important;
  margin:0!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:auto!important;
}
#farm #plots .plantHole,
#farm #plots .plant{
  pointer-events:auto!important;
}
/* 좌표는 game.js의 FARM_PLOT_POS 인라인 값이 최종 기준이므로
   예전 nth-child 규칙이 좌표를 덮어쓰지 못하게 초기화 */
#farm #plots .plot[style]{
  position:absolute!important;
}

/* 씨앗 구하러 가는 중/타이머: 픽업의 두 타이어 사이 중심으로 조금 더 오른쪽 */
#farm .truckSeedUI{
  left:47%!important;
}

/* 자연산 텃밭은 하단 육지 바닥에 안정적으로 보이게 */
#field #spots{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:16!important;
  pointer-events:none!important;
}
#field #spots .spot{
  position:absolute!important;
  pointer-events:auto!important;
}
#field #spots .miniGarden{pointer-events:auto!important}

/* 양동이 표시는 접근했을 때만 JS가 생성하며, 생성 시 물가에 작게 밀착 */
#bucketPoints{
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
}
#bucketPoints .bucketPoint{
  position:absolute!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:auto!important;
  z-index:35!important;
}

/* ===== v0.5.12 생선 그릴 / 장작 모닥불 / 채집물 완전 분리 ===== */

/* 픽업 트럭 아래 씨앗 구하기/타이머를 조금 더 우측으로 */
#farm .truckSeedUI{
  left:49%!important;
}

/* 생선 전용 바베큐 그릴: 그릴 위에는 작은 생선만 표시 */
.fishingBBQ{
  position:absolute!important;
  left:13px!important;
  top:53px!important;
  width:62px!important;
  height:58px!important;
  z-index:6!important;
}
.fishingBBQ:before{
  content:""!important;
  position:absolute!important;
  left:7px!important;
  top:19px!important;
  width:47px!important;
  height:23px!important;
  border-radius:5px 5px 13px 13px!important;
  background:linear-gradient(#555b5e,#222629)!important;
  border:2px solid #151819!important;
  box-shadow:inset 0 3px #92999c55,0 4px 3px #0003!important;
}
.fishingBBQ:after{
  content:""!important;
  position:absolute!important;
  left:14px!important;
  top:40px!important;
  width:31px!important;
  height:17px!important;
  border-left:3px solid #35393b!important;
  border-right:3px solid #35393b!important;
}
.fishingBBQ .grillFish{
  position:absolute!important;
  top:11px!important;
  font-size:18px!important;
  line-height:1!important;
  z-index:4!important;
  filter:drop-shadow(0 1px 1px #0004)!important;
}
.fishingBBQ .grillFish.f1{left:8px!important;transform:rotate(-8deg)!important}
.fishingBBQ .grillFish.f2{left:24px!important;transform:rotate(5deg)!important}
.fishingBBQ .grillFish.f3{left:40px!important;transform:rotate(-4deg)!important}

/* 모닥불 아래 장작이 여러 개 엇갈려 쌓인 느낌 */
.fishingCampfire{
  position:absolute!important;
  right:11px!important;
  top:43px!important;
  width:78px!important;
  height:79px!important;
  z-index:6!important;
}
.fishingCampfire .stackedLogs{
  position:absolute!important;
  left:4px!important;
  bottom:0!important;
  width:70px!important;
  height:38px!important;
  display:block!important;
}
.fishingCampfire .stackedLogs i{
  position:absolute!important;
  font-style:normal!important;
  font-size:34px!important;
  line-height:1!important;
  filter:drop-shadow(0 3px 2px #0004)!important;
}
.fishingCampfire .stackedLogs i:nth-child(1){left:3px!important;bottom:3px!important;transform:rotate(16deg)!important}
.fishingCampfire .stackedLogs i:nth-child(2){right:2px!important;bottom:4px!important;transform:rotate(-17deg)!important}
.fishingCampfire .stackedLogs i:nth-child(3){left:15px!important;bottom:12px!important;transform:rotate(-6deg)!important}
.fishingCampfire .stackedLogs i:nth-child(4){right:14px!important;bottom:14px!important;transform:rotate(8deg)!important}
.fishingCampfire .fireFlame{
  left:16px!important;
  bottom:24px!important;
  font-size:50px!important;
  z-index:5!important;
}

/* 모든 수확/채광 오브젝트는 하천과 분리된 두 육지에만 배치 */
#field #spots .spot{
  z-index:18!important;
}
#field #oreNodes .oreNode{
  z-index:17!important;
}
/* 하천은 시각/클릭 영역상 채집물 아래로 명확히 분리 */
#field .river{
  z-index:8!important;
}

.fishingBBQ .grillBody{display:none!important}
.fishingCampfire .fireLogs{display:none!important}

/* ===== v0.5.13 글램핑 낚시터 / 야간 자연산맵 / 배치 재정리 ===== */

/* 자연산 수확 맵: 은은한 밤 분위기 */
#field{
  background:
    linear-gradient(180deg,#17283d 0 21%,#243e3f 21% 31%,#395847 31% 100%)!important;
}
#field:before{
  content:""!important;
  position:absolute!important;inset:0!important;
  background:
    radial-gradient(circle at 12% 9%,#fff7c7 0 1px,transparent 2px),
    radial-gradient(circle at 28% 14%,#dce9ff 0 1px,transparent 2px),
    radial-gradient(circle at 45% 7%,#fff7c7 0 1px,transparent 2px),
    radial-gradient(circle at 66% 13%,#dce9ff 0 1px,transparent 2px),
    radial-gradient(circle at 84% 8%,#fff7c7 0 1px,transparent 2px),
    linear-gradient(180deg,#101d31cc 0 30%,transparent 52%)!important;
  opacity:1!important;
  pointer-events:none!important;
  z-index:0!important;
}
#field .river{
  background:linear-gradient(180deg,#3e7891,#2d6178)!important;
  box-shadow:inset 0 4px 8px #9ed8e433,0 0 18px #12293c88!important;
}

/* 자연산 텃밭은 강 위쪽에 한 줄 */
#field #spots .spot{top:21%!important}
#field #spots .spot:nth-child(1){left:14%!important}
#field #spots .spot:nth-child(2){left:36%!important}
#field #spots .spot:nth-child(3){left:60%!important}
#field #spots .spot:nth-child(4){left:84%!important}

/* 광석은 강 아래쪽에 한 줄 */
#field #oreNodes .oreNode{top:82%!important}

/* 글램핑 텐트형 낚시터 */
.fishingStation{
  width:278px!important;
  height:190px!important;
  left:86%!important;
  top:24%!important;
}
.glampingTent{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
}
.glampingTent .tentCanopy{
  position:absolute!important;
  left:16px!important;right:16px!important;top:5px!important;height:132px!important;
  background:linear-gradient(180deg,#efe7d9,#d6c7ad)!important;
  clip-path:polygon(50% 0,100% 34%,90% 100%,10% 100%,0 34%)!important;
  border-radius:28px!important;
  filter:drop-shadow(0 10px 10px #0005)!important;
}
.glampingTent .tentCanopy:after{
  content:""!important;
  position:absolute!important;
  left:42px!important;right:42px!important;top:42px!important;bottom:14px!important;
  background:linear-gradient(180deg,#25344bde,#1a2638e8)!important;
  border-radius:28px 28px 16px 16px!important;
  box-shadow:inset 0 0 0 3px #f3d8a877!important;
}
.glampingTent .tentCurtain{
  position:absolute!important;
  top:54px!important;width:48px!important;height:86px!important;
  background:linear-gradient(90deg,#eadfc8,#cdbb9e)!important;
  z-index:2!important;
}
.glampingTent .tentCurtain.left{
  left:28px!important;
  clip-path:polygon(0 0,100% 12%,70% 100%,0 100%)!important;
}
.glampingTent .tentCurtain.right{
  right:28px!important;
  clip-path:polygon(0 12%,100% 0,100% 100%,30% 100%)!important;
}
.glampingTent .tentLights{
  position:absolute!important;
  left:50%!important;top:33px!important;transform:translateX(-50%)!important;
  color:#ffe39a!important;font-size:13px!important;letter-spacing:10px!important;
  text-shadow:0 0 7px #ffd76b!important;
  z-index:5!important;
  animation:tentTwinkle 2.4s ease-in-out infinite alternate!important;
}
@keyframes tentTwinkle{from{opacity:.65}to{opacity:1}}

/* 내부 하늘정원 바닥은 텐트 내부 라운지처럼 */
.fishingDeck{
  left:40px!important;top:70px!important;width:198px!important;height:76px!important;
  border:2px solid #d8c79c!important;border-radius:24px!important;
  background:
    radial-gradient(circle at 18% 20%,#ffffff99 0 7px,transparent 8px),
    linear-gradient(180deg,#65806b 0%,#577560 58%,#445f50 100%)!important;
  box-shadow:inset 0 2px #ffffff55,0 7px 10px #0004!important;
  z-index:3!important;
}
.fishingChair{left:111px!important;top:68px!important;z-index:6!important}
.fishingBBQ{left:50px!important;top:87px!important;z-index:7!important}
.fishingCampfire{right:42px!important;top:79px!important;z-index:7!important}
.fishingSign{
  right:38px!important;top:46px!important;
  background:#3e3025dd!important;color:#ffe5ae!important;z-index:8!important
}
.fishingStationAction{
  top:154px!important;
  z-index:15!important;
}
.fishingStationAction.stopFishing{top:157px!important}

/* 파종 구멍: 기존보다 작게 */
#farm .plot{
  width:42px!important;
  height:36px!important;
}
#farm .emptyPlot .plantHole{
  width:31px!important;
  height:20px!important;
  box-shadow:
    inset 0 5px 6px #0d0604dd,
    inset 0 -2px 3px #d6a16b44,
    0 0 0 1px #d39a5d66,
    0 3px 2px #0003!important;
}
#farm .emptyPlot .plantHole:after{
  font-size:7px!important;
}
#farm .plot .plant{
  width:46px!important;height:46px!important;
  font-size:27px!important;
}

/* ===== v0.5.14 양동이 초근접 / 캐릭터 앞 표시 / 생선 그릴 ===== */
#bucketPoints .bucketPoint{
  min-width:0!important;width:auto!important;height:auto!important;
  padding:3px 5px!important;font-size:6px!important;line-height:1!important;
  border-width:1px!important;border-radius:5px!important;
  box-shadow:0 2px 0 #3d2b1a,0 3px 5px #0003!important;
  white-space:nowrap!important
}
.fishingBBQ .grillFish{
  display:block!important;position:absolute!important;top:10px!important;
  width:19px!important;height:8px!important;border-radius:60% 45% 45% 60%!important;
  background:linear-gradient(180deg,#d9edf2,#6f9eaa)!important;
  border:1px solid #405e65!important;z-index:12!important;box-sizing:border-box!important;
  filter:drop-shadow(0 1px 1px #0005)!important
}
.fishingBBQ .grillFish:before{
  content:""!important;position:absolute!important;left:-6px!important;top:0!important;
  width:0!important;height:0!important;border-top:4px solid transparent!important;
  border-bottom:4px solid transparent!important;border-right:7px solid #789da4!important
}
.fishingBBQ .grillFish:after{
  content:"•"!important;position:absolute!important;right:2px!important;top:-5px!important;
  color:#18282c!important;font-size:9px!important;line-height:8px!important
}
.fishingBBQ .grillFish.f1{left:7px!important;transform:rotate(-8deg)!important}
.fishingBBQ .grillFish.f2{left:23px!important;top:12px!important;transform:rotate(5deg)!important;background:linear-gradient(180deg,#f1d9a9,#b17b4b)!important}
.fishingBBQ .grillFish.f3{left:39px!important;transform:rotate(-5deg)!important}
.fishingBBQ:before{z-index:2!important}
.fishingBBQ:after{z-index:1!important}

/* ===== v0.5.15 최종 배치/연출 보정 ===== */

/* 파종: 토지 내부에 수평/수직 3x5 정렬 + 더 작은 구멍 */
#farm #plots .plot{width:34px!important;height:28px!important}
#farm .emptyPlot .plantHole{
  width:25px!important;height:15px!important;
  border-radius:50%!important
}
#farm .emptyPlot .plantHole:after{
  font-size:6px!important;
  white-space:nowrap!important
}
/* 심은 뒤 이름/시간은 한 줄로 고정: "당근 45초" */
#farm .plot .plant{
  width:52px!important;height:50px!important;
  overflow:visible!important
}
#farm .plot .plant small{
  display:block!important;
  width:max-content!important;
  min-width:48px!important;
  max-width:none!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  line-height:1!important;
  padding:3px 5px!important;
  font-size:8px!important;
  margin-top:-2px!important
}

/* 픽업 미션 UI: 차량 센터에 맞춰 살짝 왼쪽 + 아래 */
#farm .truckSeedUI{
  left:47.5%!important;
  top:84.5%!important
}

/* 픽업이 일하는 동안 머플러에서 흰 연기가 계속 뿜어져 나옴 */
#farm .truckExhaust{
  display:none!important;
  position:absolute!important;
  left:-28px!important;
  top:79px!important;
  width:88px!important;height:46px!important;
  z-index:-1!important;
  overflow:visible!important
}
#farm .missionRunning .truckExhaust{display:block!important}
#farm .truckExhaust b{
  display:block!important;
  position:absolute!important;
  left:22px!important;top:13px!important;
  width:18px!important;height:18px!important;
  border-radius:50%!important;
  background:#fff!important;
  opacity:.88!important;
  filter:blur(.8px)!important;
  animation:whiteTruckSmoke 1.7s ease-out infinite!important
}
#farm .truckExhaust b:nth-child(2){animation-delay:.28s!important}
#farm .truckExhaust b:nth-child(3){animation-delay:.56s!important}
#farm .truckExhaust b:nth-child(4){animation-delay:.84s!important}
#farm .truckExhaust b:nth-child(5){animation-delay:1.12s!important}
@keyframes whiteTruckSmoke{
  0%{transform:translate(12px,0) scale(.45);opacity:0}
  12%{opacity:.92}
  100%{transform:translate(-58px,-22px) scale(1.65);opacity:0}
}

/* 창문 안에 선글라스 낀 농부가 살짝 보이게 */
#farm .truckDriver{
  position:absolute!important;
  left:142px!important;
  top:45px!important;
  z-index:9!important;
  font-size:25px!important;
  line-height:1!important;
  transform:rotate(2deg) scale(.82)!important;
  clip-path:inset(0 0 28% 0 round 8px)!important;
  filter:drop-shadow(0 1px 1px #0006)!important;
  pointer-events:none!important
}

/* 낚시터 표기는 텐트 머리 위 */
.fishingSign{
  left:50%!important;
  right:auto!important;
  top:-14px!important;
  transform:translateX(-50%)!important;
  z-index:20!important;
  white-space:nowrap!important
}

/* 바베큐 근처 핑크 꽃 제거 */
.fishingDeck .skyFlower:first-of-type{display:none!important}

/* 모닥불은 바베큐 왼쪽, 텐트 살짝 바깥 */
.fishingCampfire{
  left:-22px!important;
  right:auto!important;
  top:90px!important;
  z-index:12!important
}
.fishingBBQ{
  left:55px!important;
  top:91px!important
}

/* 자연산 필드에 은은한 비 */
#field .fieldRain{
  position:absolute!important;
  inset:0!important;
  z-index:30!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:.38!important;
  background-image:
    repeating-linear-gradient(105deg,transparent 0 18px,#d9efff99 19px 20px,transparent 21px 39px)!important;
  background-size:70px 110px!important;
  animation:fieldRainFall .75s linear infinite!important
}
@keyframes fieldRainFall{
  from{background-position:0 -110px}
  to{background-position:-22px 0}
}

/* 자연산 텃밭: 강 위쪽 육지의 하단선에 일렬 */
#field #spots .spot{top:29%!important}

/* 광석: 강 아래쪽 육지 거의 맵 하단에 일렬 */
#field #oreNodes .oreNode{top:90%!important}

/* 강철 광맥: 이모지 렌더링에 의존하지 않는 확실한 금속 광석 이미지 */
#field .oreNode.steel .oreRock{
  position:relative!important;
  color:transparent!important;
  background:
    radial-gradient(circle at 27% 25%,#f2f7f8 0 7%,transparent 8%),
    radial-gradient(circle at 67% 36%,#d9e2e6 0 9%,transparent 10%),
    radial-gradient(circle at 44% 68%,#a9b8be 0 10%,transparent 11%),
    linear-gradient(145deg,#cbd5d9 0 20%,#75868d 21% 52%,#3d494e 53% 100%)!important;
  border-color:#3e4a4f!important;
  box-shadow:
    inset -10px -10px 0 #26323855,
    inset 8px 8px 0 #ffffff55,
    0 5px 0 #253035!important
}
#field .oreNode.steel .oreRock:before,
#field .oreNode.steel .oreRock:after{
  content:""!important;
  position:absolute!important;
  border-radius:45% 55% 50% 42%!important;
  background:linear-gradient(145deg,#e4ebed,#687a81)!important;
  border:3px solid #46545a!important;
  bottom:-3px!important
}
#field .oreNode.steel .oreRock:before{
  width:35px!important;height:29px!important;left:-12px!important
}
#field .oreNode.steel .oreRock:after{
  width:31px!important;height:25px!important;right:-10px!important
}

/* ===== v0.5.16 상하 UI 통일 / 이동문구 제거 / 광석 색상 보정 ===== */

/* 하단 농부 프로필을 상단 CHAMISUL FARM 배너와 같은 초록 판타지 농장 계열로 통일 */
#profileBar,.profileBar,#bottomProfile,.bottomProfile{
  background:
    linear-gradient(180deg,#6f9f58 0%,#527d44 48%,#355b34 100%)!important;
  border-top:3px solid #a7cd7c!important;
  border-bottom:3px solid #28472b!important;
  box-shadow:
    inset 0 2px 0 #d9f2b955,
    inset 0 -2px 0 #203d2677,
    0 -5px 16px #1a2b1c55!important;
  color:#f6f2d0!important;
  position:relative!important;
  overflow:hidden!important;
}
#profileBar:before,.profileBar:before,#bottomProfile:before,.bottomProfile:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 12% 40%,#cfeaa466 0 3px,transparent 4px),
    radial-gradient(circle at 34% 65%,#dcefb666 0 2px,transparent 3px),
    radial-gradient(circle at 67% 35%,#d2eda855 0 3px,transparent 4px),
    radial-gradient(circle at 88% 60%,#e2f2c266 0 2px,transparent 3px)!important;
  animation:profileLeafGlow 4.2s ease-in-out infinite alternate!important;
  pointer-events:none!important;
}
@keyframes profileLeafGlow{
  from{transform:translateX(-8px);opacity:.45}
  to{transform:translateX(8px);opacity:.9}
}
#profileBar .profileCard,.profileBar .profileCard,#bottomProfile .profileCard,.bottomProfile .profileCard{
  background:linear-gradient(180deg,#2f4f32dd,#263e2add)!important;
  border:1px solid #9bc67a88!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 #dff2c844,0 3px 7px #0003!important;
}
#profileBar b,.profileBar b,#bottomProfile b,.bottomProfile b{color:#fff4c4!important}
#profileBar small,.profileBar small,#bottomProfile small,.bottomProfile small{color:#d9eccb!important}

/* 캐릭터 아래 이동 도움말은 어떤 클래스명이 남아도 숨김 */
#farmerMoveHint,.farmerMoveHint,.moveHint,.movementHint,.controlHint,.moveHelp,.farmerHelp{
  display:none!important
}

/* 광맥 공통 형태: 구리/강철 모두 같은 이미지 형태 */
#field .oreNode .oreRock{
  position:relative!important;
  display:block!important;
  width:58px!important;height:44px!important;
  border-radius:42% 55% 45% 50%!important;
  border:4px solid #4b5559!important;
  box-sizing:border-box!important;
  color:transparent!important;
  background:
    radial-gradient(circle at 26% 23%,#ffffffaa 0 6%,transparent 7%),
    radial-gradient(circle at 64% 35%,#ffffff55 0 8%,transparent 9%),
    radial-gradient(circle at 45% 70%,#00000022 0 10%,transparent 11%),
    linear-gradient(145deg,#c7d2d6 0 18%,#84959c 19% 54%,#4c5b61 55% 100%)!important;
  box-shadow:
    inset -9px -9px 0 #26323844,
    inset 8px 8px 0 #ffffff44,
    0 5px 0 #283338!important
}
#field .oreNode .oreRock:before,
#field .oreNode .oreRock:after{
  content:""!important;
  position:absolute!important;
  bottom:-6px!important;
  border-radius:48% 52% 45% 55%!important;
  border:3px solid #4b5559!important;
  box-sizing:border-box!important;
  background:inherit!important;
}
#field .oreNode .oreRock:before{
  width:35px!important;height:28px!important;left:-11px!important
}
#field .oreNode .oreRock:after{
  width:30px!important;height:24px!important;right:-9px!important
}

/* 강철 = 실제 회색 금속 */
#field .oreNode.steel .oreRock{
  border-color:#46555b!important;
  background:
    radial-gradient(circle at 26% 23%,#f4fafc 0 6%,transparent 7%),
    radial-gradient(circle at 64% 35%,#d9e4e8 0 8%,transparent 9%),
    radial-gradient(circle at 45% 70%,#53646b55 0 10%,transparent 11%),
    linear-gradient(145deg,#d9e2e5 0 18%,#8a9ba2 19% 54%,#4a5960 55% 100%)!important
}
#field .oreNode.steel .oreRock:before,
#field .oreNode.steel .oreRock:after{
  border-color:#46555b!important;
  background:linear-gradient(145deg,#d7e1e4,#687b83)!important
}

/* 구리 = 동일 이미지, 실제 구리색 계열 */
#field .oreNode.copper .oreRock{
  border-color:#6b3f27!important;
  background:
    radial-gradient(circle at 26% 23%,#ffd8b8 0 6%,transparent 7%),
    radial-gradient(circle at 64% 35%,#e8a47b 0 8%,transparent 9%),
    radial-gradient(circle at 45% 70%,#5f2e1f55 0 10%,transparent 11%),
    linear-gradient(145deg,#d58b5a 0 18%,#a85f36 19% 54%,#67351f 55% 100%)!important;
  box-shadow:
    inset -9px -9px 0 #4b241955,
    inset 8px 8px 0 #ffd1af55,
    0 5px 0 #45251a!important
}
#field .oreNode.copper .oreRock:before,
#field .oreNode.copper .oreRock:after{
  border-color:#6b3f27!important;
  background:linear-gradient(145deg,#d98f5d,#8d492b)!important
}

/* 낚시 의자 조금 더 크게 */
.fishingChair{
  font-size:64px!important;
  transform-origin:center bottom!important
}

/* ===== v0.5.17 감성 비 / 농장 식생 / 후방 매연 / 팜랜드 제거 ===== */

/* 기존 균일한 빗줄기 배경 제거 */
#field .fieldRain{
  position:absolute!important;inset:0!important;
  z-index:30!important;pointer-events:none!important;overflow:hidden!important;
  opacity:1!important;background:none!important;animation:none!important
}
#field .fieldRain i{
  position:absolute!important;
  width:1px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,transparent,#e7f5ff 30%,#b9ddec 100%)!important;
  box-shadow:0 0 2px #dff6ff66!important;
  transform:rotate(8deg)!important;
  animation:softIrregularRain linear infinite!important
}
@keyframes softIrregularRain{
  0%{transform:translate(0,-34px) rotate(8deg);filter:blur(.15px)}
  72%{opacity:var(--rain-opacity, .4)}
  100%{transform:translate(-9px,118px) rotate(8deg);opacity:0;filter:blur(.35px)}
}
/* 이슬비~약한 소나기 사이: 전체 밀도/강도 낮춤 */
#field .fieldRain i:nth-child(4n){width:1.4px!important}
#field .fieldRain i:nth-child(5n){filter:blur(.45px)!important}
#field .fieldRain i:nth-child(7n){height:5px!important;opacity:.16!important}

/* 자연산 장소 기존 꽃/식물 장식은 약 1/3만 남김 */
#field .wildFlowers span:not(:nth-child(3n)),
#field .wildFieldDecor span:not(:nth-child(3n)),
#field .wildGrassTufts span:not(:nth-child(3n)){
  display:none!important
}

/* 자연산에 있던 느낌의 꽃/풀을 내 농장에 랜덤 분산 */
#farm .farmFloraDecor{
  position:absolute!important;inset:0!important;
  z-index:3!important;pointer-events:none!important;overflow:hidden!important
}
#farm .farmFloraDecor span{
  position:absolute!important;
  font-size:18px!important;
  line-height:1!important;
  filter:drop-shadow(0 2px 1px #29492744)!important;
  animation:farmFloraSway 2.8s ease-in-out infinite alternate!important
}
#farm .farmFloraDecor span:nth-child(3n){animation-duration:3.7s!important}
#farm .farmFloraDecor span:nth-child(4n){animation-delay:-1.4s!important}
@keyframes farmFloraSway{
  from{translate:-1px 0;rotate:-3deg}
  to{translate:1px -1px;rotate:4deg}
}

/* FARM LAND 전용 토지 이미지/문구 제거: 농장 바닥을 하나의 동일한 흙밭으로 */
#farm .farmland,#farm .farmLand,#farm .farm-land,
#farm .leftFarmland,#farm .rightFarmland,
#farm .farmSoilLabel,#farm .farmlandLabel{
  display:none!important
}
#farm{
  background:
    radial-gradient(ellipse at 18% 38%,#b9824f33 0 2px,transparent 3px),
    radial-gradient(ellipse at 74% 61%,#8f5f3d33 0 2px,transparent 3px),
    linear-gradient(180deg,#a97447 0%,#98623e 52%,#895738 100%)!important
}
/* 좌우 토지 구획에 억지로 맞출 필요 없이 전체 밭 안에서 정렬 */
#farm #plots{z-index:7!important}

/* 픽업 매연: 차량 뒤쪽(좌측 후미)으로 확실히 이동 */
#farm .truckExhaust{
  left:-58px!important;
  top:67px!important;
  width:105px!important;
  z-index:2!important
}
@keyframes whiteTruckSmoke{
  0%{transform:translate(20px,0) scale(.42);opacity:0}
  12%{opacity:.9}
  100%{transform:translate(-72px,-20px) scale(1.7);opacity:0}
}

/* ===== v0.5.18 자연산 좌측 분산 / 채광 4개 자연 배치 ===== */

/* 자연산 텃밭: 낚시터가 있는 우측을 비우고 좌측~중앙 왼쪽에 골고루 분산 */
#field #spots .spot:nth-child(1){left:10%!important;top:20%!important}
#field #spots .spot:nth-child(2){left:25%!important;top:24%!important}
#field #spots .spot:nth-child(3){left:40%!important;top:19%!important}
#field #spots .spot:nth-child(4){left:54%!important;top:25%!important}

/* 광석 4개: 강 아래쪽에서 너무 반듯하지 않게 살짝 위아래/간격 변화 */
#field #oreNodes .oreNode:nth-child(1){left:14%!important;top:87%!important}
#field #oreNodes .oreNode:nth-child(2){left:37%!important;top:91%!important}
#field #oreNodes .oreNode:nth-child(3){left:63%!important;top:86%!important}
#field #oreNodes .oreNode:nth-child(4){left:86%!important;top:92%!important}

/* ===== v0.5.19 비 복구 / 트럭 하향 / 텃밭 이미지 완전 제거 ===== */

/* 비: 반드시 보이는 적당한 불규칙 빗줄기 */
#field .fieldRain{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:35!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:.72!important
}
#field .fieldRain i{
  display:block!important;
  position:absolute!important;
  width:1.2px!important;
  min-height:9px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,transparent 0%,#eef9ffbb 25%,#b8dcea 100%)!important;
  box-shadow:0 0 2px #dff7ff77!important;
  animation-name:softRainVisible!important;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important
}
@keyframes softRainVisible{
  0%{transform:translate3d(8px,-38px,0) rotate(9deg);opacity:0}
  10%{opacity:.55}
  82%{opacity:.38}
  100%{transform:translate3d(-10px,145px,0) rotate(9deg);opacity:0}
}
#field .fieldRain i:nth-child(3n){width:.8px!important;opacity:.28!important}
#field .fieldRain i:nth-child(4n){transform:rotate(12deg)}
#field .fieldRain i:nth-child(7n){width:1.6px!important}

/* 픽업트럭 본체를 아래로 내려 타이머/미션 표기와 가까워지게 */
#farm .pickupTruck,
#farm .truck,
#farm #pickupTruck{
  top:43%!important
}
/* 기존 truck 컨테이너가 다른 이름일 경우 blueTruck 기준 부모 보정 */
#farm .blueTruck{
  position:relative!important;
  top:28px!important
}
#farm .truckDriver{top:73px!important}
#farm .truckExhaust{top:95px!important}

/* 내 농장: 텃밭/밭 이미지 자체를 완전히 제거 */
#farm .farmland,
#farm .farmLand,
#farm .farm-land,
#farm .leftFarmland,
#farm .rightFarmland,
#farm .farmSoil,
#farm .soilPatch,
#farm .soilBed,
#farm .farmBed,
#farm .plotBed,
#farm .landPatch,
#farm .fieldPatch,
#farm .farmSoilLabel,
#farm .farmlandLabel{
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important
}

/* 농장 전체를 동일한 갈색 잔디/흙 땅으로 통일 */
#farm{
  background:
    radial-gradient(ellipse at 9% 18%,#cf9a6744 0 1px,transparent 2px),
    radial-gradient(ellipse at 23% 64%,#6e472c33 0 1.5px,transparent 2.5px),
    radial-gradient(ellipse at 48% 31%,#d4a06d33 0 1px,transparent 2px),
    radial-gradient(ellipse at 72% 74%,#70492e33 0 1.5px,transparent 2.5px),
    radial-gradient(ellipse at 91% 43%,#d5a27133 0 1px,transparent 2px),
    linear-gradient(180deg,#aa774a 0%,#9a6842 48%,#8c5d3c 100%)!important;
}

/* 심는 위치/구멍/작물 표기만 남긴다 */
#farm #plots{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  z-index:8!important
}
#farm #plots .plot{
  background:none!important;
  border:0!important;
  box-shadow:none!important
}

/* ===== v0.5.20 낚시터/토지/장식 보정 ===== */

/* 토지 네모칸 완전 제거: 실제 .soil 요소가 남아도 절대 표시하지 않음 */
#farm .soil,
#farm .leftSoil,
#farm .rightSoil,
#farm .soil::before,
#farm .soil::after,
#farm .leftSoil::before,
#farm .leftSoil::after,
#farm .rightSoil::before,
#farm .rightSoil::after{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important
}

/* 낚시터 팻말 조금 더 크게 */
.fishingSign{
  font-size:13px!important;
  padding:6px 11px!important;
  border-radius:8px!important;
  top:-18px!important;
  min-width:74px!important;
  text-align:center!important
}

/* 글램핑 텐트를 아주 살짝 위로 */
.fishingStation{
  top:21.8%!important
}

/* 바베큐 그릴은 완전히 삭제 */
.fishingBBQ{display:none!important}

/* 의자 옆의 작은 장작 모닥불 */
.fishingCampfire.compactCampfire{
  position:absolute!important;
  left:76px!important;
  right:auto!important;
  top:95px!important;
  width:46px!important;
  height:47px!important;
  z-index:7!important;
  pointer-events:none!important
}
.fishingCampfire .compactLogs{
  position:absolute!important;
  left:5px!important;
  bottom:2px!important;
  width:37px!important;
  height:19px!important;
  display:block!important;
  z-index:3!important;
  animation:logsWarmGlow 2.1s ease-in-out infinite alternate!important
}
.fishingCampfire .compactLogs .log{
  position:absolute!important;
  width:25px!important;
  height:8px!important;
  border-radius:6px!important;
  background:
    repeating-linear-gradient(90deg,#3d2417 0 3px,#7f4b2d 4px 8px,#51301e 9px 12px)!important;
  border:1px solid #2e1b12!important;
  box-shadow:inset 0 1px #d78a4b55,0 2px 2px #0004!important
}
.fishingCampfire .compactLogs .l1{left:0!important;bottom:2px!important;transform:rotate(24deg)!important}
.fishingCampfire .compactLogs .l2{right:0!important;bottom:2px!important;transform:rotate(-24deg)!important}
.fishingCampfire .compactLogs .l3{left:6px!important;bottom:9px!important;transform:rotate(6deg)!important}
.fishingCampfire .compactLogs .l4{right:6px!important;bottom:9px!important;transform:rotate(-6deg)!important}
@keyframes logsWarmGlow{
  from{filter:drop-shadow(0 0 1px #ff7b2488)}
  to{filter:drop-shadow(0 0 4px #ff9d3aaa)}
}
.fishingCampfire .compactFlame{
  position:absolute!important;
  left:8px!important;
  bottom:11px!important;
  font-size:28px!important;
  line-height:1!important;
  z-index:5!important;
  transform-origin:center bottom!important;
  animation:smallCampFlame .62s ease-in-out infinite alternate!important
}
@keyframes smallCampFlame{
  from{transform:scale(.82,.9) rotate(-2deg);filter:drop-shadow(0 0 3px #ff7c20)}
  to{transform:scale(.94,1.08) rotate(2deg);filter:drop-shadow(0 0 6px #ffb13b)}
}
.fishingCampfire .ember{
  position:absolute!important;
  width:2px!important;height:2px!important;
  border-radius:50%!important;background:#ffd36a!important;
  z-index:6!important;
  opacity:0!important;
  animation:tinyEmber 1.45s ease-out infinite!important
}
.fishingCampfire .ember.e1{left:16px!important;bottom:28px!important}
.fishingCampfire .ember.e2{left:26px!important;bottom:26px!important;animation-delay:.46s!important}
.fishingCampfire .ember.e3{left:21px!important;bottom:31px!important;animation-delay:.88s!important}
@keyframes tinyEmber{
  0%{transform:translateY(0) scale(.7);opacity:0}
  25%{opacity:.9}
  100%{transform:translateY(-13px) translateX(3px) scale(.2);opacity:0}
}

/* 과거 큰 모닥불 규칙이 덮어쓰지 않도록 강제 */
.fishingCampfire .stackedLogs,
.fishingCampfire .fireFlame,
.fishingCampfire .fireSpark,
.fishingCampfire .fireLogs{
  display:none!important
}

/* 농장 꽃/식물은 조금 작게, 전체 구역에 균등하게 보이도록 */
#farm .farmFloraDecor span{
  font-size:16px!important;
  opacity:.92!important
}

/* ===== v0.5.21 꽃/파종/프로필/비 최종 보정 ===== */

/* 꽃/식물: 센터와 재배 구역에도 자연스럽게 섞임 */
#farm .farmFloraDecor{z-index:4!important}
#farm .farmFloraDecor span{
  font-size:15px!important;
  opacity:.88!important;
  filter:drop-shadow(0 1px 1px #24431f55)!important;
  animation:farmFlowerBreeze 3.1s ease-in-out infinite alternate!important
}
#farm .farmFloraDecor span:nth-child(4n){animation-duration:4.2s!important}
#farm .farmFloraDecor span:nth-child(5n){animation-delay:-1.7s!important}
@keyframes farmFlowerBreeze{
  from{translate:-.5px 0;rotate:-2deg}
  to{translate:.7px -1px;rotate:3deg}
}

/* 맨홀 같은 파종 구멍 -> 작고 귀여운 폭신한 흙 파임 */
#farm .emptyPlot .plantHole{
  width:23px!important;
  height:13px!important;
  border-radius:48% 52% 46% 54%!important;
  background:
    radial-gradient(ellipse at 50% 64%,#6b3f28 0 43%,#815238 44% 62%,#b77b50 63% 76%,transparent 77%)!important;
  border:0!important;
  box-shadow:
    inset 0 2px 3px #3c211788,
    0 1px 0 #d6a07066!important;
  transform:rotate(-2deg)!important
}
#farm .emptyPlot .plantHole:before{
  content:"🌱"!important;
  position:absolute!important;
  left:50%!important;
  top:-8px!important;
  transform:translateX(-50%) scale(.55)!important;
  opacity:.72!important;
  filter:saturate(.8)!important
}
#farm .emptyPlot .plantHole:after{
  content:"심기"!important;
  position:absolute!important;
  left:50%!important;
  top:14px!important;
  transform:translateX(-50%)!important;
  font-size:6px!important;
  color:#f6e0b9!important;
  background:#6a442dcc!important;
  border-radius:5px!important;
  padding:1px 3px!important;
  white-space:nowrap!important;
  box-shadow:none!important
}

/* 하단 프로필: 상단 CHAMISUL FARM과 같은 밝은 초록/크림/골드 계열 */
.profileHud,
#profileHud,
.bottomHud,
#bottomHud,
#profileBar,
.profileBar,
#bottomProfile,
.bottomProfile{
  background:
    linear-gradient(180deg,#7eaa5b 0%,#608b48 47%,#456d3b 100%)!important;
  border-top:3px solid #c8e49a!important;
  border-bottom:3px solid #2d5130!important;
  box-shadow:
    inset 0 2px 0 #eff9d966,
    inset 0 -3px 0 #294a2c66,
    0 -5px 14px #19311d55!important;
  color:#fff4cc!important
}
.profileHud:before,#profileHud:before,.bottomHud:before,#bottomHud:before,
#profileBar:before,.profileBar:before,#bottomProfile:before,.bottomProfile:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 8% 45%,#e7f5bb66 0 2px,transparent 3px),
    radial-gradient(circle at 26% 25%,#d5eda466 0 3px,transparent 4px),
    radial-gradient(circle at 52% 70%,#eff8c855 0 2px,transparent 3px),
    radial-gradient(circle at 76% 30%,#d8eeaa66 0 3px,transparent 4px),
    radial-gradient(circle at 93% 60%,#f0f7cb55 0 2px,transparent 3px)!important;
  animation:bottomFarmGlow 4.6s ease-in-out infinite alternate!important
}
@keyframes bottomFarmGlow{
  from{background-position:-8px 0;opacity:.5}
  to{background-position:8px -2px;opacity:.95}
}

/* 자연산 필드 비: 항상 유지되되 과하지 않고 불규칙 */
#field .fieldRain{
  display:block!important;
  opacity:1!important;
  background:none!important;
  animation:none!important;
  z-index:35!important
}
#field .fieldRain i{
  display:block!important;
  position:absolute!important;
  width:1px!important;
  border-radius:50% 50% 70% 70%!important;
  background:linear-gradient(180deg,transparent 0%,#edf9ffcc 32%,#b9dce9aa 100%)!important;
  box-shadow:0 0 2px #d9f3ff55!important;
  animation-name:gentleRandomRain!important;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important
}
@keyframes gentleRandomRain{
  0%{transform:translate3d(6px,-35px,0) rotate(8deg);opacity:0}
  12%{opacity:var(--rop,.34)}
  78%{opacity:var(--rop,.34)}
  100%{transform:translate3d(calc(var(--drift,8px) * -1),135px,0) rotate(10deg);opacity:0}
}
#field .fieldRain i:nth-child(3n){width:.7px!important;filter:blur(.2px)!important}
#field .fieldRain i:nth-child(5n){width:1.3px!important}
#field .fieldRain i:nth-child(7n){opacity:.18!important}

/* ===== v0.5.22 요청사항 확정 보정 ===== */

/* 파종 구멍: 귀여운 형태 유지하면서 조금 더 잘 보이게 확대 */
#farm .emptyPlot .plantHole{
  width:30px!important;
  height:18px!important;
}
#farm .emptyPlot .plantHole:before{
  top:-9px!important;
  transform:translateX(-50%) scale(.62)!important
}
#farm .emptyPlot .plantHole:after{
  top:18px!important;
  font-size:6px!important
}

/* 캐릭터 밑 문구/조작 안내/배너 완전 제거 */
#farmerMoveHint,.farmerMoveHint,
#moveHint,.moveHint,.movementHint,.controlHint,.moveHelp,.farmerHelp,
#actionHint,.actionHint,#farmerHint,.farmerHint,
#characterHint,.characterHint,.playerHint,.playerHint,
#fieldHint,.fieldHint,.movementBanner,.moveBanner,.controlBanner,
#farmer + .hint,#farmer + .banner,#farmer ~ .moveHint{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important
}

/* 픽업트럭 후방 매연: 트럭 왼쪽 후미 머플러 위치에 고정하고 더 왼쪽 뒤로 흐름 */
#farm .truckExhaust{
  display:none!important;
  position:absolute!important;
  left:-86px!important;
  right:auto!important;
  top:98px!important;
  width:125px!important;
  height:50px!important;
  z-index:3!important;
  overflow:visible!important;
  transform:none!important
}
#farm .missionRunning .truckExhaust{display:block!important}
#farm .truckExhaust b{
  left:72px!important;
  right:auto!important;
  top:9px!important;
  animation-name:rearOnlyTruckSmoke!important
}
@keyframes rearOnlyTruckSmoke{
  0%{transform:translate3d(0,0,0) scale(.38);opacity:0}
  10%{opacity:.92}
  100%{transform:translate3d(-82px,-20px,0) scale(1.65);opacity:0}
}

/* 낚싯대/줄: 텐트에서 강 중앙 방향(왼쪽 아래)으로 향하게 강제 */
#farmer.fishingSeated .fishingRod,
#farmer.fishingSeated .rod,
.fishingStation .fishingRod,
.fishingStation .rod{
  transform-origin:8% 50%!important;
  transform:rotate(154deg)!important
}
#farmer.fishingSeated .fishingRod:after,
#farmer.fishingSeated .rod:after,
.fishingStation .fishingRod:after,
.fishingStation .rod:after{
  width:128px!important;
  transform-origin:left center!important
}

/* ===== v0.5.23 자연산 텃밭 이름 제거 / 수확 가능 배너 밀착 ===== */

/* 자연산 텃밭의 이름/번호 계열은 완전히 숨김 */
#field #spots .spot .spotName,
#field #spots .spot .wildName,
#field #spots .spot .gardenName,
#field #spots .spot .title,
#field #spots .spot .name{
  display:none!important
}

/* 수확 가능 배너를 텃밭 바로 아래에 작고 깔끔하게 밀착 */
#field #spots .spot .badge,
#field #spots .spot .spotBadge,
#field #spots .spot .wildBadge,
#field #spots .spot .harvestBadge{
  position:absolute!important;
  left:50%!important;
  top:62px!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  padding:3px 7px!important;
  min-width:0!important;
  width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:8px!important;
  line-height:1.1!important;
  border-radius:7px!important;
  z-index:25!important
}

/* 텃밭과 배너가 한 묶음처럼 보이도록 */
#field #spots .spot{
  overflow:visible!important
}

/* ===== v0.5.24 재배 수확 팝업 ===== */

/* 내 농장 작물 위에 상시 떠있던 수확 문구/배너는 완전히 제거 */
#farm #plots .readyText,
#farm #plots .harvestText,
#farm #plots .cropReady,
#farm #plots .harvestReady,
#farm #plots .readyBadge,
#farm #plots .harvestBadge,
#farm #plots .cropBadge{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important
}

/* 수확 순간에만 작물 바로 위에 뜨는 짧은 팝업 */
#farm #plots .plot{overflow:visible!important}
#farm .cropHarvestPopup{
  position:absolute!important;
  left:50%!important;
  top:-21px!important;
  transform:translate(-50%,8px) scale(.82)!important;
  padding:4px 8px!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,#f7efc9,#e7d38e)!important;
  border:1px solid #846632!important;
  box-shadow:0 3px 7px #0004,inset 0 1px #fff9!important;
  color:#5d4721!important;
  font-weight:900!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  z-index:80!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .18s ease,transform .22s ease!important
}
#farm .cropHarvestPopup.show{
  opacity:1!important;
  transform:translate(-50%,0) scale(1)!important
}
#farm .cropHarvestPopup.hide{
  opacity:0!important;
  transform:translate(-50%,-15px) scale(.92)!important
}
/* 희귀 수확은 별도 강조 */
#farm .cropHarvestPopup.rare{
  background:linear-gradient(180deg,#ffd9f5,#eaa5d8)!important;
  border-color:#9a4f83!important;
  color:#71305f!important;
  text-shadow:0 1px #fff8!important;
  box-shadow:0 0 9px #ff9ce777,0 3px 7px #0004!important
}

/* ===== v0.5.26 상단 제목 좌측 정렬 + 홍보 포인트 교환 ===== */

/* 맨 위 제목/설명 배너는 중앙 정렬 금지, 전부 왼쪽 기준 */
header,
.topbar,
.topBar,
.hero,
.heroBanner,
.farmHeader,
#farmHeader,
.titleBanner,
#titleBanner,
.brandBanner,
#brandBanner{
  text-align:left!important
}
header h1,header h2,header h3,header p,
.topbar h1,.topbar h2,.topbar h3,.topbar p,
.topBar h1,.topBar h2,.topBar h3,.topBar p,
.hero h1,.hero h2,.hero h3,.hero p,
.farmHeader h1,.farmHeader h2,.farmHeader h3,.farmHeader p,
.titleBanner h1,.titleBanner h2,.titleBanner h3,.titleBanner p,
.brandBanner h1,.brandBanner h2,.brandBanner h3,.brandBanner p{
  text-align:left!important;
  margin-left:0!important;
  margin-right:auto!important
}

/* 상단 남는 공간에 들어가는 교환소 버튼 */
.topExchangeBtn{
  margin-left:auto!important;
  white-space:nowrap!important;
  background:linear-gradient(180deg,#fff2b7,#e8cb6f)!important;
  color:#4f4726!important;
  border:2px solid #6d8b49!important;
  border-radius:13px!important;
  padding:8px 12px!important;
  font-weight:900!important;
  box-shadow:0 3px 0 #466136,0 5px 10px #24391e44!important
}
.topExchangeBtn:hover{transform:translateY(-1px)!important;filter:brightness(1.04)!important}

/* 시장 판매창과 같은 계열의 귀여운 교환소 */
.promoExchangeMarket{padding:5px 2px 10px!important}
.promoExchangeIntro{
  display:flex!important;align-items:center!important;gap:10px!important;
  background:linear-gradient(180deg,#eef6cf,#d9e9ac)!important;
  border:2px solid #7d9b59!important;border-radius:14px!important;
  padding:10px!important;box-shadow:inset 0 1px #fff,0 3px 8px #263b1e33!important
}
.promoExchangeIntro p{margin:3px 0 0!important;font-size:11px!important;color:#536044!important}
.promoExchangeMascot{font-size:28px!important}
.promoGoldWallet{
  margin:9px 0!important;padding:8px 10px!important;text-align:right!important;
  border-radius:10px!important;background:#fff8dc!important;border:1px solid #d4b96c!important;
  color:#66521f!important
}
.promoExchangeTable{
  overflow:hidden!important;border:2px solid #7f9b5c!important;border-radius:13px!important;
  background:#fffdf2!important;box-shadow:0 4px 10px #25391d33!important
}
.promoExchangeHead,.promoExchangeRow{
  display:grid!important;grid-template-columns:1.1fr 1.25fr .8fr!important;
  align-items:center!important;text-align:center!important
}
.promoExchangeHead{
  padding:8px 6px!important;background:linear-gradient(180deg,#719c55,#557b43)!important;
  color:#fff8d9!important;font-size:10px!important;font-weight:900!important
}
.promoExchangeRow{padding:8px 6px!important;border-top:1px dashed #d5cda6!important}
.promoExchangeRow:nth-child(odd){background:#f5f7df!important}
.goldCost{font-weight:900!important;color:#70572c!important}
.pointGain{font-weight:900!important;color:#55713c!important}
.promoExchangeDo{
  border:1px solid #759353!important;border-radius:9px!important;
  padding:5px 7px!important;background:linear-gradient(#edf7c8,#cfe39a)!important;
  color:#486036!important;font-weight:900!important;cursor:pointer!important
}
.promoExchangeDo:disabled{opacity:.42!important;cursor:not-allowed!important;filter:grayscale(.45)!important}
.promoExchangeNote{font-size:9px!important;color:#7b765e!important;margin-top:8px!important;line-height:1.45!important}

/* ===== v0.5.27 농장 아래 통합 포인트 상점 ===== */
.farmPointShop{max-width:1180px;margin:24px auto 70px;padding:18px;background:linear-gradient(180deg,#f4f0d2,#e6e1bd);border:3px solid #65834c;border-radius:22px;box-shadow:0 9px 22px #26351d33,inset 0 2px #fff9;color:#4d5338}
.farmShopRoof{text-align:center;font-size:21px;letter-spacing:10px;margin:-31px 0 5px;filter:drop-shadow(0 2px 1px #fff)}
.farmShopHead{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 15px;background:linear-gradient(180deg,#789f5b,#587b47);border-radius:15px;color:#fffbe1;box-shadow:inset 0 2px #dcebbf55}
.farmShopHead small{font-size:8px;letter-spacing:2px;opacity:.8}.farmShopHead h2{margin:2px 0 3px;font-size:19px}.farmShopHead p{margin:0;font-size:10px;opacity:.9}
.farmShopWallet{background:#fff6c9;color:#5f562b;border:2px solid #d4b65e;border-radius:12px;padding:10px 13px;white-space:nowrap;font-size:11px}.farmShopWallet strong{font-size:15px}
.farmShopAccount,.farmShopCharacter{margin-top:9px;padding:9px 12px;border:1px solid #b8b486;border-radius:11px;background:#fffbed;font-size:10px}
.farmShopCharacter{display:flex;align-items:center;gap:10px}.farmShopCharacter select{flex:1;padding:7px;border:1px solid #9ca071;border-radius:8px;background:#fff}
.farmShopGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.farmShopCard{position:relative;text-align:center;background:linear-gradient(180deg,#fffdf1,#f2edcf);border:2px solid #a9a477;border-radius:14px;padding:12px 8px;box-shadow:0 4px 8px #28361e22;transition:.15s}
.farmShopCard:hover{transform:translateY(-2px);border-color:#739254}.farmShopIcon{font-size:28px}.farmShopName{font-weight:900;font-size:11px;margin:5px 0}.farmShopMeta{font-size:7px;color:#8a8468;min-height:18px}.farmShopPrice{margin:6px 0;color:#59703d;font-weight:900;font-size:11px}
.farmShopCard button{width:100%;border:1px solid #718e50;border-radius:8px;background:linear-gradient(#eaf4be,#c9dd91);padding:6px;color:#455b34;font-weight:900;cursor:pointer}.farmShopFoot{text-align:center;font-size:9px;color:#817b62;margin-top:12px}
@media(max-width:900px){.farmShopGrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.farmShopHead{display:block}.farmShopWallet{margin-top:8px}.farmShopGrid{grid-template-columns:repeat(2,1fr)}}

/* ===== v0.5.28 : 게임 화면 아래 스크롤 상점 강제 분리 ===== */
#farmPointShop.farmPointShop{
  position:relative!important;
  inset:auto!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  z-index:1!important;
  display:block!important;
  width:min(1180px,calc(100% - 28px))!important;
  box-sizing:border-box!important;
  clear:both!important;
  margin:34px auto 90px!important;
}
body{overflow-y:auto!important;}
/* 농장 플레이 화면보다 상점이 아래 문서 흐름에 오도록 */
.wrap{position:relative!important;z-index:2}
#farmPointShop{isolation:isolate}

/* ===== 자연산 수확 위 홍보 포인트 교환 배너 ===== */
.promoExchangeBanner{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  min-height:52px;
  box-sizing:border-box;
  margin:0 0 9px;
  padding:8px 10px;
  border:2px solid #e8c75d;
  border-radius:13px;
  background:
    radial-gradient(circle at 20% 0%,rgba(255,255,255,.25),transparent 34%),
    linear-gradient(135deg,#496f38 0%,#6f9347 45%,#9a7a32 100%);
  color:#fffce9;
  box-shadow:0 5px 12px rgba(53,70,31,.28),inset 0 1px rgba(255,255,255,.28);
  cursor:pointer;
  user-select:none;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
  animation:promoBannerBreath 2.4s ease-in-out infinite;
}
.promoExchangeBanner:hover{
  transform:translateY(-2px) scale(1.015);
  filter:brightness(1.08);
  box-shadow:0 8px 16px rgba(53,70,31,.34),0 0 13px rgba(241,207,92,.35);
}
.promoBannerGlow{
  position:absolute;inset:-40% auto -40% -28%;
  width:38%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);
  animation:promoBannerShine 3.1s ease-in-out infinite;
  pointer-events:none;
}
.promoBannerIcon{
  flex:0 0 37px;height:37px;display:grid;place-items:center;
  border-radius:50%;
  background:#fff4b9;
  border:2px solid #d6ad3e;
  font-size:21px;
  box-shadow:0 2px 7px rgba(0,0,0,.18);
}
.promoBannerText{position:relative;z-index:1;display:flex;flex-direction:column;min-width:0;line-height:1.12}
.promoBannerText small{font-size:6px;letter-spacing:1.2px;color:#f8e49a;font-weight:900}
.promoBannerText strong{font-size:12px;letter-spacing:-.2px;margin:2px 0;color:#fff}
.promoBannerText span{font-size:7px;color:#f3efd7;white-space:nowrap}
.promoBannerCoin{margin-left:auto;font-size:16px;animation:promoCoinBob 1.5s ease-in-out infinite}
.promoBannerArrow{font-size:25px;font-weight:900;color:#ffe992;margin-left:-3px}
@keyframes promoBannerBreath{0%,100%{box-shadow:0 5px 12px rgba(53,70,31,.28),0 0 0 rgba(232,199,93,0)}50%{box-shadow:0 6px 14px rgba(53,70,31,.32),0 0 10px rgba(232,199,93,.25)}}
@keyframes promoBannerShine{0%,52%{left:-38%}78%,100%{left:125%}}
@keyframes promoCoinBob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-3px) rotate(5deg)}}

/* ===== v0.5.29 구조 자체 수정: 게임 1화면 + 아래 상점 완전 분리 ===== */
html,body{
  min-height:100%!important;
}
body{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#82b96f!important;
}

/* 기존 게임의 absolute UI는 이 박스 안에서만 움직인다. */
#gameViewport{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100vh!important;
  min-height:760px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  z-index:2!important;
}

/* header/main/footer의 absolute 좌표 기준을 gameViewport로 고정 */
#gameViewport > #topBanner{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
}
#gameViewport > main#farm,
#gameViewport > main#field{
  position:absolute!important;
  left:0!important;
  right:0!important;
}
#gameViewport > footer{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
}

/* 상점은 gameViewport가 완전히 끝난 다음부터 시작한다. */
body > #farmPointShop.farmPointShop{
  position:relative!important;
  display:block!important;
  float:none!important;
  clear:both!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  z-index:1!important;
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin:44px auto 90px!important;
  box-sizing:border-box!important;
}

/* ===== 홍보 포인트 교환소: 맨 우측 상단 독립 배너 ===== */
#topBanner > #promoExchangeBtn.promoExchangeBanner{
  position:absolute!important;
  top:10px!important;
  right:16px!important;
  left:auto!important;
  bottom:auto!important;
  width:252px!important;
  min-width:252px!important;
  min-height:45px!important;
  height:45px!important;
  margin:0!important;
  padding:5px 9px!important;
  z-index:100!important;
  border-radius:12px!important;
  gap:7px!important;
  box-sizing:border-box!important;
}
#topBanner > #promoExchangeBtn .promoBannerIcon{
  flex:0 0 31px!important;
  width:31px!important;
  height:31px!important;
  font-size:18px!important;
}
#topBanner > #promoExchangeBtn .promoBannerText small{
  font-size:5px!important;
}
#topBanner > #promoExchangeBtn .promoBannerText strong{
  font-size:11px!important;
  margin:1px 0!important;
}
#topBanner > #promoExchangeBtn .promoBannerText span{
  font-size:6px!important;
}
#topBanner > #promoExchangeBtn .promoBannerCoin{
  font-size:14px!important;
}
#topBanner > #promoExchangeBtn .promoBannerArrow{
  font-size:21px!important;
}

/* 자연산 버튼은 다시 자기 자리만 사용. 교환소와 같은 묶음이 아니다. */
#topBanner .mapButtons{
  position:absolute!important;
  right:16px!important;
  bottom:10px!important;
  top:auto!important;
  display:flex!important;
  align-items:center!important;
  width:auto!important;
}
#topBanner .mapButtons #wild,
#topBanner .mapButtons #home{
  margin:0!important;
}

/* 화면이 좁아질 때도 상점이 게임 위로 역류하지 않는다. */
@media(max-width:720px){
  #gameViewport{min-height:720px!important}
  #topBanner > #promoExchangeBtn.promoExchangeBanner{
    width:220px!important;
    min-width:220px!important;
    right:8px!important;
  }
}

/* ===== v0.5.31 홍보 포인트 교환소: 내용 크기만큼만 ===== */
#topBanner > #promoExchangeBtn.promoExchangeBanner{
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  height:45px!important;
  right:12px!important;
  padding:5px 8px!important;
  gap:6px!important;
}
#topBanner > #promoExchangeBtn .promoBannerText{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
#topBanner > #promoExchangeBtn .promoBannerText span{
  white-space:nowrap!important;
}
#topBanner > #promoExchangeBtn .promoBannerCoin{
  margin-left:4px!important;
  flex:0 0 auto!important;
}
#topBanner > #promoExchangeBtn .promoBannerArrow{
  flex:0 0 auto!important;
  margin-left:0!important;
}
@media(max-width:720px){
  #topBanner > #promoExchangeBtn.promoExchangeBanner{
    width:max-content!important;
    min-width:0!important;
    max-width:calc(100% - 16px)!important;
    right:8px!important;
  }
}

/* ===== v0.5.32 ===== */
/* 재배 후 남은 성장시간 배너 확대 */
#farm #plots .time,
#farm #plots .timer,
#farm #plots .growTime,
#farm #plots .cropTime,
#farm #plots .timeBadge,
#farm #plots .growTimer,
#farm #plots [class*="time"]{
  min-width:82px!important;
  padding:5px 8px!important;
  font-size:9px!important;
  line-height:1.15!important;
  border-radius:9px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  z-index:55!important;
}

/* 가이드 카드의 수확 경험치/이미지가 카드 바깥으로 튀어나가지 않게 */
.guideBook,
.guidePage,
.guideCard{
  box-sizing:border-box!important;
}
.guideCard{
  overflow:hidden!important;
  align-items:flex-start!important;
}
.guideCard .pic{
  flex:0 0 42px!important;
  width:42px!important;
  max-width:42px!important;
  min-width:42px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.guideCard > div:not(.pic){
  min-width:0!important;
  max-width:calc(100% - 52px)!important;
  overflow-wrap:anywhere!important;
  word-break:keep-all!important;
}
.guideCard p,.guideCard span,.guideRate{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* v0.5.33 픽업트럭 매연 완전 제거 */
.truckSmoke,.truckExhaust,.pickupSmoke,.exhaust,.exhaustSmoke,
#truckSmoke,#truckExhaust,#pickupSmoke{display:none!important;animation:none!important}

/* 재배 심기 구멍 + 하단 문구 소폭 확대 */
#plots .plantHole{
  width:35px!important;
  height:21px!important;
  min-width:35px!important;
  min-height:21px!important;
  transform:translate(-50%,-50%) scale(1.06)!important;
}
#plots .plantHole span{font-size:13px!important;line-height:1!important}
#plots .emptyPlot::after,
#plots .plantHole::after{
  font-size:7px!important;
  line-height:1.1!important;
}

/* 보유 심기권 배너 확대 + 픽업트럭 UI와 수직 밸런스 */
#seedBadge,.seedBadge,#seedStatus,.seedStatus,#farmSeedBadge,.farmSeedBadge{
  min-width:112px!important;
  min-height:40px!important;
  padding:7px 12px!important;
  font-size:10px!important;
  line-height:1.15!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  top:84.5%!important;
  transform:translateY(-50%)!important;
}

/* ===== v0.5.35 상단 인벤토리 자원 3종 통합 ===== */
.seedStatus{display:none!important}

/* 상단 인벤토리 옆: 씨앗 / 천연 암반수 / 일반수 */
#topBanner .farmResourceStrip{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:auto!important;
  max-width:420px!important;
  z-index:45!important;
  pointer-events:none!important;
}
#topBanner .farmResourceStrip .resourceChip{
  height:30px!important;
  min-width:0!important;
  width:auto!important;
  padding:4px 8px!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  white-space:nowrap!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:800!important;
}
#topBanner .farmResourceStrip .resourceChip span{
  display:inline!important;
  white-space:nowrap!important;
}
#topBanner .farmResourceStrip .resourceChip strong{
  min-width:15px!important;
  text-align:center!important;
  font-size:10px!important;
}
/* 긴 천연 암반수 칸은 불필요한 가로 여백 제거 */
#topBanner .farmResourceStrip .rockChip{
  padding-left:7px!important;
  padding-right:7px!important;
}
@media(max-width:900px){
  #topBanner .farmResourceStrip{
    gap:3px!important;
    max-width:360px!important;
  }
  #topBanner .farmResourceStrip .resourceChip{
    padding:4px 6px!important;
    font-size:7px!important;
  }
}

/* v0.5.35 최종: 별도 자원 스트립이 아니라 기존 인벤토리 quickFarmMenu 안에 3종 배치 */
#farmResourceStrip{display:none!important}
#topBanner .topFarmHud #inv .quickFarmMenu{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}
#topBanner .topFarmHud #inv .quickFarmMenu .waterQuick{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding-left:7px!important;
  padding-right:7px!important;
  gap:4px!important;
  white-space:nowrap!important;
}
#topBanner .topFarmHud #inv .quickFarmMenu .waterQuick.rock{
  width:auto!important;
  min-width:0!important;
  padding-left:6px!important;
  padding-right:6px!important;
}
#topBanner .topFarmHud #inv .quickFarmMenu .waterQuick.seed{
  width:auto!important;
  min-width:0!important;
}

/* v0.5.36 배 크기 소폭 확대 */
.boat,#boat,.riverBoat,.boatSprite{
  transform:scale(1.14)!important;
  transform-origin:center center!important;
}

/* 자연산 수확지: 채소 대신 노란색 입체 ??? */
.miniGarden .wildCrop,
.miniGarden .crop,
.miniGarden .wildPlant,
.miniGarden .gardenCrop{
  font-size:0!important;
  color:transparent!important;
}
.miniGarden .wildCrop::after,
.miniGarden .crop::after,
.miniGarden .wildPlant::after,
.miniGarden .gardenCrop::after,
.miniGarden .wildMystery{
  content:"???"!important;
  display:inline-block!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-2px!important;
  color:#ffd92f!important;
  -webkit-text-stroke:1px #8f5b00!important;
  text-shadow:
    0 1px 0 #f0b400,
    0 2px 0 #c98600,
    0 3px 0 #9f6500,
    1px 4px 2px rgba(60,35,0,.38)!important;
  transform:perspective(80px) rotateX(-7deg)!important;
  filter:drop-shadow(0 2px 1px rgba(71,45,0,.35))!important;
}

/* 캐릭터 아래 낚시터 이용 안내칸 완전 숨김 */
#fishNearHint,.fishNearHint,#fishingHint,.fishingHint,
#actionHint,.actionHint,.farmerHint,.characterHint{
  display:none!important;
}

#riverBoat.riverBoat{
  font-size:59px!important;
  transform:translate(-50%,-50%)!important;
}
.miniGarden.mysteryGarden{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.miniGarden.mysteryGarden > span:not(.wildMystery){display:none!important}

/* ===== v0.5.37 시장 시세 강조 ===== */
.bookMarketRow .trend{
  display:inline-block!important;
  margin-left:3px!important;
  padding:2px 5px!important;
  border-radius:6px!important;
  font-style:normal!important;
  font-weight:1000!important;
  letter-spacing:-.2px!important;
  line-height:1.05!important;
}
.bookMarketRow .trend.up{
  color:#0b6b31!important;
  background:#d8f6df!important;
  border:1px solid #5bc77b!important;
  text-shadow:0 1px #fff!important;
}
.bookMarketRow .trend.superUp{
  color:#b14b00!important;
  background:#fff0a8!important;
  border:1px solid #f0a300!important;
  box-shadow:0 0 6px rgba(255,176,0,.45)!important;
  text-shadow:0 1px #fff7d0!important;
}
.bookMarketRow .trend.down{
  color:#2e61a8!important;
  background:#e1edff!important;
  border:1px solid #78a7e8!important;
  text-shadow:0 1px #fff!important;
}
.bookMarketRow .trend.superDown{
  color:#6637a3!important;
  background:#eee1ff!important;
  border:1px solid #a77be0!important;
  box-shadow:0 0 6px rgba(112,68,170,.35)!important;
  text-shadow:0 1px #fff!important;
}

/* 우측 상단/우측 필드 액션 배너: 동일 가로·세로 규격 + 테두리 여유 */
#topBanner > #promoExchangeBtn.promoExchangeBanner,
.mapButtons .wildBtn,
.mapButtons #wildBtn,
#wildBtn,
#wildMapBtn{
  width:224px!important;
  min-width:224px!important;
  max-width:224px!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  padding:6px 10px!important;
  border-width:2px!important;
  border-radius:11px!important;
  line-height:1.05!important;
  overflow:hidden!important;
}

/* 포인트 교환 배너는 인벤토리 테두리와 닿지 않도록 우측/상단 여유 확보 */
#topBanner > #promoExchangeBtn.promoExchangeBanner{
  top:8px!important;
  right:12px!important;
}

/* 우측 지도 버튼 묶음도 화면/인벤토리 테두리에서 약간 안쪽으로 */
.mapButtons{
  right:12px!important;
  bottom:16px!important;
  gap:7px!important;
}


/* ===== v2.0.1 UI/초기화 복구 FINAL OVERRIDE =====
   DB 서버화 후 초기 JS 중단으로 사라졌던 파종구멍/인벤토리/버튼을
   항상 보이고 클릭 가능하도록 최종 우선순위를 고정한다. */
#farm #plots{
  display:block!important; position:absolute!important; inset:0!important;
  z-index:28!important; pointer-events:none!important; overflow:visible!important;
}
#farm #plots .plot{
  display:block!important; position:absolute!important;
  width:46px!important; height:38px!important;
  transform:translate(-50%,-50%)!important;
  z-index:29!important; pointer-events:auto!important; overflow:visible!important;
}
#farm #plots .emptyPlot .plantHole{
  display:block!important; visibility:visible!important; opacity:1!important;
  position:absolute!important; left:50%!important; top:50%!important;
  width:36px!important; height:22px!important; min-width:36px!important; min-height:22px!important;
  padding:0!important; margin:0!important;
  transform:translate(-50%,-50%)!important;
  border:1px solid #c58a59!important; border-radius:50%!important;
  background:radial-gradient(ellipse at 50% 54%,#4e2e1d 0 38%,#72452d 40% 58%,#a76f48 60% 72%,transparent 74%)!important;
  box-shadow:inset 0 2px 4px #24140daa,0 1px 0 #e1b17b88!important;
  cursor:pointer!important; pointer-events:auto!important; z-index:31!important;
}
#farm #plots .emptyPlot .plantHole::before{
  content:""!important; display:none!important;
}
#farm #plots .emptyPlot .plantHole::after{
  content:"심기"!important; display:block!important;
  position:absolute!important; left:50%!important; top:24px!important;
  transform:translateX(-50%)!important; padding:1px 4px!important;
  border-radius:5px!important; background:#4b311fdd!important;
  color:#ffe9bd!important; font-size:7px!important; font-weight:900!important;
  white-space:nowrap!important; opacity:.88!important;
}
#farm #plots .emptyPlot .plantHole span{
  display:block!important; position:absolute!important; left:50%!important; top:48%!important;
  transform:translate(-50%,-50%)!important; color:#f3d58f!important;
  font-size:13px!important; font-weight:1000!important; line-height:1!important; opacity:.8!important;
}
#farm #plots .emptyPlot .plantHole:hover{filter:brightness(1.22)!important;box-shadow:0 0 0 2px #f0cf7e88,inset 0 2px 4px #24140daa!important}

/* 상단 인벤토리는 페이지 로딩 직후부터 항상 레이아웃을 확보 */
#topBanner .topFarmHud{display:flex!important;visibility:visible!important;opacity:1!important;z-index:65!important;position:relative!important}
#topBanner #inv{display:flex!important;visibility:visible!important;opacity:1!important;min-height:40px!important;flex:1 1 auto!important}
#topBanner #inv .quickFarmMenu{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;flex-wrap:nowrap!important}
#topBanner #inv .quickFarmMenu>*{pointer-events:auto!important;visibility:visible!important;opacity:1!important}
#topBanner #inv .waterQuick{display:flex!important}
#topBanner #inv .marketQuick,#topBanner #inv .checkQuick{display:flex!important;align-items:center!important;justify-content:center!important}

/* 픽업트럭 버튼 위를 농장 오버레이가 가로채지 못하게 함 */
#farm .truckSeedUI{z-index:75!important;pointer-events:none!important}
#farm #truckSeedBtn{z-index:76!important;pointer-events:auto!important;cursor:pointer!important}

/* 스킬임을 한눈에 알 수 있도록 얇은 금빛 테두리 + [스킬] 배지 */
#fantasyProfile .skillDeck{position:relative!important;z-index:10!important}
#fantasyProfile .skillDeck .skillMenuBtn{
  position:relative!important;
  border:1px solid #f0d477!important;
  outline:1px solid #8f6b2c!important;
  outline-offset:-3px!important;
  border-radius:11px!important;
  padding-top:19px!important;
  box-shadow:inset 0 0 0 1px #ffe7a533,inset 0 0 12px #e9c66c20,0 3px 0 #1d1510!important;
}
#fantasyProfile .skillDeck .skillLabel{
  position:absolute!important; top:4px!important; left:7px!important;
  display:inline-block!important; padding:2px 5px!important;
  border:1px solid #e7c865!important; border-radius:7px!important;
  background:#2f241bcc!important; color:#ffe28a!important;
  font-size:9px!important; font-weight:1000!important; line-height:1!important;
  letter-spacing:.3px!important; text-shadow:0 1px #0008!important;
}


/* ===== v2.0.2 요청 UI 정리 ===== */
#fantasyProfile .skillDeck{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;align-items:stretch!important;
}
#fantasyProfile .skillDeck .skillMenuBtn{
  position:relative!important;box-sizing:border-box!important;width:100%!important;height:62px!important;min-width:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  padding:18px 8px 6px!important;overflow:hidden!important;white-space:normal!important;line-height:1.12!important;
  border:1px solid #e7c865!important;outline:none!important;border-radius:9px!important;
  box-shadow:inset 0 0 0 1px #ffe8a83d,0 2px 0 #1d1510!important;
}
#fantasyProfile .skillDeck .skillLabel{
  position:absolute!important;top:3px!important;left:50%!important;transform:translateX(-50%)!important;
  display:block!important;padding:0!important;border:0!important;background:transparent!important;
  color:#ffe28a!important;font-size:9px!important;font-weight:1000!important;line-height:1!important;letter-spacing:.5px!important;
}
#fantasyProfile .skillDeck .skillMain{
  display:block!important;width:100%!important;text-align:center!important;font-size:10px!important;font-weight:900!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
#fantasyProfile .skillDeck .skillMenuBtn small{
  display:block!important;width:100%!important;text-align:center!important;font-size:7px!important;line-height:1.15!important;white-space:nowrap!important;
}
.farmBottomSummary{
  width:min(1180px,calc(100% - 32px));margin:14px auto 0;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:10px 14px;border:2px solid #d2b75f;border-radius:13px;background:linear-gradient(180deg,#fff5c9,#ede0a3);color:#5c542e;
  box-shadow:0 4px 10px #29371e2b;font-size:11px;font-weight:900;
}
.farmBottomSummary a{color:#4f6e38;text-decoration:none;font-weight:1000}.farmBottomSummary strong{font-size:14px;color:#65521d}
body>#farmPointShop.farmPointShop{display:block!important;visibility:visible!important;opacity:1!important;min-height:180px!important}
#farmPointShop .farmShopGrid{display:grid!important;visibility:visible!important;opacity:1!important}
@media(max-width:700px){.farmBottomSummary{flex-direction:column;align-items:stretch;text-align:center}.skillDeck{gap:5px!important}}

/* ===== v2.0.6 SERVER FLOW RECOVERY ===== */
#shop{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#farmPointShop{display:block!important;visibility:visible!important;opacity:1!important}
#farmBottomSummary{display:flex!important;visibility:visible!important;opacity:1!important}
#farmApiStatus[hidden]{display:none!important}
#farmApiStatus:not([hidden]){display:inline-block!important}


/* ===== v2.0.7 단일 시장버튼 + 하단 상점 확정 노출 ===== */
#topBanner #inv .quickFarmMenu{grid-template-columns:repeat(5,minmax(0,1fr))!important}
#topBanner #inv #quickMarket{display:flex!important;visibility:visible!important;opacity:1!important}
body>#farmBottomSummary{position:relative!important;display:flex!important;visibility:visible!important;opacity:1!important;z-index:20!important}
body>#farmPointShop.farmPointShop{position:relative!important;display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;min-height:320px!important;overflow:visible!important;z-index:20!important}
#farmPointShop .farmShopGrid{display:grid!important;min-height:120px!important}


/* ===== v2.0.8 안정화: 서버시각/시장/상점은 농장맵 실패와 독립 ===== */
#serverClock.serverClock{display:inline-flex!important;align-items:center!important;margin-left:8px!important;padding:4px 7px!important;border:1px solid #d8c06a!important;border-radius:8px!important;background:#1e3028cc!important;color:#ffe69a!important;font-size:10px!important;font-weight:900!important;white-space:nowrap!important}
body>#farmBottomSummary{display:flex!important;position:relative!important;width:min(1180px,calc(100% - 32px))!important;margin:18px auto 0!important}
body>#farmPointShop.farmPointShop{display:block!important;position:relative!important;width:min(1180px,calc(100% - 32px))!important;min-height:360px!important;margin:14px auto 80px!important;visibility:visible!important;opacity:1!important;overflow:visible!important}
#farmPointShop .farmShopGrid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;min-height:150px!important;visibility:visible!important;opacity:1!important}
#farmPointShop .farmShopCard{display:block!important;visibility:visible!important;opacity:1!important;min-height:150px!important}
@media(max-width:900px){#farmPointShop .farmShopGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:560px){#farmPointShop .farmShopGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* ===== v2.0.9 ROOT INIT + 요청 UI 최종 OVERRIDE ===== */
/* 별도 서버시계는 화면에서 제거하고 시장 변동 타이머만 명확하게 표시 */
#serverClock.serverClock{display:none!important}
#topBanner #marketHeaderTimer.marketHeaderTimer{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:128px!important;height:36px!important;box-sizing:border-box!important;
  padding:7px 10px!important;margin:0!important;border:1px solid #d8c06a!important;border-radius:10px!important;
  background:linear-gradient(180deg,#314b3b,#263a30)!important;color:#ffe69a!important;
  font-size:11px!important;font-weight:900!important;white-space:nowrap!important;box-shadow:inset 0 0 0 1px #ffffff18!important;
}

/* 우측 배너 2개: 완전히 같은 크기, 인벤토리 영역과 겹치지 않도록 우측 세로 정렬 */
#topBanner > #promoExchangeBtn.promoExchangeBanner{
  position:absolute!important;right:12px!important;top:7px!important;bottom:auto!important;
  width:218px!important;min-width:218px!important;max-width:218px!important;height:43px!important;min-height:43px!important;
  box-sizing:border-box!important;padding:5px 8px!important;margin:0!important;overflow:hidden!important;
}
#topBanner .mapButtons{
  position:absolute!important;right:12px!important;top:57px!important;bottom:auto!important;
  width:218px!important;height:43px!important;margin:0!important;display:block!important;z-index:99!important;
}
#topBanner .mapButtons #wild,#topBanner .mapButtons #home{
  width:218px!important;min-width:218px!important;max-width:218px!important;height:43px!important;min-height:43px!important;
  box-sizing:border-box!important;margin:0!important;padding:7px 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:11px!important;white-space:nowrap!important;
}
#topBanner .mapButtons #wild[hidden],#topBanner .mapButtons #home[hidden]{display:none!important}
/* 우측 218px을 예약해 메인 시장/횟수 HUD가 배너 밑으로 침범하지 않게 함 */
#topBanner .topBannerMain{padding-right:230px!important;box-sizing:border-box!important;gap:10px!important}
#topBanner .topFarmHud{margin-right:230px!important;box-sizing:border-box!important}

/* 스킬 두 칸 동일 크기 + 아래쪽만 조금 확장 */
#fantasyProfile .skillDeck .skillMenuBtn{
  height:74px!important;min-height:74px!important;max-height:74px!important;
  padding:20px 8px 9px!important;gap:5px!important;overflow:hidden!important;box-sizing:border-box!important;
}
#fantasyProfile .skillDeck .skillLabel{top:4px!important;left:50%!important;transform:translateX(-50%)!important}
#fantasyProfile .skillDeck .skillMain{font-size:10px!important;line-height:1.2!important;overflow:visible!important;text-overflow:clip!important}
#fantasyProfile .skillDeck .skillMenuBtn small{font-size:7.5px!important;line-height:1.2!important;white-space:nowrap!important;margin-top:1px!important}

/* 상점은 초기 JS 성공 시 카드가 반드시 보이도록 레이아웃 확보 */
body>#farmPointShop.farmPointShop{display:block!important;visibility:visible!important;opacity:1!important;min-height:360px!important}
#farmPointShop #farmShopGrid.farmShopGrid{display:grid!important;visibility:visible!important;opacity:1!important;min-height:140px!important}

@media(max-width:900px){
  #topBanner > #promoExchangeBtn.promoExchangeBanner,#topBanner .mapButtons{width:190px!important;min-width:190px!important;max-width:190px!important;right:8px!important}
  #topBanner .mapButtons #wild,#topBanner .mapButtons #home{width:190px!important;min-width:190px!important;max-width:190px!important}
  #topBanner .topBannerMain{padding-right:198px!important}
  #topBanner .topFarmHud{margin-right:198px!important}
}


/* ===== v2.0.10 final UI corrections ===== */
/* 상단에는 시장 장세만 표시. 변동 타이머는 채집물 시장 모달 내부 전용 */
#topBanner #marketHeaderTimer{display:none!important}

/* 우측 두 배너: 동일 크기, 인벤토리와 비중첩 */
#topBanner > #promoExchangeBtn.promoExchangeBanner,
#topBanner .mapButtons{
  width:210px!important;min-width:210px!important;max-width:210px!important;
  height:42px!important;min-height:42px!important;max-height:42px!important;
  right:12px!important;box-sizing:border-box!important;margin:0!important;
}
#topBanner > #promoExchangeBtn.promoExchangeBanner{top:7px!important;bottom:auto!important;padding:4px 8px!important}
#topBanner .mapButtons{top:55px!important;bottom:auto!important}
#topBanner .mapButtons #wild,#topBanner .mapButtons #home{
  width:210px!important;min-width:210px!important;max-width:210px!important;
  height:42px!important;min-height:42px!important;max-height:42px!important;
  box-sizing:border-box!important;margin:0!important;padding:6px 9px!important;
}
#topBanner .topBannerMain{padding-right:224px!important}
#topBanner .topFarmHud{margin-right:224px!important}

/* 스킬 박스 아래쪽 여유 증가 */
#fantasyProfile .skillDeck .skillMenuBtn{
  height:84px!important;min-height:84px!important;max-height:84px!important;
  padding:21px 8px 11px!important;overflow:hidden!important;box-sizing:border-box!important;
}
#fantasyProfile .skillDeck .skillMain{line-height:1.3!important;white-space:normal!important;text-align:center!important}
#fantasyProfile .skillDeck .skillMenuBtn small{line-height:1.3!important;white-space:normal!important;text-align:center!important;display:block!important}

/* 캐릭터 아래 낚시터 이용 글자 완전 제거 */
#farmer>small{display:none!important}

@media(max-width:900px){
 #topBanner > #promoExchangeBtn.promoExchangeBanner,#topBanner .mapButtons{width:184px!important;min-width:184px!important;max-width:184px!important;right:8px!important}
 #topBanner .mapButtons #wild,#topBanner .mapButtons #home{width:184px!important;min-width:184px!important;max-width:184px!important}
 #topBanner .topBannerMain{padding-right:194px!important}
 #topBanner .topFarmHud{margin-right:194px!important}
}

/* ===== v2.0.22 docks + fishing station position ===== */
.riverDock{position:absolute;z-index:24;width:84px;height:34px;transform:translate(-50%,-50%);border:2px solid #6f4a26;border-radius:6px;background:repeating-linear-gradient(90deg,#b98249 0 13px,#8f5f32 14px 17px);box-shadow:0 5px 8px #0004;pointer-events:none;text-align:center;color:#fff3c8;font-weight:900;font-size:9px;padding-top:5px;text-shadow:0 1px 2px #0008}.riverDock:after{content:"";position:absolute;left:8px;right:8px;bottom:-12px;height:13px;border-left:5px solid #6d4726;border-right:5px solid #6d4726}.riverDock .dockPosts{display:block;font-size:13px;line-height:10px}.dockLower{left:14%!important;top:70%!important}.dockUpper{left:95%!important;top:35%!important}.fishingStation{left:80%!important;top:25%!important}.boatAction{z-index:40!important}

/* ===== v2.0.43 controls + polished HUD final override ===== */
#topBanner{
  background:radial-gradient(circle at 12% -50%,rgba(255,225,133,.16),transparent 35%),radial-gradient(circle at 73% 140%,rgba(94,151,102,.18),transparent 35%),linear-gradient(180deg,#1d3528 0%,#2e5138 62%,#263f2f 100%)!important;
  box-shadow:inset 0 -3px 0 #d4aa58,inset 0 1px 0 #ffffff1f,0 8px 22px #13221866!important;
}
#topBanner .topBannerMain{padding:0 250px 0 12px!important;gap:10px!important;align-items:center!important;min-width:0!important}
#topBanner .farmLogo{flex:0 1 330px!important;min-width:245px!important;max-width:330px!important;margin:0!important;padding:0!important;font-size:clamp(23px,2vw,30px)!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
#topBanner #mood{flex:0 1 190px!important;min-width:155px!important;max-width:190px!important;margin:0!important;padding:7px 11px!important;white-space:nowrap!important;border:1px solid #d5bb6d!important;background:linear-gradient(180deg,#426c4b,#2d5138)!important;color:#fff4c5!important;box-shadow:inset 0 1px 0 #ffffff38,0 3px 0 #172b20!important}
#topBanner .fishChargeHud,#topBanner .mineChargeHud{flex:0 0 auto!important}

#topBanner > #promoExchangeBtn.promoExchangeBanner,#topBanner .mapButtons,#topBanner .mapButtons #wild,#topBanner .mapButtons #home{width:236px!important;min-width:236px!important;max-width:236px!important;height:48px!important;min-height:48px!important;max-height:48px!important;box-sizing:border-box!important}
#topBanner > #promoExchangeBtn.promoExchangeBanner{top:6px!important;right:12px!important;padding:5px 9px!important;gap:7px!important;border-color:#f1d478!important;background:radial-gradient(circle at 18% 0%,rgba(255,255,255,.28),transparent 36%),linear-gradient(135deg,#4d783e,#71984e 48%,#97742c)!important}
#topBanner > #promoExchangeBtn .promoBannerIcon{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:19px!important}
#topBanner > #promoExchangeBtn .promoBannerText small{font-size:6.5px!important;letter-spacing:1px!important}
#topBanner > #promoExchangeBtn .promoBannerText strong{font-size:12.5px!important;line-height:1.05!important;margin:1px 0!important}
#topBanner > #promoExchangeBtn .promoBannerText span{font-size:7.5px!important;line-height:1.05!important}
#topBanner .mapButtons{top:61px!important;right:12px!important;bottom:auto!important;display:block!important}
#topBanner .mapButtons #wild,#topBanner .mapButtons #home{margin:0!important;padding:8px 12px!important;font-size:13px!important;letter-spacing:.15px!important;border:2px solid #f4d98c!important;border-radius:12px!important}
#topBanner .topFarmHud{margin-right:250px!important;padding:7px 10px!important;border-color:#8e6436!important;background:linear-gradient(180deg,#fff0c5,#e4c47e)!important;box-shadow:inset 0 2px 0 #fff9,inset 0 -3px 0 #9b6b36,4px 5px 0 #211b1555!important}
#topBanner #inv .waterQuick,#topBanner #inv .marketQuick,#topBanner #inv .checkQuick{transition:transform .15s ease,filter .15s ease,box-shadow .15s ease!important}
#topBanner #inv .waterQuick:hover,#topBanner #inv .marketQuick:hover,#topBanner #inv .checkQuick:hover{transform:translateY(-2px)!important;filter:brightness(1.06)!important}

#fantasyProfile{background:radial-gradient(circle at 22% 0%,rgba(232,196,106,.12),transparent 32%),linear-gradient(180deg,#423126,#241b17)!important;box-shadow:inset 0 2px 0 #efd58b,0 -8px 20px #1a120d55!important}
#fantasyProfile .skillDeck .skillMenuBtn{height:88px!important;min-height:88px!important;max-height:88px!important;padding:22px 10px 10px!important;gap:5px!important;background:linear-gradient(180deg,#66503c,#3b2b22)!important;border-color:#f0d477!important;box-shadow:inset 0 1px 0 #fff3,inset 0 0 18px #e9c66c20,0 4px 0 #1b130f!important}
#fantasyProfile .skillDeck .skillLabel{font-size:10.5px!important;top:5px!important}
#fantasyProfile .skillDeck .skillMain{font-size:12.5px!important;line-height:1.25!important;font-weight:950!important}
#fantasyProfile .skillDeck .skillMenuBtn small{font-size:9.5px!important;line-height:1.25!important;margin-top:1px!important}
#fantasyProfile .skillCrystal span{font-size:11px!important}
#fantasyProfile .skillCrystal small{font-size:9px!important}

#gameViewport > main#farm,#gameViewport > main#field{box-shadow:inset 0 0 78px rgba(30,61,31,.20)!important}
#farm #plots .plot{filter:drop-shadow(0 4px 3px rgba(43,31,17,.28))!important}
.promoExchangeBanner,.topFarmHud,.profileIdentity,#fantasyProfile .point,.skillCrystal,.guideDock{backdrop-filter:saturate(1.08)!important}

@media(max-width:1100px){
  #topBanner .topBannerMain{padding-right:226px!important;gap:7px!important}
  #topBanner > #promoExchangeBtn.promoExchangeBanner,#topBanner .mapButtons,#topBanner .mapButtons #wild,#topBanner .mapButtons #home{width:214px!important;min-width:214px!important;max-width:214px!important}
  #topBanner .topFarmHud{margin-right:226px!important}
  #topBanner .farmLogo{flex-basis:250px!important;min-width:205px!important;font-size:22px!important}
  #topBanner #mood{min-width:145px!important;font-size:11.5px!important}
}
@media(max-width:820px){
  #topBanner .topBannerMain{padding-right:202px!important}
  #topBanner > #promoExchangeBtn.promoExchangeBanner,#topBanner .mapButtons,#topBanner .mapButtons #wild,#topBanner .mapButtons #home{width:190px!important;min-width:190px!important;max-width:190px!important}
  #topBanner .topFarmHud{margin-right:202px!important}
  #topBanner .farmLogo{flex-basis:205px!important;min-width:170px!important;font-size:19px!important}
  #topBanner #mood{min-width:130px!important;font-size:10.5px!important;padding-left:7px!important;padding-right:7px!important}
  #topBanner #inv .waterQuick{flex-basis:112px!important}
  #topBanner #inv .marketQuick,#topBanner #inv .checkQuick{flex-basis:105px!important}
}

/* ===== v2.0.44 isolated farm title ===== */
/* 과거 scaleX가 로고 글자만 레이아웃 밖으로 늘리던 문제를 최종 해제한다. */
#topBanner .topBannerMain{gap:14px!important}
#topBanner .farmLogo{
  flex:0 0 310px!important;
  width:310px!important;
  min-width:310px!important;
  max-width:310px!important;
  height:40px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  box-sizing:border-box!important;
  transform:none!important;
  overflow:hidden!important;
  border:1px solid #d8b85f!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#355d41,#213d2d)!important;
  box-shadow:inset 0 1px 0 #ffffff36,inset 0 -2px 0 #162b20,0 3px 0 #13271c!important;
  font-size:25px!important;
  letter-spacing:1px!important;
}
#topBanner .farmLogo .logoLeaf{flex:0 0 auto!important}
#topBanner .farmLogo .logoStar{margin-left:auto!important;flex:0 0 auto!important}
#topBanner #mood{
  margin-left:0!important;
  position:relative!important;
  transform:none!important;
}
#topBanner #mood:before{
  content:"";
  position:absolute;
  left:-8px;
  top:6px;
  bottom:6px;
  width:1px;
  background:#d8bd6d88;
}
@media(max-width:1100px){
  #topBanner .topBannerMain{gap:8px!important}
  #topBanner .farmLogo{flex-basis:238px!important;width:238px!important;min-width:238px!important;max-width:238px!important;font-size:20px!important;padding:0 10px!important;gap:5px!important}
  #topBanner #mood:before{left:-5px!important}
}
@media(max-width:820px){
  #topBanner .farmLogo{flex-basis:188px!important;width:188px!important;min-width:188px!important;max-width:188px!important;font-size:16px!important;padding:0 8px!important;letter-spacing:.3px!important}
}
@media(max-width:720px){
  #topBanner .topBannerMain{gap:5px!important}
  #topBanner .farmLogo{flex-basis:160px!important;width:160px!important;min-width:160px!important;max-width:160px!important;font-size:14px!important;padding:0 6px!important;gap:3px!important}
  #topBanner #mood{flex-basis:115px!important;min-width:115px!important;max-width:115px!important;font-size:9.5px!important}
  #topBanner .fishChargeHud{min-width:78px!important;padding:4px 6px!important;font-size:10px!important}
  #topBanner .mineChargeHud{min-width:82px!important;padding:3px 5px!important}
}

/* ===== v2.0.45 aligned title + directional pixel farmer ===== */
/* 로고와 아래 인벤토리의 왼쪽 시작선을 하나로 맞추고 FARM 끝 글자를 보호한다. */
#topBanner .topBannerMain{padding-left:0!important}
#topBanner .farmLogo{
  flex:0 0 360px!important;width:360px!important;min-width:360px!important;max-width:360px!important;
  padding:0 16px 0 12px!important;gap:7px!important;overflow:visible!important;
  border-left:0!important;border-radius:0 12px 12px 0!important;
  font-size:25px!important;letter-spacing:1px!important
}
#topBanner .farmLogo .logoStar{margin-left:2px!important}
#topBanner .topFarmHud{margin-left:0!important;border-left:0!important;border-radius:0 15px 15px 0!important}

/* 자연산 필드 농부: 1px 단위 파츠로 만든 방향형 픽셀 스프라이트 */
#farmer{
  width:46px!important;height:60px!important;font-size:0!important;
  transform:translate(-50%,-50%);transition:left .075s linear,top .075s linear!important;
  filter:none!important;will-change:left,top,transform
}
#farmer .farmerEmojiFallback{display:none!important}
#farmer .pixelFarmer{display:block;position:absolute;inset:0;overflow:visible;image-rendering:pixelated;filter:drop-shadow(0 3px 1px #17201566)}
#farmer .pfSprite{position:absolute;left:0;top:0;width:46px;height:56px;transform-origin:23px 31px}
#farmer.face-left .pfSprite{transform:scaleX(-1)}
#farmer.face-right .pfSprite,#farmer.face-up .pfSprite,#farmer.face-down .pfSprite{transform:scaleX(1)}
#farmer .pfShadow{position:absolute;left:7px;bottom:0;width:32px;height:7px;background:#19271952;border-radius:50%;transform-origin:center}
#farmer .pfHatCrown{position:absolute;left:11px;top:1px;width:24px;height:9px;background:#c9943d;border:2px solid #5c3a1f;box-shadow:inset 3px 0 #e5b85e,inset -3px 0 #936328;z-index:8}
#farmer .pfHatBand{position:absolute;left:10px;top:8px;width:26px;height:4px;background:#4b7444;border-left:2px solid #29462e;border-right:2px solid #29462e;z-index:10}
#farmer .pfHatBrim{position:absolute;left:5px;top:11px;width:36px;height:5px;background:#d7a548;border:2px solid #5c3a1f;box-shadow:inset 0 2px #efc86d;z-index:9}
#farmer .pfHair{position:absolute;left:10px;top:14px;width:26px;height:16px;background:#61391f;border:2px solid #3a2518;z-index:3}
#farmer .pfHead{position:absolute;left:13px;top:14px;width:22px;height:17px;background:#efb77d;border:2px solid #68402a;box-shadow:inset 3px 0 #ffd09c;z-index:5}
#farmer .pfEar{position:absolute;left:34px;top:20px;width:5px;height:7px;background:#e6a66e;border:2px solid #68402a;z-index:4}
#farmer .pfFace{position:absolute;left:27px;top:20px;width:3px;height:3px;background:#2a241f;box-shadow:5px 5px 0 -1px #a54d42;z-index:7}
#farmer .pfScarf{position:absolute;left:12px;top:31px;width:24px;height:5px;background:#d15a40;border:2px solid #743021;z-index:8}
#farmer .pfBody{position:absolute;left:10px;top:34px;width:27px;height:16px;background:#56885a;border:2px solid #29472f;box-shadow:inset 3px 0 #76a66e;z-index:5}
#farmer .pfOverall{position:absolute;left:17px;top:35px;width:15px;height:16px;background:#557c9d;border:2px solid #29485e;box-shadow:inset 3px 0 #78a0bc,0 4px 0 -2px #d5b053;z-index:7}
#farmer .pfArm{position:absolute;top:35px;width:7px;height:16px;background:#65a064;border:2px solid #29472f;transform-origin:50% 2px;z-index:4}
#farmer .pfArmL{left:4px}#farmer .pfArmR{right:2px}
#farmer .pfHand{position:absolute;top:48px;width:6px;height:6px;background:#efb77d;border:2px solid #68402a;z-index:6}
#farmer .pfHandL{left:3px}#farmer .pfHandR{right:1px}
#farmer .pfLeg{position:absolute;top:49px;width:8px;height:8px;background:#4b6f8a;border:2px solid #29485e;transform-origin:50% 1px;z-index:3}
#farmer .pfLegL{left:12px}#farmer .pfLegR{left:27px}
#farmer .pfBoot{position:absolute;top:54px;width:11px;height:6px;background:#573b28;border:2px solid #2c211a;z-index:4}
#farmer .pfBootL{left:9px}#farmer .pfBootR{left:26px}
#farmer .pfDust{position:absolute;bottom:3px;width:3px;height:3px;background:#e6d39c;opacity:0;box-shadow:5px -2px 0 #d5bf85,-4px -1px 0 #f0dfac;z-index:-1}
#farmer .pfDustL{left:10px}#farmer .pfDustR{right:9px}

/* 뒤로 걸을 때 얼굴 대신 머리카락과 모자 뒷면이 보인다. */
#farmer.face-up .pfFace,#farmer.face-up .pfEar{opacity:0}
#farmer.face-up .pfHead{background:#633a20;box-shadow:inset 4px 0 #80502c,inset -3px 0 #432919}
#farmer.face-up .pfScarf{background:#a94335}

/* 한 걸음마다 양팔·양다리가 교차하고 몸통은 1px씩 상하로 움직인다. */
#farmer.walk .pixelFarmer{animation:pfBodyBob .145s steps(2,end) infinite}
#farmer.walk .pfShadow{animation:pfShadowStep .145s steps(2,end) infinite}
#farmer.walk .pfArmL{animation:pfArmForward .145s steps(2,end) infinite}
#farmer.walk .pfArmR{animation:pfArmBack .145s steps(2,end) infinite}
#farmer.walk .pfLegL,#farmer.walk .pfBootL{animation:pfFootForward .145s steps(2,end) infinite}
#farmer.walk .pfLegR,#farmer.walk .pfBootR{animation:pfFootBack .145s steps(2,end) infinite}
#farmer.walk.step-b .pfArmL,#farmer.walk.step-b .pfLegL,#farmer.walk.step-b .pfBootL{animation-delay:-.0725s}
#farmer.walk.step-b .pfArmR,#farmer.walk.step-b .pfLegR,#farmer.walk.step-b .pfBootR{animation-delay:-.0725s}
#farmer.walk.step-a .pfDustL,#farmer.walk.step-b .pfDustR{animation:pfDustKick .145s steps(3,end) both}
@keyframes pfBodyBob{0%,100%{margin-top:0}50%{margin-top:-1px}}
@keyframes pfShadowStep{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.82);opacity:.58}}
@keyframes pfArmForward{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-2px) rotate(-13deg)}}
@keyframes pfArmBack{0%,100%{transform:translateY(-2px) rotate(-13deg)}50%{transform:translateY(0) rotate(8deg)}}
@keyframes pfFootForward{0%,100%{transform:translate(0,0)}50%{transform:translate(2px,-2px)}}
@keyframes pfFootBack{0%,100%{transform:translate(2px,-2px)}50%{transform:translate(-1px,0)}}
@keyframes pfDustKick{0%{opacity:.85;transform:translate(0,0)}66%{opacity:.42;transform:translate(-4px,-2px)}100%{opacity:0;transform:translate(-7px,-3px)}}

/* 낚시 착석 장면은 기존 전용 캐릭터와 낚싯대 모션을 그대로 유지한다. */
#farmer.fishingSeated .pixelFarmer{display:none!important}
#farmer.onBoat .pixelFarmer{transform:scale(.88);transform-origin:center bottom}

@media(max-width:1100px){
  #topBanner .farmLogo{flex-basis:275px!important;width:275px!important;min-width:275px!important;max-width:275px!important;font-size:20px!important;padding:0 11px 0 8px!important}
}
@media(max-width:820px){
  #topBanner .farmLogo{flex-basis:225px!important;width:225px!important;min-width:225px!important;max-width:225px!important;font-size:16px!important;padding:0 9px 0 7px!important;letter-spacing:.35px!important}
}
@media(max-width:720px){
  #topBanner .farmLogo{flex-basis:194px!important;width:194px!important;min-width:194px!important;max-width:194px!important;font-size:14px!important;padding:0 7px 0 5px!important;gap:3px!important}
}

/* ===== v2.0.46 visible left border + taller side banners + wild mash ===== */
/* 화면 경계에서 잘리던 1px 테두리를 안쪽으로 넣고 인벤토리와 같은 시작선으로 정렬한다. */
#topBanner .topBannerMain{padding-left:2px!important}
#topBanner .farmLogo{
  border:1px solid #d8b85f!important;border-radius:11px!important;
  box-shadow:inset 0 1px 0 #ffffff36,inset 0 -2px 0 #162b20,0 3px 0 #13271c!important
}
#topBanner .topFarmHud{margin-left:2px!important;border-left:2px solid #8e6436!important;border-radius:14px!important}

/* 우측 두 칸은 인벤토리 행과 같은 56px 높이로 맞춘다. */
#topBanner > #promoExchangeBtn.promoExchangeBanner,
#topBanner .mapButtons,
#topBanner .mapButtons #wild,
#topBanner .mapButtons #home{
  height:56px!important;min-height:56px!important;max-height:56px!important
}
#topBanner > #promoExchangeBtn.promoExchangeBanner{top:4px!important;padding:7px 10px!important}
#topBanner .mapButtons{top:63px!important}
#topBanner .mapButtons #wild,#topBanner .mapButtons #home{padding:9px 12px!important}
#topBanner > #promoExchangeBtn .promoBannerIcon{width:38px!important;height:38px!important;flex-basis:38px!important;font-size:21px!important}
#topBanner > #promoExchangeBtn .promoBannerText strong{font-size:13px!important}
#topBanner > #promoExchangeBtn .promoBannerText span{font-size:8px!important}

/* 프로필의 여성 농부(👩‍🌾)와 닮도록 양쪽 갈색 땋은 머리와 볼 표현을 추가한다. */
#farmer .pfBraid{position:absolute;top:24px;width:6px;height:15px;background:#6a3c21;border:2px solid #392417;box-shadow:inset 0 -4px #8b542c;z-index:4}
#farmer .pfBraidL{left:7px;transform:rotate(8deg)}#farmer .pfBraidR{right:6px;transform:rotate(-8deg)}
#farmer .pfFace{box-shadow:5px 5px 0 -1px #bd5e58,1px 7px 0 -1px #d8796c!important}
#farmer.face-up .pfBraid{top:23px;background:#5b331d}

/* 자연산 SPACE 채집 전투 */
#wildBattle{position:absolute;left:50%;top:18%;transform:translateX(-50%);z-index:82;width:330px}
.wildBattleCard{padding:12px 14px;border-radius:15px;background:linear-gradient(#294c32ee,#172d20ee);border:3px solid #d7bd61;color:#fff3c6;text-align:center;box-shadow:0 9px 22px #0006,inset 0 1px #fff4}
.wildBattleName{font-size:15px;font-weight:1000}
.wildHpBar{height:15px;margin:8px 0 5px;background:#102117;border:2px solid #76934f;border-radius:10px;overflow:hidden}
.wildHpFill{height:100%;background:linear-gradient(90deg,#5ea54f,#d7d75b,#f1cf68);transition:width .06s}
.wildBattleText,.wildMashHint{font-size:11px}.wildTimer{font-size:14px;font-weight:1000;color:#ffe57a}.wildMashHint{margin-top:4px;color:#eff4bb}
#field .spot.wildHit{animation:wildPatchHit .16s steps(2,end)}
#farmer.gathering .pfArmL,#farmer.gathering .pfArmR{animation:gatherArms .22s steps(2,end) infinite!important}
#farmer.gathering:before{content:"🌿";position:absolute;left:-17px;top:22px;font-size:17px;z-index:15;animation:gatherLeaf .32s ease-out infinite;filter:drop-shadow(0 2px 1px #0004)}
#farmer.gatherImpact .pixelFarmer{animation:gatherBody .16s steps(2,end)}
@keyframes wildPatchHit{50%{transform:translateY(2px) scale(.97);filter:brightness(1.25)}}
@keyframes gatherArms{0%,100%{transform:rotate(18deg) translateY(0)}50%{transform:rotate(-25deg) translateY(-3px)}}
@keyframes gatherLeaf{0%{opacity:0;transform:translate(5px,6px) rotate(-15deg) scale(.65)}55%{opacity:1}100%{opacity:0;transform:translate(-7px,-9px) rotate(24deg) scale(1.05)}}
@keyframes gatherBody{50%{transform:translateY(2px) rotate(-2deg)}}


/* v2.0.47 - profile gold ranking */
#fantasyProfile .goldPointBox{position:relative!important;padding-bottom:48px!important;min-width:185px!important}
.goldRankBtn{position:absolute;right:8px;bottom:8px;width:auto!important;height:31px!important;padding:0 11px!important;border:1px solid #c69a45!important;border-radius:9px!important;background:linear-gradient(#fff5c5,#e4bd61)!important;color:#493319!important;font-size:11px!important;font-weight:900!important;box-shadow:0 2px 0 #846128!important;cursor:pointer!important}
.goldRankBtn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.goldRankModal{padding-top:4px}.goldRankInfo{padding:9px 12px;margin-bottom:10px;border-radius:10px;background:#f5ead0;color:#72511f;font-size:12px;font-weight:800;text-align:center}.goldRankList{display:grid;gap:7px}.goldRankRow{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid #d8c49a;border-radius:11px;background:#fffdf3}.goldRankRow.isMe{outline:2px solid #ddb33e;background:#fff7cf}.goldRankNo{font-weight:950;text-align:center}.goldRankRow strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#45351f}.goldRankRow strong em{font-style:normal;font-size:9px;padding:2px 5px;border-radius:8px;background:#557a3e;color:#fff}.goldRankRow b{color:#a26813;white-space:nowrap}.goldRankFoot{display:block;margin-top:10px;color:#846f50;text-align:center}.goldRankEmpty{padding:28px;text-align:center;color:#8a795d}

/* v2.0.21 - server-confirmed unwatered wilt state */
#farm #plots .wiltedPlant{filter:grayscale(.85) saturate(.45) brightness(.82)!important;animation:none!important;opacity:.9}
#farm #plots .wiltedPlant small{background:#5b4439!important;color:#ffe7d4!important;border:1px solid #8d6757!important}
.wiltNotice{background:#f5e4d8!important;border:1px solid #b98367!important;color:#6b3828!important}

/* ===== v2.0.50 skill deck: 3 skills fixed in one horizontal row ===== */
#fantasyProfile{
  gap:8px!important;
  padding:10px 14px!important;
}
#fantasyProfile .profileIdentity{
  flex:0 1 260px!important;
  min-width:220px!important;
  padding:7px 10px!important;
}
#fantasyProfile .profileIdentity .level{
  width:175px!important;
  min-width:135px!important;
}
#fantasyProfile .goldPointBox{
  flex:0 1 170px!important;
  min-width:150px!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
#fantasyProfile .skillDeck{
  flex:0 1 390px!important;
  width:390px!important;
  min-width:330px!important;
  max-width:390px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:1fr!important;
  gap:6px!important;
  align-items:stretch!important;
}
#fantasyProfile .skillDeck .skillMenuBtn{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:78px!important;
  min-height:78px!important;
  max-height:78px!important;
  padding:20px 5px 7px!important;
  gap:3px!important;
  overflow:hidden!important;
}
#fantasyProfile .skillDeck .skillLabel{
  top:4px!important;
  font-size:9px!important;
}
#fantasyProfile .skillDeck .skillMain{
  font-size:10px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
}
#fantasyProfile .skillDeck .skillMenuBtn small{
  font-size:7.2px!important;
  line-height:1.15!important;
  white-space:normal!important;
  word-break:keep-all!important;
  margin-top:0!important;
}
#fantasyProfile .skillCrystal{
  flex:0 0 120px!important;
  width:120px!important;
  height:78px!important;
}
#fantasyProfile .guideDock{
  flex:0 0 125px!important;
  width:125px!important;
  height:78px!important;
  margin-left:auto!important;
}

@media(max-width:1250px){
  #fantasyProfile{gap:6px!important;padding-left:8px!important;padding-right:8px!important}
  #fantasyProfile .profileIdentity{flex-basis:220px!important;min-width:190px!important;padding-left:7px!important;padding-right:7px!important}
  #fantasyProfile .profileIdentity .level{width:145px!important;min-width:115px!important}
  #fantasyProfile .avatar{font-size:39px!important;padding:5px!important}
  #fantasyProfile .goldPointBox{flex-basis:150px!important;min-width:135px!important;font-size:10px!important}
  #fantasyProfile .skillDeck{flex-basis:345px!important;width:345px!important;min-width:315px!important;max-width:345px!important;gap:5px!important}
  #fantasyProfile .skillDeck .skillMain{font-size:9px!important}
  #fantasyProfile .skillDeck .skillMenuBtn small{font-size:6.5px!important}
  #fantasyProfile .skillCrystal{flex-basis:105px!important;width:105px!important}
  #fantasyProfile .guideDock{flex-basis:110px!important;width:110px!important}
}


/* ===== v2.0.51 채집물 도감 우측 상단 나가기 + 대어 배너 ===== */
/* 채집물 확인에서는 하단 나가기 버튼을 책 우측 상단으로 이동 */
#modal section.collectionBook{position:relative!important;padding-top:58px!important;padding-bottom:18px!important}
#modal section.collectionBook #modalExit{
  display:block!important;
  position:absolute!important;
  right:14px!important;
  top:10px!important;
  bottom:auto!important;
  margin:0!important;
  min-width:82px!important;
  padding:8px 12px!important;
  z-index:220!important;
  border:2px solid #d2b06a!important;
  border-radius:10px!important;
  background:linear-gradient(#795036,#54321f)!important;
  color:#fff4cf!important;
  font-weight:1000!important;
  box-shadow:0 3px 0 #321d12!important;
}
/* 채집물 확인에서는 X와 나가기 버튼이 겹치지 않도록 X 숨김 */
#modal section.collectionBook > .close{display:none!important}
#modal section.collectionBook #mt{margin-top:-37px!important;padding-right:105px!important}

/* 대물 도감: 요구 레벨 대신 이름 자체를 특별 등급 배너처럼 강조 */
.collectionBook .bigFishRow{padding:9px 7px!important}
.collectionBook .bigFishRow span{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
.collectionBook .bigFishRow small{font-size:10px!important;color:#765338!important;font-weight:900!important;white-space:nowrap!important}
.collectionBook .bigFishBanner{
  display:inline-block!important;
  padding:4px 9px!important;
  border-radius:8px!important;
  font-style:normal!important;
  font-size:11px!important;
  font-weight:1000!important;
  letter-spacing:-.2px!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-shadow:0 1px rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.75),0 2px 5px rgba(55,32,16,.18)!important;
}
.collectionBook .bigFish-hammerhead .bigFishBanner{color:#315867!important;background:linear-gradient(#d9f4f5,#a9d7dc)!important;border:1px solid #68aab2!important}
.collectionBook .bigFish-tiger_shark .bigFishBanner{color:#70430d!important;background:linear-gradient(#fff0b8,#e7c267)!important;border:1px solid #bf8c2f!important}
.collectionBook .bigFish-bull_shark .bigFishBanner{color:#8a3519!important;background:linear-gradient(#ffe0bf,#efa16d)!important;border:1px solid #cf6d39!important;box-shadow:0 0 7px rgba(211,104,50,.28),inset 0 1px #fff!important}
.collectionBook .bigFish-mako_shark .bigFishBanner{color:#254ba3!important;background:linear-gradient(#dceaff,#9fc5f8)!important;border:1px solid #628fdc!important;box-shadow:0 0 8px rgba(69,115,210,.32),inset 0 1px #fff!important}
.collectionBook .bigFish-great_white .bigFishBanner{color:#6f287f!important;background:linear-gradient(#f5dcff,#d8a7eb)!important;border:1px solid #aa66c0!important;box-shadow:0 0 9px rgba(161,86,187,.38),inset 0 1px #fff!important}


/* ===== v2.0.52 메인 콘텐츠 2분할 + ADMIN 야생 구역 + 가이드 요약 정리 ===== */
.mapButtons{min-width:370px!important}
.farmModeSplit{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:370px}
#topBanner .farmModeSplit .farmModeBtn{min-width:0!important;width:100%!important;height:46px!important;padding:7px 10px!important;display:flex!important;align-items:center;justify-content:center;gap:6px;font-size:13px!important;white-space:nowrap}
#topBanner .farmModeSplit .farmModeBtn span{font-weight:950}
#topBanner .farmModeSplit .wildZoneMode{position:relative;border-color:#9f8bd4!important;background:linear-gradient(180deg,#4b4776 0%,#302b54 72%,#211d3d 100%)!important;color:#f4edff!important;box-shadow:inset 0 2px 0 #ffffff24,inset 0 -3px 0 #17142c,0 0 11px #7767b755!important}
#topBanner .farmModeSplit .wildZoneMode small{position:absolute;right:5px;top:3px;font-size:5px;line-height:1;padding:2px 4px;border-radius:7px;background:#151126;color:#d9caff;border:1px solid #8d79c8;letter-spacing:.5px}
#topBanner .farmModeSplit .wildZoneMode:hover{filter:brightness(1.14)!important;box-shadow:inset 0 2px 0 #ffffff32,inset 0 -3px 0 #17142c,0 0 16px #a58ee688!important}

.huntZone{position:relative;min-height:570px;overflow:hidden;background:linear-gradient(180deg,#11162d 0%,#18243a 45%,#1d3028 100%);color:#eef3dc}
.huntZone[hidden]{display:none!important}
.huntNightSky{position:absolute;inset:0 0 46% 0;background:radial-gradient(circle at 72% 25%,#e7ebd922 0 3%,transparent 18%),linear-gradient(180deg,#090d20,#17213a);overflow:hidden}
.huntNightSky i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff7c8;box-shadow:0 0 7px #fff5af}
.huntNightSky i:nth-child(1){left:11%;top:18%}.huntNightSky i:nth-child(2){left:29%;top:30%}.huntNightSky i:nth-child(3){left:53%;top:13%}.huntNightSky i:nth-child(4){left:80%;top:38%}.huntNightSky i:nth-child(5){left:91%;top:20%}
.huntMoon{position:absolute;right:8%;top:42px;font-size:74px;color:#f7efc2;text-shadow:0 0 24px #fff6b866}
.huntZoneHeader{position:relative;z-index:3;margin:18px auto 0;width:max-content;max-width:80%;padding:10px 18px;border:1px solid #8b80b1;border-radius:14px;background:#15172ccc;box-shadow:0 8px 24px #0008;text-align:center}
.huntZoneHeader strong{display:block;font-size:17px;color:#f5e9ba}.huntZoneHeader span{display:block;margin-top:3px;font-size:9px;color:#bfc5d8}
.huntGrassLayer{position:absolute;left:-2%;right:-2%;bottom:0;height:48%;font-size:32px;line-height:2.5;letter-spacing:6px;opacity:.55;filter:saturate(.7) brightness(.65);background:linear-gradient(180deg,#25392d,#17251d)}
.huntPreviewCamp{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;gap:2px;font-size:52px;filter:drop-shadow(0 8px 7px #0009)}
.huntTorch{animation:huntTorchPulse 1.2s ease-in-out infinite;filter:drop-shadow(0 0 14px #ff9d35)}
.huntClub{font-size:42px;transform:rotate(-28deg)}
@keyframes huntTorchPulse{50%{filter:drop-shadow(0 0 25px #ffc14f);transform:scale(1.07)}}
.huntComingSoon{position:absolute;z-index:4;left:50%;bottom:48px;transform:translateX(-50%);width:min(620px,82%);box-sizing:border-box;padding:14px 18px;border:1px solid #8376a8;border-radius:15px;background:#111626e6;box-shadow:0 8px 28px #0008;text-align:center}
.huntComingSoon b{font-size:15px;color:#ffe5a8}.huntComingSoon p{margin:6px 0;font-size:10px;line-height:1.55;color:#e1e4e9}.huntComingSoon small{font-size:8px;color:#aca6c9}

.guideSummaryGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 10px}
.guideSummaryGrid>div{padding:9px 10px;border:1px solid #d9c490;border-radius:10px;background:linear-gradient(180deg,#fffdf3,#f5ecd1);box-shadow:inset 0 1px #fff}
.guideSummaryGrid b{display:block;margin-bottom:3px;font-size:10px;color:#694b25}
.guideSummaryGrid span{display:block;font-size:8px;line-height:1.45;color:#625844}
.guideClosing{margin-top:8px;padding:11px 13px;border:1px solid #c8ad68;border-radius:11px;background:#efe2bd;text-align:center}
.guideClosing b{font-size:11px;color:#5c421e}.guideClosing p{margin:4px 0 0;font-size:8px;line-height:1.5;color:#66583d}
@media(max-width:760px){.mapButtons{min-width:320px!important}.farmModeSplit{width:320px;gap:5px}.guideSummaryGrid{grid-template-columns:1fr}}


/* ===== v2.0.53 PLAYABLE WILD HUNT ===== */
.huntZone{position:relative;overflow:hidden;min-height:560px;background:#07131c;border:2px solid #2d4660;border-radius:14px;isolation:isolate}
.huntWorld{position:absolute;inset:0;background:radial-gradient(circle at 70% 15%,#293d55 0,#122333 28%,#09151f 65%,#061016 100%);overflow:hidden}
.huntWorld:after{content:"";position:absolute;inset:42% -10% -15%;background:repeating-linear-gradient(115deg,#162b22 0 18px,#10251d 18px 36px);opacity:.82;transform:skewY(-3deg);z-index:1}
.huntNightSky{position:absolute;inset:0 0 48%;background:linear-gradient(#07101e,#10253a);z-index:0}.huntNightSky i{position:absolute;width:2px;height:2px;background:#fff7cd;border-radius:50%;box-shadow:60px 45px #fff,130px 18px #bad8ff,260px 70px #fff,410px 30px #fff3b0,560px 80px #dbeaff,720px 35px #fff}.huntNightSky i:nth-child(2){left:22%;top:18%}.huntNightSky i:nth-child(3){left:48%;top:8%}.huntNightSky i:nth-child(4){left:70%;top:25%}.huntNightSky i:nth-child(5){left:84%;top:10%}
.huntMoon{position:absolute;right:7%;top:6%;font-size:54px;color:#f5e6ad;text-shadow:0 0 22px #e8db9a99;z-index:2}.huntGround{position:absolute;inset:40% 0 0;z-index:2;background-image:radial-gradient(ellipse at 20% 50%,#1f3928 0 2%,transparent 3%),radial-gradient(ellipse at 75% 35%,#233e2b 0 3%,transparent 4%);background-size:110px 70px}.huntTrees:before,.huntTrees:after{content:"🌲  🌳  🌲  🌳  🌲";position:absolute;font-size:58px;letter-spacing:22px;filter:brightness(.25) saturate(.7);z-index:3;white-space:nowrap}.huntTrees:before{left:-4%;top:31%}.huntTrees:after{right:-7%;bottom:3%;transform:scale(.85)}
.huntPlayer{position:absolute;z-index:12;transform:translate(-50%,-62%);font-size:36px;transition:left .06s linear,top .06s linear;filter:drop-shadow(0 5px 2px #0009)}.huntBody{position:relative;z-index:2}.huntTorchFx{position:absolute;left:-22px;top:-16px;font-size:24px;z-index:3;animation:torchFlicker .18s infinite alternate}.huntClubFx{position:absolute;right:-18px;top:8px;font-size:25px;transform-origin:20% 80%;z-index:4}.huntPlayer.clubSwing .huntClubFx{animation:clubSwing .34s ease-out}.huntPlayer.walking{animation:huntBob .16s linear}.huntPlayer.hurt{animation:huntHurt .24s linear}.huntLight{position:absolute;width:260px;height:210px;border-radius:50%;transform:translate(-50%,-50%);z-index:8;pointer-events:none;background:radial-gradient(circle,#ffca5d38 0,#ff9f2e1e 35%,transparent 70%);box-shadow:0 0 70px #ffb13820;mix-blend-mode:screen}
.huntAnimals{position:absolute;inset:0;z-index:10}.huntAnimal{position:absolute;transform:translate(-50%,-55%);font-size:34px;text-align:center;filter:drop-shadow(0 4px 2px #0008);transition:left .2s linear,top .2s linear}.huntAnimal span{display:block}.huntAnimal b{display:block;font-size:10px;color:#fff;background:#101822cc;padding:2px 6px;border-radius:8px;white-space:nowrap}.huntAnimal .animalHp{display:block;height:3px;margin:2px auto 0;width:100%;max-width:48px;background:#d94444;border-radius:3px}.huntAnimal.dead{opacity:.18;filter:grayscale(1);transform:translate(-50%,-30%) rotate(85deg)}.hunt-tiger,.hunt-lion{font-size:42px}.hunt-rabbit{font-size:27px}.hunt-deer{font-size:36px}
.huntHud{position:absolute;z-index:30;left:12px;right:12px;top:10px;display:grid;grid-template-columns:auto minmax(210px,330px) minmax(180px,260px) 1fr auto;align-items:center;gap:10px;padding:9px 11px;background:#07101bd9;border:1px solid #6b7390;border-radius:12px;box-shadow:0 7px 24px #0008;backdrop-filter:blur(5px)}.huntTitle{display:flex;flex-direction:column;color:#f1e8ff}.huntTitle strong{font-size:15px}.huntTitle small{color:#c9b9ff;font-size:8px}.huntHp{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;color:#fff;font-size:11px}.huntHp>div,.huntTargetHud>div{height:9px;background:#2d1720;border:1px solid #6a3442;border-radius:8px;overflow:hidden}.huntHp i{display:block;height:100%;background:linear-gradient(90deg,#db3b4b,#ff6c74);transition:width .2s}.huntTargetHud{display:grid;grid-template-columns:auto 1fr auto;gap:5px;align-items:center;color:#fff;font-size:10px}.huntTargetHud i{display:block;height:100%;background:linear-gradient(90deg,#8f3e32,#df6a42)}.huntHelp{color:#c8d5df;font-size:10px}.huntHelp b{color:#ffd46f}.huntExit{border:1px solid #7f6d8d;background:#29233a;color:#fff;border-radius:8px;padding:7px 10px;cursor:pointer}
.huntDeathOverlay{position:absolute;inset:0;z-index:50;background:#02060bd9;display:grid;place-items:center}.huntDeathOverlay[hidden]{display:none}.huntDeathOverlay>div{width:min(390px,85%);padding:30px;text-align:center;background:linear-gradient(#291f2d,#151722);border:1px solid #8d6d82;border-radius:16px;color:#fff;box-shadow:0 18px 60px #000}.huntDeathOverlay b{display:block;font-size:26px}.huntDeathOverlay p{color:#d9cbd5}.huntDeathOverlay strong{display:block;margin:15px 0;color:#ffb6a6;font-size:18px}.huntDeathOverlay button{padding:9px 18px;border-radius:9px;border:1px solid #867084;background:#31263a;color:#fff}
@keyframes clubSwing{0%{transform:rotate(-55deg)}55%{transform:rotate(65deg) translate(5px,2px)}100%{transform:rotate(0)}}@keyframes torchFlicker{to{transform:scale(1.12) rotate(4deg);filter:brightness(1.3)}}@keyframes huntBob{50%{transform:translate(-50%,-66%)}}@keyframes huntHurt{25%,75%{filter:drop-shadow(0 0 8px #f33) brightness(1.8);transform:translate(-55%,-62%)}50%{transform:translate(-45%,-62%)}}
@media(max-width:760px){.huntHud{grid-template-columns:1fr 1.5fr auto}.huntTargetHud,.huntHelp{display:none!important}.huntZone{min-height:500px}}
.huntLootTitle{margin-top:14px!important}.huntLootInventory{display:grid;grid-template-columns:1fr 1fr;gap:5px}.huntLootRow{border-color:#64537b!important;background:linear-gradient(180deg,#30293f,#201d2d)!important}.huntLootRow span{color:#f0e7ff!important}.huntLoot-tiger_trophy{box-shadow:inset 0 0 12px #ff9b4040,0 0 10px #ff8b3940!important;border-color:#c87d49!important}.huntLoot-lion_trophy{border-color:#b79b55!important}.guideSummaryGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* ===== v2.0.54 PORTAL ZONE / PROFILE ACTIONS LAYOUT FIX ===== */
/* 상단 홍보배너가 포탈 클릭영역을 덮던 구조를 완전히 제거하고 포탈존을 독립 클릭 레이어로 고정 */
#topBanner .mapButtons{
  position:absolute!important;
  top:7px!important;
  right:14px!important;
  bottom:auto!important;
  z-index:140!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  max-height:none!important;
  pointer-events:auto!important;
  display:block!important;
}
#topBanner .portalZonePanel{
  display:flex!important;
  align-items:stretch!important;
  gap:7px!important;
  padding:5px!important;
  border:1px solid #bba460!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,rgba(31,51,39,.97),rgba(21,39,30,.98))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.13),0 5px 13px rgba(0,0,0,.28)!important;
  pointer-events:auto!important;
}
#topBanner .portalZoneLabel{
  width:78px!important;
  min-width:78px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  padding:2px 5px!important;
  border-right:1px solid rgba(220,195,119,.35)!important;
  color:#f7e4a2!important;
  line-height:1.08!important;
  text-align:center!important;
}
#topBanner .portalZoneLabel span{font-size:6px!important;letter-spacing:.8px!important;color:#d7c68f!important}
#topBanner .portalZoneLabel b{font-size:11px!important;margin-top:3px!important;white-space:nowrap!important}
#topBanner .farmModeSplit{
  display:grid!important;
  grid-template-columns:150px 150px!important;
  gap:6px!important;
  width:auto!important;
  height:auto!important;
  pointer-events:auto!important;
}
#topBanner .farmModeSplit[hidden]{display:none!important}
#topBanner .farmModeSplit .farmModeBtn{
  position:relative!important;
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:6px 8px!important;
  border:1px solid #d8b95e!important;
  border-radius:9px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  z-index:2!important;
  box-sizing:border-box!important;
  font-size:12px!important;
  transition:transform .12s ease,filter .12s ease!important;
}
#topBanner .farmModeSplit .farmModeBtn:hover{transform:translateY(-1px)!important;filter:brightness(1.09)!important}
#topBanner .farmModeSplit .naturalMode{background:linear-gradient(180deg,#7caf58,#4f8038)!important;color:#fffbe4!important;box-shadow:inset 0 1px #ffffff3d,0 2px 0 #294c24!important}
#topBanner .farmModeSplit .wildZoneMode{background:linear-gradient(180deg,#514b82,#302b58)!important;color:#f5edff!important;border-color:#a694db!important;box-shadow:inset 0 1px #ffffff30,0 2px 0 #1c1834,0 0 9px #8a72ca4d!important}
#topBanner .portalHomeBtn{
  width:150px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:6px 10px!important;
  border:1px solid #d8b95e!important;border-radius:9px!important;background:linear-gradient(#f4d77d,#d6aa48)!important;
  color:#3d2a18!important;font-weight:950!important;cursor:pointer!important;pointer-events:auto!important;box-shadow:0 2px 0 #765728!important;
}
#topBanner .portalHomeBtn[hidden]{display:none!important}

/* 홍보 포인트 교환소는 프로필 하단 우측 액션 영역으로 이동 */
#fantasyProfile .profileActionsDock{
  display:grid!important;
  grid-template-columns:minmax(205px,1fr) minmax(145px,.72fr)!important;
  gap:7px!important;
  align-items:stretch!important;
  min-width:360px!important;
  max-width:430px!important;
}
#fantasyProfile .profilePromoBtn{
  display:grid!important;
  grid-template-columns:34px 1fr 13px!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  padding:7px 9px!important;
  border:1px solid #d8b85f!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#526d39,#344d2a)!important;
  color:#fff5c6!important;
  box-shadow:inset 0 1px #ffffff32,0 3px 0 #24351d!important;
  cursor:pointer!important;
  text-align:left!important;
}
#fantasyProfile .profilePromoBtn:hover{filter:brightness(1.1)!important;transform:translateY(-1px)!important}
#fantasyProfile .profilePromoIcon{display:flex!important;align-items:center!important;justify-content:center!important;width:31px!important;height:31px!important;border-radius:50%!important;background:#f0d36b!important;color:#4a3519!important;font-size:17px!important;box-shadow:inset 0 1px #fff8,0 0 7px #efd46b55!important}
#fantasyProfile .profilePromoBtn span:nth-child(2){display:flex!important;flex-direction:column!important;min-width:0!important}
#fantasyProfile .profilePromoBtn small{font-size:5px!important;letter-spacing:.75px!important;color:#d9d4a8!important}
#fantasyProfile .profilePromoBtn b{margin-top:2px!important;font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#fantasyProfile .profilePromoBtn i{font-style:normal!important;font-size:19px!important;color:#ffe58c!important}
#fantasyProfile .profileActionsDock .guideDock{
  min-width:0!important;width:auto!important;height:auto!important;margin:0!important;padding:6px 8px!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;
}
#fantasyProfile .profileActionsDock .guideDock>span{font-size:6px!important;white-space:nowrap!important}
#fantasyProfile .profileActionsDock .guideBtn{width:100%!important;min-width:0!important;padding:6px 8px!important;font-size:10px!important}

/* 구형 상단 홍보배너 규칙이 새 위치에 영향을 주지 않도록 무효화 */
#fantasyProfile #promoExchangeBtn{position:relative!important;inset:auto!important;z-index:auto!important;width:auto!important;height:auto!important;max-height:none!important}

@media(max-width:1050px){
  #topBanner .portalZoneLabel{display:none!important}
  #topBanner .farmModeSplit{grid-template-columns:132px 132px!important}
  #topBanner .farmModeSplit .farmModeBtn,#topBanner .portalHomeBtn{width:132px!important;min-width:132px!important;max-width:132px!important}
  #fantasyProfile .profileActionsDock{min-width:315px!important;grid-template-columns:1.25fr .8fr!important}
}


/* ===== v2.0.55 COMPACT 3-WAY PORTAL / RELIABLE NAV ===== */
/* 우측 끝에 붙지 않도록 안쪽으로 당기고 전체 크기를 축소 */
#topBanner .mapButtons{
  top:8px!important;
  right:42px!important;
  left:auto!important;
  width:auto!important;
  max-width:410px!important;
  overflow:visible!important;
}
#topBanner .portalZonePanel{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:4px 5px!important;
  border-radius:11px!important;
  max-width:405px!important;
  overflow:visible!important;
}
#topBanner .portalZoneLabel{
  width:55px!important;
  min-width:55px!important;
  padding:1px 4px!important;
}
#topBanner .portalZoneLabel span{font-size:5px!important;letter-spacing:.45px!important}
#topBanner .portalZoneLabel b{font-size:9px!important;margin-top:2px!important}
#topBanner .farmModeSplit,
#topBanner .farmModeSplit[hidden]{
  display:grid!important;
  grid-template-columns:92px 92px 96px!important;
  gap:4px!important;
  width:288px!important;
  min-width:288px!important;
  max-width:288px!important;
  overflow:visible!important;
}
#topBanner .farmModeSplit .farmModeBtn,
#topBanner .portalHomeBtn,
#topBanner .portalHomeBtn[hidden]{
  display:flex!important;
  position:relative!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  padding:4px 5px!important;
  box-sizing:border-box!important;
  border-radius:8px!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
#topBanner .farmModeSplit .portalHomeBtn{
  border:1px solid #d4bc72!important;
  background:linear-gradient(180deg,#e9d79a,#bca45f)!important;
  color:#352c1b!important;
  box-shadow:inset 0 1px #fff8,0 2px 0 #695c34!important;
}
#topBanner .farmModeSplit .naturalMode{
  border:1px solid #9cc976!important;
  background:linear-gradient(180deg,#67984c,#416f34)!important;
}
#topBanner .farmModeSplit .wildZoneMode{
  border:1px solid #a694db!important;
  background:linear-gradient(180deg,#514b82,#302b58)!important;
}
#topBanner .farmModeSplit .wildZoneMode small{
  top:-5px!important;right:2px!important;font-size:4px!important;padding:1px 3px!important;
}
#topBanner .farmModeSplit .farmModeBtn.isActive{
  outline:2px solid rgba(255,239,164,.9)!important;
  outline-offset:1px!important;
  filter:brightness(1.12)!important;
  box-shadow:0 0 0 1px rgba(52,38,16,.55),0 0 9px rgba(255,221,113,.45)!important;
}
#topBanner .farmModeSplit .farmModeBtn.isActive::after{
  content:'현재';position:absolute;left:3px;top:-6px;font-size:4px;line-height:1;padding:2px 3px;border-radius:5px;
  background:#fff0a8;color:#4a3816;border:1px solid #b9953f;font-weight:1000;
}
@media(max-width:1100px){
  #topBanner .mapButtons{right:24px!important}
  #topBanner .portalZoneLabel{display:none!important}
  #topBanner .portalZonePanel{max-width:300px!important}
  #topBanner .farmModeSplit,#topBanner .farmModeSplit[hidden]{grid-template-columns:86px 86px 92px!important;width:272px!important;min-width:272px!important;max-width:272px!important}
  #topBanner .farmModeSplit .farmModeBtn,#topBanner .portalHomeBtn,#topBanner .portalHomeBtn[hidden]{font-size:9px!important;height:32px!important;min-height:32px!important;max-height:32px!important}
}

/* ===== v2.0.56 PORTAL FINAL OVERRIDE =====
   구형 #home/#wild ID !important 규칙보다 높은 specificity로 3버튼 폭을 강제한다. */
#topBanner .mapButtons{
  top:9px!important;
  right:68px!important;
  left:auto!important;
  width:286px!important;
  min-width:286px!important;
  max-width:286px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  overflow:visible!important;
  z-index:160!important;
}
#topBanner .mapButtons .portalZonePanel{
  width:286px!important;
  min-width:286px!important;
  max-width:286px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:46px 1fr!important;
  gap:4px!important;
  align-items:center!important;
  padding:3px 4px!important;
  overflow:visible!important;
}
#topBanner .mapButtons .portalZoneLabel{
  display:flex!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:32px!important;
  padding:0 3px!important;
  box-sizing:border-box!important;
  border-right:1px solid rgba(220,195,119,.28)!important;
}
#topBanner .mapButtons .portalZoneLabel span{font-size:4px!important;letter-spacing:.15px!important}
#topBanner .mapButtons .portalZoneLabel b{font-size:7px!important;margin-top:2px!important}
#topBanner .mapButtons .farmModeSplit,
#topBanner .mapButtons .farmModeSplit[hidden]{
  display:grid!important;
  grid-template-columns:72px 76px 80px!important;
  gap:3px!important;
  width:234px!important;
  min-width:234px!important;
  max-width:234px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  overflow:visible!important;
}
/* 반드시 구형 ID selector보다 우선하도록 #topBanner + .mapButtons + #id 사용 */
#topBanner .mapButtons #home,
#topBanner .mapButtons #wild,
#topBanner .mapButtons #wildZone,
#topBanner .mapButtons #home[hidden],
#topBanner .mapButtons #wild[hidden],
#topBanner .mapButtons #wildZone[hidden]{
  display:flex!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  margin:0!important;
  padding:3px 4px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  border-radius:7px!important;
  font-size:8px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
#topBanner .mapButtons #home span,
#topBanner .mapButtons #wild span,
#topBanner .mapButtons #wildZone span{font-size:8px!important;font-weight:950!important}
#topBanner .mapButtons #wildZone small{
  position:absolute!important;
  top:-5px!important;
  right:1px!important;
  font-size:3px!important;
  padding:1px 2px!important;
  line-height:1!important;
}
#topBanner .mapButtons #home.isActive::after,
#topBanner .mapButtons #wild.isActive::after,
#topBanner .mapButtons #wildZone.isActive::after{
  content:'현재'!important;
  position:absolute!important;
  left:2px!important;
  top:-5px!important;
  font-size:3px!important;
  line-height:1!important;
  padding:1px 2px!important;
  border-radius:4px!important;
}
@media(max-width:1100px){
  #topBanner .mapButtons{right:42px!important;width:242px!important;min-width:242px!important;max-width:242px!important}
  #topBanner .mapButtons .portalZonePanel{width:242px!important;min-width:242px!important;max-width:242px!important;grid-template-columns:1fr!important}
  #topBanner .mapButtons .portalZoneLabel{display:none!important}
  #topBanner .mapButtons .farmModeSplit,#topBanner .mapButtons .farmModeSplit[hidden]{grid-template-columns:72px 76px 80px!important;width:234px!important;min-width:234px!important;max-width:234px!important}
}


/* ===== v2.0.57 single MAP MOVE button + modal ===== */
#topBanner .mapButtons{
  position:absolute!important;top:61px!important;right:12px!important;
  width:236px!important;min-width:236px!important;max-width:236px!important;
  height:48px!important;min-height:48px!important;max-height:48px!important;
  display:block!important;overflow:visible!important;z-index:190!important;
}
#topBanner .mapButtons .mapMoveBtn{
  width:236px!important;min-width:236px!important;max-width:236px!important;
  height:48px!important;min-height:48px!important;max-height:48px!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  padding:6px 12px!important;margin:0!important;box-sizing:border-box!important;
  border:2px solid #f4d98c!important;border-radius:12px!important;
  background:radial-gradient(circle at 18% 0%,rgba(255,255,255,.25),transparent 35%),linear-gradient(180deg,#4f7a45,#315b39)!important;
  box-shadow:inset 0 2px 0 #ffffff46,inset 0 -3px 0 #213e27,0 4px 0 #182b1e,0 7px 13px #0004!important;
  color:#fff6cf!important;text-align:left!important;cursor:pointer!important;pointer-events:auto!important;
}
#topBanner .mapButtons .mapMoveBtn>span{display:flex!important;flex:1!important;min-width:0!important;flex-direction:column!important;line-height:1.05!important}
#topBanner .mapButtons .mapMoveBtn>span small{font-size:6px!important;letter-spacing:1.2px!important;color:#e7d899!important}
#topBanner .mapButtons .mapMoveBtn>span b{font-size:13px!important;font-weight:950!important;color:#fff8d7!important;margin-top:3px!important}
#topBanner .mapButtons .mapMoveBtn>i{font-style:normal!important;font-size:20px!important;color:#f6de8f!important}
#topBanner .mapButtons .mapMoveBtn:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}
#topBanner .portalZonePanel,#topBanner .farmModeSplit{display:none!important}

.mapMoveModal[hidden]{display:none!important}
.mapMoveModal{position:fixed!important;inset:0!important;z-index:200000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important}
.mapMoveBackdrop{position:absolute!important;inset:0!important;z-index:0!important;background:rgba(10,17,13,.68)!important;backdrop-filter:blur(3px)!important}
.mapMoveCard{position:relative!important;z-index:1!important;pointer-events:auto!important;width:min(560px,calc(100vw - 34px))!important;padding:18px!important;border:2px solid #e5c66c!important;border-radius:18px!important;background:radial-gradient(circle at 50% -30%,#5f845e 0%,transparent 45%),linear-gradient(180deg,#294936 0%,#1d3328 100%)!important;box-shadow:inset 0 2px 0 #ffffff28,inset 0 -4px 0 #102119,0 20px 50px #0009!important;color:#fff4cc!important}
.mapMoveClose{position:absolute!important;right:10px!important;top:9px!important;width:32px!important;height:32px!important;border-radius:9px!important;border:1px solid #d7bc69!important;background:#263f31!important;color:#fff2c1!important;font-size:22px!important;line-height:26px!important;cursor:pointer!important}
.mapMoveHead{text-align:center!important;margin-bottom:14px!important}
.mapMoveHead small{font-size:8px!important;letter-spacing:2px!important;color:#d8c078!important}
.mapMoveHead h2{margin:3px 0 4px!important;font-size:22px!important;color:#fff3bc!important}
.mapMoveHead p{margin:0!important;font-size:11px!important;color:#cfe0cf!important}
.mapMoveChoices{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
.mapChoice{position:relative!important;z-index:2!important;pointer-events:auto!important;min-width:0!important;height:116px!important;border:2px solid #d8bd6d!important;border-radius:14px!important;padding:12px 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;color:#fff7d5!important;cursor:pointer!important;box-shadow:inset 0 2px 0 #ffffff30,inset 0 -3px 0 #0003,0 5px 10px #0004!important}
.mapChoice>span{font-size:29px!important;line-height:1!important}.mapChoice>b{font-size:14px!important}.mapChoice>small{font-size:8px!important;line-height:1.25!important;text-align:center!important;opacity:.9!important}
.mapHome{background:linear-gradient(180deg,#6d8d4c,#3d6138)!important}.mapNatural{background:linear-gradient(180deg,#49865b,#285d45)!important}.mapWild{background:linear-gradient(180deg,#514a7e,#302b57)!important;border-color:#b4a1e3!important}
.mapChoice:hover{filter:brightness(1.12)!important;transform:translateY(-2px)!important}
@media(max-width:760px){
  #topBanner .mapButtons{right:8px!important;width:190px!important;min-width:190px!important;max-width:190px!important}
  #topBanner .mapButtons .mapMoveBtn{width:190px!important;min-width:190px!important;max-width:190px!important}
  .mapMoveChoices{grid-template-columns:1fr!important}.mapChoice{height:76px!important;display:grid!important;grid-template-columns:42px 1fr!important;grid-template-rows:auto auto!important;text-align:left!important}.mapChoice>span{grid-row:1/3!important}.mapChoice>b,.mapChoice>small{justify-self:start!important}
}

/* ===== v2.0.62 농부 자체 삼지창 포크 공격 프레임 ===== */
.huntPlayer .huntClubFx{display:none!important}
.huntPlayer .huntBody{display:inline-block!important;transform-origin:50% 78%!important;will-change:transform,filter!important}
.huntPlayer[data-dir="left"] .huntBody{transform:scaleX(-1)!important}
.huntPlayer[data-dir="right"] .huntBody{transform:scaleX(1)!important}
.huntPlayer[data-dir="up"] .huntBody{transform:translateY(-1px) scale(.96,1.04)!important}
.huntPlayer[data-dir="down"] .huntBody{transform:translateY(1px) scale(1.04,.98)!important}
.huntPlayer[data-dir="right"].forkAttack .huntBody{animation:forkJabRight .40s steps(4,end)!important}
.huntPlayer[data-dir="left"].forkAttack .huntBody{animation:forkJabLeft .40s steps(4,end)!important}
.huntPlayer[data-dir="up"].forkAttack .huntBody{animation:forkJabUp .40s steps(4,end)!important}
.huntPlayer[data-dir="down"].forkAttack .huntBody{animation:forkJabDown .40s steps(4,end)!important}
@keyframes forkJabRight{0%{transform:translateX(-3px) rotate(-5deg) scaleX(1)}25%{transform:translateX(3px) rotate(4deg) scaleX(1)}55%{transform:translateX(12px) rotate(9deg) scale(1.08) scaleX(1)}78%{transform:translateX(5px) rotate(3deg) scaleX(1)}100%{transform:translateX(0) scaleX(1)}}
@keyframes forkJabLeft{0%{transform:translateX(3px) rotate(5deg) scaleX(-1)}25%{transform:translateX(-3px) rotate(-4deg) scaleX(-1)}55%{transform:translateX(-12px) rotate(-9deg) scale(1.08) scaleX(-1)}78%{transform:translateX(-5px) rotate(-3deg) scaleX(-1)}100%{transform:translateX(0) scaleX(-1)}}
@keyframes forkJabUp{0%{transform:translateY(3px) rotate(-3deg)}30%{transform:translateY(-4px) rotate(2deg)}58%{transform:translateY(-13px) scale(1.07)}82%{transform:translateY(-5px)}100%{transform:translateY(-1px)}}
@keyframes forkJabDown{0%{transform:translateY(-3px) rotate(3deg)}30%{transform:translateY(4px) rotate(-2deg)}58%{transform:translateY(13px) scale(1.07)}82%{transform:translateY(5px)}100%{transform:translateY(1px)}}
.huntLoot-rabbit_meat,.huntLoot-deer_meat,.huntLoot-boar_meat,.huntLoot-hyena_meat,.huntLoot-lion_meat,.huntLoot-tiger_meat{border-color:#b75d55!important;background:linear-gradient(180deg,#fff4ec,#f0d4c5)!important}

/* ===== v2.0.63 야생 평지·횃불·시장 장부 정리 ===== */
.huntWorld:after{inset:44% 0 0!important;transform:none!important;background:repeating-linear-gradient(0deg,#162b22 0 18px,#10251d 18px 36px)!important}
.huntGround{inset:44% 0 0!important;border-top:2px solid #2b4d35!important}
.huntTrees:before{left:-4%!important;top:43%!important}
.huntTrees:after{right:-7%!important;bottom:2%!important}
.huntLight{width:210px!important;height:165px!important;background:radial-gradient(circle,#ffca5d38 0,#ff9f2e1e 32%,transparent 68%)!important;box-shadow:0 0 48px #ffb1381c!important}
.meatMarketTitle{margin-top:16px!important;padding-top:12px!important;border-top:1px dashed #ad805c!important}

/* ===== v2.0.64 야생 별·달·14그루 나무 ===== */
.huntNightSky{background-image:radial-gradient(circle,#fff 0 1px,transparent 1.4px),radial-gradient(circle,#bad8ff 0 1px,transparent 1.5px),radial-gradient(circle,#fff3b0 0 1.2px,transparent 1.7px),linear-gradient(#07101e,#10253a)!important;background-size:47px 43px,71px 61px,113px 79px,100% 100%!important;background-position:7px 12px,24px 5px,45px 21px,0 0!important}
.huntMoon{top:11%!important}
.huntTrees{position:absolute!important;inset:0!important;z-index:3!important;pointer-events:none!important}
.huntTrees:before,.huntTrees:after{display:none!important}
.huntTree{position:absolute!important;display:block!important;transform:translate(-50%,-78%)!important;font-style:normal!important;font-size:46px!important;line-height:1!important;filter:brightness(.32) saturate(.75) drop-shadow(0 5px 3px #0008)!important}
.huntLight{width:180px!important;height:140px!important;box-shadow:0 0 38px #ffb13818!important}

/* ===== v2.0.67 세 구역·프로필 동일 농부 / 부드러운 보행 ===== */
.huntNightSky{background-image:radial-gradient(circle,#fff7cf 0 1px,transparent 1.45px),linear-gradient(#07101e,#10253a)!important;background-size:86px 70px,100% 100%!important;background-position:12px 9px,0 0!important}
.huntNightSky i{box-shadow:105px 38px #fff,245px 16px #bad8ff,430px 62px #fff3b0!important}
.huntNightSky i:nth-child(n+4){display:none!important}
#farmFarmer{position:absolute;width:46px;height:60px;z-index:24;transform:translate(-50%,-62%);will-change:left,top}
#huntPlayer{width:46px!important;height:60px!important;font-size:0!important;will-change:left,top,transform}
#farmer,#farmFarmer,#huntPlayer{transition:left .085s linear,top .085s linear!important}
#huntPlayer .huntBody{display:none!important}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pixelFarmer{display:block;position:absolute;inset:0;overflow:visible;image-rendering:pixelated;filter:drop-shadow(0 3px 1px #17201566)}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfSprite{position:absolute;left:0;top:0;width:46px;height:56px;transform-origin:23px 31px}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfShadow{position:absolute;left:7px;bottom:0;width:32px;height:7px;background:#19271952;border-radius:50%}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHatCrown{position:absolute;left:11px;top:1px;width:24px;height:9px;background:#c9943d;border:2px solid #5c3a1f;box-shadow:inset 3px 0 #e5b85e,inset -3px 0 #936328;z-index:8}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHatBand{position:absolute;left:10px;top:8px;width:26px;height:4px;background:#4b7444;border-left:2px solid #29462e;border-right:2px solid #29462e;z-index:10}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHatBrim{position:absolute;left:5px;top:11px;width:36px;height:5px;background:#d7a548;border:2px solid #5c3a1f;box-shadow:inset 0 2px #efc86d;z-index:9}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHair{position:absolute;left:10px;top:14px;width:26px;height:16px;background:#61391f;border:2px solid #3a2518;z-index:3}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHead{position:absolute;left:13px;top:14px;width:22px;height:17px;background:#efb77d;border:2px solid #68402a;box-shadow:inset 3px 0 #ffd09c;z-index:5}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfEar{position:absolute;left:34px;top:20px;width:5px;height:7px;background:#e6a66e;border:2px solid #68402a;z-index:4}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfFace{position:absolute;left:27px;top:20px;width:3px;height:3px;background:#2a241f;box-shadow:5px 5px 0 -1px #bd5e58,1px 7px 0 -1px #d8796c;z-index:7}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfScarf{position:absolute;left:12px;top:31px;width:24px;height:5px;background:#d15a40;border:2px solid #743021;z-index:8}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBody{position:absolute;left:10px;top:34px;width:27px;height:16px;background:#56885a;border:2px solid #29472f;box-shadow:inset 3px 0 #76a66e;z-index:5}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfOverall{position:absolute;left:17px;top:35px;width:15px;height:16px;background:#557c9d;border:2px solid #29485e;box-shadow:inset 3px 0 #78a0bc,0 4px 0 -2px #d5b053;z-index:7}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfArm{position:absolute;top:35px;width:7px;height:16px;background:#65a064;border:2px solid #29472f;transform-origin:50% 2px;z-index:4}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfArmL{left:4px}:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfArmR{right:2px}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHand{position:absolute;top:48px;width:6px;height:6px;background:#efb77d;border:2px solid #68402a;z-index:6}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHandL{left:3px}:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHandR{right:1px}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfLeg{position:absolute;top:49px;width:8px;height:9px;background:#4b6f8a;border:2px solid #29485e;transform-origin:50% 1px;z-index:3}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfLegL{left:12px}:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfLegR{left:27px}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBoot{position:absolute;top:55px;width:11px;height:6px;background:#573b28;border:2px solid #2c211a;z-index:4}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBootL{left:9px}:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBootR{left:26px}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBraid{position:absolute;top:24px;width:6px;height:15px;background:#6a3c21;border:2px solid #392417;box-shadow:inset 0 -4px #8b542c;z-index:4}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBraidL{left:7px;transform:rotate(8deg)}:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBraidR{right:6px;transform:rotate(-8deg)}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfDust{position:absolute;bottom:3px;width:3px;height:3px;background:#e6d39c;opacity:0;box-shadow:5px -2px #d5bf85,-4px -1px #f0dfac}
:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfDustL{left:10px}:is(#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfDustR{right:9px}
:is(#farmFarmer,#huntPlayer).face-left .pfSprite{transform:scaleX(-1)}
:is(#farmFarmer,#huntPlayer).face-right .pfSprite,:is(#farmFarmer,#huntPlayer).face-down .pfSprite{transform:scaleX(1)}
:is(#farmFarmer,#huntPlayer).face-up .pfFace,:is(#farmFarmer,#huntPlayer).face-up .pfEar{opacity:0}
:is(#farmFarmer,#huntPlayer).face-up .pfHead{background:#633a20;box-shadow:inset 4px 0 #80502c,inset -3px 0 #432919}
:is(#farmer,#farmFarmer,#huntPlayer).walk .pixelFarmer{animation:pfBodyBob .34s ease-in-out infinite}
:is(#farmer,#farmFarmer,#huntPlayer).walk .pfShadow{animation:pfShadowStep .34s ease-in-out infinite}
:is(#farmer,#farmFarmer,#huntPlayer).walk .pfArmL{animation:pfArmForward .34s ease-in-out infinite}
:is(#farmer,#farmFarmer,#huntPlayer).walk .pfArmR{animation:pfArmBack .34s ease-in-out infinite}
:is(#farmer,#farmFarmer,#huntPlayer).walk .pfLegL,:is(#farmer,#farmFarmer,#huntPlayer).walk .pfBootL{animation:pfFootForward .34s ease-in-out infinite}
:is(#farmer,#farmFarmer,#huntPlayer).walk .pfLegR,:is(#farmer,#farmFarmer,#huntPlayer).walk .pfBootR{animation:pfFootBack .34s ease-in-out infinite}
#fantasyProfile .avatar{position:relative!important;width:58px!important;height:64px!important;padding:0!important;overflow:visible!important}
#fantasyProfile .avatar .pixelFarmer{transform:translate(6px,4px) scale(.92);transform-origin:top left}
#huntPlayer.forkAttack .pixelFarmer{animation:huntUnifiedJab .4s ease-out!important}
#huntPlayer.face-left.forkAttack .pixelFarmer{animation:huntUnifiedJabLeft .4s ease-out!important}
#huntPlayer.face-up.forkAttack .pixelFarmer{animation:huntUnifiedJabUp .4s ease-out!important}
#huntPlayer.face-down.forkAttack .pixelFarmer{animation:huntUnifiedJabDown .4s ease-out!important}
#huntPlayer.forkAttack .pfArmR{animation:forkArmJab .4s ease-out!important}
@keyframes huntUnifiedJab{45%{transform:translateX(7px) rotate(3deg)}100%{transform:none}}
@keyframes huntUnifiedJabLeft{45%{transform:translateX(-7px) rotate(-3deg)}100%{transform:none}}
@keyframes huntUnifiedJabUp{45%{transform:translateY(-7px)}100%{transform:none}}
@keyframes huntUnifiedJabDown{45%{transform:translateY(7px)}100%{transform:none}}
@keyframes forkArmJab{45%{transform:rotate(-48deg) translateY(-5px)}100%{transform:none}}

/* ===== v2.0.68 가이드 가독성 + 귀여운 애니풍 농부 ===== */
#modal section.bookModal:has(.guideBook){padding:18px 18px 24px!important}
#modal section.bookModal:has(.guideBook) #mt{margin:2px 48px 14px!important;text-align:center!important;line-height:1.25!important}
.guideBook{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:start!important}
.guidePage{min-width:0!important;height:auto!important;padding:20px!important}
.guidePage h3{margin:18px 0 9px!important;padding-bottom:6px!important;border-bottom:1px solid #d9bf82!important;line-height:1.3!important}
.guidePage .guideHero+h3{margin-top:5px!important}
.guideHero{line-height:1.05!important;margin-bottom:10px!important}
.guideCard{grid-template-columns:50px minmax(0,1fr)!important;column-gap:11px!important;row-gap:5px!important;margin:9px 0!important;padding:11px 12px!important}
.guideCard>div:not(.pic){width:100%!important;max-width:none!important;min-width:0!important}
.guideCard b{display:block!important;line-height:1.35!important;margin:0 0 4px!important;word-break:keep-all!important}
.guideCard p{margin:0!important;line-height:1.62!important;word-break:keep-all!important;overflow-wrap:break-word!important}
.guideRate{display:block!important;width:100%!important;margin:7px 0 0!important;padding:6px 8px!important;line-height:1.45!important;white-space:normal!important;word-break:keep-all!important;text-align:left!important}
.guideNotice{display:grid!important;gap:4px!important;margin-top:11px!important;padding:11px 12px!important;line-height:1.55!important;word-break:keep-all!important}
.guideSummaryGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.guideSummaryGrid>div{min-width:0!important}.guideSummaryGrid span{word-break:keep-all!important;overflow-wrap:break-word!important}
@media(max-width:820px){.guideBook{grid-template-columns:1fr!important}.guidePage{padding:16px!important}.guideSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){#modal section.bookModal:has(.guideBook){padding:12px 10px 18px!important}.guideCard{grid-template-columns:42px minmax(0,1fr)!important;padding:10px!important}.guideCard .pic{width:38px!important;min-width:38px!important;max-width:38px!important;font-size:27px!important}.guideSummaryGrid{grid-template-columns:1fr!important}}

/* 각진 블록 비율을 둥근 머리·짧은 몸·가느다란 팔다리로 보정한다. */
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfSprite{transform-origin:23px 38px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHatCrown{left:12px!important;top:0!important;width:23px!important;height:9px!important;border-radius:8px 8px 3px 3px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHatBand{left:10px!important;top:8px!important;width:27px!important;border-radius:4px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHatBrim{left:4px!important;top:11px!important;width:39px!important;height:6px!important;border-radius:50%!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHair{left:9px!important;top:14px!important;width:29px!important;height:20px!important;border-radius:45% 45% 38% 38%!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHead{left:11px!important;top:14px!important;width:26px!important;height:22px!important;border-radius:46% 46% 44% 44%!important;box-shadow:inset 4px 0 #ffd09c,0 1px 0 #d98f63!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfEar{left:35px!important;top:22px!important;border-radius:50%!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfFace{left:27px!important;top:21px!important;width:3px!important;height:4px!important;border-radius:50%!important;box-shadow:5px 6px 0 -1px #bd5e58,-10px 7px 0 -1px #e98c83!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfScarf{left:12px!important;top:34px!important;width:24px!important;height:5px!important;border-radius:5px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBody{left:12px!important;top:37px!important;width:23px!important;height:14px!important;border-radius:8px 8px 5px 5px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfOverall{left:17px!important;top:38px!important;width:14px!important;height:14px!important;border-radius:5px 5px 3px 3px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfArm{top:38px!important;width:6px!important;height:14px!important;border-radius:5px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfHand{top:49px!important;width:6px!important;height:6px!important;border-radius:50%!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfLeg{top:49px!important;width:7px!important;height:10px!important;border-radius:3px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfLegL{left:13px!important}:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfLegR{left:27px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBoot{top:56px!important;width:10px!important;height:5px!important;border-radius:5px 5px 3px 3px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .pfBraid{top:26px!important;width:5px!important;height:14px!important;border-radius:5px!important}
:is(#farmer,#farmFarmer,#huntPlayer,#fantasyProfile .avatar) .farmerFork{position:absolute;right:-12px;top:31px;z-index:18;display:block;font-size:20px;line-height:1;transform:rotate(-12deg);transform-origin:50% 80%;filter:drop-shadow(0 2px 1px #0005)}
:is(#farmer,#farmFarmer,#huntPlayer).face-left .farmerFork{right:auto;left:-12px;transform:scaleX(-1) rotate(-12deg)}
:is(#farmer,#farmFarmer,#huntPlayer).face-up .farmerFork{z-index:2;top:29px;opacity:.88}
:is(#farmer,#farmFarmer,#huntPlayer).walk .farmerFork{animation:cuteForkWalk .34s ease-in-out infinite}
#huntPlayer.forkAttack .farmerFork{animation:cuteForkAttack .4s ease-out!important}
#huntPlayer.face-left.forkAttack .farmerFork{animation:cuteForkAttackLeft .4s ease-out!important}
@keyframes cuteForkWalk{50%{margin-top:-2px;rotate:4deg}}
@keyframes cuteForkAttack{0%{transform:rotate(-25deg)}52%{transform:translate(7px,-3px) rotate(24deg) scale(1.08)}100%{transform:rotate(-12deg)}}
@keyframes cuteForkAttackLeft{0%{transform:scaleX(-1) rotate(-25deg)}52%{transform:translate(-7px,-3px) scaleX(-1) rotate(24deg) scale(1.08)}100%{transform:scaleX(-1) rotate(-12deg)}}

/* ===== v2.0.69 자연스러운 야생 밤하늘 ===== */
.huntNightSky{background-image:linear-gradient(#07101e,#10253a)!important;background-size:100% 100%!important;background-position:0 0!important}
.huntNightSky i{display:block!important;position:absolute!important;border-radius:50%!important;animation:huntStarTwinkle 3.8s ease-in-out infinite alternate!important}
.huntNightSky i:nth-child(1){left:6.5%!important;top:17%!important;width:2px!important;height:2px!important;background:#fff8d7!important;opacity:.92!important;box-shadow:71px 41px 0 -1px #d7e7ff,164px -18px 0 0 #fff,278px 36px 0 -1px #fff0b0,391px -7px 0 0 #dceaff,527px 52px 0 -1px #fff,681px 3px 0 0 #fff5ce,806px 43px 0 -1px #bfd9ff!important}
.huntNightSky i:nth-child(2){left:14%!important;top:7%!important;width:3px!important;height:3px!important;background:#d9e9ff!important;opacity:.72!important;box-shadow:119px 69px 0 -1px #fff,238px 17px 0 -1px #fff4c4,356px 81px 0 -1px #cfe2ff,482px 24px 0 -1px #fff,623px 73px 0 -1px #fff0b5,748px 12px 0 -1px #dbeaff!important;animation-delay:-1.4s!important}
.huntNightSky i:nth-child(3){left:2.5%!important;top:34%!important;width:2px!important;height:2px!important;background:#fff!important;opacity:.58!important;box-shadow:96px -8px 0 -1px #fff1ba,214px 19px 0 0 #d9e9ff,337px -19px 0 -1px #fff,459px 13px 0 -1px #fff5cd,593px -11px 0 0 #c8dcff,715px 20px 0 -1px #fff,857px -15px 0 -1px #ffe9a7!important;animation-delay:-2.6s!important}
.huntNightSky i:nth-child(n+4){display:none!important}
.huntMoon{font-size:64px!important;right:7.5%!important;top:10%!important;text-shadow:0 0 26px #fff6b877!important}
@keyframes huntStarTwinkle{0%{filter:brightness(.78);transform:scale(.9)}100%{filter:brightness(1.22);transform:scale(1.08)}}

/* ===== v2.0.72 낚싯대·줄을 실제 강물 방향으로 정렬 ===== */
/* 낚시 의자(상단)에서 찌(아래쪽 강물)까지 손→낚싯대→줄이 한 방향으로 이어진다. */
#farmer.fishingSeated .fishingRod{
  left:31px!important;top:24px!important;width:76px!important;height:4px!important;
  transform-origin:3px 50%!important;z-index:12!important
}
#farmer.fishingSeated.rodOut .fishingRod{
  display:block!important;transform:rotate(72deg)!important;
  animation:rodSettleToRiver .36s ease-out forwards!important
}
#farmer.fishingSeated .fishingRod:after{
  content:""!important;display:block!important;position:absolute!important;
  left:100%!important;right:auto!important;top:1px!important;width:49px!important;height:1.5px!important;
  background:linear-gradient(90deg,#f8fdffff,#d8edf0b8 72%,#bedfe899)!important;
  transform:none!important;transform-origin:left center!important;
  box-shadow:0 1px 1px #0003!important
}
#farmer.fishingSeated.castSwing .fishingRod{animation:castRodIntoRiver .52s cubic-bezier(.2,.8,.25,1)!important}
@keyframes rodSettleToRiver{0%{transform:rotate(-38deg) scale(.82)}60%{transform:rotate(82deg) scale(1.04)}100%{transform:rotate(72deg) scale(1)}}
@keyframes castRodIntoRiver{0%{transform:rotate(-42deg) scale(.84)}34%{transform:rotate(8deg) scale(.95)}70%{transform:rotate(82deg) scale(1.06)}100%{transform:rotate(72deg) scale(1)}}
#field #bobber:not([hidden]){left:82%!important;top:43%!important}

/* ===== v2.0.75 야생 생고기 중앙 획득 연출 ===== */
.huntLootCenterFx{position:absolute;left:50%;top:50%;z-index:48;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:230px;padding:13px 22px;border:2px solid #e2bd68;border-radius:15px;background:linear-gradient(180deg,#352519ed,#1c1511ed);color:#fff5d2;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-40%) scale(.78);box-shadow:0 10px 30px #000a,inset 0 1px #fff4;transition:opacity .2s,transform .25s}
.huntLootCenterFx.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.huntLootCenterFx.hide{opacity:0;transform:translate(-50%,-75%) scale(.94)}
.huntLootCenterFx span{font-size:31px;filter:drop-shadow(0 3px 2px #0008)}
.huntLootCenterFx b{font-size:17px;color:#ffe093;text-shadow:0 2px 2px #000}
.huntLootCenterFx small{font-size:9px;color:#e8d5bd}
