/* KONGAL consolidated stylesheet — refactored 2026-08-28 */

@font-face {
  font-family:'Mona12';
  src:url('../fonts/Mona12.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'Mona12';
  src:url('../fonts/Mona12-Bold.ttf') format('truetype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
*{box-sizing:border-box}
html,body,div,span,b,small,kbd,button,input,textarea,select,label{font-family:'Mona12',Arial,sans-serif}
html,body{margin:0;padding:0;background:#d8c49a;color:#332c23}
body{min-height:100%;font-size:17px}
#app{width:100%;max-width:700px;margin:0 auto;padding:10px}
.bar,.panel{background:#f4e4bd;border:2px solid #6c4a2f;border-radius:4px;box-shadow:2px 2px 0 #b99970}
.bar{display:table;width:100%;padding:10px 12px}
.barLeft,.barRight{display:table-cell;vertical-align:middle}
.barRight{text-align:right;white-space:nowrap}
.title{font-size:24px;font-weight:bold}
.small{font-size:14px;color:#746756}
.tiny{font-size:12px;color:#7b6d5d}
.coinIcon{width:22px;height:22px;vertical-align:-5px}
.panel{margin-top:10px;padding:10px}
.rowTable{display:table;width:100%}
.cell{display:table-cell;vertical-align:top}
.right{text-align:right}
.statLine{line-height:1.6}
#xpWrap{height:8px;background:#d8c8a8;border:1px solid #af956b;margin-top:4px}
#xpBar{height:100%;background:#78a65b;width:0%}
.tabs{white-space:nowrap;overflow-x:auto;margin-top:8px}
.tab{display:inline-block;padding:7px 11px;margin-right:5px;background:#eadab9;border:1px solid #b89e72;border-radius:3px;font-size:14px}
.tab.active{background:#7f9f59;color:white;border-color:#5f7c43}
.section{display:none}
.section.active{display:block}
.seedbar{white-space:nowrap;overflow-x:auto;overflow-y:hidden}
.seed{display:inline-block;vertical-align:top;width:88px;margin-right:6px;padding:6px;text-align:center;background:#fff0ce;border:1px solid #c5aa79;border-radius:4px;font-size:13px}
.seed.active{outline:3px solid #5a8a49;background:#edf7dc}
.seed.locked{opacity:.42}
.iconImg{display:block;width:37px;height:37px;margin:0 auto 4px}
#farm{margin-top:8px;overflow:hidden}
.plot{float:left;background:#98633f;border:2px solid #6f462d;border-radius:4px;position:relative;text-align:center;overflow:hidden}
.plot.locked{background:#8a8378;border-color:#665f57}
.plot.selected{outline:none}
.plot.ready{background:#ab744b}
.plot.gold{box-shadow:inset 0 0 0 4px #ffd84e}
.soil{position:absolute;left:6px;right:6px;top:50%;height:1px;background:#bd8967;box-shadow:0 -13px 0 #bd8967,0 13px 0 #bd8967}
.cropImg{position:absolute;z-index:2;width:52%;height:52%;left:24%;top:20%}
.lockImg{position:absolute;width:40%;height:40%;left:30%;top:26%;opacity:.85}
.plus{position:absolute;z-index:2;left:0;right:0;top:37%;font-size:20px;color:#ead0ad}
.prog{position:absolute;left:4px;right:4px;bottom:4px;height:5px;background:#6e4b36;z-index:3}
.prog i{display:block;height:100%;background:#9ecb73}
.clear{clear:both}
.help{margin-top:8px;background:#f4ecd9;border:1px dashed #a78b64;padding:8px;font-size:13px;line-height:1.6}
kbd{background:#fff;border:1px solid #aaa;border-bottom-width:2px;border-radius:3px;padding:2px 5px;font-size:12px}
.card{border:1px solid #ccb38b;background:#fff2d5;padding:9px;margin-top:7px;border-radius:3px}
.card.done{background:#e7f0dc;border-color:#8daa6e}
.card.locked{opacity:.5}
.card img{width:34px;height:34px;vertical-align:middle;margin-right:6px}
.btn{border:1px solid #5e7944;background:#789d57;color:#fff;padding:8px 11px;border-radius:3px;font-size:14px}
.btn.gray{background:#857765;border-color:#675d50}
.btn:disabled{opacity:.45}
.badge{display:inline-block;margin:3px;padding:4px 7px;background:#fff0ce;border:1px solid #c5aa79;border-radius:11px;font-size:13px}
.badge img{width:19px;height:19px;vertical-align:-5px;margin-right:3px}
.weatherBox{display:table;width:100%;background:#eef2e8;border:1px solid #bec9ae;padding:9px;border-radius:4px;margin-top:8px}
.weatherIcon{display:table-cell;width:60px;vertical-align:middle}
.weatherIcon img{width:50px;height:50px}
.weatherText{display:table-cell;vertical-align:middle}
.shopRow{display:table;width:100%;border-bottom:1px solid #ddcbaa;padding:9px 0}
.shopIcon,.shopText,.shopBtn{display:table-cell;vertical-align:middle}
.shopIcon{width:50px} .shopIcon img{width:41px;height:41px}
.shopBtn{width:108px;text-align:right}
.monthGrid{font-size:0;margin-top:6px}
.dayStamp{display:inline-block;width:9.5%;margin:.25%;padding:5px 0;text-align:center;border:1px solid #c8b48f;background:#f5e8ca;font-size:12px;border-radius:2px}
.dayStamp.done{background:#9bbb76;color:#fff;border-color:#78965c}
#toast{position:fixed;left:10%;right:10%;bottom:14px;background:#2d2923;color:white;padding:10px 12px;border-radius:4px;font-size:14px;text-align:center;opacity:0;z-index:99}
#toast.show{opacity:.95}

.iconImg,.cropImg,.lockImg,.coinIcon,.weatherIcon img,.shopIcon img,.badge img{
 image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:pixelated;
}
.bar,.panel,.card,.seed,.tab,.btn,.weatherBox,.badge,.dayStamp,.plot{border-radius:0!important}
.bar,.panel{box-shadow:3px 3px 0 #98764f}.tab,.btn,.seed,.card,.badge{box-shadow:1px 1px 0 #9c805b}
.plot{box-shadow:inset 2px 2px 0 rgba(255,255,255,.10)}.plot.selected{outline:none;box-shadow:inset 0 0 0 4px #ffe66b,inset 2px 2px 0 rgba(255,255,255,.10)}

.iconImg,.cropImg,.lockImg,.coinIcon,.weatherIcon img,.shopIcon img,.badge img{
 image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;
}

/* v11: 64px pixel tile environment */
body {
  background-color:#8fb160;
  background-image:url("../icon/embedded_001_091f833a9c.png");
  background-repeat:repeat;
  image-rendering:pixelated;
}
.bar,.panel {
  background-color:#f4e4bd;
  background-image:url("../icon/embedded_002_17614304a3.png");
  background-repeat:repeat;
  border:3px solid #6c4a2f !important;
  box-shadow:4px 4px 0 #6f5438 !important;
}
#farmSec .panel {
  position:relative;
  background-color:#94b86c;
  background-image:url("../icon/embedded_001_091f833a9c.png");
  background-repeat:repeat;
}
#farmSec .panel:after {
  content:"";
  display:block;
  height:26px;
  margin-top:8px;
  background-image:url("../icon/embedded_004_5252b5556a.png");
  background-repeat:repeat-x;
  background-size:64px 64px;
  background-position:left -17px;
  image-rendering:pixelated;
}
.plot {
  background-color:#97603a !important;
  background-image:url("../icon/embedded_005_fe556d5264.png") !important;
  background-repeat:repeat !important;
  background-size:64px 64px !important;
  border:3px solid #69442f !important;
}
.plot.locked {
  background-color:#6d675b !important;
  background-image:url("../icon/embedded_006_8ccfabf912.png") !important;
  border-color:#514c43 !important;
}
.plot.ready {
  filter:brightness(1.05);
}
.soil {
  display:none !important;
}
.weatherBox,.card,.seed,.badge,.shopRow {
  image-rendering:pixelated;
}


/* v12 seasonal 3-tone pixel environment */
body.season-spring{background-image:url("../icon/embedded_007_b39a781a41.png")}
body.season-summer{background-image:url("../icon/embedded_008_e3c6f4d1ac.png")}
body.season-autumn{background-image:url("../icon/embedded_009_484f78e9be.png")}
body.season-winter{background-image:url("../icon/embedded_010_84fef3f2b3.png")}
body.season-spring #farmSec .panel{background-image:url("../icon/embedded_007_b39a781a41.png")}
body.season-summer #farmSec .panel{background-image:url("../icon/embedded_008_e3c6f4d1ac.png")}
body.season-autumn #farmSec .panel{background-image:url("../icon/embedded_009_484f78e9be.png")}
body.season-winter #farmSec .panel{background-image:url("../icon/embedded_010_84fef3f2b3.png")}
body.season-spring .plot{background-image:url("../icon/embedded_015_a7c252003f.png")!important}
body.season-summer .plot{background-image:url("../icon/embedded_016_d8443afd0d.png")!important}
body.season-autumn .plot{background-image:url("../icon/embedded_017_996c57ab75.png")!important}
body.season-winter .plot{background-image:url("../icon/embedded_018_bf789232b1.png")!important}
body.season-spring #farmSec .panel:after{background-image:url("../icon/embedded_019_9c4a281fc7.png")}
body.season-summer #farmSec .panel:after{background-image:url("../icon/embedded_020_f59bad3a1b.png")}
body.season-autumn #farmSec .panel:after{background-image:url("../icon/embedded_021_d4da9228ed.png")}
body.season-winter #farmSec .panel:after{background-image:url("../icon/embedded_022_427e68a25c.png")}
/* 3-step shading on crops: shadow, base, highlight */
.cropImg{filter:drop-shadow(2px 3px 0 rgba(55,42,31,.48)) drop-shadow(-1px -1px 0 rgba(255,239,184,.30))}
.seed .iconImg,.shopIcon img,.weatherIcon img{filter:drop-shadow(2px 2px 0 rgba(70,52,37,.32))}


/* v13: lightweight seasonal pixel particles */
#seasonFx{
  position:fixed;
  left:0;top:0;right:0;bottom:0;
  pointer-events:none;
  overflow:hidden;
  z-index:50;
}
.fxParticle{
  position:absolute;
  width:6px;height:6px;
  image-rendering:pixelated;
  opacity:.72;
}
.fx-spring{
  background:#f3a8b8;
  box-shadow:4px 2px 0 #ffd0da,-2px 4px 0 #d9829a;
}
.fx-summer{
  width:4px;height:4px;
  background:#f6e86a;
  box-shadow:0 0 0 2px rgba(246,232,106,.16);
  opacity:.78;
}
.fx-autumn{
  width:7px;height:5px;
  background:#c76f32;
  box-shadow:3px 2px 0 #e6a13f,-2px 3px 0 #8f4f2a;
}
.fx-winter{
  width:5px;height:5px;
  background:#f5fbff;
  box-shadow:2px 2px 0 #cbdde8;
  opacity:.82;
}
@media (prefers-reduced-motion: reduce){
  .fxParticle{display:none!important}
}


/* v14: seed selector visually separated from the farm */
.seedPanel{
  background:#f2dfb2;
  border:3px solid #7a5738;
  box-shadow:3px 3px 0 #8f6d49;
  padding:8px;
  margin-bottom:10px;
  background-image:
    linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)),
    repeating-linear-gradient(
      0deg,
      rgba(120,84,48,.05) 0,
      rgba(120,84,48,.05) 2px,
      transparent 2px,
      transparent 6px
    );
}
.seedTitle{
  display:inline-block;
  background:#d8b875;
  border:2px solid #7a5738;
  padding:3px 7px;
  margin:-2px 0 7px 0;
  color:#4c3828;
}
.seedbar{
  padding:3px 1px 4px 1px;
}
.seed{
  background:#f7e9c9 !important;
  border:2px solid #9a744a !important;
}
.seed.active{
  background:#e4efc3 !important;
  box-shadow:inset 0 0 0 3px #6f954f,2px 2px 0 #8f6d49 !important;
}
.seed.locked{
  background:#d8c6a6 !important;
}


.cropSign{position:absolute;z-index:5;left:3px;top:3px;padding:2px 4px;background:#b98149;color:#fff3c8;border:2px solid #67442d;font-size:11px;line-height:1;white-space:nowrap;max-width:78%;overflow:hidden}
.cropSign.goldCrop{background:#c89428;color:#fff7c4;border-color:#76531d}
.goldTag{font-size:9px;color:#fff0a1}
.fundTitle{margin-top:9px;padding-top:6px;border-top:2px solid #b89b70}

.seasonTag{
  display:inline-block;
  margin-top:2px;
  padding:1px 4px;
  border:1px solid #9b7b55;
  background:#dcc9a1;
  color:#5b4935;
  font-size:9px;
  line-height:1.2;
}
.seasonTag.current{
  background:#8eaf67;
  border-color:#5c7c43;
  color:#fffbe7;
}


.remainTime{
  position:absolute;
  z-index:6;
  left:3px;
  right:3px;
  bottom:7px;
  padding:2px 1px;
  text-align:center;
  background:rgba(55,42,31,.78);
  color:#fff8dc;
  border:1px solid rgba(255,244,204,.65);
  font-size:9px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
}
.plot.ready .remainTime{
  background:#6f8f48;
  color:#fffde7;
}


/* v17.6 visual polish — BB10-safe pixel styling */
:root{}

/* 전체 패널에 픽셀식 3단계 명암 */
.bar,.panel,.seedPanel,.progressPanel{
  border-width:3px !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.12),
    3px 3px 0 rgba(73,53,36,.48) !important;
}

/* 탭도 눌린 도트 버튼처럼 */
.tab{
  border-width:2px !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.22),2px 2px 0 rgba(78,56,38,.35) !important;
}
.tab.active{
  box-shadow:inset 0 -2px 0 rgba(55,84,42,.45),1px 1px 0 rgba(61,79,44,.35) !important;
  transform:translate(1px,1px);
}

/* 씨앗 카드를 더 게임 아이템 슬롯처럼 */
.seed{
  position:relative;
  border-width:2px !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.28),
    inset 0 -2px 0 rgba(116,82,48,.10),
    2px 2px 0 rgba(91,66,44,.28) !important;
}
.seed.active{
  outline:none !important;
  box-shadow:
    inset 0 0 0 3px #709350,
    inset 0 2px 0 rgba(255,255,255,.32),
    2px 2px 0 rgba(67,89,49,.40) !important;
}
.seed .iconImg{
  width:42px !important;
  height:42px !important;
  filter:
    drop-shadow(2px 3px 0 rgba(62,46,34,.45))
    drop-shadow(-1px -1px 0 rgba(255,244,194,.20));
}

/* 밭 타일 자체를 조금 더 입체적으로 */
.plot{
  border-width:3px !important;
  box-shadow:
    inset 0 3px 0 rgba(255,255,255,.08),
    inset 0 -3px 0 rgba(76,47,31,.20),
    2px 2px 0 rgba(66,44,30,.28) !important;
}
.plot.ready{
  box-shadow:
    inset 0 0 0 3px rgba(193,223,118,.28),
    inset 0 3px 0 rgba(255,255,255,.10),
    2px 2px 0 rgba(66,44,30,.28) !important;
}
.plot.selected{
  outline:none !important;
  box-shadow:
    inset 0 0 0 4px #ffe66b,
    inset 0 0 0 6px rgba(112,83,39,.45),
    2px 2px 0 rgba(66,44,30,.28) !important;
}

/* 작물 스프라이트를 한 단계 더 크게, 명암 강조 */
.cropImg{
  width:58% !important;
  height:58% !important;
  left:21% !important;
  top:18% !important;
  filter:
    drop-shadow(3px 4px 0 rgba(58,42,31,.48))
    drop-shadow(-1px -1px 0 rgba(255,244,190,.22));
}

/* 성장중일 때 약간 어둡고, 다 자라면 선명하게 */
.plot:not(.ready) .cropImg{opacity:.94}
.plot.ready .cropImg{
  filter:
    drop-shadow(3px 4px 0 rgba(58,42,31,.50))
    drop-shadow(-1px -1px 0 rgba(255,248,196,.32));
}

/* 작물 팻말을 나무판 느낌으로 */
.cropSign{
  background:#b67e46 !important;
  color:#fff1c7 !important;
  border:2px solid #5f402a !important;
  box-shadow:
    inset 0 2px 0 #dca66d,
    inset 0 -2px 0 #8f5d34,
    2px 2px 0 rgba(64,43,29,.35) !important;
  text-shadow:1px 1px 0 #6a482f;
  padding:2px 4px 3px !important;
}
.cropSign.goldCrop{
  background:#c89428 !important;
  border-color:#70501d !important;
  box-shadow:
    inset 0 2px 0 #f4d86e,
    inset 0 -2px 0 #9f701f,
    2px 2px 0 rgba(70,49,25,.38) !important;
}

/* 남은시간은 LCD처럼 읽기 쉽게 */
.remainTime{
  background:rgba(45,36,29,.86) !important;
  color:#fff7d9 !important;
  border:1px solid #d8c393 !important;
  text-shadow:1px 1px 0 #2f251f;
  padding:2px 2px !important;
}
.plot.ready .remainTime{
  background:#658548 !important;
  border-color:#dceab9 !important;
}

/* 성장바도 3단계 픽셀 */
.prog{
  height:7px !important;
  border:1px solid #4c3225 !important;
  background:#5d3c2b !important;
}
.prog i{
  background:#8fbd68 !important;
  box-shadow:inset 0 2px 0 #b8db8f,inset 0 -2px 0 #628b49;
}

/* 날씨 패널도 도트 게임 HUD처럼 */
.weatherBox{
  border-width:2px !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.28),2px 2px 0 rgba(83,70,51,.20);
}
.weatherIcon img{
  filter:
    drop-shadow(2px 2px 0 rgba(74,60,44,.30))
    drop-shadow(-1px -1px 0 rgba(255,255,255,.28));
}

/* 상점 행도 카드형으로 */
.shopRow{
  margin-top:5px;
  padding:7px !important;
  border:2px solid #b79a70 !important;
  background:rgba(255,244,216,.58);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.20);
}
.shopIcon img{
  width:44px !important;
  height:44px !important;
  filter:drop-shadow(2px 2px 0 rgba(67,50,37,.32));
}

/* 버튼 */
.btn{
  border-width:2px !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.22),2px 2px 0 rgba(58,76,42,.35) !important;
}
.btn:active{
  transform:translate(1px,1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),1px 1px 0 rgba(58,76,42,.30) !important;
}

/* 도감/업적 뱃지 */
.badge{
  box-shadow:inset 0 2px 0 rgba(255,255,255,.18),1px 1px 0 rgba(90,67,44,.22) !important;
}


#farm{
  position:relative;
  padding:4px 4px 2px 4px;
  border:2px solid rgba(91,68,44,.38);
  background:rgba(83,117,57,.10);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.05);
}
#farm:before,#farm:after{
  content:"";
  position:absolute;
  z-index:1;
  width:6px;height:6px;
  background:#d8c36a;
  box-shadow:8px 4px 0 #8fb269,16px 0 0 #c57c49;
  opacity:.55;
}
#farm:before{left:3px;top:-7px}
#farm:after{right:20px;bottom:-6px}


/* v17.7 high-detail crop sprite integration */
#farm{box-sizing:border-box!important;overflow:hidden!important}
.plot{box-sizing:border-box!important}
.cropImg{
  width:62%!important;
  height:62%!important;
  left:19%!important;
  top:17%!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  filter:
    drop-shadow(2px 2px 0 rgba(88,62,41,.20))
    drop-shadow(-1px -1px 0 rgba(255,242,184,.20))!important;
}
.seed .iconImg{
  width:46px!important;
  height:46px!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  filter:
    drop-shadow(1px 2px 0 rgba(88,62,41,.18))
    drop-shadow(-1px -1px 0 rgba(255,244,194,.20))!important;
}


/* v17.8 — 100x100 rich crop sprite source */
.cropImg{
  width:64%!important;
  height:64%!important;
  left:18%!important;
  top:16%!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
}
.seed .iconImg{
  width:50px!important;
  height:50px!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
}


.cropImg,.seed .iconImg{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}

/* v17.10 — 64x64 logical pixel art, 2x nearest output */
.cropImg,.seed .iconImg{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}


.cropImg,.seed .iconImg{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}

#seeds{max-height:330px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.seed{box-sizing:border-box}

/* v17.17 themes + day/night + weather */
#dayShade{position:fixed;left:0;top:0;right:0;bottom:0;z-index:80;pointer-events:none;background:#102044;opacity:0;transition:background-color 2.5s linear,opacity 2.5s linear;-webkit-transition:background-color 2.5s linear,opacity 2.5s linear}
#weatherFx{position:fixed;left:0;top:0;right:0;bottom:0;overflow:hidden;z-index:79;pointer-events:none}
.rainDrop{position:absolute;top:-18px;width:2px;height:14px;background:rgba(190,220,255,.68);box-shadow:1px 0 0 rgba(255,255,255,.20)}
.themeTitle{margin-top:10px;padding-top:7px;border-top:2px solid #b89b70;font-weight:bold}
.themeTag{display:inline-block;font-size:9px;padding:1px 4px;margin-left:4px;border:1px solid #8d7457;background:#efe2c5}
.themeTag.on{background:#809c62;color:#fff;border-color:#5d7848}

/* Default / Berry / Mint / Night / Peach */
body.theme-default .bar{background:#f3dfb7}
body.theme-default .panel{background-color:#f8edcf}

body.theme-berry{background-color:#f3e5ec!important}
body.theme-berry .bar{background:#e9c5d4!important;border-color:#8b566c!important}
body.theme-berry .panel,body.theme-berry .seedPanel{background-color:#f8e8ef!important;border-color:#9d6b7d!important}
body.theme-berry .tab.active,body.theme-berry .btn{background:#b86f8a!important;border-color:#754759!important}
body.theme-berry .seed.active{box-shadow:inset 0 0 0 3px #b86f8a,2px 2px 0 #8f6d49!important}

body.theme-mint{background-color:#e8f1e6!important}
body.theme-mint .bar{background:#c9dfc3!important;border-color:#57785b!important}
body.theme-mint .panel,body.theme-mint .seedPanel{background-color:#edf6e8!important;border-color:#719173!important}
body.theme-mint .tab.active,body.theme-mint .btn{background:#719f78!important;border-color:#4c6f52!important}

body.theme-night{background-color:#253247!important}
body.theme-night .bar{background:#34445d!important;color:#f4e8c9!important;border-color:#182236!important}
body.theme-night .panel,body.theme-night .seedPanel{background-color:#40516a!important;color:#fff2d4!important;border-color:#1d2a3d!important}
body.theme-night .small,body.theme-night .tiny{color:#e7dbc2!important}
body.theme-night .tab,body.theme-night .seed,body.theme-night .shopRow{background:#52647d!important;color:#fff2d4!important;border-color:#243249!important}
body.theme-night .tab.active,body.theme-night .btn{background:#6d7f9a!important;border-color:#26364d!important;color:#fff!important}

body.theme-peach{background-color:#f8eee3!important}
body.theme-peach .bar{background:#f2cfb5!important;border-color:#a46e53!important}
body.theme-peach .panel,body.theme-peach .seedPanel{background-color:#fff0df!important;border-color:#b98062!important}
body.theme-peach .tab.active,body.theme-peach .btn{background:#d8926f!important;border-color:#925f48!important}


.cloudPanel{margin-top:10px;padding-top:8px;border-top:2px solid #b89b70}
.cloudPanel input{width:100%;box-sizing:border-box;padding:6px;border:2px solid #9b7b55;background:#fff8e8;font-family:inherit}
.cloudPanel .btn{margin-top:5px;margin-right:4px}
#cloudStatus{margin-top:6px;padding:5px;background:#f3e7c8;border:1px solid #bda57b;font-size:10px}


/* v17.21 theme readability pass */
body{--uiText:#3d3329;--uiMuted:#654b32;--uiStrong:#2d241c;--uiOnAccent:#fff8e8;--uiInput:#fff8e8;--uiInputText:#352b22}
body .panel,body .seedPanel,body .shopRow,body .weatherBox{color:var(--uiText)}
body .small,body .tiny,body #serviceStatus{color:var(--uiMuted)!important}
body .panel b,body .seedPanel b,body .shopRow b,body .weatherBox b{color:var(--uiStrong)}
body .tab.active,body .btn{color:var(--uiOnAccent)!important;text-shadow:0 1px 0 rgba(0,0,0,.25)}
body input,body textarea{background:var(--uiInput)!important;color:var(--uiInputText)!important}
body kbd{color:#3b3026!important;background:#fffaf0!important;border-color:#9c7b53!important;text-shadow:none!important}

/* Default: warmer ink, less washed-out secondary copy */
body.theme-default{--uiText:#463525;--uiMuted:#715438;--uiStrong:#2f241b;--uiOnAccent:#fff9e8}

/* Berry: dark plum ink */
body.theme-berry{--uiText:#563243;--uiMuted:#74465a;--uiStrong:#3b202d;--uiOnAccent:#fff7fa;--uiInput:#fff5f8;--uiInputText:#482735}

/* Mint: deep forest ink */
body.theme-mint{--uiText:#304a35;--uiMuted:#496950;--uiStrong:#203526;--uiOnAccent:#fffdf2;--uiInput:#f8fff4;--uiInputText:#29432f}

/* Night: explicitly brighten every common text surface */
body.theme-night{--uiText:#fff1cf;--uiMuted:#eadbb7;--uiStrong:#fff8df;--uiOnAccent:#ffffff;--uiInput:#2f3e55;--uiInputText:#fff5dc}
body.theme-night .weatherBox,
body.theme-night .help,
body.theme-night #xpWrap,
body.theme-night #cloudStatus{background-color:#34455f!important;color:#fff1cf!important;border-color:#18263a!important}
body.theme-night kbd{background:#f3e4bf!important;color:#27354a!important;border-color:#18263a!important}
body.theme-night input,body.theme-night textarea{border-color:#18263a!important}

/* Peach: cocoa ink instead of pale cream text */
body.theme-peach{--uiText:#5b382a;--uiMuted:#7b4e3b;--uiStrong:#40261d;--uiOnAccent:#fffaf1;--uiInput:#fff8ef;--uiInputText:#4c2d23}

/* Make informational cards readable regardless of season overlay */
.weatherText,.weatherText .small{opacity:1!important}
#dayShade{pointer-events:none}


.themePreview{display:inline-block;width:42px;height:14px;margin-left:5px;vertical-align:middle;border:1px solid rgba(0,0,0,.35)}
.themePreview.default{background:#f3dfb7}
.themePreview.berry{background:#e9c5d4}
.themePreview.mint{background:#c9dfc3}
.themePreview.night{background:#34445d}
.themePreview.peach{background:#f2cfb5}


/* v17.22 full contrast audit — BB10 safe, no CSS variables */

/* ---------- top farm info card ---------- */
body #app > .panel{
  background-color:#f3e6c4!important;
  color:#3a2d21!important;
  border-color:#6d5137!important;
}
body #app > .panel .cell,
body #app > .panel #levelTitle,
body #app > .panel #seasonName,
body #app > .panel #weatherName{
  color:#33271d!important;
  text-shadow:none!important;
}
body #app > .panel .small,
body #app > .panel .tiny,
body #app > .panel #weatherDesc{
  color:#684f38!important;
  opacity:1!important;
  text-shadow:none!important;
}
body #app > .panel .weatherBox{
  background:#f7f0df!important;
  border-color:#8d7558!important;
  color:#33271d!important;
}
body #app > .panel #xpWrap{
  background:#d9c9a9!important;
  border-color:#947858!important;
}
body #app > .panel #xpBar{background:#668f4b!important}

/* ---------- shared light surfaces ---------- */
body .seed,
body .shopRow,
body .badge,
body .help,
body .dayStamp,
body #cloudStatus{
  color:#443426!important;
}
body .seed .tiny,
body .shopRow .tiny,
body .help,
body #cloudStatus{
  color:#68523d!important;
  opacity:1!important;
}

/* ---------- DEFAULT ---------- */
body.theme-default #app > .panel{
  background:#f3e4bd!important;color:#392c21!important;border-color:#6c4a2f!important
}
body.theme-default #app > .panel .small,
body.theme-default #app > .panel .tiny,
body.theme-default #app > .panel #weatherDesc{color:#6b513b!important}
body.theme-default #app > .panel .weatherBox{background:#f7efdc!important;color:#36291f!important}

/* ---------- BERRY ---------- */
body.theme-berry #app > .panel{
  background:#f7e4eb!important;color:#4e2d3b!important;border-color:#8b566c!important
}
body.theme-berry #app > .panel .cell,
body.theme-berry #app > .panel #levelTitle,
body.theme-berry #app > .panel #seasonName,
body.theme-berry #app > .panel #weatherName{color:#462534!important}
body.theme-berry #app > .panel .small,
body.theme-berry #app > .panel .tiny,
body.theme-berry #app > .panel #weatherDesc{color:#75475b!important}
body.theme-berry #app > .panel .weatherBox{background:#fff2f6!important;color:#462534!important;border-color:#a9778a!important}
body.theme-berry #app > .panel #xpWrap{background:#dfc3cf!important;border-color:#a9778a!important}
body.theme-berry #app > .panel #xpBar{background:#a85f7a!important}
body.theme-berry .seed,body.theme-berry .shopRow,body.theme-berry .badge,body.theme-berry .help{
  color:#512f3d!important
}
body.theme-berry .seed .tiny,body.theme-berry .shopRow .tiny,body.theme-berry .help{color:#75475b!important}

/* ---------- MINT ---------- */
body.theme-mint #app > .panel{
  background:#e9f2e5!important;color:#29422f!important;border-color:#57785b!important
}
body.theme-mint #app > .panel .cell,
body.theme-mint #app > .panel #levelTitle,
body.theme-mint #app > .panel #seasonName,
body.theme-mint #app > .panel #weatherName{color:#233a29!important}
body.theme-mint #app > .panel .small,
body.theme-mint #app > .panel .tiny,
body.theme-mint #app > .panel #weatherDesc{color:#4d6b53!important}
body.theme-mint #app > .panel .weatherBox{background:#f4faef!important;color:#233a29!important;border-color:#78987a!important}
body.theme-mint #app > .panel #xpWrap{background:#c9dcc4!important;border-color:#78987a!important}
body.theme-mint #app > .panel #xpBar{background:#5e9166!important}
body.theme-mint .seed,body.theme-mint .shopRow,body.theme-mint .badge,body.theme-mint .help{color:#304b35!important}
body.theme-mint .seed .tiny,body.theme-mint .shopRow .tiny,body.theme-mint .help{color:#4d6b53!important}

/* ---------- PEACH ---------- */
body.theme-peach #app > .panel{
  background:#faeadc!important;color:#573527!important;border-color:#a46e53!important
}
body.theme-peach #app > .panel .cell,
body.theme-peach #app > .panel #levelTitle,
body.theme-peach #app > .panel #seasonName,
body.theme-peach #app > .panel #weatherName{color:#4a2c21!important}
body.theme-peach #app > .panel .small,
body.theme-peach #app > .panel .tiny,
body.theme-peach #app > .panel #weatherDesc{color:#7a4e3b!important}
body.theme-peach #app > .panel .weatherBox{background:#fff5eb!important;color:#4a2c21!important;border-color:#ba8569!important}
body.theme-peach #app > .panel #xpWrap{background:#e7cbb8!important;border-color:#ba8569!important}
body.theme-peach #app > .panel #xpBar{background:#c47c5b!important}
body.theme-peach .seed,body.theme-peach .shopRow,body.theme-peach .badge,body.theme-peach .help{color:#5c382a!important}
body.theme-peach .seed .tiny,body.theme-peach .shopRow .tiny,body.theme-peach .help{color:#7a4e3b!important}

/* ---------- NIGHT ---------- */
body.theme-night #app > .panel{
  background:#34465f!important;color:#fff4d7!important;border-color:#172439!important
}
body.theme-night #app > .panel .cell,
body.theme-night #app > .panel #levelTitle,
body.theme-night #app > .panel #seasonName,
body.theme-night #app > .panel #weatherName{color:#fff7df!important}
body.theme-night #app > .panel .small,
body.theme-night #app > .panel .tiny,
body.theme-night #app > .panel #weatherDesc{color:#e6d6b4!important}
body.theme-night #app > .panel .weatherBox{background:#293951!important;color:#fff7df!important;border-color:#172439!important}
body.theme-night #app > .panel #xpWrap{background:#223149!important;border-color:#172439!important}
body.theme-night #app > .panel #xpBar{background:#91b67c!important}
body.theme-night .seed,body.theme-night .shopRow,body.theme-night .badge,body.theme-night .help{
  background:#455a74!important;color:#fff1cf!important;border-color:#243249!important
}
body.theme-night .seed .tiny,body.theme-night .shopRow .tiny,body.theme-night .help{color:#e5d5b4!important}
body.theme-night #cloudStatus{background:#293951!important;color:#e9d9ba!important;border-color:#172439!important}

/* Prevent old theme inheritance from washing out info text */
body #app > .panel *{opacity:1}
body #app > .panel img{opacity:1}

/* Time tint should be subtle enough that text stays readable */
#dayShade{max-opacity:.18}


/* v17.23 도감 > 기록 패널 전용 보정 */
#bookSec .panel{
  background:#f3e6c4!important;
  color:#3b2c20!important;
  border-color:#705238!important;
}
#bookSec .panel>b{color:#2e2118!important;text-shadow:none!important}
#bookSec #stats,
#bookSec .statLine{
  display:block!important;
  background:#fff8e8!important;
  color:#3b2c20!important;
  border:2px solid #9a7955!important;
  padding:8px!important;
  line-height:1.65!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* 기록/도감/업적까지 테마별 패널색 통일 */
body.theme-berry #bookSec .panel{background:#f6e2ea!important;color:#4b2938!important;border-color:#8b566c!important}
body.theme-berry #bookSec #stats{background:#fff4f8!important;color:#4b2938!important;border-color:#a9778a!important}

body.theme-mint #bookSec .panel{background:#e7f1e3!important;color:#263e2c!important;border-color:#57785b!important}
body.theme-mint #bookSec #stats{background:#f7fff3!important;color:#263e2c!important;border-color:#78987a!important}

body.theme-peach #bookSec .panel{background:#fae7d8!important;color:#513124!important;border-color:#a46e53!important}
body.theme-peach #bookSec #stats{background:#fff6ed!important;color:#513124!important;border-color:#ba8569!important}

body.theme-night #bookSec .panel{background:#34465f!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night #bookSec .panel>b{color:#fff8df!important}
body.theme-night #bookSec #stats{
  background:#26374f!important;color:#fff2cf!important;border-color:#152238!important
}

/* 기록 탭의 흐린 opacity 상속 방지 */
#bookSec #stats,#bookSec #stats *{opacity:1!important}


/* v17.24 오늘/상점 패널 가독성 전면 보정 */

/* ===== 상점 ===== */
#shopSec .panel{
  background:#f3e6c4!important;
  color:#3b2c20!important;
  border-color:#705238!important;
}
#shopSec .panel>b,
#shopSec .shopRow b,
#shopSec .themeTitle{
  color:#2f2118!important;
  text-shadow:none!important;
}
#shopSec .panel>.small,
#shopSec .shopRow .tiny,
#shopSec .cloudPanel .tiny{
  color:#6b513b!important;
  opacity:1!important;
  text-shadow:none!important;
}
#shopSec .shopRow{
  background:#fff8e8!important;
  color:#3b2c20!important;
  border-color:#9a7955!important;
}
#shopSec .cloudPanel{
  background:#f8eed9!important;
  border-color:#9a7955!important;
  color:#3b2c20!important;
  padding:8px!important;
}
#shopSec .cloudPanel input,
#shopSec .cloudPanel textarea{
  background:#fffdf7!important;
  color:#3b2c20!important;
  border-color:#9a7955!important;
}
#shopSec #cloudStatus{
  background:#fff8e8!important;
  color:#604832!important;
  border-color:#b3946d!important;
}

/* ===== 오늘 ===== */
#questSec .panel{
  background:#f3e6c4!important;
  color:#3b2c20!important;
  border-color:#705238!important;
}
#questSec .panel>b{
  color:#2f2118!important;
  text-shadow:none!important;
}
#questSec .panel>.small,
#questSec #monthReward{
  color:#6b513b!important;
  opacity:1!important;
  text-shadow:none!important;
}
#questSec .card{
  background:#fff8e8!important;
  color:#3b2c20!important;
  border-color:#9a7955!important;
}
#questSec .card b{color:#2f2118!important}
#questSec .card .small{
  color:#6b513b!important;
  opacity:1!important;
}
#questSec .dayStamp{
  background:#fff8e8!important;
  color:#4b3929!important;
  border-color:#9a7955!important;
}
#questSec .dayStamp.done{
  background:#71965d!important;
  color:#fff9e8!important;
  border-color:#4f6f40!important;
}

/* ===== 딸기우유 ===== */
body.theme-berry #shopSec .panel,
body.theme-berry #questSec .panel{
  background:#f6e2ea!important;color:#4b2938!important;border-color:#8b566c!important
}
body.theme-berry #shopSec .shopRow,
body.theme-berry #questSec .card,
body.theme-berry #questSec .dayStamp{
  background:#fff4f8!important;color:#4b2938!important;border-color:#a9778a!important
}
body.theme-berry #shopSec .shopRow .tiny,
body.theme-berry #shopSec .panel>.small,
body.theme-berry #questSec .card .small,
body.theme-berry #questSec .panel>.small,
body.theme-berry #questSec #monthReward{color:#75475b!important}
body.theme-berry #questSec .dayStamp.done{background:#b86f8a!important;color:#fff8fb!important;border-color:#754759!important}
body.theme-berry #shopSec .cloudPanel,
body.theme-berry #shopSec #cloudStatus{background:#fff0f5!important;color:#4b2938!important;border-color:#a9778a!important}

/* ===== 민트새싹 ===== */
body.theme-mint #shopSec .panel,
body.theme-mint #questSec .panel{
  background:#e7f1e3!important;color:#263e2c!important;border-color:#57785b!important
}
body.theme-mint #shopSec .shopRow,
body.theme-mint #questSec .card,
body.theme-mint #questSec .dayStamp{
  background:#f7fff3!important;color:#263e2c!important;border-color:#78987a!important
}
body.theme-mint #shopSec .shopRow .tiny,
body.theme-mint #shopSec .panel>.small,
body.theme-mint #questSec .card .small,
body.theme-mint #questSec .panel>.small,
body.theme-mint #questSec #monthReward{color:#4d6b53!important}
body.theme-mint #questSec .dayStamp.done{background:#719f78!important;color:#fffdf2!important;border-color:#4c6f52!important}
body.theme-mint #shopSec .cloudPanel,
body.theme-mint #shopSec #cloudStatus{background:#f2faee!important;color:#263e2c!important;border-color:#78987a!important}

/* ===== 복숭아노을 ===== */
body.theme-peach #shopSec .panel,
body.theme-peach #questSec .panel{
  background:#fae7d8!important;color:#513124!important;border-color:#a46e53!important
}
body.theme-peach #shopSec .shopRow,
body.theme-peach #questSec .card,
body.theme-peach #questSec .dayStamp{
  background:#fff6ed!important;color:#513124!important;border-color:#ba8569!important
}
body.theme-peach #shopSec .shopRow .tiny,
body.theme-peach #shopSec .panel>.small,
body.theme-peach #questSec .card .small,
body.theme-peach #questSec .panel>.small,
body.theme-peach #questSec #monthReward{color:#7a4e3b!important}
body.theme-peach #questSec .dayStamp.done{background:#d8926f!important;color:#fffaf1!important;border-color:#925f48!important}
body.theme-peach #shopSec .cloudPanel,
body.theme-peach #shopSec #cloudStatus{background:#fff3e8!important;color:#513124!important;border-color:#ba8569!important}

/* ===== 별밤농장 ===== */
body.theme-night #shopSec .panel,
body.theme-night #questSec .panel{
  background:#34465f!important;color:#fff3d3!important;border-color:#172439!important
}
body.theme-night #shopSec .panel>b,
body.theme-night #shopSec .shopRow b,
body.theme-night #shopSec .themeTitle,
body.theme-night #questSec .panel>b,
body.theme-night #questSec .card b{
  color:#fff8df!important
}
body.theme-night #shopSec .shopRow,
body.theme-night #questSec .card,
body.theme-night #questSec .dayStamp{
  background:#455a74!important;color:#fff1cf!important;border-color:#243249!important
}
body.theme-night #shopSec .shopRow .tiny,
body.theme-night #shopSec .panel>.small,
body.theme-night #questSec .card .small,
body.theme-night #questSec .panel>.small,
body.theme-night #questSec #monthReward{
  color:#e5d5b4!important
}
body.theme-night #questSec .dayStamp.done{
  background:#6f8b68!important;color:#fffbe4!important;border-color:#314b35!important
}
body.theme-night #shopSec .cloudPanel,
body.theme-night #shopSec #cloudStatus{
  background:#293951!important;color:#fff1cf!important;border-color:#172439!important
}
body.theme-night #shopSec .cloudPanel input,
body.theme-night #shopSec .cloudPanel textarea{
  background:#1f2d42!important;color:#fff4d7!important;border-color:#536b89!important
}

/* 흐린 opacity 상속 방지 */
#shopSec .panel *,
#questSec .panel *{opacity:1}


/* v17.25 daily quest logic/status */
#questSec .card.questComplete{
  box-shadow:inset 0 0 0 3px rgba(99,139,74,.35),2px 2px 0 rgba(76,56,40,.18)!important;
}
#questSec .questState{
  margin-top:3px!important;
  font-weight:bold!important;
}
#questSec .card.questComplete .questState{color:#4e743d!important}
#questSec .card.done .questState{color:#6a8d55!important}
body.theme-berry #questSec .card.questComplete .questState{color:#9b4969!important}
body.theme-mint #questSec .card.questComplete .questState{color:#4d7a55!important}
body.theme-peach #questSec .card.questComplete .questState{color:#a75f43!important}
body.theme-night #questSec .card.questComplete .questState{color:#b8db92!important}
#questSec button[disabled]{cursor:default!important}


/* v17.27 settings */
#settingsSec .panel{background:#f3e6c4!important;color:#3b2c20!important;border-color:#705238!important}
#settingsSec .panel>b{color:#2f2118!important}
#settingsSec .small{color:#6b513b!important;opacity:1!important}
.settingsInfo{margin-top:7px;border:2px solid #9a7955;background:#fff8e8}
.infoRow{display:flex;justify-content:space-between;gap:8px;padding:6px 7px;border-bottom:1px solid #d7c29e;color:#5e4733}
.infoRow:last-child{border-bottom:0}
.infoRow b{color:#302319;text-align:right}
.settingsCloud{margin-top:7px;padding:0!important;border:0!important;background:transparent!important}
.settingsCloud input,.saveImportBox{width:100%;box-sizing:border-box;padding:7px;border:2px solid #9a7955;background:#fffdf7!important;color:#3b2c20!important;font-family:inherit}
.saveImportBox{height:76px;margin:7px 0 5px;font-family:monospace;font-size:9px}
.settingsBtns{margin-top:5px}
.settingsBtns .btn{margin-right:4px}
#settingsSec #cloudStatus{margin-top:7px;padding:6px;background:#fff8e8!important;color:#604832!important;border:1px solid #b3946d!important}

body.theme-berry #settingsSec .panel{background:#f6e2ea!important;color:#4b2938!important;border-color:#8b566c!important}
body.theme-berry #settingsSec .small{color:#75475b!important}
body.theme-berry .settingsInfo,body.theme-berry #settingsSec #cloudStatus{background:#fff4f8!important;color:#4b2938!important;border-color:#a9778a!important}
body.theme-berry .infoRow{color:#75475b;border-color:#e6c3d0}.theme-berry .infoRow b{color:#4b2938}

body.theme-mint #settingsSec .panel{background:#e7f1e3!important;color:#263e2c!important;border-color:#57785b!important}
body.theme-mint #settingsSec .small{color:#4d6b53!important}
body.theme-mint .settingsInfo,body.theme-mint #settingsSec #cloudStatus{background:#f7fff3!important;color:#263e2c!important;border-color:#78987a!important}
body.theme-mint .infoRow{color:#4d6b53;border-color:#c7dbc4}.theme-mint .infoRow b{color:#263e2c}

body.theme-peach #settingsSec .panel{background:#fae7d8!important;color:#513124!important;border-color:#a46e53!important}
body.theme-peach #settingsSec .small{color:#7a4e3b!important}
body.theme-peach .settingsInfo,body.theme-peach #settingsSec #cloudStatus{background:#fff6ed!important;color:#513124!important;border-color:#ba8569!important}
body.theme-peach .infoRow{color:#7a4e3b;border-color:#e8c9b5}.theme-peach .infoRow b{color:#513124}

body.theme-night #settingsSec .panel{background:#34465f!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night #settingsSec .panel>b{color:#fff8df!important}
body.theme-night #settingsSec .small{color:#e5d5b4!important}
body.theme-night .settingsInfo,body.theme-night #settingsSec #cloudStatus{background:#293951!important;color:#fff1cf!important;border-color:#172439!important}
body.theme-night .infoRow{color:#e5d5b4;border-color:#455a74}.theme-night .infoRow b{color:#fff8df}
body.theme-night #settingsSec input,body.theme-night #settingsSec textarea{background:#1f2d42!important;color:#fff4d7!important;border-color:#536b89!important}


/* v17.28 tabs + seedbar scroll polish */

/* 상단 탭: 가로 스크롤을 만들지 않고 한 줄 안에서 균등 배치 */
.tabs{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}
.tabs .tab{
  display:block!important;
  float:none!important;
  flex:1 1 0!important;
  min-width:0!important;
  width:auto!important;
  box-sizing:border-box!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* 씨앗 바: 얇고 둥근 픽셀게임 느낌 스크롤 */
.seedbar{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#9b7651 #ead8b4;
  padding-bottom:6px!important;
}

/* Chromium / WebKit */
.seedbar::-webkit-scrollbar{
  height:7px;
}
.seedbar::-webkit-scrollbar-track{
  background:#ead8b4;
  border:1px solid #b9986e;
  border-radius:6px;
}
.seedbar::-webkit-scrollbar-thumb{
  background:#9b7651;
  border:1px solid #6f5136;
  border-radius:6px;
}
.seedbar::-webkit-scrollbar-thumb:hover{
  background:#85613f;
}

/* 테마별 seedbar scrollbar */
body.theme-berry .seedbar{scrollbar-color:#b36f89 #f2d5df}
body.theme-berry .seedbar::-webkit-scrollbar-track{background:#f2d5df;border-color:#c997aa}
body.theme-berry .seedbar::-webkit-scrollbar-thumb{background:#b36f89;border-color:#855064}

body.theme-mint .seedbar{scrollbar-color:#719478 #d9ead5}
body.theme-mint .seedbar::-webkit-scrollbar-track{background:#d9ead5;border-color:#91ad91}
body.theme-mint .seedbar::-webkit-scrollbar-thumb{background:#719478;border-color:#4f7056}

body.theme-peach .seedbar{scrollbar-color:#c98262 #f4d9c7}
body.theme-peach .seedbar::-webkit-scrollbar-track{background:#f4d9c7;border-color:#d5a184}
body.theme-peach .seedbar::-webkit-scrollbar-thumb{background:#c98262;border-color:#955d45}

body.theme-night .seedbar{scrollbar-color:#7185a0 #26364d}
body.theme-night .seedbar::-webkit-scrollbar-track{background:#26364d;border-color:#455b76}
body.theme-night .seedbar::-webkit-scrollbar-thumb{background:#7185a0;border-color:#172439}

/* 작은 Q20 화면에서 탭 글자만 살짝 압축 */
@media (max-width:480px){
  .tabs .tab{
    padding-left:2px!important;
    padding-right:2px!important;
    font-size:10px!important;
  }
}


/* v18.0 progression systems */
.devRow{display:flex;justify-content:space-between;gap:8px;padding:7px;margin-top:5px;background:#fff8e8;border:2px solid #9a7955;color:#3b2c20}
.devCard{margin-top:7px;padding:8px;background:#fff8e8;border:2px solid #9a7955;color:#3b2c20}
.devCard .small{color:#6b513b!important}.devCard .btn{margin-top:6px}
.emptyState{padding:12px 6px;text-align:center;color:#765d45}
.farmPreview{margin-top:7px;padding:12px 8px;text-align:center;border:3px solid #76583d;background:#c9d99a;overflow:hidden}
.farmDeco{font-size:22px;letter-spacing:5px;margin-bottom:7px}
.farm-tier-2 .farmPreview{background:#b9d890;border-color:#755538}
.farm-tier-3 .farmPreview{background:#a9d080;border-color:#65462f}
.farm-tier-4 .farmPreview{background:#9cc776;border-color:#543b29;box-shadow:inset 0 0 0 3px #d8b86b}
body.theme-night .devRow,body.theme-night .devCard{background:#455a74;color:#fff1cf;border-color:#243249}
body.theme-night .devCard .small,body.theme-night .emptyState{color:#e5d5b4!important}
body.theme-night .farmPreview{background:#3e5b58;color:#fff3d3;border-color:#172439}
body.theme-berry .devRow,body.theme-berry .devCard{background:#fff4f8;color:#4b2938;border-color:#a9778a}
body.theme-mint .devRow,body.theme-mint .devCard{background:#f7fff3;color:#263e2c;border-color:#78987a}
body.theme-peach .devRow,body.theme-peach .devCard{background:#fff6ed;color:#513124;border-color:#ba8569}
/* 8 tabs: no scroll, compact on Q20 */
.tabs .tab{font-size:9px!important;padding-left:1px!important;padding-right:1px!important}
@media(max-width:380px){.tabs .tab{font-size:8px!important}}


/* v18.1 navigation fix: readable fixed-size tabs with horizontal swipe */
.tabs{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  -webkit-overflow-scrolling:touch;
  padding-bottom:5px!important;
  scrollbar-width:thin;
  scrollbar-color:#9b7651 #ead8b4;
}
.tabs .tab{
  display:inline-block!important;
  float:none!important;
  width:auto!important;
  min-width:62px!important;
  box-sizing:border-box!important;
  padding:8px 9px!important;
  font-size:11px!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.tabs::-webkit-scrollbar{height:6px}
.tabs::-webkit-scrollbar-track{background:#ead8b4;border:1px solid #b9986e;border-radius:5px}
.tabs::-webkit-scrollbar-thumb{background:#9b7651;border:1px solid #6f5136;border-radius:5px}
body.theme-night .tabs{scrollbar-color:#7185a0 #26364d}
body.theme-night .tabs::-webkit-scrollbar-track{background:#26364d;border-color:#455b76}
body.theme-night .tabs::-webkit-scrollbar-thumb{background:#7185a0;border-color:#172439}
body.theme-berry .tabs{scrollbar-color:#b36f89 #f2d5df}
body.theme-mint .tabs{scrollbar-color:#719478 #d9ead5}
body.theme-peach .tabs{scrollbar-color:#c98262 #f4d9c7}

/* order/facility visibility + BB10-safe explicit surfaces */
#ordersSec .panel,#facilitySec .panel,#storageSec .panel{
  background:#f3e6c4!important;color:#3b2c20!important;border-color:#705238!important
}
#ordersSec .panel>b,#facilitySec .panel>b,#storageSec .panel>b{color:#2f2118!important}
#ordersSec .panel>.small,#facilitySec .panel>.small,#storageSec .panel>.small{color:#6b513b!important;opacity:1!important}
#orderList,#facilityList,#farmExpansion,#storageList{display:block!important;min-height:20px!important}
.devCard,.devRow{display:block!important;opacity:1!important}
.devRow{display:flex!important}


/* v18.2 facility detail */
.facilityEffect{
  margin-top:6px;padding:5px 6px;background:#f2e3c5;border:1px solid #b49369;
  color:#493626;font-weight:bold
}
.facilityNext{margin-top:4px;color:#73563d!important;opacity:1!important}
body.theme-night .facilityEffect{background:#293951;color:#fff1cf;border-color:#172439}
body.theme-night .facilityNext{color:#d8c8a8!important}
body.theme-berry .facilityEffect{background:#f8e4ec;color:#613448;border-color:#bd8ca0}
body.theme-mint .facilityEffect{background:#e8f3e4;color:#315238;border-color:#8bab8b}
body.theme-peach .facilityEffect{background:#f9e5d7;color:#653d2d;border-color:#c79579}


/* v18.3 facility yard */
#facilityYard{margin:6px 0 8px;padding:6px;border:2px solid #76583d;background:#d9e3ae;overflow:hidden}
.yardTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;color:#4a3726}
.yardTitle .tiny{color:#6d563e!important}
.yardRow{white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.yardSlot{display:inline-block;vertical-align:top;width:92px;height:116px;margin-right:5px;box-sizing:border-box;padding:4px;text-align:center;background:#f6edcf;border:2px solid #8d6b48;overflow:hidden}
.yardSlot.empty{background:#d9d4b8;border-style:dashed}
.buildGhost{width:40px;height:48px;margin:7px auto 4px;border:2px dashed #8d8065;color:#8d8065;font-size:24px;line-height:44px}
.yardName{font-size:10px;color:#493524;white-space:normal}
.yardEffect{font-size:8px;line-height:1.15;margin-top:2px;color:#73563d;white-space:normal}
.facilityArt{position:relative;margin:2px auto 4px;width:68px;height:62px;transform-origin:50% 100%}
.facilityArt.lv1{transform:scale(.72)}
.facilityArt.lv2{transform:scale(.79)}
.facilityArt.lv3{transform:scale(.86)}
.facilityArt.lv4{transform:scale(.93)}
.facilityArt.lv5{transform:scale(1)}
.facilityArt i{position:absolute;display:block;box-sizing:border-box}

/* well */
.well .wellRim{left:14px;bottom:5px;width:40px;height:24px;background:#ad7c4a;border:4px solid #65462d;border-radius:7px}
.well .wellWater{left:20px;bottom:19px;width:28px;height:7px;background:#5fa2b8;border:2px solid #365f70}
.well .wellPost{bottom:25px;width:5px;height:29px;background:#7b5738;border:2px solid #513924}
.well .p1{left:15px}.well .p2{right:15px}
.well .wellRoof{left:9px;top:5px;width:50px;height:13px;background:#b95f45;border:4px solid #733d32;transform:skew(-10deg)}
.well .wellBucket{left:31px;bottom:8px;width:9px;height:10px;background:#c89858;border:2px solid #735331}
.well.lv3 .wellRim,.well.lv4 .wellRim,.well.lv5 .wellRim{box-shadow:inset 0 0 0 2px #d6a566}
.well.lv4 .wellRoof,.well.lv5 .wellRoof{background:#cf6e4d}
.well.lv5 .wellWater{background:#78c5d4}

/* windmill */
.mill .millBody{left:22px;bottom:3px;width:25px;height:42px;background:#d9c797;border:4px solid #72583e;border-radius:5px 5px 2px 2px}
.mill .millRoof{left:18px;bottom:41px;width:33px;height:14px;background:#9e5d42;border:4px solid #653a2d;transform:skew(-12deg)}
.mill .millHub{left:29px;top:21px;width:11px;height:11px;background:#d3a64f;border:3px solid #725125;border-radius:50%;z-index:3}
.mill .blade{left:32px;top:2px;width:5px;height:26px;background:#e2d2a5;border:2px solid #745a3f;transform-origin:50% 24px}
.mill .b1{transform:rotate(0deg)}.mill .b2{transform:rotate(90deg)}.mill .b3{transform:rotate(180deg)}.mill .b4{transform:rotate(270deg)}
.mill.lv4 .millBody,.mill.lv5 .millBody{background:#ead9a7}
.mill.lv5 .blade{background:#f0e1b7}

/* greenhouse */
.greenhouse .greenBase{left:9px;bottom:3px;width:51px;height:9px;background:#7e5b3f;border:3px solid #563d2b}
.greenhouse .greenGlass{left:12px;bottom:11px;width:45px;height:31px;background:#9ed1bd;border:4px solid #4e796d;opacity:.88}
.greenhouse .greenRoof{left:17px;bottom:41px;width:35px;height:22px;background:#b7dfce;border:4px solid #4e796d;transform:rotate(45deg) scale(.72)}
.greenhouse .greenDoor{left:30px;bottom:11px;width:12px;height:23px;background:#7ab29d;border:3px solid #466e61}
.greenhouse .greenPlant{bottom:13px;width:6px;height:12px;background:#4f8d50;border:2px solid #39683b}
.greenhouse .gp1{left:17px}.greenhouse .gp2{left:43px}.greenhouse .gp3{left:24px;display:none}
.greenhouse.lv3 .gp3,.greenhouse.lv4 .gp3,.greenhouse.lv5 .gp3{display:block}
.greenhouse.lv4 .greenGlass,.greenhouse.lv5 .greenGlass{background:#afe3cf}
.greenhouse.lv5 .greenRoof{background:#c9efde}

/* scarecrow */
.scarecrow .scPost{left:31px;bottom:2px;width:6px;height:47px;background:#78502e;border:2px solid #51361f}
.scarecrow .scArm{left:12px;bottom:31px;width:44px;height:7px;background:#b97a45;border:2px solid #744728}
.scarecrow .scBody{left:22px;bottom:15px;width:25px;height:25px;background:#c98d4d;border:3px solid #75482a}
.scarecrow .scHead{left:25px;top:5px;width:20px;height:18px;background:#dfb66b;border:3px solid #7a5633;border-radius:5px}
.scarecrow .scHat{left:19px;top:1px;width:32px;height:8px;background:#8c5c38;border:3px solid #5e3d29}
.scarecrow .scPatch{left:34px;bottom:20px;width:7px;height:7px;background:#6f9c62;border:2px solid #4d7046;display:none}
.scarecrow.lv3 .scPatch,.scarecrow.lv4 .scPatch,.scarecrow.lv5 .scPatch{display:block}
.scarecrow.lv5 .scHat{background:#a96b3f}

/* theme integration */
body.theme-night #facilityYard{background:#31475a;border-color:#172439}
body.theme-night .yardTitle,body.theme-night .yardName{color:#fff1cf}
body.theme-night .yardTitle .tiny,body.theme-night .yardEffect{color:#dfcfad!important}
body.theme-night .yardSlot{background:#455a74;border-color:#243249}
body.theme-night .yardSlot.empty{background:#35475d}
body.theme-berry #facilityYard{background:#efd2dd;border-color:#8b566c}
body.theme-mint #facilityYard{background:#d7ead2;border-color:#57785b}
body.theme-peach #facilityYard{background:#f0d2bd;border-color:#a46e53}


/* v18.4 facility purchase modal */
.buildGhost{
  display:block!important;width:44px!important;height:48px!important;margin:7px auto 4px!important;
  padding:0!important;border:2px dashed #8d8065!important;background:#eee8cf!important;
  color:#806f52!important;font-family:inherit!important;font-size:26px!important;line-height:42px!important;
  cursor:pointer!important;border-radius:3px!important
}
.buildGhost:active{transform:translateY(1px);background:#e3d8b7!important}
.facilityModal{position:fixed;left:0;top:0;width:100%;height:100%;z-index:9999}
.facilityModalDim{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(35,29,22,.62)}
.facilityModalBox{
  position:absolute;left:50%;top:50%;width:88%;max-width:360px;max-height:82%;overflow-y:auto;
  transform:translate(-50%,-50%);box-sizing:border-box;padding:9px;
  background:#f4e6c4;color:#3b2c20;border:4px solid #705238;box-shadow:5px 5px 0 rgba(45,33,24,.35)
}
.facilityModalHead{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:2px solid #a4845d}
.facilityModalHead button{width:28px;height:26px;padding:0;border:2px solid #705238;background:#ead4a9;color:#493524;font:inherit;font-size:16px}
.buyPreview{height:78px;margin:8px 0 4px;background:#d9e3ae;border:2px solid #8d6b48;text-align:center;overflow:hidden}
.buyPreview .facilityArt{margin:8px auto 0}
.buyName{text-align:center;font-size:13px;margin:6px 0}
.buyDesc{text-align:center;font-size:10px;line-height:1.45;color:#6b513b;margin-bottom:7px}
.buyEffect,.buyPrice{display:flex;justify-content:space-between;gap:8px;padding:7px;margin-top:5px;background:#fff8e8;border:1px solid #b49369;font-size:10px}
.buyEffect b,.buyPrice b{text-align:right;color:#3b2c20}
.buyWallet{text-align:right;margin-top:5px;font-size:9px;color:#705238}
.buyConfirm{width:100%;margin-top:8px!important}
body.theme-night .facilityModalBox{background:#34465f;color:#fff3d3;border-color:#172439}
body.theme-night .facilityModalHead{border-color:#536b89}
body.theme-night .facilityModalHead button{background:#26374f;color:#fff3d3;border-color:#172439}
body.theme-night .buyPreview{background:#31475a;border-color:#172439}
body.theme-night .buyDesc,body.theme-night .buyWallet{color:#e5d5b4}
body.theme-night .buyEffect,body.theme-night .buyPrice{background:#293951;border-color:#172439}
body.theme-night .buyEffect b,body.theme-night .buyPrice b{color:#fff3d3}
body.theme-berry .facilityModalBox{background:#f6e2ea;color:#4b2938;border-color:#8b566c}
body.theme-mint .facilityModalBox{background:#e7f1e3;color:#263e2c;border-color:#57785b}
body.theme-peach .facilityModalBox{background:#fae7d8;color:#513124;border-color:#a46e53}


/* v18.5 mobile farm tap support */
#farm .plot{
  touch-action:manipulation;
  -ms-touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}
#farm .plot *{
  pointer-events:none;
}


/* v18.6 robust tap/harvest */
#farm .plot:active{
  box-shadow:inset 0 0 0 4px rgba(255,230,107,.75),inset 2px 2px 0 rgba(255,255,255,.10)!important;
}


/* v18.8 warehouse */
.storageLocked,.storageSummary{margin-top:7px;padding:9px;background:#fff8e8;border:2px solid #9a7955;color:#3b2c20}
.storageLocked .small{margin-top:4px;color:#6b513b!important}
.storageSummary{display:flex;justify-content:space-between;gap:8px}
.storageGuide{margin:5px 0 7px;color:#6b513b!important}
.barn .barnBody{left:12px;bottom:3px;width:46px;height:39px;background:#b86b48;border:4px solid #6e3f2d}
.barn .barnRoof{left:7px;bottom:39px;width:56px;height:18px;background:#754535;border:4px solid #4e3026;transform:skew(-8deg)}
.barn .barnDoor{left:27px;bottom:3px;width:17px;height:27px;background:#704634;border:3px solid #4d3025}
.barn .barnHandle{left:39px;bottom:15px;width:3px;height:3px;background:#e0b45f}
.barn .barnBox{bottom:4px;width:12px;height:11px;background:#c99655;border:2px solid #75532f;display:none}
.barn .bx1{left:7px}.barn .bx2{right:6px}
.barn.lv3 .bx1,.barn.lv4 .bx1,.barn.lv5 .bx1{display:block}
.barn.lv4 .bx2,.barn.lv5 .bx2{display:block}
.barn.lv4 .barnBody,.barn.lv5 .barnBody{background:#c8794f}
.barn.lv5 .barnRoof{background:#87503b}
body.theme-night .storageLocked,body.theme-night .storageSummary{background:#293951;color:#fff1cf;border-color:#172439}
body.theme-night .storageLocked .small,body.theme-night .storageGuide{color:#e5d5b4!important}


/* v18.9 ranking */
.rankNameBox{margin:8px 0;padding:7px;background:#fff8e8;border:2px solid #9a7955}
.rankNameBox label{display:block;margin-bottom:4px;font-size:10px;font-weight:bold}
.rankNameBox input{width:100%;box-sizing:border-box;padding:7px;margin-bottom:5px;border:2px solid #9a7955;background:#fffdf7;color:#3b2c20;font-family:inherit}
#rankingStatus{margin:6px 0;color:#6b513b!important}
.rankRow{display:flex;align-items:center;gap:7px;margin-top:5px;padding:7px;background:#fff8e8;border:2px solid #9a7955;color:#3b2c20}
.rankRow.me{box-shadow:inset 0 0 0 2px #7ba05c}
.rankNo{width:26px;font-size:13px;font-weight:bold;text-align:center}
.rankFarmer{flex:1;min-width:0}
.rankFarmer b,.rankFarmer span,.rankScore b,.rankScore span{display:block}
.rankFarmer span,.rankScore span{font-size:8px;color:#6b513b}
.rankScore{text-align:right;white-space:nowrap}
body.theme-night .rankNameBox,body.theme-night .rankRow{background:#293951;color:#fff1cf;border-color:#172439}
body.theme-night .rankFarmer span,body.theme-night .rankScore span,body.theme-night #rankingStatus{color:#e5d5b4!important}
body.theme-night .rankNameBox input{background:#1f2d42;color:#fff4d7;border-color:#536b89}


/* v19.1 complete contrast pass — explicit colors for BB10 */
#rankingSec .panel,#settingsSec .panel,#ordersSec .panel,#facilitySec .panel,#storageSec .panel,
#shopSec .panel,#dailySec .panel,#bookSec .panel{
  opacity:1!important;text-shadow:none!important
}
#rankingSec .panel>b,#settingsSec .panel>b,#ordersSec .panel>b,#facilitySec .panel>b,
#storageSec .panel>b,#shopSec .panel>b,#dailySec .panel>b,#bookSec .panel>b{
  opacity:1!important;text-shadow:none!important
}

/* light themes: never inherit pale seasonal text */
body.theme-default #rankingSec .panel,body.theme-default #settingsSec .panel,
body.theme-default #ordersSec .panel,body.theme-default #facilitySec .panel,body.theme-default #storageSec .panel{
  background:#f3e6c4!important;color:#3b2c20!important;border-color:#705238!important
}
body.theme-default #rankingSec .small,body.theme-default #rankingSec .tiny,
body.theme-default #settingsSec .small,body.theme-default #settingsSec .tiny{color:#6b513b!important}

body.theme-berry #rankingSec .panel,body.theme-berry #settingsSec .panel,
body.theme-berry #ordersSec .panel,body.theme-berry #facilitySec .panel,body.theme-berry #storageSec .panel{
  background:#f7e4eb!important;color:#462534!important;border-color:#8b566c!important
}
body.theme-berry #rankingSec .small,body.theme-berry #rankingSec .tiny,
body.theme-berry #settingsSec .small,body.theme-berry #settingsSec .tiny{color:#75475b!important}

body.theme-mint #rankingSec .panel,body.theme-mint #settingsSec .panel,
body.theme-mint #ordersSec .panel,body.theme-mint #facilitySec .panel,body.theme-mint #storageSec .panel{
  background:#e9f2e5!important;color:#233a29!important;border-color:#57785b!important
}
body.theme-mint #rankingSec .small,body.theme-mint #rankingSec .tiny,
body.theme-mint #settingsSec .small,body.theme-mint #settingsSec .tiny{color:#4d6b53!important}

body.theme-peach #rankingSec .panel,body.theme-peach #settingsSec .panel,
body.theme-peach #ordersSec .panel,body.theme-peach #facilitySec .panel,body.theme-peach #storageSec .panel{
  background:#faeadc!important;color:#4a2c21!important;border-color:#a46e53!important
}
body.theme-peach #rankingSec .small,body.theme-peach #rankingSec .tiny,
body.theme-peach #settingsSec .small,body.theme-peach #settingsSec .tiny{color:#7a4e3b!important}

/* night theme */
body.theme-night #rankingSec .panel,body.theme-night #settingsSec .panel,
body.theme-night #ordersSec .panel,body.theme-night #facilitySec .panel,body.theme-night #storageSec .panel{
  background:#34465f!important;color:#fff4d7!important;border-color:#172439!important
}
body.theme-night #rankingSec .small,body.theme-night #rankingSec .tiny,
body.theme-night #settingsSec .small,body.theme-night #settingsSec .tiny{color:#e6d6b4!important}

/* Ranking cards explicitly follow each theme */
body.theme-default .rankNameBox,body.theme-default .rankRow{background:#fff8e8!important;color:#35281e!important;border-color:#8d6c49!important}
body.theme-default .rankFarmer span,body.theme-default .rankScore span,body.theme-default #rankingStatus{color:#6a4e35!important}

body.theme-berry .rankNameBox,body.theme-berry .rankRow{background:#fff1f6!important;color:#462534!important;border-color:#9d6b7d!important}
body.theme-berry .rankFarmer span,body.theme-berry .rankScore span,body.theme-berry #rankingStatus{color:#75475b!important}

body.theme-mint .rankNameBox,body.theme-mint .rankRow{background:#f5faef!important;color:#233a29!important;border-color:#719173!important}
body.theme-mint .rankFarmer span,body.theme-mint .rankScore span,body.theme-mint #rankingStatus{color:#4d6b53!important}

body.theme-peach .rankNameBox,body.theme-peach .rankRow{background:#fff5eb!important;color:#4a2c21!important;border-color:#ba8569!important}
body.theme-peach .rankFarmer span,body.theme-peach .rankScore span,body.theme-peach #rankingStatus{color:#7a4e3b!important}

body.theme-night .rankNameBox,body.theme-night .rankRow{background:#293951!important;color:#fff7df!important;border-color:#172439!important}
body.theme-night .rankFarmer span,body.theme-night .rankScore span,body.theme-night #rankingStatus{color:#e6d6b4!important}

/* labels/headings must not inherit near-white text on light surfaces */
body.theme-default #rankingSec label,body.theme-default #rankingSec b{color:#35281e!important}
body.theme-berry #rankingSec label,body.theme-berry #rankingSec b{color:#462534!important}
body.theme-mint #rankingSec label,body.theme-mint #rankingSec b{color:#233a29!important}
body.theme-peach #rankingSec label,body.theme-peach #rankingSec b{color:#4a2c21!important}
body.theme-night #rankingSec label,body.theme-night #rankingSec b{color:#fff7df!important}

/* time overlay remains visual-only and cannot reduce UI contrast */
#dayShade{z-index:80!important;pointer-events:none!important}


/* v19.2 mobile quick actions */
.quickActions{
  display:flex!important;
  gap:6px!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:6px 0 7px!important;
}
.quickBtn{
  flex:1 1 0!important;
  min-width:0!important;
  min-height:38px!important;
  padding:7px 6px!important;
  box-sizing:border-box!important;
  border:3px solid #6f5136!important;
  background:#e9d8b5!important;
  color:#3b2d21!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:bold!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  cursor:pointer!important;
  box-shadow:2px 2px 0 rgba(76,56,40,.22)!important;
  touch-action:manipulation;
  -ms-touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.quickBtn:active{
  transform:translateY(1px);
  box-shadow:1px 1px 0 rgba(76,56,40,.18)!important;
}
.quickBtn.disabled,.quickBtn[disabled]{
  opacity:.48!important;
  cursor:default!important;
  box-shadow:none!important;
}
.plantQuick{background:#dce8b6!important;border-color:#647b48!important;color:#314024!important}
.harvestQuick{background:#f0d7a4!important;border-color:#8a633b!important;color:#51391f!important}
.harvestQuick.ready{
  border-color:#b7852e!important;
  box-shadow:0 0 0 2px rgba(242,207,93,.38),2px 2px 0 rgba(76,56,40,.22)!important;
}
@media (prefers-reduced-motion:no-preference){
  .harvestQuick.ready{animation:quickReady 1.25s steps(2,end) infinite}
}
@keyframes quickReady{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.08)}
}

/* themes */
body.theme-berry .quickBtn{background:#f2d9e3!important;border-color:#8d5e72!important;color:#4b2938!important}
body.theme-berry .plantQuick{background:#e8e0b8!important;border-color:#7d8050!important}
body.theme-berry .harvestQuick{background:#f0c8d7!important;border-color:#9e627a!important}

body.theme-mint .quickBtn{background:#dcebd7!important;border-color:#5e7e62!important;color:#263e2c!important}
body.theme-mint .plantQuick{background:#cce2c3!important;border-color:#5c7d5f!important}
body.theme-mint .harvestQuick{background:#e6ddad!important;border-color:#87804f!important}

body.theme-peach .quickBtn{background:#f5dccb!important;border-color:#a66f53!important;color:#513124!important}
body.theme-peach .plantQuick{background:#e0e1b7!important;border-color:#858456!important}
body.theme-peach .harvestQuick{background:#f1c9a8!important;border-color:#a96a49!important}

body.theme-night .quickBtn{background:#455a74!important;border-color:#172439!important;color:#fff3d3!important}
body.theme-night .plantQuick{background:#526a59!important;border-color:#253b2a!important;color:#fff8df!important}
body.theme-night .harvestQuick{background:#735f45!important;border-color:#3e3122!important;color:#fff1cf!important}
body.theme-night .harvestQuick.ready{box-shadow:0 0 0 2px rgba(229,195,112,.32),2px 2px 0 rgba(0,0,0,.24)!important}

/* narrow screens */
@media(max-width:360px){
  .quickBtn{font-size:9px!important;padding:7px 3px!important}
}


/* v19.3 achievement progress */
.achievementProgress{font-weight:bold!important;opacity:1!important}
.achievementDone{box-shadow:inset 0 0 0 2px rgba(102,143,75,.45)!important}
body.theme-night .achievementProgress{color:#d9efb7!important}
body.theme-berry .achievementProgress{color:#84445e!important}
body.theme-mint .achievementProgress{color:#466f4e!important}
body.theme-peach .achievementProgress{color:#95553e!important}


/* v19.4 idle farm events */
.idleEventStage{
  position:relative!important;
  min-height:58px!important;
  margin:5px 0 7px!important;
  padding:5px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:#dce6b5!important;
  border:2px solid #7b6848!important;
}
.idleEventHint{
  display:flex!important;
  justify-content:space-between!important;
  gap:8px!important;
  align-items:center!important;
  min-height:44px!important;
  padding:0 4px!important;
  color:#54422f!important;
  pointer-events:none!important;
}
.idleEventHint b{font-size:10px!important}
.idleEventHint span{font-size:8px!important;color:#735e46!important;text-align:right!important}
.idleEventBubble{
  position:absolute!important;
  z-index:4!important;
  width:76px!important;
  min-height:44px!important;
  padding:4px!important;
  border:3px solid #6f5739!important;
  background:#fff4c9!important;
  color:#493522!important;
  font-family:inherit!important;
  text-align:center!important;
  box-shadow:2px 2px 0 rgba(65,47,29,.25)!important;
  cursor:pointer!important;
  touch-action:manipulation;
  -ms-touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  animation:idlePop 1.1s steps(2,end) infinite;
}
.idleEventBubble.pos0{left:6px!important;top:7px!important}
.idleEventBubble.pos1{left:28%!important;top:6px!important}
.idleEventBubble.pos2{right:27%!important;top:7px!important}
.idleEventBubble.pos3{right:6px!important;top:6px!important}
.idleEventIcon{display:block!important;font-size:20px!important;line-height:20px!important}
.idleEventName{display:block!important;margin-top:2px!important;font-size:8px!important;white-space:nowrap!important}
.event-sun{background:#fff1a8!important;border-color:#b68b34!important}
.event-coin{background:#f2d68a!important;border-color:#9a7024!important}
.event-xp{background:#cfe2f2!important;border-color:#587a9a!important}
.event-rare{background:#ead5ef!important;border-color:#8d6397!important}
@keyframes idlePop{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}

/* themes */
body.theme-night .idleEventStage{background:#31475a!important;border-color:#172439!important}
body.theme-night .idleEventHint{color:#fff1cf!important}
body.theme-night .idleEventHint span{color:#dfcfad!important}
body.theme-night .idleEventBubble{color:#fff7df!important;border-color:#172439!important}
body.theme-night .event-sun{background:#756b43!important}
body.theme-night .event-coin{background:#6e5d38!important}
body.theme-night .event-xp{background:#39556f!important}
body.theme-night .event-rare{background:#60496d!important}

body.theme-berry .idleEventStage{background:#eed3dd!important;border-color:#8b566c!important}
body.theme-mint .idleEventStage{background:#d9ead5!important;border-color:#57785b!important}
body.theme-peach .idleEventStage{background:#f2d5c2!important;border-color:#a46e53!important}


/* v19.5 cumulative farmer counter */
.farmerCountCard{
  margin:8px 0!important;padding:9px!important;text-align:center!important;
  background:#fff5d7!important;border:3px solid #947247!important;color:#3d2e20!important;
}
.farmerCountLabel{display:block!important;font-size:9px!important;margin-bottom:4px!important}
.farmerCountCard b{display:block!important;font-size:18px!important;line-height:22px!important;color:#4f7138!important}
.farmerCountCard small{display:block!important;margin-top:3px!important;font-size:7px!important;color:#70583e!important}
body.theme-berry .farmerCountCard{background:#fff0f5!important;border-color:#9a6379!important;color:#472837!important}
body.theme-berry .farmerCountCard b{color:#8b4964!important}
body.theme-mint .farmerCountCard{background:#f1f8e9!important;border-color:#678568!important;color:#263c2b!important}
body.theme-mint .farmerCountCard b{color:#4e774f!important}
body.theme-peach .farmerCountCard{background:#fff2e7!important;border-color:#ad7457!important;color:#4c3024!important}
body.theme-peach .farmerCountCard b{color:#9b5b42!important}
body.theme-night .farmerCountCard{background:#293951!important;border-color:#172439!important;color:#fff3d3!important}
body.theme-night .farmerCountCard b{color:#d9e8a8!important}
body.theme-night .farmerCountCard small{color:#decfac!important}


/* v19.6 fixed title + community stats */
#app{
  padding-top:104px!important;
}
.bar{
  position:fixed!important;
  top:8px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:calc(100% - 20px)!important;
  max-width:680px!important;
  box-sizing:border-box!important;
  z-index:220!important;
  margin:0!important;
}
.communityStats{
  margin-top:5px!important;
  padding-top:5px!important;
  border-top:1px solid rgba(90,68,45,.28)!important;
  font-size:9px!important;
  line-height:1.35!important;
  color:#5d4936!important;
  white-space:normal!important;
}
.communityStats b{
  color:#3e6a36!important;
  font-size:10px!important;
}
body.theme-berry .communityStats{color:#75475b!important;border-top-color:#c497a8!important}
body.theme-berry .communityStats b{color:#8f4966!important}
body.theme-mint .communityStats{color:#4d6b53!important;border-top-color:#99b395!important}
body.theme-mint .communityStats b{color:#4e774f!important}
body.theme-peach .communityStats{color:#7a4e3b!important;border-top-color:#cf9b7f!important}
body.theme-peach .communityStats b{color:#9b5b42!important}
body.theme-night .communityStats{color:#e5d5b4!important;border-top-color:#5b6d85!important}
body.theme-night .communityStats b{color:#d9e8a8!important}

@media(max-width:480px){
  #app{padding-top:116px!important}
  .bar{top:5px!important;width:calc(100% - 12px)!important;padding:8px 9px!important}
  .title{font-size:20px!important}
  .bar .small{font-size:10px!important}
  .communityStats{font-size:8px!important}
  .communityStats b{font-size:9px!important}
}


/* v19.6.1 seedbar scrollbar restoration
   마지막 CSS override로 두어 이전/테마 규칙에 덮이지 않게 함 */
.seedbar{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:7px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#9d8057 transparent!important;
  -webkit-overflow-scrolling:touch;
}
.seedbar::-webkit-scrollbar{
  height:6px!important;
  background:transparent!important;
}
.seedbar::-webkit-scrollbar-track{
  background:rgba(116,88,56,.10)!important;
  border:1px solid rgba(116,88,56,.16)!important;
  border-radius:6px!important;
}
.seedbar::-webkit-scrollbar-thumb{
  background:#a88960!important;
  border:1px solid #795f43!important;
  border-radius:6px!important;
}
.seedbar::-webkit-scrollbar-thumb:hover{background:#92734f!important}

/* 테마별 스크롤바 */
body.theme-berry .seedbar{scrollbar-color:#a86f85 transparent!important}
body.theme-berry .seedbar::-webkit-scrollbar-track{background:rgba(142,83,106,.10)!important;border-color:rgba(142,83,106,.18)!important}
body.theme-berry .seedbar::-webkit-scrollbar-thumb{background:#b98297!important;border-color:#89576b!important}

body.theme-mint .seedbar{scrollbar-color:#708d72 transparent!important}
body.theme-mint .seedbar::-webkit-scrollbar-track{background:rgba(80,117,84,.10)!important;border-color:rgba(80,117,84,.18)!important}
body.theme-mint .seedbar::-webkit-scrollbar-thumb{background:#86a188!important;border-color:#58745c!important}

body.theme-peach .seedbar{scrollbar-color:#b8795b transparent!important}
body.theme-peach .seedbar::-webkit-scrollbar-track{background:rgba(165,101,73,.10)!important;border-color:rgba(165,101,73,.18)!important}
body.theme-peach .seedbar::-webkit-scrollbar-thumb{background:#ca8e70!important;border-color:#9d654d!important}

body.theme-night .seedbar{scrollbar-color:#667b96 transparent!important}
body.theme-night .seedbar::-webkit-scrollbar-track{background:rgba(205,222,240,.08)!important;border-color:rgba(205,222,240,.12)!important}
body.theme-night .seedbar::-webkit-scrollbar-thumb{background:#647b97!important;border-color:#34485f!important}

/* Q20/좁은 화면에서는 손가락으로 잡기 쉽되 과하게 두껍지 않게 */
@media(max-width:480px){
  .seedbar{padding-bottom:8px!important}
  .seedbar::-webkit-scrollbar{height:7px!important}
}


/* v19.6.2 full-width fixed header */
#app{
  padding-top:104px!important;
}
.bar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  transform:none!important;
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  z-index:220!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
}
@media(max-width:480px){
  #app{padding-top:112px!important}
  .bar{
    top:0!important;
    left:0!important;
    width:100vw!important;
    max-width:none!important;
    padding:8px 10px!important;
  }
}


/* v19.6.3 fixed header scrollbar-width fix */
.bar{
  top:0!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  max-width:none!important;
  transform:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media(max-width:480px){
  .bar{
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
  }
}


/* v19.6.4 explicit scrollbar-aware header width */
.bar{
  top:0!important;
  left:0!important;
  right:auto!important;
  width:calc(100vw - (100vw - 100%))!important;
  max-width:none!important;
  transform:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media(max-width:480px){
  .bar{
    left:0!important;
    right:auto!important;
    width:calc(100vw - (100vw - 100%))!important;
    max-width:none!important;
  }
}


/* v19.6.5 BB10 fixed header viewport fallback */
.bar{
  top:0!important;
  left:0!important;
  right:auto!important;
  width:100%!important; /* JS 실행 전 fallback */
  max-width:none!important;
  transform:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media(max-width:480px){
  .bar{
    left:0!important;
    right:auto!important;
    width:100%!important;
    max-width:none!important;
  }
}


/* v19.7 Q20 browser/app WebView sizing normalization */
html{
  width:100%!important;
  min-width:100%!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}
body{
  width:100%!important;
  min-width:100%!important;
  overflow-x:hidden!important;
  -webkit-text-size-adjust:100%!important;
}
#app{
  width:100%!important;
  box-sizing:border-box!important;
}
.bar{
  -webkit-text-size-adjust:100%!important;
}
.farmNameEditor{
  display:table!important;
  width:100%!important;
  margin-top:7px!important;
}
.farmNameEditor input{
  display:table-cell!important;
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  padding:6px 8px!important;
  border:2px solid #786047!important;
  background:#fff8e8!important;
  color:#35281e!important;
  font-family:inherit!important;
  font-size:12px!important;
}
.farmNameEditor .btn{
  display:table-cell!important;
  width:92px!important;
  margin-left:5px!important;
  white-space:nowrap!important;
}

/* BB10 browser/WebView: keep component scale consistent at the same physical width */
@media(max-width:720px){
  body{font-size:17px!important}
  #app{max-width:none!important}
  .panel{font-size:17px!important}
  .tab{font-size:14px!important}
  .seed{font-size:13px!important}
}
body.theme-night .farmNameEditor input{background:#293951!important;color:#fff7df!important;border-color:#172439!important}
body.theme-berry .farmNameEditor input{background:#fff1f6!important;color:#462534!important;border-color:#9d6b7d!important}
body.theme-mint .farmNameEditor input{background:#f5faef!important;color:#233a29!important;border-color:#719173!important}
body.theme-peach .farmNameEditor input{background:#fff5eb!important;color:#4a2c21!important;border-color:#ba8569!important}


/* v19.8 fixed save-code UX */
.cloudCodeLockHint{
  margin-top:6px!important;
  padding:6px!important;
  line-height:1.35!important;
  background:rgba(255,248,232,.72)!important;
  border:1px solid rgba(122,93,61,.28)!important;
  color:#6a5139!important;
}
.cloudCodeFixed{
  opacity:.88!important;
  cursor:default!important;
  background:#eee6d5!important;
}
body.theme-night .cloudCodeLockHint{
  background:#293951!important;color:#e5d5b4!important;border-color:#172439!important;
}
body.theme-night .cloudCodeFixed{background:#24344a!important;color:#fff3d3!important}
body.theme-berry .cloudCodeLockHint{background:#fff0f5!important;color:#75475b!important;border-color:#c497a8!important}
body.theme-mint .cloudCodeLockHint{background:#f1f8e9!important;color:#4d6b53!important;border-color:#99b395!important}
body.theme-peach .cloudCodeLockHint{background:#fff2e7!important;color:#7a4e3b!important;border-color:#cf9b7f!important}


/* v19.9 first sync / existing farm chooser */
.firstSyncModal{
  position:fixed!important;
  left:0!important;top:0!important;
  width:100%!important;height:100%!important;
  z-index:12000!important;
}
.firstSyncDim{
  position:absolute!important;
  left:0!important;top:0!important;
  width:100%!important;height:100%!important;
  background:rgba(25,30,24,.76)!important;
}
.firstSyncBox{
  position:absolute!important;
  left:50%!important;top:50%!important;
  width:88%!important;max-width:390px!important;
  transform:translate(-50%,-50%)!important;
  box-sizing:border-box!important;
  padding:14px!important;
  background:#f4e6c4!important;
  border:4px solid #705238!important;
  color:#3b2c20!important;
  box-shadow:5px 5px 0 rgba(0,0,0,.28)!important;
}
.firstSyncTitle{
  font-size:16px!important;
  font-weight:bold!important;
  margin-bottom:7px!important;
}
.firstSyncDesc{
  font-size:10px!important;
  line-height:1.45!important;
  color:#6b513b!important;
  margin-bottom:10px!important;
}
#firstSyncCodeInput{
  width:100%!important;
  box-sizing:border-box!important;
  padding:9px!important;
  margin-bottom:7px!important;
  border:2px solid #8d6b48!important;
  background:#fffaf0!important;
  color:#35281e!important;
  font-family:inherit!important;
  font-size:12px!important;
  text-transform:uppercase!important;
}
.firstSyncLoad,.firstSyncNew{
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
}
.firstSyncDivider{
  position:relative!important;
  margin:10px 0!important;
  text-align:center!important;
  font-size:9px!important;
  color:#806b53!important;
}
.firstSyncDivider:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:50%!important;
  height:1px!important;
  background:#c0a57e!important;
}
.firstSyncDivider span{
  position:relative!important;
  padding:0 7px!important;
  background:#f4e6c4!important;
}
#firstSyncStatus{
  margin-top:8px!important;
  min-height:14px!important;
  color:#7b4a34!important;
}
body.theme-night .firstSyncBox{background:#34465f!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night .firstSyncDesc,body.theme-night #firstSyncStatus{color:#e5d5b4!important}
body.theme-night #firstSyncCodeInput{background:#24344a!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night .firstSyncDivider span{background:#34465f!important}
body.theme-night .firstSyncDivider:before{background:#60728b!important}


/* v19.9.1 seedbar scrollbar final override — keep this LAST */
.seedbar{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:7px!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:#9b7b54 transparent!important;
}

/* WebKit / BB10 */
.seedbar::-webkit-scrollbar{
  width:0!important;
  height:6px!important;
  background:transparent!important;
}
.seedbar::-webkit-scrollbar-button{
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
}
.seedbar::-webkit-scrollbar-track,
.seedbar::-webkit-scrollbar-track-piece{
  background:rgba(99,77,52,.10)!important;
  border:1px solid rgba(99,77,52,.14)!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.seedbar::-webkit-scrollbar-thumb{
  min-width:32px!important;
  background:#a88a61!important;
  border:1px solid #755c3f!important;
  border-radius:8px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.seedbar::-webkit-scrollbar-corner{
  background:transparent!important;
}

/* theme colors */
body.theme-berry .seedbar{scrollbar-color:#b17b91 transparent!important}
body.theme-berry .seedbar::-webkit-scrollbar-track,
body.theme-berry .seedbar::-webkit-scrollbar-track-piece{
  background:rgba(145,86,111,.10)!important;border-color:rgba(145,86,111,.15)!important;
}
body.theme-berry .seedbar::-webkit-scrollbar-thumb{
  background:#b98297!important;border-color:#89576b!important;
}

body.theme-mint .seedbar{scrollbar-color:#829d84 transparent!important}
body.theme-mint .seedbar::-webkit-scrollbar-track,
body.theme-mint .seedbar::-webkit-scrollbar-track-piece{
  background:rgba(86,120,90,.10)!important;border-color:rgba(86,120,90,.15)!important;
}
body.theme-mint .seedbar::-webkit-scrollbar-thumb{
  background:#8da58f!important;border-color:#5c745f!important;
}

body.theme-peach .seedbar{scrollbar-color:#c38a6e transparent!important}
body.theme-peach .seedbar::-webkit-scrollbar-track,
body.theme-peach .seedbar::-webkit-scrollbar-track-piece{
  background:rgba(164,103,77,.10)!important;border-color:rgba(164,103,77,.15)!important;
}
body.theme-peach .seedbar::-webkit-scrollbar-thumb{
  background:#ca8e70!important;border-color:#9d654d!important;
}

body.theme-night .seedbar{scrollbar-color:#6f829c transparent!important}
body.theme-night .seedbar::-webkit-scrollbar-track,
body.theme-night .seedbar::-webkit-scrollbar-track-piece{
  background:rgba(215,229,244,.06)!important;border-color:rgba(215,229,244,.10)!important;
}
body.theme-night .seedbar::-webkit-scrollbar-thumb{
  background:#657b96!important;border-color:#34485f!important;
}

/* Q20: still easy to touch, but not chunky */
@media(max-width:480px){
  .seedbar{padding-bottom:8px!important}
  .seedbar::-webkit-scrollbar{height:6px!important}
}


/* v19.9.2 unified horizontal scrollbars — KEEP LAST */
.tabs,
.seedbar,
.yardRow{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:#73806d transparent!important;
}

/* Chrome/WebKit/BB10 */
.tabs::-webkit-scrollbar,
.seedbar::-webkit-scrollbar,
.yardRow::-webkit-scrollbar{
  height:6px!important;
  width:0!important;
  background:transparent!important;
}

.tabs::-webkit-scrollbar-button,
.seedbar::-webkit-scrollbar-button,
.yardRow::-webkit-scrollbar-button{
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
}

.tabs::-webkit-scrollbar-track,
.tabs::-webkit-scrollbar-track-piece,
.seedbar::-webkit-scrollbar-track,
.seedbar::-webkit-scrollbar-track-piece,
.yardRow::-webkit-scrollbar-track,
.yardRow::-webkit-scrollbar-track-piece{
  background:rgba(31,48,38,.16)!important;
  border:0!important;
  border-radius:6px!important;
  box-shadow:none!important;
}

.tabs::-webkit-scrollbar-thumb,
.seedbar::-webkit-scrollbar-thumb,
.yardRow::-webkit-scrollbar-thumb{
  min-width:34px!important;
  background:#71806c!important;
  border:0!important;
  border-radius:6px!important;
  box-shadow:none!important;
}

.tabs::-webkit-scrollbar-corner,
.seedbar::-webkit-scrollbar-corner,
.yardRow::-webkit-scrollbar-corner{
  background:transparent!important;
}

/* spacing: same bottom gap so all three look identical */
.tabs{padding-bottom:6px!important}
.seedbar{padding-bottom:6px!important}
.yardRow{padding-bottom:6px!important}

/* berry */
body.theme-berry .tabs,
body.theme-berry .seedbar,
body.theme-berry .yardRow{scrollbar-color:#a66f85 transparent!important}
body.theme-berry .tabs::-webkit-scrollbar-track,
body.theme-berry .tabs::-webkit-scrollbar-track-piece,
body.theme-berry .seedbar::-webkit-scrollbar-track,
body.theme-berry .seedbar::-webkit-scrollbar-track-piece,
body.theme-berry .yardRow::-webkit-scrollbar-track,
body.theme-berry .yardRow::-webkit-scrollbar-track-piece{background:rgba(127,72,94,.14)!important}
body.theme-berry .tabs::-webkit-scrollbar-thumb,
body.theme-berry .seedbar::-webkit-scrollbar-thumb,
body.theme-berry .yardRow::-webkit-scrollbar-thumb{background:#a66f85!important}

/* mint */
body.theme-mint .tabs,
body.theme-mint .seedbar,
body.theme-mint .yardRow{scrollbar-color:#6f8d73 transparent!important}
body.theme-mint .tabs::-webkit-scrollbar-track,
body.theme-mint .tabs::-webkit-scrollbar-track-piece,
body.theme-mint .seedbar::-webkit-scrollbar-track,
body.theme-mint .seedbar::-webkit-scrollbar-track-piece,
body.theme-mint .yardRow::-webkit-scrollbar-track,
body.theme-mint .yardRow::-webkit-scrollbar-track-piece{background:rgba(73,106,77,.13)!important}
body.theme-mint .tabs::-webkit-scrollbar-thumb,
body.theme-mint .seedbar::-webkit-scrollbar-thumb,
body.theme-mint .yardRow::-webkit-scrollbar-thumb{background:#6f8d73!important}

/* peach */
body.theme-peach .tabs,
body.theme-peach .seedbar,
body.theme-peach .yardRow{scrollbar-color:#b97b5f transparent!important}
body.theme-peach .tabs::-webkit-scrollbar-track,
body.theme-peach .tabs::-webkit-scrollbar-track-piece,
body.theme-peach .seedbar::-webkit-scrollbar-track,
body.theme-peach .seedbar::-webkit-scrollbar-track-piece,
body.theme-peach .yardRow::-webkit-scrollbar-track,
body.theme-peach .yardRow::-webkit-scrollbar-track-piece{background:rgba(146,85,59,.13)!important}
body.theme-peach .tabs::-webkit-scrollbar-thumb,
body.theme-peach .seedbar::-webkit-scrollbar-thumb,
body.theme-peach .yardRow::-webkit-scrollbar-thumb{background:#b97b5f!important}

/* night */
body.theme-night .tabs,
body.theme-night .seedbar,
body.theme-night .yardRow{scrollbar-color:#687c96 transparent!important}
body.theme-night .tabs::-webkit-scrollbar-track,
body.theme-night .tabs::-webkit-scrollbar-track-piece,
body.theme-night .seedbar::-webkit-scrollbar-track,
body.theme-night .seedbar::-webkit-scrollbar-track-piece,
body.theme-night .yardRow::-webkit-scrollbar-track,
body.theme-night .yardRow::-webkit-scrollbar-track-piece{background:rgba(216,230,246,.08)!important}
body.theme-night .tabs::-webkit-scrollbar-thumb,
body.theme-night .seedbar::-webkit-scrollbar-thumb,
body.theme-night .yardRow::-webkit-scrollbar-thumb{background:#687c96!important}

/* Q20 / narrow screens */
@media(max-width:480px){
  .tabs::-webkit-scrollbar,
  .seedbar::-webkit-scrollbar,
  .yardRow::-webkit-scrollbar{
    height:6px!important;
  }
}


/* v19.9.3 farm-walk typography */
.idleEventHint b{
  font-size:14px!important;
  line-height:1.3!important;
}
.idleEventHint span{
  font-size:11px!important;
  line-height:1.35!important;
}
@media(max-width:480px){
  .idleEventHint b{font-size:14px!important}
  .idleEventHint span{font-size:11px!important}
}


/* v20.0 Farm Journal */
.journalHead{display:table!important;width:100%!important}
.journalHead>b,.journalHead>span{display:table-cell!important;vertical-align:middle!important}
.journalHead>span{text-align:right!important}
.journalSummary{margin-top:8px!important;padding:9px!important;background:#fff8e8!important;border:2px solid #9a7955!important}
.journalBig{font-size:14px!important;margin-bottom:5px!important}
.attendanceGrid{display:table!important;width:100%!important;table-layout:fixed!important;border-spacing:3px!important;margin:7px -3px 6px!important}
.attendanceDay{display:table-cell!important;text-align:center!important;vertical-align:middle!important;padding:6px 2px!important;background:#fff8e8!important;border:2px solid #9a7955!important;opacity:.72!important}
.attendanceDay b,.attendanceDay span{display:block!important}
.attendanceDay b{font-size:10px!important}.attendanceDay span{font-size:7px!important;margin-top:3px!important;line-height:1.2!important}
.attendanceDay.done{background:#71965d!important;color:#fff9e8!important;border-color:#4f6f40!important;opacity:1!important}
.attendanceDay.next{outline:2px dashed #d3a53b!important;opacity:1!important}
.specialGoalName{font-weight:bold!important;font-size:13px!important;margin:7px 0 5px!important}
.specialGoalProgress{height:8px!important;background:#d7c7a6!important;border:1px solid #8b6c4d!important;margin-bottom:5px!important;overflow:hidden!important}
.specialGoalProgress>div{height:100%!important;background:#71965d!important}
#specialGoalClaim{margin-top:7px!important;width:100%!important}
body.theme-night .journalSummary,body.theme-night .attendanceDay{background:#293951!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night .attendanceDay.done{background:#607b5b!important}
body.theme-night .specialGoalProgress{background:#24344a!important;border-color:#172439!important}
body.theme-berry .journalSummary,body.theme-berry .attendanceDay{background:#fff4f8!important;color:#4b2938!important;border-color:#a9778a!important}
body.theme-mint .journalSummary,body.theme-mint .attendanceDay{background:#f5faef!important;color:#263c2b!important;border-color:#719173!important}
body.theme-peach .journalSummary,body.theme-peach .attendanceDay{background:#fff5eb!important;color:#4c3024!important;border-color:#ba8569!important}
@media(max-width:480px){
  .attendanceDay{padding:5px 1px!important}
  .attendanceDay b{font-size:9px!important}
  .attendanceDay span{font-size:6px!important}
}


/* v20.2 seed card metadata wrapping */
.seed{
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.seedMeta{
  display:block!important;
  width:100%!important;
  margin-top:4px!important;
  padding-top:3px!important;
  border-top:1px dashed rgba(92,70,45,.28)!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.25!important;
  box-sizing:border-box!important;
}
.seedLevel,
.seedTime{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-wrap:break-word!important;
}
.seedLevel{
  font-size:9px!important;
  font-weight:bold!important;
}
.seedTime{
  margin-top:2px!important;
  font-size:8px!important;
  line-height:1.3!important;
}
.seed .seasonTag{
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-wrap:break-word!important;
}
@media(max-width:480px){
  .seedMeta{margin-top:3px!important;padding-top:3px!important}
  .seedLevel{font-size:9px!important}
  .seedTime{font-size:8px!important}
}


/* v20.2.2 same-level panel title color normalization — KEEP LAST */
.section > .panel > b,
.section > .panel > .panelTitle,
.panel > b.panelTitle,
#facilitySec .panel > b,
#rankingSec .panel > b,
#warehouseSec .panel > b,
#orderSec .panel > b,
#shopSec .panel > b,
#questSec .panel > b,
#bookSec .panel > b,
#settingsSec .panel > b{
  color:#3f3023!important;
}

/* Night theme: same hierarchy, same bright title color */
body.theme-night .section > .panel > b,
body.theme-night .section > .panel > .panelTitle,
body.theme-night .panel > b.panelTitle,
body.theme-night #facilitySec .panel > b,
body.theme-night #rankingSec .panel > b,
body.theme-night #warehouseSec .panel > b,
body.theme-night #orderSec .panel > b,
body.theme-night #shopSec .panel > b,
body.theme-night #questSec .panel > b,
body.theme-night #bookSec .panel > b,
body.theme-night #settingsSec .panel > b{
  color:#fff1cf!important;
}

/* Berry */
body.theme-berry .section > .panel > b,
body.theme-berry .section > .panel > .panelTitle,
body.theme-berry .panel > b.panelTitle{
  color:#4b2938!important;
}

/* Mint */
body.theme-mint .section > .panel > b,
body.theme-mint .section > .panel > .panelTitle,
body.theme-mint .panel > b.panelTitle{
  color:#263c2b!important;
}

/* Peach */
body.theme-peach .section > .panel > b,
body.theme-peach .section > .panel > .panelTitle,
body.theme-peach .panel > b.panelTitle{
  color:#4c3024!important;
}


/* v20.2.3 FIX: actual storage/orders section IDs */
#storageSec > .panel > b,
#ordersSec > .panel > b,
#facilitySec > .panel > b,
#rankingSec > .panel > b,
#shopSec > .panel > b,
#questSec > .panel > b,
#bookSec > .panel > b,
#settingsSec > .panel > b{
  color:#f7e7c0!important;
}

/* Keep all same-level headings readable in the colored themes too */
body.theme-night #storageSec > .panel > b,
body.theme-night #ordersSec > .panel > b,
body.theme-night #facilitySec > .panel > b,
body.theme-night #rankingSec > .panel > b,
body.theme-night #shopSec > .panel > b,
body.theme-night #questSec > .panel > b,
body.theme-night #bookSec > .panel > b,
body.theme-night #settingsSec > .panel > b{
  color:#fff1cf!important;
}
body.theme-berry #storageSec > .panel > b,
body.theme-berry #ordersSec > .panel > b,
body.theme-berry #facilitySec > .panel > b,
body.theme-berry #rankingSec > .panel > b,
body.theme-berry #shopSec > .panel > b,
body.theme-berry #questSec > .panel > b,
body.theme-berry #bookSec > .panel > b,
body.theme-berry #settingsSec > .panel > b{color:#fff0f5!important}
body.theme-mint #storageSec > .panel > b,
body.theme-mint #ordersSec > .panel > b,
body.theme-mint #facilitySec > .panel > b,
body.theme-mint #rankingSec > .panel > b,
body.theme-mint #shopSec > .panel > b,
body.theme-mint #questSec > .panel > b,
body.theme-mint #bookSec > .panel > b,
body.theme-mint #settingsSec > .panel > b{color:#f2f7df!important}
body.theme-peach #storageSec > .panel > b,
body.theme-peach #ordersSec > .panel > b,
body.theme-peach #facilitySec > .panel > b,
body.theme-peach #rankingSec > .panel > b,
body.theme-peach #shopSec > .panel > b,
body.theme-peach #questSec > .panel > b,
body.theme-peach #bookSec > .panel > b,
body.theme-peach #settingsSec > .panel > b{color:#fff0d9!important}


/* v20.2.4 top-level panel subtitle normalization */
#storageSec > .panel > .small,
#ordersSec > .panel > .small,
#facilitySec > .panel > .small,
#rankingSec > .panel > .small,
#shopSec > .panel > .small,
#questSec > .panel > .small,
#bookSec > .panel > .small,
#settingsSec > .panel > .small{
  color:#ead8b3!important;
}

/* theme subtitle colors: softer than title, but still readable */
body.theme-night #storageSec > .panel > .small,
body.theme-night #ordersSec > .panel > .small,
body.theme-night #facilitySec > .panel > .small,
body.theme-night #rankingSec > .panel > .small,
body.theme-night #shopSec > .panel > .small,
body.theme-night #questSec > .panel > .small,
body.theme-night #bookSec > .panel > .small,
body.theme-night #settingsSec > .panel > .small{color:#d8cfb8!important}

body.theme-berry #storageSec > .panel > .small,
body.theme-berry #ordersSec > .panel > .small,
body.theme-berry #facilitySec > .panel > .small,
body.theme-berry #rankingSec > .panel > .small,
body.theme-berry #shopSec > .panel > .small,
body.theme-berry #questSec > .panel > .small,
body.theme-berry #bookSec > .panel > .small,
body.theme-berry #settingsSec > .panel > .small{color:#ead4dc!important}

body.theme-mint #storageSec > .panel > .small,
body.theme-mint #ordersSec > .panel > .small,
body.theme-mint #facilitySec > .panel > .small,
body.theme-mint #rankingSec > .panel > .small,
body.theme-mint #shopSec > .panel > .small,
body.theme-mint #questSec > .panel > .small,
body.theme-mint #bookSec > .panel > .small,
body.theme-mint #settingsSec > .panel > .small{color:#dce8d2!important}

body.theme-peach #storageSec > .panel > .small,
body.theme-peach #ordersSec > .panel > .small,
body.theme-peach #facilitySec > .panel > .small,
body.theme-peach #rankingSec > .panel > .small,
body.theme-peach #shopSec > .panel > .small,
body.theme-peach #questSec > .panel > .small,
body.theme-peach #bookSec > .panel > .small,
body.theme-peach #settingsSec > .panel > .small{color:#ecd8c5!important}


/* v20.2.5 LIGHT THEME TEXT RESET
   별밤(theme-night)을 제외한 모든 밝은 테마는 어두운 잉크색을 사용한다.
   이전 버전의 밝은 title/subtext override를 이 블록이 마지막에서 덮어쓴다. */

/* ---------- DEFAULT ---------- */
body.theme-default,
body.theme-default .panel,
body.theme-default .seedPanel,
body.theme-default .weatherBox,
body.theme-default .card,
body.theme-default .devCard,
body.theme-default .shopRow,
body.theme-default .storageLocked,
body.theme-default .storageSummary,
body.theme-default .rankNameBox,
body.theme-default .rankRow,
body.theme-default .farmerCountCard,
body.theme-default .journalSummary,
body.theme-default .attendanceDay,
body.theme-default .idleEventStage{
  color:#3b2d22!important;
}
body.theme-default .panel > b,
body.theme-default .panelTitle,
body.theme-default .section > .panel > b,
body.theme-default .journalHead > b,
body.theme-default .specialGoalName,
body.theme-default .themeTitle,
body.theme-default .fundTitle b,
body.theme-default label{
  color:#2f241b!important;
}
body.theme-default .small,
body.theme-default .tiny,
body.theme-default .section > .panel > .small,
body.theme-default .journalSummary .small,
body.theme-default .idleEventHint span,
body.theme-default .farmerCountCard small,
body.theme-default #rankingStatus{
  color:#6b513b!important;
}

/* ---------- BERRY ---------- */
body.theme-berry,
body.theme-berry .panel,
body.theme-berry .seedPanel,
body.theme-berry .weatherBox,
body.theme-berry .card,
body.theme-berry .devCard,
body.theme-berry .shopRow,
body.theme-berry .storageLocked,
body.theme-berry .storageSummary,
body.theme-berry .rankNameBox,
body.theme-berry .rankRow,
body.theme-berry .farmerCountCard,
body.theme-berry .journalSummary,
body.theme-berry .attendanceDay,
body.theme-berry .idleEventStage{
  color:#4b2938!important;
}
body.theme-berry .panel > b,
body.theme-berry .panelTitle,
body.theme-berry .section > .panel > b,
body.theme-berry .journalHead > b,
body.theme-berry .specialGoalName,
body.theme-berry .themeTitle,
body.theme-berry .fundTitle b,
body.theme-berry label{
  color:#3b202d!important;
}
body.theme-berry .small,
body.theme-berry .tiny,
body.theme-berry .section > .panel > .small,
body.theme-berry .journalSummary .small,
body.theme-berry .idleEventHint span,
body.theme-berry .farmerCountCard small,
body.theme-berry #rankingStatus{
  color:#75475b!important;
}

/* ---------- MINT ---------- */
body.theme-mint,
body.theme-mint .panel,
body.theme-mint .seedPanel,
body.theme-mint .weatherBox,
body.theme-mint .card,
body.theme-mint .devCard,
body.theme-mint .shopRow,
body.theme-mint .storageLocked,
body.theme-mint .storageSummary,
body.theme-mint .rankNameBox,
body.theme-mint .rankRow,
body.theme-mint .farmerCountCard,
body.theme-mint .journalSummary,
body.theme-mint .attendanceDay,
body.theme-mint .idleEventStage{
  color:#2d4432!important;
}
body.theme-mint .panel > b,
body.theme-mint .panelTitle,
body.theme-mint .section > .panel > b,
body.theme-mint .journalHead > b,
body.theme-mint .specialGoalName,
body.theme-mint .themeTitle,
body.theme-mint .fundTitle b,
body.theme-mint label{
  color:#203526!important;
}
body.theme-mint .small,
body.theme-mint .tiny,
body.theme-mint .section > .panel > .small,
body.theme-mint .journalSummary .small,
body.theme-mint .idleEventHint span,
body.theme-mint .farmerCountCard small,
body.theme-mint #rankingStatus{
  color:#4d6b53!important;
}

/* ---------- PEACH ---------- */
body.theme-peach,
body.theme-peach .panel,
body.theme-peach .seedPanel,
body.theme-peach .weatherBox,
body.theme-peach .card,
body.theme-peach .devCard,
body.theme-peach .shopRow,
body.theme-peach .storageLocked,
body.theme-peach .storageSummary,
body.theme-peach .rankNameBox,
body.theme-peach .rankRow,
body.theme-peach .farmerCountCard,
body.theme-peach .journalSummary,
body.theme-peach .attendanceDay,
body.theme-peach .idleEventStage{
  color:#4a3024!important;
}
body.theme-peach .panel > b,
body.theme-peach .panelTitle,
body.theme-peach .section > .panel > b,
body.theme-peach .journalHead > b,
body.theme-peach .specialGoalName,
body.theme-peach .themeTitle,
body.theme-peach .fundTitle b,
body.theme-peach label{
  color:#3a241b!important;
}
body.theme-peach .small,
body.theme-peach .tiny,
body.theme-peach .section > .panel > .small,
body.theme-peach .journalSummary .small,
body.theme-peach .idleEventHint span,
body.theme-peach .farmerCountCard small,
body.theme-peach #rankingStatus{
  color:#7a4e3b!important;
}

/* 씨앗 카드/시설 카드 내부도 밝은 테마에서는 반드시 어두운 글씨 */
body.theme-default .seed, body.theme-default .facilityCard,
body.theme-berry .seed, body.theme-berry .facilityCard,
body.theme-mint .seed, body.theme-mint .facilityCard,
body.theme-peach .seed, body.theme-peach .facilityCard{
  color:#3d3026!important;
}
body.theme-berry .seed,body.theme-berry .facilityCard{color:#4b2938!important}
body.theme-mint .seed,body.theme-mint .facilityCard{color:#2d4432!important}
body.theme-peach .seed,body.theme-peach .facilityCard{color:#4a3024!important}

/* 입력창 역시 밝은 테마에서는 어두운 글자 */
body.theme-default input,body.theme-default textarea,
body.theme-berry input,body.theme-berry textarea,
body.theme-mint input,body.theme-mint textarea,
body.theme-peach input,body.theme-peach textarea{
  color:#35281e!important;
}
body.theme-berry input,body.theme-berry textarea{color:#462534!important}
body.theme-mint input,body.theme-mint textarea{color:#233a29!important}
body.theme-peach input,body.theme-peach textarea{color:#4a2c21!important}

/* 버튼/활성 탭은 어두운 배경 위라 기존 밝은 글씨 유지 */
body.theme-default .btn,
body.theme-default .tab.active,
body.theme-berry .btn,
body.theme-berry .tab.active,
body.theme-mint .btn,
body.theme-mint .tab.active,
body.theme-peach .btn,
body.theme-peach .tab.active{
  color:#fffaf0!important;
}

/* 별밤은 기존 밝은 텍스트 규칙을 그대로 유지 */
body.theme-night .panel,
body.theme-night .seedPanel,
body.theme-night .card,
body.theme-night .devCard,
body.theme-night .shopRow,
body.theme-night .seed,
body.theme-night .facilityCard{
  color:#fff2d4!important;
}
body.theme-night .panel > b,
body.theme-night .section > .panel > b,
body.theme-night .panelTitle{
  color:#fff1cf!important;
}
body.theme-night .small,
body.theme-night .tiny,
body.theme-night .section > .panel > .small{
  color:#e7dbc2!important;
}


/* v20.2.6 — LIGHT / DARK text palette hard split
   밝은 테마(default/berry/mint/peach)는 진한 잉크색,
   어두운 테마(night)는 밝은 크림색을 최종 우선순위로 사용한다. */

/* ===== LIGHT THEMES : common readable text ===== */
body.theme-default,
body.theme-berry,
body.theme-mint,
body.theme-peach{
  color:#382b21!important;
}
body.theme-default .section,
body.theme-berry .section,
body.theme-mint .section,
body.theme-peach .section,
body.theme-default .panel,
body.theme-berry .panel,
body.theme-mint .panel,
body.theme-peach .panel,
body.theme-default .seedPanel,
body.theme-berry .seedPanel,
body.theme-mint .seedPanel,
body.theme-peach .seedPanel{
  color:#382b21!important;
}
body.theme-default .small, body.theme-default .tiny,
body.theme-berry .small,   body.theme-berry .tiny,
body.theme-mint .small,    body.theme-mint .tiny,
body.theme-peach .small,   body.theme-peach .tiny{
  color:#66503b!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.theme-default .panel b, body.theme-default .panel strong,
body.theme-berry .panel b,   body.theme-berry .panel strong,
body.theme-mint .panel b,    body.theme-mint .panel strong,
body.theme-peach .panel b,   body.theme-peach .panel strong{
  color:#2d2118!important;
  text-shadow:none!important;
}
body.theme-default .tab, body.theme-default .seed,
body.theme-berry .tab,   body.theme-berry .seed,
body.theme-mint .tab,    body.theme-mint .seed,
body.theme-peach .tab,   body.theme-peach .seed{
  color:#3f3024!important;
  text-shadow:none!important;
}
body.theme-default input, body.theme-default textarea,
body.theme-berry input,   body.theme-berry textarea,
body.theme-mint input,    body.theme-mint textarea,
body.theme-peach input,   body.theme-peach textarea{
  color:#35271e!important;
  -webkit-text-fill-color:#35271e!important;
}

/* 밝은 테마의 강조 버튼/선택 탭은 밝은 글자 유지 */
body.theme-default .btn, body.theme-default .tab.active,
body.theme-berry .btn,   body.theme-berry .tab.active,
body.theme-mint .btn,    body.theme-mint .tab.active,
body.theme-peach .btn,   body.theme-peach .tab.active,
body.theme-default .dayStamp.done,
body.theme-berry .dayStamp.done,
body.theme-mint .dayStamp.done,
body.theme-peach .dayStamp.done{
  color:#fffdf5!important;
  -webkit-text-fill-color:#fffdf5!important;
  text-shadow:0 1px 0 rgba(0,0,0,.28)!important;
}

/* ===== DARK THEME : common readable text ===== */
body.theme-night{
  color:#fff3d6!important;
}
body.theme-night .section,
body.theme-night .panel,
body.theme-night .seedPanel,
body.theme-night .shopRow,
body.theme-night .card,
body.theme-night .devRow,
body.theme-night .devCard,
body.theme-night .storageLocked,
body.theme-night .storageSummary,
body.theme-night .rankNameBox,
body.theme-night .rankRow,
body.theme-night .facilityModalBox,
body.theme-night .buyEffect,
body.theme-night .buyPrice{
  color:#fff3d6!important;
}
body.theme-night .small,
body.theme-night .tiny,
body.theme-night .emptyState,
body.theme-night .facilityNext,
body.theme-night .buyDesc,
body.theme-night .buyWallet,
body.theme-night #rankingStatus,
body.theme-night #cloudStatus{
  color:#e8d9b8!important;
  opacity:1!important;
}
body.theme-night .panel b,
body.theme-night .panel strong,
body.theme-night .card b,
body.theme-night .shopRow b,
body.theme-night .infoRow b,
body.theme-night label{
  color:#fff9e6!important;
}
body.theme-night .tab,
body.theme-night .seed{
  color:#fff0cf!important;
}
body.theme-night .tab.active,
body.theme-night .btn,
body.theme-night .dayStamp.done{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 1px 0 rgba(0,0,0,.35)!important;
}
body.theme-night input,
body.theme-night textarea{
  color:#fff5dc!important;
  -webkit-text-fill-color:#fff5dc!important;
}

/* BB10/WebKit에서 투명/흐린 텍스트로 남는 경우 방지 */
body.theme-default .section *, body.theme-berry .section *,
body.theme-mint .section *, body.theme-peach .section *,
body.theme-night .section *{
  visibility:visible;
}


/* v20.2.9 — FINAL TEXT CONTRAST GUARANTEE
   BB10/WebKit에서 예전 color / -webkit-text-fill-color / CSS variable 규칙이
   남아 글자가 사라지는 문제를 최종 우선순위에서 완전히 차단한다. */

/* ===== 밝은 테마 : 모든 일반 텍스트를 확실한 진한색으로 ===== */
body.theme-default .section *,
body.theme-berry .section *,
body.theme-mint .section *,
body.theme-peach .section *{
  -webkit-text-fill-color:currentColor;
  text-shadow:none;
}

body.theme-default .section{color:#382b21!important}
body.theme-berry .section{color:#4b2938!important}
body.theme-mint .section{color:#29422f!important}
body.theme-peach .section{color:#4a3024!important}

/* 제목/본문 — 오래된 밝은색 override까지 제거 */
body.theme-default .section b,
body.theme-default .section strong,
body.theme-default .section label,
body.theme-default .section .panelTitle,
body.theme-default .section .themeTitle,
body.theme-default .section .specialGoalName,
body.theme-default .section .journalHead,
body.theme-default .section .fundTitle,
body.theme-default .section .rankNo,
body.theme-default .section .rankFarmer,
body.theme-default .section .rankScore{color:#302319!important;-webkit-text-fill-color:#302319!important}

body.theme-berry .section b,
body.theme-berry .section strong,
body.theme-berry .section label,
body.theme-berry .section .panelTitle,
body.theme-berry .section .themeTitle,
body.theme-berry .section .specialGoalName,
body.theme-berry .section .journalHead,
body.theme-berry .section .fundTitle,
body.theme-berry .section .rankNo,
body.theme-berry .section .rankFarmer,
body.theme-berry .section .rankScore{color:#3b202d!important;-webkit-text-fill-color:#3b202d!important}

body.theme-mint .section b,
body.theme-mint .section strong,
body.theme-mint .section label,
body.theme-mint .section .panelTitle,
body.theme-mint .section .themeTitle,
body.theme-mint .section .specialGoalName,
body.theme-mint .section .journalHead,
body.theme-mint .section .fundTitle,
body.theme-mint .section .rankNo,
body.theme-mint .section .rankFarmer,
body.theme-mint .section .rankScore{color:#203526!important;-webkit-text-fill-color:#203526!important}

body.theme-peach .section b,
body.theme-peach .section strong,
body.theme-peach .section label,
body.theme-peach .section .panelTitle,
body.theme-peach .section .themeTitle,
body.theme-peach .section .specialGoalName,
body.theme-peach .section .journalHead,
body.theme-peach .section .fundTitle,
body.theme-peach .section .rankNo,
body.theme-peach .section .rankFarmer,
body.theme-peach .section .rankScore{color:#3a241b!important;-webkit-text-fill-color:#3a241b!important}

/* 설명/보조문구 */
body.theme-default .section .small,body.theme-default .section .tiny,
body.theme-default .section small,body.theme-default .section .emptyState,
body.theme-default .section .facilityNext,body.theme-default .section .buyDesc,
body.theme-default .section .buyWallet,body.theme-default .section .rankFarmer span,
body.theme-default .section .rankScore span{color:#654b35!important;-webkit-text-fill-color:#654b35!important;opacity:1!important}

body.theme-berry .section .small,body.theme-berry .section .tiny,
body.theme-berry .section small,body.theme-berry .section .emptyState,
body.theme-berry .section .facilityNext,body.theme-berry .section .buyDesc,
body.theme-berry .section .buyWallet,body.theme-berry .section .rankFarmer span,
body.theme-berry .section .rankScore span{color:#75475b!important;-webkit-text-fill-color:#75475b!important;opacity:1!important}

body.theme-mint .section .small,body.theme-mint .section .tiny,
body.theme-mint .section small,body.theme-mint .section .emptyState,
body.theme-mint .section .facilityNext,body.theme-mint .section .buyDesc,
body.theme-mint .section .buyWallet,body.theme-mint .section .rankFarmer span,
body.theme-mint .section .rankScore span{color:#496950!important;-webkit-text-fill-color:#496950!important;opacity:1!important}

body.theme-peach .section .small,body.theme-peach .section .tiny,
body.theme-peach .section small,body.theme-peach .section .emptyState,
body.theme-peach .section .facilityNext,body.theme-peach .section .buyDesc,
body.theme-peach .section .buyWallet,body.theme-peach .section .rankFarmer span,
body.theme-peach .section .rankScore span{color:#7a4e3b!important;-webkit-text-fill-color:#7a4e3b!important;opacity:1!important}

/* 밝은 테마 입력창: 배경과 글자 모두 명시 (CSS variable 미지원 브라우저 대비) */
body.theme-default input,body.theme-default textarea{background:#fffdf7!important;color:#35281e!important;-webkit-text-fill-color:#35281e!important;border-color:#8d6c49!important}
body.theme-berry input,body.theme-berry textarea{background:#fff7fa!important;color:#462534!important;-webkit-text-fill-color:#462534!important;border-color:#9d6b7d!important}
body.theme-mint input,body.theme-mint textarea{background:#f8fff4!important;color:#233a29!important;-webkit-text-fill-color:#233a29!important;border-color:#719173!important}
body.theme-peach input,body.theme-peach textarea{background:#fff8ef!important;color:#4a2c21!important;-webkit-text-fill-color:#4a2c21!important;border-color:#ba8569!important}
body.theme-default input::placeholder,body.theme-berry input::placeholder,body.theme-mint input::placeholder,body.theme-peach input::placeholder,
body.theme-default textarea::placeholder,body.theme-berry textarea::placeholder,body.theme-mint textarea::placeholder,body.theme-peach textarea::placeholder{color:#8a7563!important;-webkit-text-fill-color:#8a7563!important;opacity:1!important}

/* 강조색 배경 위의 텍스트는 밝은색 유지 */
body.theme-default .btn,body.theme-default .tab.active,body.theme-default .dayStamp.done,
body.theme-berry .btn,body.theme-berry .tab.active,body.theme-berry .dayStamp.done,
body.theme-mint .btn,body.theme-mint .tab.active,body.theme-mint .dayStamp.done,
body.theme-peach .btn,body.theme-peach .tab.active,body.theme-peach .dayStamp.done{
  color:#fffdf5!important;-webkit-text-fill-color:#fffdf5!important;text-shadow:0 1px 0 rgba(0,0,0,.28)!important
}

/* 비활성 탭은 밝은 배경이므로 진한색 */
body.theme-default .tab{color:#3b2d22!important;-webkit-text-fill-color:#3b2d22!important}
body.theme-berry .tab{color:#4b2938!important;-webkit-text-fill-color:#4b2938!important}
body.theme-mint .tab{color:#29422f!important;-webkit-text-fill-color:#29422f!important}
body.theme-peach .tab{color:#4a3024!important;-webkit-text-fill-color:#4a3024!important}

/* ===== 별밤 테마 : 모든 텍스트 + 입력창을 확실히 어둡게/밝게 분리 ===== */
body.theme-night .section *{-webkit-text-fill-color:currentColor}
body.theme-night .section{color:#fff3d6!important}
body.theme-night .section b,body.theme-night .section strong,body.theme-night .section label,
body.theme-night .section .panelTitle,body.theme-night .section .themeTitle,
body.theme-night .section .specialGoalName,body.theme-night .section .journalHead,
body.theme-night .section .fundTitle,body.theme-night .section .rankNo,
body.theme-night .section .rankFarmer,body.theme-night .section .rankScore{
  color:#fff9e6!important;-webkit-text-fill-color:#fff9e6!important
}
body.theme-night .section .small,body.theme-night .section .tiny,body.theme-night .section small,
body.theme-night .section .emptyState,body.theme-night .section .facilityNext,
body.theme-night .section .buyDesc,body.theme-night .section .buyWallet,
body.theme-night .section .rankFarmer span,body.theme-night .section .rankScore span,
body.theme-night #rankingStatus,body.theme-night #cloudStatus{
  color:#e8d9b8!important;-webkit-text-fill-color:#e8d9b8!important;opacity:1!important
}
body.theme-night input,body.theme-night textarea,
body.theme-night .rankNameBox input,body.theme-night .farmNameEditor input,
body.theme-night .cloudPanel input,body.theme-night .saveImportBox{
  background:#1f2d42!important;
  background-color:#1f2d42!important;
  color:#fff5dc!important;
  -webkit-text-fill-color:#fff5dc!important;
  border-color:#536b89!important;
  opacity:1!important;
}
body.theme-night input::placeholder,body.theme-night textarea::placeholder{
  color:#b9aa8e!important;-webkit-text-fill-color:#b9aa8e!important;opacity:1!important
}
body.theme-night .tab,body.theme-night .seed{color:#fff0cf!important;-webkit-text-fill-color:#fff0cf!important}
body.theme-night .tab.active,body.theme-night .btn,body.theme-night .dayStamp.done{
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.35)!important
}

/* 상점/랭킹/설정에서 실제로 문제됐던 최상위 제목을 별도로 고정 */
body.theme-default #shopSec>.panel>b,body.theme-default #rankingSec>.panel>b,body.theme-default #settingsSec>.panel>b{color:#302319!important;-webkit-text-fill-color:#302319!important}
body.theme-berry #shopSec>.panel>b,body.theme-berry #rankingSec>.panel>b,body.theme-berry #settingsSec>.panel>b{color:#3b202d!important;-webkit-text-fill-color:#3b202d!important}
body.theme-mint #shopSec>.panel>b,body.theme-mint #rankingSec>.panel>b,body.theme-mint #settingsSec>.panel>b{color:#203526!important;-webkit-text-fill-color:#203526!important}
body.theme-peach #shopSec>.panel>b,body.theme-peach #rankingSec>.panel>b,body.theme-peach #settingsSec>.panel>b{color:#3a241b!important;-webkit-text-fill-color:#3a241b!important}
body.theme-night #shopSec>.panel>b,body.theme-night #rankingSec>.panel>b,body.theme-night #settingsSec>.panel>b{color:#fff9e6!important;-webkit-text-fill-color:#fff9e6!important}


/* ===== v20.2.9 FINAL THEME TEXT POLICY =====
   별밤농장(theme-night)만 밝은 글씨.
   그 외 모든 테마는 타이틀/subtext/버튼/패널/보조문구까지 어두운 글씨.
   BB10 WebKit 대응을 위해 -webkit-text-fill-color도 함께 고정합니다. */

/* LIGHT THEMES : 모든 글자를 어둡게 */
body.theme-default,
body.theme-berry,
body.theme-mint,
body.theme-peach{
  color:#302820 !important;
  -webkit-text-fill-color:#302820 !important;
}
body.theme-default *,
body.theme-berry *,
body.theme-mint *,
body.theme-peach *{
  color:#302820 !important;
  -webkit-text-fill-color:#302820 !important;
}

/* 상단 타이틀 / 서브텍스트 / 커뮤니티 문구를 명시적으로 재고정 */
body.theme-default .bar .title, body.theme-default .bar .small, body.theme-default .bar .tiny, body.theme-default .communityStats,
body.theme-berry .bar .title, body.theme-berry .bar .small, body.theme-berry .bar .tiny, body.theme-berry .communityStats,
body.theme-mint .bar .title, body.theme-mint .bar .small, body.theme-mint .bar .tiny, body.theme-mint .communityStats,
body.theme-peach .bar .title, body.theme-peach .bar .small, body.theme-peach .bar .tiny, body.theme-peach .communityStats{
  color:#302820 !important;
  -webkit-text-fill-color:#302820 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* LIGHT 테마 입력창/placeholder도 어두운 글씨 */
body.theme-default input, body.theme-default textarea,
body.theme-berry input, body.theme-berry textarea,
body.theme-mint input, body.theme-mint textarea,
body.theme-peach input, body.theme-peach textarea{
  color:#302820 !important;
  -webkit-text-fill-color:#302820 !important;
}
body.theme-default input::placeholder, body.theme-default textarea::placeholder,
body.theme-berry input::placeholder, body.theme-berry textarea::placeholder,
body.theme-mint input::placeholder, body.theme-mint textarea::placeholder,
body.theme-peach input::placeholder, body.theme-peach textarea::placeholder{
  color:#6b5a4b !important;
  -webkit-text-fill-color:#6b5a4b !important;
  opacity:1 !important;
}

/* NIGHT THEME : 모든 글자를 밝게 */
body.theme-night{
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
}
body.theme-night *{
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
}
body.theme-night .bar .title,
body.theme-night .bar .small,
body.theme-night .bar .tiny,
body.theme-night .communityStats,
body.theme-night .small,
body.theme-night .tiny,
body.theme-night small{
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
  opacity:1 !important;
}
body.theme-night input,
body.theme-night textarea{
  color:#fff5dc !important;
  -webkit-text-fill-color:#fff5dc !important;
}
body.theme-night input::placeholder,
body.theme-night textarea::placeholder{
  color:#cdbf9f !important;
  -webkit-text-fill-color:#cdbf9f !important;
  opacity:1 !important;
}


/* ===== v20.4.2 TIME FLOW + STORAGE ITEM VISIBILITY FIX ===== */
#storageList .devRow,#orderList .devCard{display:block!important;visibility:visible!important;opacity:1!important}
#storageList .devRow{min-height:38px!important;padding:6px 4px!important;overflow:hidden!important}
#storageList .devRow>span:first-child{display:inline-flex!important;align-items:center!important;gap:6px!important;max-width:75%!important}
#storageList .devRow>span:last-child{float:right!important;line-height:30px!important;font-weight:bold!important}
.storageCropIcon{width:30px!important;height:30px!important;object-fit:contain!important;vertical-align:middle!important;image-rendering:pixelated!important;display:inline-block!important}
.storageCropFallback{display:inline-block!important;width:30px!important;text-align:center!important;font-size:20px!important;line-height:30px!important}
body:not(.theme-night) #storageList .devRow,body:not(.theme-night) #storageList .devRow *{color:#2f2118!important;-webkit-text-fill-color:#2f2118!important}
body.theme-night #storageList .devRow,body.theme-night #storageList .devRow *{color:#fff2d4!important;-webkit-text-fill-color:#fff2d4!important}

/* ===== v20.3.6 TOAST VISIBILITY HARD FIX =====
   Light-theme global text rules use !important, so toast needs its own
   stronger final override. Also lift it above every fixed/modal layer. */
#toast{
  display:block!important;
  position:fixed!important;
  left:8%!important;
  right:8%!important;
  bottom:22px!important;
  top:auto!important;
  box-sizing:border-box!important;
  padding:11px 12px!important;
  background:#2d2923!important;
  border:2px solid #fff0cf!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-size:14px!important;
  line-height:1.35!important;
  text-align:center!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:2147483647!important;
}
body.theme-default #toast, body.theme-berry #toast, body.theme-mint #toast,
body.theme-peach #toast, body.theme-night #toast{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:#2d2923!important;
}
#toast.toastShow{
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:480px){
  #toast{left:10px!important;right:10px!important;bottom:18px!important;font-size:12px!important;padding:9px 10px!important}
}

/* ===== v21.3 keyboard help readability =====
   키보드 안내는 모든 테마에서 밝은 카드 + 진한 글자로 고정한다. */
body .help,
body.theme-default .help,
body.theme-berry .help,
body.theme-mint .help,
body.theme-peach .help,
body.theme-night .help{
  background:#fffaf0!important;
  color:#3b3026!important;
  -webkit-text-fill-color:#3b3026!important;
  border-color:#9c7b53!important;
  text-shadow:none!important;
}
body .help *,
body.theme-default .help *,
body.theme-berry .help *,
body.theme-mint .help *,
body.theme-peach .help *,
body.theme-night .help *{
  color:#3b3026!important;
  -webkit-text-fill-color:#3b3026!important;
  text-shadow:none!important;
}
body .help kbd,
body.theme-night .help kbd{
  background:#ffffff!important;
  color:#2f2924!important;
  -webkit-text-fill-color:#2f2924!important;
  border-color:#8d7354!important;
}

/* 수확 결과 전용 토스트: 오른쪽 하단에서 위로 쌓임 */
#harvestToastStack{
  position:fixed!important;
  right:14px!important;
  bottom:18px!important;
  width:300px!important;
  max-width:calc(100vw - 28px)!important;
  z-index:2147483646!important;
  pointer-events:none!important;
}
.harvestToast{
  box-sizing:border-box!important;
  width:100%!important;
  margin-top:7px!important;
  padding:10px 12px!important;
  background:#fffaf0!important;
  color:#352b22!important;
  -webkit-text-fill-color:#352b22!important;
  border:2px solid #8d7354!important;
  box-shadow:3px 3px 0 rgba(45,41,35,.45)!important;
  font-size:12px!important;
  line-height:1.45!important;
  text-align:left!important;
  opacity:1!important;
}
.harvestToast .harvestTitle{display:block!important;font-weight:bold!important;font-size:13px!important;color:#2f241b!important;-webkit-text-fill-color:#2f241b!important}
.harvestToast .harvestMeta{display:block!important;margin-top:2px!important;color:#654b32!important;-webkit-text-fill-color:#654b32!important}
.harvestToast.goldHarvest{background:#fff1b8!important;border-color:#b47b18!important}
.harvestToast.quality-silver{border-left:6px solid #9ca6ad!important}
.harvestToast.quality-goldq{border-left:6px solid #d49a13!important}
.harvestToast.quality-rainbowq{border-left:6px solid #7a5aa6!important}
@media(max-width:480px){
  #harvestToastStack{right:10px!important;bottom:14px!important;width:270px!important;max-width:calc(100vw - 20px)!important}
  .harvestToast{font-size:11px!important;padding:8px 10px!important}
}


/* v20.4.2 — time flow affects grass only, not the UI */
#dayShade{display:none!important;opacity:0!important}
body{
  /* JS updates this color through the day; UI/panels remain untouched. */
  transition:background-color 3s linear!important;
  -webkit-transition:background-color 3s linear!important;
}


/* v20.4.2 — approved grass time palette
   03:00 #274e2b / 06:00 #3c6f2e / 09:00 #59b33a / 12:00 #6ecf3f
   15:00 #88d04a / 18:00 #4e7a2e / 21:00 #2e562b / 24:00 #234427 */
body{
  background-color:#59b33a;
  transition:background-color 3s linear!important;
  -webkit-transition:background-color 3s linear!important;
}
#dayShade{
  display:none!important;
  opacity:0!important;
}


/* v20.4.2 — grass time tint actually visible above the texture, below all UI */
html,body{min-height:100%}
body{position:relative}

/* UI always stays above the grass tint */
#app{
  position:relative!important;
  z-index:2!important;
}

/* Reuse dayShade as a grass-only tint layer.
   It sits above body's pixel grass texture, but below the entire game UI. */
#dayShade{
  display:block!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  z-index:1!important;
  pointer-events:none!important;
  transition:background-color 3s linear,opacity 3s linear!important;
  -webkit-transition:background-color 3s linear,opacity 3s linear!important;
}

/* Weather must stay above the UI/tint */
#weatherFx{
  z-index:90!important;
}


/* v20.4.2 — reliable time-of-day grass rendering
   Move the actual pixel-grass texture onto a dedicated background layer.
   JS changes THIS layer's brightness, so the PNG pixels themselves darken. */
body{
  background-image:none!important;
  background-color:#59b33a!important;
  position:relative!important;
}
body:before{
  content:"";
  position:fixed;
  left:0;top:0;right:0;bottom:0;
  z-index:-2;
  pointer-events:none;
  background-color:#59b33a;
  background-image:url("../icon/embedded_001_091f833a9c.png");
  background-repeat:repeat;
  image-rendering:pixelated;
  -webkit-filter:brightness(var(--grass-brightness,1));
  filter:brightness(var(--grass-brightness,1));
}
#app{position:relative!important;z-index:2!important}
#dayShade{display:none!important;opacity:0!important}

/* ===== v21.4 seed light-surface readability =====
   씨앗 영역의 밝은 배경은 어떤 테마에서도 진한 글자를 사용한다. */
body .seedTitle,
body.theme-default .seedTitle,
body.theme-berry .seedTitle,
body.theme-mint .seedTitle,
body.theme-peach .seedTitle,
body.theme-night .seedTitle{
  background:#d8b875!important;
  color:#3b2b20!important;
  -webkit-text-fill-color:#3b2b20!important;
  border-color:#7a5738!important;
  text-shadow:none!important;
}
body .seedTitle *,
body.theme-night .seedTitle *{
  color:#3b2b20!important;
  -webkit-text-fill-color:#3b2b20!important;
  text-shadow:none!important;
}
body .seedTitle kbd,
body.theme-night .seedTitle kbd{
  background:#fffaf0!important;
  color:#2f2924!important;
  -webkit-text-fill-color:#2f2924!important;
  border-color:#80684d!important;
}

/* 밝은 씨앗 카드(default/berry/mint/peach)는 본문/보조문구까지 모두 진한색 */
body.theme-default .seed, body.theme-default .seed *,
body.theme-berry .seed,   body.theme-berry .seed *,
body.theme-mint .seed,    body.theme-mint .seed *,
body.theme-peach .seed,   body.theme-peach .seed *{
  color:#3b3026!important;
  -webkit-text-fill-color:#3b3026!important;
  text-shadow:none!important;
}
body.theme-default .seed .tiny,
body.theme-berry .seed .tiny,
body.theme-mint .seed .tiny,
body.theme-peach .seed .tiny{
  color:#66503b!important;
  -webkit-text-fill-color:#66503b!important;
  opacity:1!important;
}



/* ===== v21.5 THEME CONTRAST SYSTEM — seed/help/toast surfaces =====
   밝은 표면 = 진한 글자 / 어두운 표면 = 밝은 글자.
   씨앗 패널, 계절 태그, 키 안내, 수확 토스트를 테마별로 한 세트로 맞춘다. */

/* ---------- common ---------- */
.seedPanel,.seedTitle,.seed,.seed *,.seasonTag,.help,.help *,#harvestToastStack,.harvestToast,.harvestToast *{
  text-shadow:none!important;
}
.seedTitle{font-weight:bold!important}
.seed small,.seedMeta,.seedLevel,.seedTime{opacity:1!important}
.seed .seasonTag{font-weight:bold!important}

/* ---------- DEFAULT / 콩알농장 ---------- */
body.theme-default .seedPanel{background:#f4e8cc!important;border-color:#745136!important;color:#35281e!important}
body.theme-default .seedTitle{background:#e3c58d!important;border-color:#745136!important;color:#35281e!important;-webkit-text-fill-color:#35281e!important}
body.theme-default .seed{background:#fff8e8!important;border-color:#a57c4d!important;color:#35281e!important;-webkit-text-fill-color:#35281e!important}
body.theme-default .seed *{color:#35281e!important;-webkit-text-fill-color:#35281e!important}
body.theme-default .seed small,body.theme-default .seedMeta{color:#654a34!important;-webkit-text-fill-color:#654a34!important}
body.theme-default .seed.active{background:#f5f0d8!important;border-color:#5f893d!important;box-shadow:inset 0 0 0 3px #78a34d,2px 2px 0 #8f6d49!important}
body.theme-default .seasonTag{background:#e9c78f!important;border-color:#a7773f!important;color:#52371f!important;-webkit-text-fill-color:#52371f!important}
body.theme-default .seasonTag.current{background:#729d45!important;border-color:#4f7132!important;color:#fffbe8!important;-webkit-text-fill-color:#fffbe8!important}
body.theme-default .seed.locked{background:#e3d5bd!important;color:#6a5a48!important}

/* ---------- BERRY / 딸기우유 ---------- */
body.theme-berry .seedPanel{background:#f4dfe7!important;border-color:#8c576b!important;color:#452735!important}
body.theme-berry .seedTitle{background:#e8bfd0!important;border-color:#8c576b!important;color:#452735!important;-webkit-text-fill-color:#452735!important}
body.theme-berry .seed{background:#fff5f8!important;border-color:#ad758b!important;color:#452735!important;-webkit-text-fill-color:#452735!important}
body.theme-berry .seed *{color:#452735!important;-webkit-text-fill-color:#452735!important}
body.theme-berry .seed small,body.theme-berry .seedMeta{color:#75475b!important;-webkit-text-fill-color:#75475b!important}
body.theme-berry .seed.active{background:#f9e8ef!important;border-color:#a74f74!important;box-shadow:inset 0 0 0 3px #c26b8d,2px 2px 0 #8c6575!important}
body.theme-berry .seasonTag{background:#e8c49a!important;border-color:#a66d3f!important;color:#55351f!important;-webkit-text-fill-color:#55351f!important}
body.theme-berry .seasonTag.current{background:#b85f83!important;border-color:#7e4059!important;color:#fff8fb!important;-webkit-text-fill-color:#fff8fb!important}
body.theme-berry .seed.locked{background:#decbd3!important;color:#765b66!important}

/* ---------- MINT / 민트새싹 ---------- */
body.theme-mint .seedPanel{background:#e3eee0!important;border-color:#58785b!important;color:#243a29!important}
body.theme-mint .seedTitle{background:#c8ddc1!important;border-color:#58785b!important;color:#243a29!important;-webkit-text-fill-color:#243a29!important}
body.theme-mint .seed{background:#f7fff3!important;border-color:#77977a!important;color:#243a29!important;-webkit-text-fill-color:#243a29!important}
body.theme-mint .seed *{color:#243a29!important;-webkit-text-fill-color:#243a29!important}
body.theme-mint .seed small,body.theme-mint .seedMeta{color:#4b6951!important;-webkit-text-fill-color:#4b6951!important}
body.theme-mint .seed.active{background:#eaf6df!important;border-color:#558046!important;box-shadow:inset 0 0 0 3px #77a960,2px 2px 0 #668169!important}
body.theme-mint .seasonTag{background:#e5c793!important;border-color:#9d7442!important;color:#50361f!important;-webkit-text-fill-color:#50361f!important}
body.theme-mint .seasonTag.current{background:#6f9e72!important;border-color:#4b704e!important;color:#fffdf2!important;-webkit-text-fill-color:#fffdf2!important}
body.theme-mint .seed.locked{background:#d4dfd1!important;color:#586b5b!important}

/* ---------- PEACH / 복숭아 ---------- */
body.theme-peach .seedPanel{background:#f8e3d3!important;border-color:#a66e52!important;color:#492b20!important}
body.theme-peach .seedTitle{background:#efc6a9!important;border-color:#a66e52!important;color:#492b20!important;-webkit-text-fill-color:#492b20!important}
body.theme-peach .seed{background:#fff7ee!important;border-color:#bd8568!important;color:#492b20!important;-webkit-text-fill-color:#492b20!important}
body.theme-peach .seed *{color:#492b20!important;-webkit-text-fill-color:#492b20!important}
body.theme-peach .seed small,body.theme-peach .seedMeta{color:#7a4d3a!important;-webkit-text-fill-color:#7a4d3a!important}
body.theme-peach .seed.active{background:#f8ead9!important;border-color:#8a7747!important;box-shadow:inset 0 0 0 3px #a69959,2px 2px 0 #9a705a!important}
body.theme-peach .seasonTag{background:#eab97c!important;border-color:#a86d35!important;color:#4e301a!important;-webkit-text-fill-color:#4e301a!important}
body.theme-peach .seasonTag.current{background:#c47a55!important;border-color:#8b533d!important;color:#fffaf1!important;-webkit-text-fill-color:#fffaf1!important}
body.theme-peach .seed.locked{background:#e6d0c1!important;color:#76594a!important}

/* ---------- NIGHT / 별밤농장 ---------- */
body.theme-night .seedPanel{background:#15283f!important;border-color:#0b1626!important;color:#f7ecd0!important;box-shadow:3px 3px 0 #0a1422!important}
body.theme-night .seedTitle{background:#203955!important;border-color:#0c192a!important;color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important}
body.theme-night .seedTitle>span,body.theme-night .seedTitle strong{color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important}
body.theme-night .seedTitle kbd{background:#fff8e9!important;border-color:#a8865f!important;color:#2d241c!important;-webkit-text-fill-color:#2d241c!important}
body.theme-night .seed{background:#243d5b!important;border-color:#11233a!important;color:#fff4da!important;-webkit-text-fill-color:#fff4da!important}
body.theme-night .seed *{color:#fff4da!important;-webkit-text-fill-color:#fff4da!important}
body.theme-night .seed small,body.theme-night .seedMeta,body.theme-night .seedLevel,body.theme-night .seedTime{color:#eadbbb!important;-webkit-text-fill-color:#eadbbb!important}
body.theme-night .seed.active{background:#284460!important;border-color:#7dad45!important;box-shadow:inset 0 0 0 3px #91bd54,2px 2px 0 #091523!important}
/* 별밤에서 베이지색 계절 배지가 흰 글자와 겹치지 않도록 배지 자체를 강조색으로 변경 */
body.theme-night .seasonTag{background:#c88343!important;border-color:#8c562d!important;color:#fff9e9!important;-webkit-text-fill-color:#fff9e9!important}
body.theme-night .seasonTag.current{background:#759e45!important;border-color:#4e7130!important;color:#fffce9!important;-webkit-text-fill-color:#fffce9!important}
body.theme-night .seed.locked{background:#1b3049!important;border-color:#0e1e31!important;color:#aeb9c6!important;-webkit-text-fill-color:#aeb9c6!important;opacity:.66!important}
body.theme-night .seed.locked *{color:#aeb9c6!important;-webkit-text-fill-color:#aeb9c6!important}

/* ---------- keyboard help ---------- */
/* 밝은 테마: 밝은 카드 + 어두운 잉크 */
body.theme-default .help{background:#fff9ed!important;border-color:#9b7853!important;color:#35291f!important;-webkit-text-fill-color:#35291f!important}
body.theme-berry .help{background:#fff5f8!important;border-color:#aa7489!important;color:#452735!important;-webkit-text-fill-color:#452735!important}
body.theme-mint .help{background:#f8fff4!important;border-color:#78977a!important;color:#243a29!important;-webkit-text-fill-color:#243a29!important}
body.theme-peach .help{background:#fff7ee!important;border-color:#bd8568!important;color:#492b20!important;-webkit-text-fill-color:#492b20!important}
body.theme-default .help *,body.theme-berry .help *,body.theme-mint .help *,body.theme-peach .help *{color:inherit!important;-webkit-text-fill-color:inherit!important}
/* 별밤: 이미지처럼 안내 카드도 네이비로, 키캡만 밝게 */
body.theme-night .help{background:#203955!important;border-color:#0c192a!important;color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important}
body.theme-night .help *{color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important}
body.theme-night .help kbd{background:#fff8e9!important;border-color:#a8865f!important;color:#2d241c!important;-webkit-text-fill-color:#2d241c!important}

/* ---------- harvest toast ---------- */
body.theme-default .harvestToast,body.theme-berry .harvestToast,body.theme-mint .harvestToast,body.theme-peach .harvestToast{
  background:#fff9ed!important;color:#33271e!important;-webkit-text-fill-color:#33271e!important;border-color:#8f704f!important
}
body.theme-default .harvestToast *,body.theme-berry .harvestToast *,body.theme-mint .harvestToast *,body.theme-peach .harvestToast *{color:#33271e!important;-webkit-text-fill-color:#33271e!important}
body.theme-night .harvestToast{background:#203955!important;color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important;border-color:#0c192a!important;box-shadow:3px 3px 0 #091523!important}
body.theme-night .harvestToast .harvestTitle{color:#fff7e3!important;-webkit-text-fill-color:#fff7e3!important}
body.theme-night .harvestToast .harvestMeta{color:#eadbbb!important;-webkit-text-fill-color:#eadbbb!important}
body.theme-night .harvestToast.goldHarvest{background:#3b3b32!important;border-color:#b98927!important}

/* disabled/locked controls: explicit contrast */
body.theme-night button:disabled,body.theme-night .btn:disabled{background:#33445a!important;color:#aeb9c6!important;-webkit-text-fill-color:#aeb9c6!important;border-color:#1a293c!important;opacity:.75!important}
body.theme-default button:disabled,body.theme-berry button:disabled,body.theme-mint button:disabled,body.theme-peach button:disabled{color:#5f5549!important;-webkit-text-fill-color:#5f5549!important;opacity:.72!important}



/* ===== v21.6 FARM REMAIN-TIME THEME VISIBILITY FIX =====
   BB10/WebKit의 -webkit-text-fill-color 상속 충돌을 차단하고
   모든 테마에서 밭의 남은 성장 시간을 확실하게 표시한다. */
#farm .plot .remainTime{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:12!important;
  left:3px!important;
  right:3px!important;
  bottom:9px!important;
  min-height:11px!important;
  padding:2px 2px!important;
  box-sizing:border-box!important;
  font-size:9px!important;
  font-weight:bold!important;
  line-height:1.05!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-shadow:1px 1px 0 rgba(0,0,0,.55)!important;
}

/* 콩알농장 */
body.theme-default #farm .plot .remainTime{
  background:#47382c!important;
  border-color:#e2c99a!important;
  color:#fff6d8!important;
  -webkit-text-fill-color:#fff6d8!important;
}
body.theme-default #farm .plot.ready .remainTime{
  background:#58753e!important;
  border-color:#dbe9b8!important;
  color:#fffde7!important;
  -webkit-text-fill-color:#fffde7!important;
}

/* 딸기우유 */
body.theme-berry #farm .plot .remainTime{
  background:#5b3545!important;
  border-color:#efc4d4!important;
  color:#fff4f8!important;
  -webkit-text-fill-color:#fff4f8!important;
}
body.theme-berry #farm .plot.ready .remainTime{
  background:#87506a!important;
  border-color:#f4d3df!important;
  color:#fff8fb!important;
  -webkit-text-fill-color:#fff8fb!important;
}

/* 민트새싹 */
body.theme-mint #farm .plot .remainTime{
  background:#344b39!important;
  border-color:#c9e0c5!important;
  color:#f7fff1!important;
  -webkit-text-fill-color:#f7fff1!important;
}
body.theme-mint #farm .plot.ready .remainTime{
  background:#527456!important;
  border-color:#d5ebcd!important;
  color:#fffdf2!important;
  -webkit-text-fill-color:#fffdf2!important;
}

/* 복숭아 */
body.theme-peach #farm .plot .remainTime{
  background:#5b3b2f!important;
  border-color:#f1cbb3!important;
  color:#fff5ea!important;
  -webkit-text-fill-color:#fff5ea!important;
}
body.theme-peach #farm .plot.ready .remainTime{
  background:#8a5d43!important;
  border-color:#f6d8c3!important;
  color:#fffaf1!important;
  -webkit-text-fill-color:#fffaf1!important;
}

/* 별밤농장 — 기존 정상 가독성 유지 */
body.theme-night #farm .plot .remainTime{
  background:#18283d!important;
  border-color:#8da1ba!important;
  color:#fff1cf!important;
  -webkit-text-fill-color:#fff1cf!important;
}
body.theme-night #farm .plot.ready .remainTime{
  background:#455f48!important;
  border-color:#b9d39b!important;
  color:#fff8df!important;
  -webkit-text-fill-color:#fff8df!important;
}

/* 진행바와 겹쳐도 시간 라벨이 항상 위에 오도록 보장 */
#farm .plot .prog{z-index:8!important}
#farm .plot .cropImg{z-index:2!important}
#farm .plot .cropSign{z-index:10!important}


/* v21.7 quality pixel icons */
.qualityIcon{display:inline-block!important;width:14px!important;height:14px!important;margin-left:5px!important;margin-right:2px!important;vertical-align:-2px!important;position:relative!important;transform:rotate(45deg)!important;border:2px solid rgba(35,39,46,.58)!important;box-sizing:border-box!important;box-shadow:1px 1px 0 rgba(0,0,0,.25)!important;-webkit-text-fill-color:transparent!important;color:transparent!important}.qualityIcon:after{content:""!important;position:absolute!important;width:4px!important;height:4px!important;left:3px!important;top:3px!important;background:rgba(255,255,255,.82)!important}.qualityIcon.silver{background:#c8d0d8!important;border-color:#737f8a!important}.qualityIcon.goldq{background:#f4c542!important;border-color:#a86f0b!important}.qualityIcon.rainbowq{background:linear-gradient(135deg,#ff7aa8 0 24%,#ffd45a 24% 48%,#73dca4 48% 72%,#78a9ff 72% 100%)!important;border-color:#76559c!important}


/* v21.8 — top utility buttons + patch note/help modal */
.topUtilityBtns{display:block;margin:0 0 4px 0;text-align:right;white-space:nowrap}
.topUtilityBtn{
  display:inline-block;min-height:24px;margin-left:4px;padding:3px 7px;box-sizing:border-box;
  border:2px solid #75583c;background:#fff3d6;color:#392a1e;font-family:inherit;font-size:10px;line-height:14px;
  box-shadow:1px 1px 0 rgba(53,38,25,.30);cursor:pointer;border-radius:3px;
  -webkit-text-fill-color:#392a1e!important
}
.topUtilityBtn:active{transform:translateY(1px);box-shadow:none}
body.theme-berry .topUtilityBtn{background:#fff1f6;border-color:#8b566c;color:#4b2938;-webkit-text-fill-color:#4b2938!important}
body.theme-mint .topUtilityBtn{background:#f5ffef;border-color:#57785b;color:#263e2c;-webkit-text-fill-color:#263e2c!important}
body.theme-peach .topUtilityBtn{background:#fff2e9;border-color:#a46e53;color:#513124;-webkit-text-fill-color:#513124!important}
body.theme-night .topUtilityBtn{background:#263850;border-color:#7b91ab;color:#fff1d5;-webkit-text-fill-color:#fff1d5!important;box-shadow:1px 1px 0 #142135}

.infoModal{position:fixed;left:0;top:0;width:100%;height:100%;z-index:12000;display:none}
.infoModal.open{display:block}
.infoModalDim{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(27,23,19,.68)}
.infoModalBox{
  position:absolute;left:50%;top:50%;width:90%;max-width:520px;max-height:84%;overflow-y:auto;
  transform:translate(-50%,-50%);box-sizing:border-box;padding:10px;
  background:#f3e6c4;color:#392c21;border:4px solid #705238;box-shadow:5px 5px 0 rgba(32,24,18,.42)
}
.infoModalHead{position:sticky;top:-10px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px;margin:-10px -10px 9px;padding:9px 10px 7px;background:#e3cb98;border-bottom:3px solid #705238}
.infoModalHead b{font-size:14px;color:#302319;-webkit-text-fill-color:#302319!important}
.infoModalClose{width:29px;height:27px;padding:0;border:2px solid #705238;background:#fff3d6;color:#392a1e;font:inherit;font-size:17px;line-height:20px;cursor:pointer;-webkit-text-fill-color:#392a1e!important}
.infoModalSection{margin-top:8px;padding:8px;background:#fff8e8;border:2px solid #b49369;color:#443426}
.infoModalSection:first-child{margin-top:0}
.infoModalSection h3{margin:0 0 5px;font-size:12px;color:#33271d;-webkit-text-fill-color:#33271d!important}
.infoModalSection p{margin:4px 0;font-size:10px;line-height:1.55;color:#604a37;-webkit-text-fill-color:#604a37!important}
.infoModalList{margin:4px 0 0;padding-left:18px;font-size:10px;line-height:1.6;color:#604a37}
.infoModalList li{margin:2px 0}
.helpQualityGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:6px}
.helpQualityRow{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:6px;background:#f0dfbd;border:1px solid #b49369;font-size:9px;color:#493725}
.helpQualityName{display:flex;align-items:center;gap:3px;font-weight:bold}
.helpQualityRow .qualityIcon{width:12px!important;height:12px!important;margin:0 3px!important;vertical-align:0!important}
.helpQualityRow .qualityIcon:after{width:3px!important;height:3px!important;left:2px!important;top:2px!important}
.currentOdds{margin-top:7px;padding:7px;background:#e7f0dc;border:2px solid #8daa6e;color:#35502c;font-size:10px;line-height:1.55}
.currentOdds b{color:#294321;-webkit-text-fill-color:#294321!important}
.patchItem{padding:7px 0;border-bottom:1px dashed #c9af82}
.patchItem:last-child{border-bottom:0}
.patchVer{font-weight:bold;font-size:11px;color:#3f2d20;-webkit-text-fill-color:#3f2d20!important}
.patchDate{font-size:9px;color:#806a50;margin-left:4px;-webkit-text-fill-color:#806a50!important}
.patchText{margin-top:4px;font-size:10px;line-height:1.55;color:#604a37;-webkit-text-fill-color:#604a37!important}
body.infoModalOpen{overflow-y:scroll!important;overflow-x:hidden!important}

body.theme-berry .infoModalBox{background:#f6e2ea;color:#4b2938;border-color:#8b566c}
body.theme-berry .infoModalHead{background:#e9c5d4;border-color:#8b566c}
body.theme-berry .infoModalHead b,body.theme-berry .infoModalSection h3{color:#462534;-webkit-text-fill-color:#462534!important}
body.theme-berry .infoModalSection{background:#fff4f8;border-color:#a9778a;color:#4b2938}
body.theme-berry .infoModalSection p,body.theme-berry .infoModalList,body.theme-berry .patchText{color:#75475b;-webkit-text-fill-color:#75475b!important}
body.theme-berry .helpQualityRow{background:#f6dfe8;border-color:#b98698;color:#4b2938}
body.theme-berry .currentOdds{background:#f2e7ef;border-color:#b98698;color:#66394c}
body.theme-berry .infoModalClose{border-color:#8b566c}

body.theme-mint .infoModalBox{background:#e7f1e3;color:#263e2c;border-color:#57785b}
body.theme-mint .infoModalHead{background:#c9dfc3;border-color:#57785b}
body.theme-mint .infoModalHead b,body.theme-mint .infoModalSection h3{color:#233a29;-webkit-text-fill-color:#233a29!important}
body.theme-mint .infoModalSection{background:#f7fff3;border-color:#719173;color:#263e2c}
body.theme-mint .infoModalSection p,body.theme-mint .infoModalList,body.theme-mint .patchText{color:#4d6b53;-webkit-text-fill-color:#4d6b53!important}
body.theme-mint .helpQualityRow{background:#dcebd7;border-color:#82a084;color:#263e2c}
body.theme-mint .currentOdds{background:#d9edd5;border-color:#719173;color:#35583d}
body.theme-mint .infoModalClose{border-color:#57785b}

body.theme-peach .infoModalBox{background:#fae7d8;color:#513124;border-color:#a46e53}
body.theme-peach .infoModalHead{background:#f2cfb5;border-color:#a46e53}
body.theme-peach .infoModalHead b,body.theme-peach .infoModalSection h3{color:#4b2c20;-webkit-text-fill-color:#4b2c20!important}
body.theme-peach .infoModalSection{background:#fff5ec;border-color:#bd876d;color:#513124}
body.theme-peach .infoModalSection p,body.theme-peach .infoModalList,body.theme-peach .patchText{color:#86533f;-webkit-text-fill-color:#86533f!important}
body.theme-peach .helpQualityRow{background:#f7ddca;border-color:#c39278;color:#513124}
body.theme-peach .currentOdds{background:#f5e2d2;border-color:#bd876d;color:#70412f}
body.theme-peach .infoModalClose{border-color:#a46e53}

body.theme-night .infoModalBox{background:#34465f;color:#fff3d3;border-color:#172439}
body.theme-night .infoModalHead{background:#263850;border-color:#172439}
body.theme-night .infoModalHead b{color:#fff2d2;-webkit-text-fill-color:#fff2d2!important}
body.theme-night .infoModalSection{background:#293951;border-color:#526b89;color:#fff3d3}
body.theme-night .infoModalSection h3{color:#fff0c8;-webkit-text-fill-color:#fff0c8!important}
body.theme-night .infoModalSection p,body.theme-night .infoModalList,body.theme-night .patchText{color:#e5d5b4;-webkit-text-fill-color:#e5d5b4!important}
body.theme-night .helpQualityRow{background:#22334a;border-color:#526b89;color:#f9ecd0}
body.theme-night .currentOdds{background:#203849;border-color:#668d75;color:#dff3ce}
body.theme-night .currentOdds b{color:#e9ffd8;-webkit-text-fill-color:#e9ffd8!important}
body.theme-night .infoModalClose{background:#1e3048;border-color:#7089a5;color:#fff1d5;-webkit-text-fill-color:#fff1d5!important}
body.theme-night .patchVer{color:#fff0c8;-webkit-text-fill-color:#fff0c8!important}
body.theme-night .patchDate{color:#b9c9da;-webkit-text-fill-color:#b9c9da!important}
body.theme-night .patchItem{border-color:#526b89}

@media(max-width:480px){
  .topUtilityBtn{font-size:9px;padding:2px 5px;min-height:22px}
  .infoModalBox{width:94%;max-height:86%;padding:8px}
  .infoModalHead{top:-8px;margin:-8px -8px 7px;padding:8px}
  .helpQualityGrid{grid-template-columns:1fr}
}

/* v21.9 — 도움말 키캡을 하단 키보드 안내와 동일한 밝은 키캡 스타일로 통일 */
.infoModal kbd,
body.theme-default .infoModal kbd,
body.theme-berry .infoModal kbd,
body.theme-mint .infoModal kbd,
body.theme-peach .infoModal kbd,
body.theme-night .infoModal kbd{
  display:inline-block!important;
  min-width:18px!important;
  padding:1px 4px!important;
  margin:0 1px!important;
  box-sizing:border-box!important;
  background:#ffffff!important;
  color:#2f2924!important;
  -webkit-text-fill-color:#2f2924!important;
  border:2px solid #8d7354!important;
  border-radius:3px!important;
  box-shadow:1px 1px 0 rgba(70,52,37,.24)!important;
  text-shadow:none!important;
  font-family:inherit!important;
  font-size:9px!important;
  line-height:14px!important;
  text-align:center!important;
  vertical-align:1px!important;
}


/* v21.15 — 빈 gutter 예약 대신 실제 루트 스크롤바를 항상 유지 */
html{
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  scrollbar-gutter:auto!important;
  scrollbar-width:auto;
  scrollbar-color:#9b7651 #ead8b4;
}
body{
  overflow-y:visible!important;
  overflow-x:hidden!important;
}
body.infoModalOpen{
  overflow-y:visible!important;
  overflow-x:hidden!important;
}
html::-webkit-scrollbar{width:11px!important}
html::-webkit-scrollbar-track{
  background:#ead8b4!important;
  border-left:1px solid #b9986e!important;
}
html::-webkit-scrollbar-thumb{
  background:#9b7651!important;
  border:2px solid #ead8b4!important;
  border-radius:6px!important;
}
html::-webkit-scrollbar-thumb:hover{background:#7f5e3f!important}
body.theme-night ~ *{} /* legacy parser-safe separator */


/* v21.12 — 상단 공지/계절날씨/도움말 3버튼 항상 표시 */
.topUtilityBtns{white-space:normal!important;display:flex!important;justify-content:flex-end!important;gap:4px!important;flex-wrap:wrap!important}
.topUtilityBtns .topUtilityBtn{margin-left:0!important;white-space:nowrap!important}
@media(max-width:420px){.topUtilityBtns{gap:3px!important}.topUtilityBtns .topUtilityBtn{font-size:8px!important;padding:2px 4px!important}}


/* v21.16 — 창고 품질/황금 등급 보관 및 판매 */
.storageSellActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:5px}
.storageSellBtn{border:2px solid #75583e;background:#fff8e8;color:#2f2118!important;-webkit-text-fill-color:#2f2118!important;padding:5px 8px;font:inherit;font-size:11px;cursor:pointer;box-shadow:1px 1px 0 rgba(0,0,0,.18)}
.storageSellBtn:hover{transform:translateY(-1px)}
.storageSellBtn.sellAll{background:#f6dfad}
.storageVariantRow{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:8px 6px!important;border-bottom:1px dashed rgba(92,65,42,.32)!important;min-height:48px!important}
.storageVariantMain{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;flex:1 1 auto!important}
.storageVariantText{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}
.storageVariantName{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important;font-weight:bold!important}
.storageVariantMeta{font-size:10px!important;opacity:.86!important}
.storageVariantSide{display:flex!important;align-items:flex-end!important;flex-direction:column!important;gap:4px!important;flex:0 0 auto!important}
.storageQty{font-weight:bold!important}
.storageGoldBadge{display:inline-block!important;background:#f4c542!important;border:1px solid #a86f0b!important;color:#4b3210!important;-webkit-text-fill-color:#4b3210!important;padding:1px 4px!important;font-size:9px!important;line-height:1.3!important}
.storageQualityNormal{font-size:10px!important;opacity:.75!important}
body.theme-night .storageSellBtn{background:#324a67!important;border-color:#13243a!important;color:#fff2d4!important;-webkit-text-fill-color:#fff2d4!important}
body.theme-night .storageSellBtn.sellAll{background:#5a4930!important;border-color:#b98927!important}
body.theme-night .storageVariantRow{border-bottom-color:rgba(255,238,205,.22)!important}
body.theme-night .storageVariantMeta{color:#dbcbaa!important;-webkit-text-fill-color:#dbcbaa!important}
@media(max-width:520px){.storageVariantRow{align-items:flex-start!important}.storageVariantSide{align-items:flex-end!important}.storageSellBtn{padding:4px 6px!important;font-size:10px!important}}


/* v21.17 — 창고 선택 수량 판매 */
.storageSellControls{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;margin-top:5px}
.storageSellQtyInput{width:54px;min-width:54px;height:27px;box-sizing:border-box;border:2px solid #75583e;background:#fffdf4;color:#2f2118!important;-webkit-text-fill-color:#2f2118!important;text-align:center;font:inherit;font-size:11px;padding:2px 3px;outline:none}
.storageQtyStep{min-width:27px;padding:4px 6px!important}
.storageSellSelected{min-width:82px}
.storageSalePreview{width:100%;text-align:right;font-size:10px;opacity:.86;margin-top:1px}
body.theme-night .storageSellQtyInput{background:#f9f2df!important;border-color:#c29a5b!important;color:#241c15!important;-webkit-text-fill-color:#241c15!important}
@media(max-width:520px){.storageSellControls{justify-content:flex-end}.storageSellQtyInput{width:46px;min-width:46px}.storageSellSelected{min-width:72px}}


/* v21.22 — Mona12 typography */
body{font-family:'Mona12',Arial,sans-serif!important;font-weight:400}
b,strong,.title,.themeTitle,.seedTitle,.patchVer,.storageVariantName,.storageQty,.btn,.tab,.topUtilityBtn,kbd{font-family:'Mona12',Arial,sans-serif!important;font-weight:700!important}
input,textarea,select,button{font-family:'Mona12',Arial,sans-serif!important}


/* v21.23 — 씨앗 카드 구매가 + 기본 판매가 */
.seedPrices{display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;margin-top:2px;font-size:11px;line-height:1.25}
.seedBuyPrice,.seedSellPrice{display:inline-block;white-space:nowrap}
.seedSellPrice{font-weight:bold}
body.theme-night .seedPrices,body.theme-night .seedBuyPrice,body.theme-night .seedSellPrice{color:#fff2d4!important;-webkit-text-fill-color:#fff2d4!important}

/* v21.24 — 토스트 충돌 방지 + 반투명 배경 + 농장 팻말 가독성 */
/* 일반/심기 토스트는 화면 가장 아래에 유지 */
#toast,
body.theme-default #toast,
body.theme-berry #toast,
body.theme-mint #toast,
body.theme-peach #toast,
body.theme-night #toast{
  bottom:16px!important;
  background:rgba(45,41,35,.88)!important;
  border-color:rgba(255,240,207,.88)!important;
  opacity:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#toast.toastShow{opacity:1!important;visibility:visible!important}

/* 수확 토스트는 일반 토스트보다 충분히 위에서 시작 */
#harvestToastStack{
  right:14px!important;
  bottom:76px!important;
}
.harvestToast{
  background:rgba(255,250,240,.90)!important;
  box-shadow:3px 3px 0 rgba(45,41,35,.30)!important;
}
.harvestToast.goldHarvest{background:rgba(255,241,184,.90)!important}
body.theme-default .harvestToast,
body.theme-berry .harvestToast,
body.theme-mint .harvestToast,
body.theme-peach .harvestToast{background:rgba(255,249,237,.90)!important}
body.theme-night .harvestToast{background:rgba(32,57,85,.90)!important;box-shadow:3px 3px 0 rgba(9,21,35,.55)!important}
body.theme-night .harvestToast.goldHarvest{background:rgba(59,59,50,.90)!important}

/* 팻말은 밭 폭을 거의 모두 사용하고 황금은 별만 표시 */
#farm .plot .cropSign{
  left:3px!important;
  right:auto!important;
  max-width:calc(100% - 6px)!important;
  box-sizing:border-box!important;
  padding:2px 3px 3px!important;
  font-size:10px!important;
  line-height:1.05!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#farm .plot .cropSign .goldTag{
  display:inline!important;
  font-size:10px!important;
  margin-right:1px!important;
}
@media(max-width:480px){
  #toast{bottom:12px!important}
  #harvestToastStack{right:10px!important;bottom:68px!important}
  #farm .plot .cropSign{font-size:9px!important;padding:2px 2px 3px!important}
  #farm .plot .cropSign .goldTag{font-size:9px!important}
}


/* ===== v21.26 랭킹 세분화 + 꾸미기 상점 ===== */
.rankTabs{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;margin:8px 0 6px;padding-bottom:3px}
.rankSubTab{flex:0 0 auto;border:2px solid #8d6b48;background:#ead8b4;color:#3c2d21!important;-webkit-text-fill-color:#3c2d21!important;padding:5px 8px;font:inherit;font-size:10px;cursor:pointer}
.rankSubTab.active{background:#71965d;color:#fffbe8!important;-webkit-text-fill-color:#fffbe8!important;border-color:#4f6f40}
body.theme-night .rankSubTab{background:#293951;border-color:#536b89;color:#fff0d0!important;-webkit-text-fill-color:#fff0d0!important}
body.theme-night .rankSubTab.active{background:#607b5b;border-color:#86a36d}
.rankMetricHint{margin:4px 0 7px!important}

.decorIntro{margin-bottom:8px}
.decorCategoryTitle{margin-top:10px;padding:5px 7px;border-bottom:2px solid #9a7955;font-weight:bold}
.decorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.decorCard{box-sizing:border-box;padding:8px;background:#fff8e8;border:2px solid #9a7955;min-height:126px;display:flex;flex-direction:column;justify-content:space-between}
.decorCard.equipped{box-shadow:inset 0 0 0 3px #78a454}
.decorCard.locked{opacity:.72}
.decorPreview{height:38px;margin-bottom:5px;border:2px solid #8d6b48;background:#d9e3ae;position:relative;overflow:hidden}
.decorPreview:before,.decorPreview:after{content:"";position:absolute;display:block}
.decorName{font-weight:bold;font-size:11px}.decorDesc{font-size:9px;line-height:1.35;margin-top:3px;opacity:.86}.decorPrice{font-size:9px;margin-top:4px;font-weight:bold}
.decorBtn{width:100%;margin-top:6px;padding:6px 5px!important;font-size:10px!important}
.decorOwnedTag,.decorEquippedTag{display:inline-block;margin-left:4px;padding:1px 4px;font-size:8px;border:1px solid #7f6a50;background:#ead8b4}
.decorEquippedTag{background:#71965d;color:#fffbe8!important;-webkit-text-fill-color:#fffbe8!important;border-color:#4f6f40}
body.theme-night .decorCard{background:#293951;border-color:#172439;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}
body.theme-night .decorCategoryTitle{border-color:#536b89;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}
body.theme-night .decorPreview{background:#1e3048;border-color:#536b89}
body.theme-night .decorOwnedTag{background:#33465e;border-color:#6c83a0;color:#e9ddc2!important;-webkit-text-fill-color:#e9ddc2!important}
@media(max-width:520px){.decorGrid{grid-template-columns:1fr}.rankSubTab{font-size:9px;padding:4px 6px}}

/* 미리보기 */
.preview-sign-cream:before{left:18%;right:18%;top:8px;height:18px;background:#f5e4b9;border:2px solid #8d6b48}
.preview-sign-mint:before{left:18%;right:18%;top:8px;height:18px;background:#cfe6c4;border:2px solid #59785c}
.preview-sign-star:before{left:18%;right:18%;top:8px;height:18px;background:#243b5b;border:2px solid #d4aa43;box-shadow:inset 0 0 0 2px #536b89}
.preview-field-white:before{left:5px;right:5px;bottom:5px;height:22px;border:4px double #f8f1df;background:#8eaf67}
.preview-field-stone:before{left:5px;right:5px;bottom:5px;height:22px;border:5px ridge #8b8b82;background:#8eaf67}
.preview-field-star:before{left:5px;right:5px;bottom:5px;height:22px;border:4px solid #7ea2c8;background:#203754;box-shadow:inset 0 0 0 2px #d4aa43}
.preview-yard-blossom:before{inset:5px;background:#f0d5da;border:3px solid #a8677e}
.preview-yard-mint:before{inset:5px;background:#d9ecd0;border:3px solid #66846b}
.preview-yard-star:before{inset:5px;background:#263b58;border:3px solid #7894b5}
.preview-toast-cream:before{left:12%;right:12%;top:8px;height:18px;background:rgba(255,248,232,.9);border:2px solid #9a7955}
.preview-toast-gold:before{left:12%;right:12%;top:8px;height:18px;background:rgba(255,233,164,.9);border:2px solid #b47b18}
.preview-toast-star:before{left:12%;right:12%;top:8px;height:18px;background:rgba(32,57,85,.9);border:2px solid #8ba5c3}

/* 실제 장착 효과 */
body.decor-sign-cream .cropSign{background:#f5e4b9!important;color:#3d2d20!important;-webkit-text-fill-color:#3d2d20!important;border-color:#8d6b48!important}
body.decor-sign-mint .cropSign{background:#cfe6c4!important;color:#28402d!important;-webkit-text-fill-color:#28402d!important;border-color:#59785c!important}
body.decor-sign-star .cropSign{background:#243b5b!important;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important;border-color:#d4aa43!important}
body.decor-sign-star .cropSign.goldCrop{box-shadow:inset 0 0 0 1px #ffe68a!important}

body.decor-field-white #farm{background:rgba(124,154,83,.42)!important;box-shadow:inset 0 0 0 3px #f8f1df,inset 0 0 0 6px #b9a98d!important}
body.decor-field-stone #farm{background:rgba(124,154,83,.38)!important;box-shadow:inset 0 0 0 4px #77776f,inset 0 0 0 7px #aaa99e!important}
body.decor-field-star #farm{background:rgba(27,48,75,.62)!important;box-shadow:inset 0 0 0 3px #7894b5,inset 0 0 0 6px #d4aa43!important}

body.decor-yard-blossom #facilityYard{background:#efd6dc!important;border-color:#9d6479!important}
body.decor-yard-mint #facilityYard{background:#d8ead0!important;border-color:#65836a!important}
body.decor-yard-star #facilityYard{background:#263b58!important;border-color:#7894b5!important}
body.decor-yard-star .yardTitle,body.decor-yard-star .yardTitle .tiny{color:#fff0d0!important;-webkit-text-fill-color:#fff0d0!important}

body.decor-toast-cream #toast,body.decor-toast-cream .harvestToast{background:rgba(255,248,232,.90)!important;color:#352b22!important;-webkit-text-fill-color:#352b22!important;border-color:#9a7955!important}
body.decor-toast-gold #toast,body.decor-toast-gold .harvestToast{background:rgba(255,233,164,.90)!important;color:#4b3417!important;-webkit-text-fill-color:#4b3417!important;border-color:#b47b18!important}
body.decor-toast-star #toast,body.decor-toast-star .harvestToast{background:rgba(32,57,85,.90)!important;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important;border-color:#8ba5c3!important}
body.decor-toast-star .harvestToast .harvestTitle,body.decor-toast-star .harvestToast .harvestMeta{color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}



/* ===== v21.27 꾸미기 상점 테마 가독성 통일 ===== */
#decorSec .panel,#decorSec .decorIntro,#decorSec .decorCategoryTitle,#decorSec .decorCard,#decorSec .decorCard *{
  text-shadow:none!important;
}
#decorSec .decorName,#decorSec .decorDesc,#decorSec .decorPrice,#decorSec .decorIntro,#decorSec .decorCategoryTitle{
  opacity:1!important;
}

/* 콩알농장 */
body.theme-default #decorSec .panel{background:#f3e4c4!important;border-color:#8d6b48!important;color:#3f3024!important;-webkit-text-fill-color:#3f3024!important}
body.theme-default #decorSec .decorIntro,body.theme-default #decorSec .decorDesc{color:#715438!important;-webkit-text-fill-color:#715438!important}
body.theme-default #decorSec .decorCategoryTitle{background:#ead8b4!important;border-color:#9a7955!important;color:#3c2d21!important;-webkit-text-fill-color:#3c2d21!important}
body.theme-default #decorSec .decorCard{background:#fff8e8!important;border-color:#9a7955!important;color:#3c2d21!important;-webkit-text-fill-color:#3c2d21!important}
body.theme-default #decorSec .decorCard .decorName,body.theme-default #decorSec .decorCard .decorPrice{color:#35281e!important;-webkit-text-fill-color:#35281e!important}
body.theme-default #decorSec .decorOwnedTag{background:#ead8b4!important;border-color:#8d6b48!important;color:#493725!important;-webkit-text-fill-color:#493725!important}
body.theme-default #decorSec .decorBtn{background:#80633f!important;border-color:#5f492f!important;color:#fff8e8!important;-webkit-text-fill-color:#fff8e8!important}

/* 딸기우유 */
body.theme-berry #decorSec .panel{background:#f6e2ea!important;border-color:#8b566c!important;color:#4b2938!important;-webkit-text-fill-color:#4b2938!important}
body.theme-berry #decorSec .decorIntro,body.theme-berry #decorSec .decorDesc{color:#75475b!important;-webkit-text-fill-color:#75475b!important}
body.theme-berry #decorSec .decorCategoryTitle{background:#e9c5d4!important;border-color:#a9778a!important;color:#462534!important;-webkit-text-fill-color:#462534!important}
body.theme-berry #decorSec .decorCard{background:#fff4f8!important;border-color:#a9778a!important;color:#4b2938!important;-webkit-text-fill-color:#4b2938!important}
body.theme-berry #decorSec .decorCard .decorName,body.theme-berry #decorSec .decorCard .decorPrice{color:#462534!important;-webkit-text-fill-color:#462534!important}
body.theme-berry #decorSec .decorOwnedTag{background:#f0d3df!important;border-color:#a9778a!important;color:#613448!important;-webkit-text-fill-color:#613448!important}
body.theme-berry #decorSec .decorBtn{background:#b86f8a!important;border-color:#754759!important;color:#fff8fb!important;-webkit-text-fill-color:#fff8fb!important}

/* 민트새싹 */
body.theme-mint #decorSec .panel{background:#e7f1e3!important;border-color:#57785b!important;color:#263e2c!important;-webkit-text-fill-color:#263e2c!important}
body.theme-mint #decorSec .decorIntro,body.theme-mint #decorSec .decorDesc{color:#4d6b53!important;-webkit-text-fill-color:#4d6b53!important}
body.theme-mint #decorSec .decorCategoryTitle{background:#c9dfc3!important;border-color:#78987a!important;color:#233a29!important;-webkit-text-fill-color:#233a29!important}
body.theme-mint #decorSec .decorCard{background:#f7fff3!important;border-color:#78987a!important;color:#263e2c!important;-webkit-text-fill-color:#263e2c!important}
body.theme-mint #decorSec .decorCard .decorName,body.theme-mint #decorSec .decorCard .decorPrice{color:#233a29!important;-webkit-text-fill-color:#233a29!important}
body.theme-mint #decorSec .decorOwnedTag{background:#d9ead5!important;border-color:#78987a!important;color:#315238!important;-webkit-text-fill-color:#315238!important}
body.theme-mint #decorSec .decorBtn{background:#719f78!important;border-color:#4c6f52!important;color:#fffdf2!important;-webkit-text-fill-color:#fffdf2!important}

/* 복숭아 */
body.theme-peach #decorSec .panel{background:#fae7d8!important;border-color:#a46e53!important;color:#513124!important;-webkit-text-fill-color:#513124!important}
body.theme-peach #decorSec .decorIntro,body.theme-peach #decorSec .decorDesc{color:#7a4e3b!important;-webkit-text-fill-color:#7a4e3b!important}
body.theme-peach #decorSec .decorCategoryTitle{background:#f2cfb5!important;border-color:#ba8569!important;color:#4a2c21!important;-webkit-text-fill-color:#4a2c21!important}
body.theme-peach #decorSec .decorCard{background:#fff6ed!important;border-color:#ba8569!important;color:#513124!important;-webkit-text-fill-color:#513124!important}
body.theme-peach #decorSec .decorCard .decorName,body.theme-peach #decorSec .decorCard .decorPrice{color:#4a2c21!important;-webkit-text-fill-color:#4a2c21!important}
body.theme-peach #decorSec .decorOwnedTag{background:#f4d9c7!important;border-color:#ba8569!important;color:#653d2d!important;-webkit-text-fill-color:#653d2d!important}
body.theme-peach #decorSec .decorBtn{background:#d8926f!important;border-color:#925f48!important;color:#fffaf1!important;-webkit-text-fill-color:#fffaf1!important}

/* 별밤농장 */
body.theme-night #decorSec .panel{background:#34465f!important;border-color:#172439!important;color:#fff3d3!important;-webkit-text-fill-color:#fff3d3!important}
body.theme-night #decorSec .decorIntro,body.theme-night #decorSec .decorDesc{color:#e5d5b4!important;-webkit-text-fill-color:#e5d5b4!important}
body.theme-night #decorSec .decorCategoryTitle{background:#293951!important;border-color:#536b89!important;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}
body.theme-night #decorSec .decorCard{background:#293951!important;border-color:#536b89!important;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}
body.theme-night #decorSec .decorCard .decorName,body.theme-night #decorSec .decorCard .decorPrice{color:#fff7df!important;-webkit-text-fill-color:#fff7df!important}
body.theme-night #decorSec .decorOwnedTag{background:#33465e!important;border-color:#6c83a0!important;color:#e9ddc2!important;-webkit-text-fill-color:#e9ddc2!important}
body.theme-night #decorSec .decorBtn{background:#6d7f9a!important;border-color:#26364d!important;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important}

/* 사용중/잠금/비활성 상태는 모든 테마에서 가독성 유지 */
#decorSec .decorEquippedTag{background:#71965d!important;border-color:#4f6f40!important;color:#fffbe8!important;-webkit-text-fill-color:#fffbe8!important}
#decorSec .decorCard.locked{opacity:.82!important}
#decorSec .decorBtn:disabled{opacity:.68!important;cursor:default!important}
body.theme-default #decorSec .decorBtn:disabled{background:#b9a98d!important;color:#514538!important;-webkit-text-fill-color:#514538!important}
body.theme-berry #decorSec .decorBtn:disabled{background:#d8b9c5!important;color:#6d4b59!important;-webkit-text-fill-color:#6d4b59!important}
body.theme-mint #decorSec .decorBtn:disabled{background:#c4d6c0!important;color:#536858!important;-webkit-text-fill-color:#536858!important}
body.theme-peach #decorSec .decorBtn:disabled{background:#e5c5b2!important;color:#765648!important;-webkit-text-fill-color:#765648!important}
body.theme-night #decorSec .decorBtn:disabled{background:#455a74!important;color:#c8d0dc!important;-webkit-text-fill-color:#c8d0dc!important}


/* v21.28 — 농장 산책을 씨앗 선택 위로 이동 */
#farmSec .idleEventStage{margin:0 0 8px 0!important}
#farmSec .seedPanel{margin-top:0!important}


/* ===== v21.29 팻말 글자 가독성 보정 ===== */
#farm .plot .cropSign,
#farm .plot .cropSign *,
#farm .plot .cropSign .goldTag{
  text-shadow:none!important;
  -webkit-text-stroke:0 transparent!important;
  filter:none!important;
}
#farm .plot .cropSign{
  font-weight:700!important;
  letter-spacing:0!important;
}
/* 밝은 팻말 스킨은 진한 글자, 별빛 팻말은 밝은 글자로 명시 */
body.decor-sign-cream #farm .plot .cropSign{
  color:#34261c!important;
  -webkit-text-fill-color:#34261c!important;
}
body.decor-sign-mint #farm .plot .cropSign{
  color:#213827!important;
  -webkit-text-fill-color:#213827!important;
}
body.decor-sign-star #farm .plot .cropSign{
  color:#fff4d8!important;
  -webkit-text-fill-color:#fff4d8!important;
}
body.decor-sign-cream #farm .plot .cropSign .goldTag,
body.decor-sign-mint #farm .plot .cropSign .goldTag{
  color:#8a5c11!important;
  -webkit-text-fill-color:#8a5c11!important;
}
body.decor-sign-star #farm .plot .cropSign .goldTag{
  color:#ffd867!important;
  -webkit-text-fill-color:#ffd867!important;
}


/* v21.30 — 미발견 작물 비공개 표시 */
.undiscoveredCrop{opacity:.72!important}
.unknownCropMark{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:26px!important;height:26px!important;margin-right:5px!important;
  border:2px dashed currentColor!important;border-radius:4px!important;
  font-size:18px!important;font-weight:700!important;line-height:1!important;
}


/* v21.32 — 씨앗 목록 미해금 작물 비공개 */
.seed.locked .unknownSeedIcon{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;margin:0 auto 5px!important;border:2px dashed currentColor!important;border-radius:5px!important;font-size:22px!important;font-weight:700!important;line-height:1!important}
.seed.locked .unknownSeedName{display:block!important;font-weight:700!important;margin-bottom:4px!important}
.seed.locked .seedLevel{opacity:.82!important}


/* v21.34 — 씨앗 카드 크기 통일 */
.seed{
  box-sizing:border-box!important;
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:146px!important;
  min-height:146px!important;
  max-height:146px!important;
  padding:6px 4px!important;
  overflow:hidden!important;
  vertical-align:top!important;
}
.seed .iconImg{
  width:34px!important;height:34px!important;
  min-width:34px!important;min-height:34px!important;
  object-fit:contain!important;margin:0 auto 3px!important;
}
.seed.locked .unknownSeedIcon{
  box-sizing:border-box!important;
  width:34px!important;height:34px!important;
  min-width:34px!important;min-height:34px!important;
  margin:0 auto 3px!important;
}
.seed .unknownSeedName{
  height:30px!important;min-height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;line-height:1.15!important;
}
.seedPrices{
  min-height:28px!important;
  align-content:center!important;
  gap:2px 4px!important;
}
.seedMeta{
  min-height:31px!important;
}
.seed.locked .seedMeta{
  min-height:31px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}


/* v21.35 — 씨앗 카드 계절 태그 공간 복구 */
.seed{
  height:166px!important;
  min-height:166px!important;
  max-height:166px!important;
}
.seed .seasonTag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  min-height:18px!important;
  margin-top:4px!important;
  padding:2px 4px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.seed:not(.locked) .seedMeta{min-height:34px!important}
.seed.locked .seedMeta{margin-top:6px!important}


/* v21.38 — 계절·날씨·시간 연동 픽셀 하늘 헤더 */
#mainHeader{overflow:hidden!important;isolation:isolate!important;min-height:0!important;height:auto!important}
#mainHeader>.barLeft,#mainHeader>.barRight{position:relative!important;z-index:5!important}
.headerSky{position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;overflow:hidden!important;background:linear-gradient(#8dcaf2,#d9eef7)}
.headerSky:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0) 40%,rgba(35,44,60,.08));pointer-events:none}
.skyStars,.skySunMoon,.skyClouds,.skySpecialFx{position:absolute;inset:0;pointer-events:none}
.skyStar{position:absolute;width:2px;height:2px;background:#fff9d5;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.skySun,.skyMoon{position:absolute;width:24px;height:24px;border-radius:50%;right:18%;top:13px;box-shadow:0 0 0 2px rgba(255,255,255,.22)}
.skySun{background:#ffe36b;border:2px solid #d9aa39}
.skyMoon{background:#f7edc8;border:2px solid #a9b4c8}
.skyMoon:after{content:"";position:absolute;width:18px;height:18px;left:7px;top:-2px;border-radius:50%;background:var(--header-sky-top,#1d2b48)}
.skyCloud{position:absolute;height:10px;background:rgba(255,255,255,.78);border:2px solid rgba(90,110,130,.20);border-radius:7px;opacity:.92}
.skyCloud:before,.skyCloud:after{content:"";position:absolute;background:inherit;border-radius:50%}
.skyCloud:before{width:14px;height:14px;left:7px;top:-8px}.skyCloud:after{width:18px;height:18px;left:20px;top:-11px}
.skyCloud.c1{width:52px;left:8%;top:18px}.skyCloud.c2{width:42px;left:54%;top:46px;transform:scale(.8)}.skyCloud.c3{width:58px;left:74%;top:18px;transform:scale(.7)}
.skyRain{position:absolute;width:1px;height:10px;background:rgba(208,235,255,.72);transform:skewX(-12deg)}
.skyRainbow{position:absolute;width:86px;height:42px;border:4px solid rgba(255,119,137,.72);border-bottom:0;border-radius:90px 90px 0 0;right:8%;bottom:-3px;box-shadow:inset 0 4px 0 rgba(255,205,88,.68),inset 0 8px 0 rgba(95,199,133,.62),inset 0 12px 0 rgba(94,145,222,.58)}
.skyAurora{position:absolute;left:4%;right:4%;top:14px;height:46px;background:linear-gradient(100deg,transparent 0%,rgba(106,255,193,.08) 18%,rgba(106,255,193,.48) 36%,rgba(130,164,255,.40) 56%,rgba(205,111,255,.32) 75%,transparent 100%);transform:skewY(-5deg);filter:blur(.2px);opacity:.9}
.skyWind{position:absolute;width:46px;height:2px;background:rgba(255,255,255,.62);border-radius:3px}
.skyWind:after{content:"";position:absolute;right:-8px;top:-4px;width:12px;height:7px;border-top:2px solid rgba(255,255,255,.62);border-radius:50%}
/* 헤더 정보 가독성 */
#mainHeader .title,#mainHeader .small,#mainHeader .tiny,#mainHeader .communityStats,#mainHeader .barRight{color:#2b3140!important;-webkit-text-fill-color:#2b3140!important;text-shadow:0 1px 0 rgba(255,255,255,.48)!important}
#mainHeader.sky-dark .title,#mainHeader.sky-dark .small,#mainHeader.sky-dark .tiny,#mainHeader.sky-dark .communityStats,#mainHeader.sky-dark .barRight{color:#fff4d8!important;-webkit-text-fill-color:#fff4d8!important;text-shadow:1px 1px 0 rgba(15,25,43,.78)!important}
#mainHeader .topUtilityBtn{text-shadow:none!important}
@media(max-width:520px){.skyCloud.c3{display:none}.skySun,.skyMoon{right:7%;top:10px}.skyRainbow{right:2%;transform:scale(.8);transform-origin:right bottom}}


/* v21.40 — imdonbo 스타일의 둥실둥실 픽셀 구름 */
.skyClouds{overflow:hidden!important}
.skyCloud{
  left:-90px!important;
  display:block!important;
  background:rgba(255,255,255,.88)!important;
  border:2px solid rgba(96,112,132,.18)!important;
  box-shadow:3px 3px 0 rgba(72,88,108,.10)!important;
  -webkit-animation-name:imdonboCloudFloat!important;
  animation-name:imdonboCloudFloat!important;
  -webkit-animation-timing-function:linear!important;
  animation-timing-function:linear!important;
  -webkit-animation-iteration-count:infinite!important;
  animation-iteration-count:infinite!important;
  will-change:transform!important;
}
.skyCloud:before,.skyCloud:after{
  background:rgba(255,255,255,.88)!important;
  border:0!important;
}
.skyCloud.c1{
  width:52px!important;top:14px!important;
  -webkit-animation-duration:110s!important;animation-duration:110s!important;
  -webkit-animation-delay:-37s!important;animation-delay:-37s!important;
}
.skyCloud.c2{
  width:44px!important;top:42px!important;
  transform:none!important;
  -webkit-animation-duration:145s!important;animation-duration:145s!important;
  -webkit-animation-delay:-92s!important;animation-delay:-92s!important;
  opacity:.78!important;
}
.skyCloud.c3{
  width:60px!important;top:24px!important;
  transform:none!important;
  -webkit-animation-duration:180s!important;animation-duration:180s!important;
  -webkit-animation-delay:-141s!important;animation-delay:-141s!important;
  opacity:.68!important;
}
@-webkit-keyframes imdonboCloudFloat{
  0%{-webkit-transform:translate3d(-90px,0,0);transform:translate3d(-90px,0,0)}
  100%{-webkit-transform:translate3d(calc(100vw + 120px),0,0);transform:translate3d(calc(100vw + 120px),0,0)}
}
@keyframes imdonboCloudFloat{
  0%{-webkit-transform:translate3d(-90px,0,0);transform:translate3d(-90px,0,0)}
  100%{-webkit-transform:translate3d(calc(100vw + 120px),0,0);transform:translate3d(calc(100vw + 120px),0,0)}
}
@media(max-width:520px){
  .skyCloud.c3{display:block!important;opacity:.55!important}
}
@media(prefers-reduced-motion:reduce){
  .skyCloud{
    -webkit-animation:none!important;
    animation:none!important;
  }
  .skyCloud.c1{left:12%!important}
  .skyCloud.c2{left:52%!important}
  .skyCloud.c3{left:78%!important}
}


/* v21.43 — 구름 형태 재수정: 단순한 픽셀 실루엣 */
.skyCloud{
  width:72px!important;
  height:34px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
}
/* 본체: 가운데가 길고 좌우가 한 칸씩 짧은 단순한 구름 */
.skyCloud:before{
  content:""!important;
  position:absolute!important;
  left:8px!important;
  top:12px!important;
  width:56px!important;
  height:16px!important;
  background:#f4f4f4!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:
    -8px 0 0 #f4f4f4,
    56px 0 0 #f4f4f4,
    0 -8px 0 #f4f4f4,
    8px -8px 0 #f4f4f4,
    16px -16px 0 #f4f4f4,
    24px -16px 0 #f4f4f4,
    32px -16px 0 #f4f4f4,
    40px -8px 0 #f4f4f4,
    48px -8px 0 #f4f4f4,
    8px 16px 0 #f4f4f4,
    16px 16px 0 #f4f4f4,
    24px 16px 0 #f4f4f4,
    32px 16px 0 #f4f4f4,
    40px 16px 0 #f4f4f4!important;
}
.skyCloud:after{display:none!important}
.skyCloud.c1{width:72px!important;height:34px!important;top:10px!important}
.skyCloud.c2{width:72px!important;height:34px!important;top:34px!important;opacity:.92!important}
.skyCloud.c3{width:72px!important;height:34px!important;top:18px!important;opacity:.82!important}

/* v21.44 — 짧은 가로폭 + 서로 다른 3종 픽셀 구름 */
.skyCloud{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.skyCloud:before{content:""!important;position:absolute!important;background:#f4f4f4!important;border:0!important;border-radius:0!important}
.skyCloud:after{display:none!important}
.skyCloud.c1{width:54px!important;height:32px!important}
.skyCloud.c1:before{left:9px!important;top:8px!important;width:36px!important;height:16px!important;box-shadow:-9px 8px 0 #f4f4f4,0 8px 0 #f4f4f4,9px 8px 0 #f4f4f4,18px 8px 0 #f4f4f4,27px 8px 0 #f4f4f4,9px -8px 0 #f4f4f4,18px -8px 0 #f4f4f4!important}
.skyCloud.c2{width:48px!important;height:30px!important}
.skyCloud.c2:before{left:8px!important;top:10px!important;width:32px!important;height:14px!important;box-shadow:-8px 7px 0 #f4f4f4,0 7px 0 #f4f4f4,8px 7px 0 #f4f4f4,16px 7px 0 #f4f4f4,24px 7px 0 #f4f4f4,0 -7px 0 #f4f4f4,8px -7px 0 #f4f4f4!important}
.skyCloud.c3{width:58px!important;height:28px!important}
.skyCloud.c3:before{left:8px!important;top:9px!important;width:42px!important;height:13px!important;box-shadow:-8px 7px 0 #f4f4f4,0 7px 0 #f4f4f4,8px 7px 0 #f4f4f4,16px 7px 0 #f4f4f4,24px 7px 0 #f4f4f4,32px 7px 0 #f4f4f4,16px -7px 0 #f4f4f4,24px -7px 0 #f4f4f4!important}


/* v21.45 — 헤더를 기존 픽셀 UI/테마와 통일 */
#mainHeader{
  border-width:2px!important;
  border-style:solid!important;
  box-sizing:border-box!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12),3px 3px 0 rgba(55,45,35,.28)!important;
}
body.theme-default #mainHeader{border-color:#6c4a2f!important;box-shadow:inset 0 0 0 2px rgba(255,239,196,.28),3px 3px 0 #98764f!important}
body.theme-berry #mainHeader{border-color:#8b566c!important;box-shadow:inset 0 0 0 2px rgba(255,235,244,.24),3px 3px 0 #754759!important}
body.theme-mint #mainHeader{border-color:#57785b!important;box-shadow:inset 0 0 0 2px rgba(239,255,234,.22),3px 3px 0 #4c6f52!important}
body.theme-peach #mainHeader{border-color:#a46e53!important;box-shadow:inset 0 0 0 2px rgba(255,239,225,.24),3px 3px 0 #925f48!important}
body.theme-night #mainHeader{border-color:#182236!important;box-shadow:inset 0 0 0 2px rgba(126,145,174,.18),3px 3px 0 #111a29!important}

/* 매끈한 벡터 느낌을 줄이고 픽셀 패널과 어울리는 하늘 결 */
.headerSky:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 4px,rgba(30,45,60,.025) 4px 8px)!important;
}
.headerSky:after{
  background:linear-gradient(90deg,rgba(255,255,255,.035),transparent 36%,rgba(31,45,63,.055))!important;
}
.skyStars,.skySunMoon,.skyClouds,.skySpecialFx{z-index:2!important}

/* 픽셀 태양 */
.skySun{
  width:16px!important;height:16px!important;right:18%!important;top:16px!important;
  border:0!important;border-radius:0!important;background:#f5cf58!important;
  box-shadow:-5px 0 0 -3px #f5cf58,5px 0 0 -3px #f5cf58,0 -5px 0 -3px #f5cf58,0 5px 0 -3px #f5cf58!important;
}
/* 픽셀 달 */
.skyMoon{
  width:18px!important;height:18px!important;right:18%!important;top:14px!important;
  border:0!important;border-radius:0!important;background:#efe2b9!important;
  box-shadow:2px 2px 0 rgba(43,56,77,.22)!important;
}
.skyMoon:after{
  width:12px!important;height:14px!important;left:8px!important;top:-2px!important;
  border-radius:0!important;background:var(--header-sky-top,#1d2b48)!important;
}
/* 아래 UI의 크림색 픽셀 톤과 연결 */
.skyCloud:before{background:#f0eee5!important}


/* v21.46 — 밝은 테마 헤더 버튼 글자 대비 고정 */
body.theme-default #mainHeader .topUtilityBtn{
  background:#fff3d6!important;border-color:#75583c!important;
  color:#2f241b!important;-webkit-text-fill-color:#2f241b!important;
}
body.theme-berry #mainHeader .topUtilityBtn{
  background:#fff1f6!important;border-color:#8b566c!important;
  color:#3b202d!important;-webkit-text-fill-color:#3b202d!important;
}
body.theme-mint #mainHeader .topUtilityBtn{
  background:#f5ffef!important;border-color:#57785b!important;
  color:#203526!important;-webkit-text-fill-color:#203526!important;
}
body.theme-peach #mainHeader .topUtilityBtn{
  background:#fff2e9!important;border-color:#a46e53!important;
  color:#41271d!important;-webkit-text-fill-color:#41271d!important;
}
body:not(.theme-night) #mainHeader .topUtilityBtn,
body:not(.theme-night) #mainHeader .topUtilityBtn *{
  text-shadow:none!important;
}
body.theme-night #mainHeader .topUtilityBtn{
  color:#fff1d5!important;-webkit-text-fill-color:#fff1d5!important;
}


/* v21.47 — 헤더 유틸 버튼 테마별 최종 대비 */
body.theme-default #mainHeader button.topUtilityBtn{background:#fff3d6!important;border-color:#75583c!important;color:#2f241b!important;-webkit-text-fill-color:#2f241b!important;text-shadow:none!important}
body.theme-berry #mainHeader button.topUtilityBtn{background:#fff1f6!important;border-color:#8b566c!important;color:#3b202d!important;-webkit-text-fill-color:#3b202d!important;text-shadow:none!important}
body.theme-mint #mainHeader button.topUtilityBtn{background:#f5ffef!important;border-color:#57785b!important;color:#203526!important;-webkit-text-fill-color:#203526!important;text-shadow:none!important}
body.theme-peach #mainHeader button.topUtilityBtn{background:#fff2e9!important;border-color:#a46e53!important;color:#41271d!important;-webkit-text-fill-color:#41271d!important;text-shadow:none!important}
body.theme-night #mainHeader button.topUtilityBtn{
  background:#263850!important;border-color:#91a8c2!important;
  color:#fff4d6!important;-webkit-text-fill-color:#fff4d6!important;
  text-shadow:1px 1px 0 #101a28!important;
  box-shadow:1px 1px 0 #142135!important;
}


/* v21.48 — 명성 UI + 하늘 시간대 시계 */
.fameBox{margin-top:8px;padding:7px 8px;border:2px solid #75583c;background:rgba(255,248,232,.86);color:#392a1e}
.fameHead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fameBar{height:8px;margin:5px 0 4px;background:#d5c19b;border:1px solid #75583c;overflow:hidden}
.fameBar i{display:block;height:100%;width:0;background:#d6a728;transition:width .25s linear}
.skyClock{margin-top:4px;width:170px;max-width:100%}
.skyClockTrack{position:relative;height:8px;border:1px solid rgba(44,55,70,.55);background:linear-gradient(90deg,#263d60 0 20.833%,#d8b3bf 20.833% 33.333%,#91c9e9 33.333% 70.833%,#e3a27c 70.833% 83.333%,#263d60 83.333% 100%);overflow:visible}
.skyClockNow{position:absolute;top:-3px;width:3px;height:14px;background:#fff8dc;border:1px solid #2c3746;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.skyClockLabels{display:flex;justify-content:space-between;gap:2px;margin-top:2px;font-size:7px;line-height:1;color:inherit;opacity:.86}
body.theme-berry .fameBox{background:rgba(255,241,246,.90);border-color:#8b566c;color:#3b202d}
body.theme-mint .fameBox{background:rgba(245,255,239,.90);border-color:#57785b;color:#203526}
body.theme-peach .fameBox{background:rgba(255,242,233,.90);border-color:#a46e53;color:#41271d}
body.theme-night .fameBox{background:rgba(38,56,80,.92);border-color:#7b91ab;color:#fff1d5}
body.theme-night .fameBar{background:#18263a;border-color:#7b91ab}
body.theme-night .fameBar i{background:#e0bb4c}


/* v21.49 — 하늘 시계 24시간 실제 비율 보정 */
.skyClockLabels{position:relative!important;height:14px!important;margin-top:2px!important;display:block!important;font-size:7px!important;line-height:1!important}
.skyClockLabels span{position:absolute!important;top:0!important;transform:translateX(-50%)!important;white-space:nowrap!important}
.skyClockCurrent{text-align:right;font-size:8px;line-height:1.2;margin-top:1px;opacity:.92}


/* v21.50 — 헤더 하늘 시계를 명성처럼 오른쪽 정렬 */
#mainHeader .skyClock{
  margin-top:4px!important;
  margin-left:auto!important;
  margin-right:0!important;
  width:170px!important;
}
#mainHeader .skyClockCurrent{text-align:right!important}


/* v21.51 — 현재 시간에 따라 움직이는 해·달 */
.headerSky .skySunMoon{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:2!important}
.headerSky .skySun,.headerSky .skyMoon{position:absolute!important;left:var(--orb-x,50%)!important;top:var(--orb-y,12px)!important;right:auto!important;transform:translate(-50%,0)!important;transition:left 30s linear,top 30s linear!important}
#mainHeader .topUtility{position:relative!important;z-index:6!important}
#mainHeader .headerMain{position:relative!important;z-index:4!important}

\n/* v21.53 — 정보 계층/농장 화면 완성도 개선 */\n.progressPair{display:flex;gap:8px;margin-top:5px;align-items:stretch}\n.progressMini{flex:1 1 0;min-width:0;padding:5px 6px!important;margin:0!important;box-sizing:border-box}\n.xpMini{border:2px solid #75583c;background:rgba(255,248,232,.78)}\n.miniHead,.fameHead{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px}\n.progressPair #xpWrap{margin-top:4px!important;height:7px!important}\n.progressPair .fameBar{height:7px!important;margin:4px 0 2px!important}\n.progressPair .fameBox .tiny{font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\nbody.theme-berry .xpMini{background:rgba(255,241,246,.9);border-color:#8b566c;color:#3b202d}\nbody.theme-mint .xpMini{background:rgba(245,255,239,.9);border-color:#57785b;color:#203526}\nbody.theme-peach .xpMini{background:rgba(255,242,233,.9);border-color:#a46e53;color:#41271d}\nbody.theme-night .xpMini{background:rgba(38,56,80,.92);border-color:#7b91ab;color:#fff1d5}\n#mainHeader .skyClock{width:132px!important}\n#mainHeader .skyClockLabels{display:none!important}\n#mainHeader .skyClockTrack{height:6px!important}\n#mainHeader .skyClockCurrent{font-size:9px!important;font-weight:bold;margin-top:2px!important}\n.todayFarmSummary{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:6px 0;padding:5px 7px;border:2px solid #6f5136;background:rgba(255,248,232,.72);font-size:9px}\n.todayFarmSummary span{text-align:right}\nbody.theme-berry .todayFarmSummary{border-color:#8b566c;background:rgba(255,241,246,.84);color:#3b202d}\nbody.theme-mint .todayFarmSummary{border-color:#57785b;background:rgba(245,255,239,.84);color:#203526}\nbody.theme-peach .todayFarmSummary{border-color:#a46e53;background:rgba(255,242,233,.84);color:#41271d}\nbody.theme-night .todayFarmSummary{border-color:#7b91ab;background:rgba(38,56,80,.9);color:#fff1d5}\n/* 씨앗 카드 세로 공간만 압축 */\n.seed{padding-top:4px!important;padding-bottom:4px!important;min-height:0!important}\n.seed .iconImg{width:38px!important;height:38px!important;margin-bottom:1px!important}\n.seedPrices{line-height:1.15!important;margin-top:1px!important}.seedMeta{margin-top:2px!important;line-height:1.15!important}.seasonTag{margin-top:1px!important}\n/* 성장 단계가 숫자를 읽지 않아도 구분되도록 */\n#farm .plot.stage-1 .cropImg{transform:scale(.72)!important;transform-origin:50% 78%!important;opacity:.88!important}\n#farm .plot.stage-2 .cropImg{transform:scale(.88)!important;transform-origin:50% 75%!important}\n#farm .plot.stage-3 .cropImg{transform:scale(1.04)!important;transform-origin:50% 72%!important}\n#farm .plot.stage-ready .cropImg{transform:scale(1.10)!important;transform-origin:50% 72%!important}\n#farm .plot .cropSign{left:50%!important;transform:translateX(-50%)!important;max-width:82%!important;text-align:center!important}\n#farm .plot .cropSign .goldTag{position:absolute!important;right:-8px!important;top:-5px!important;background:#c89428!important;border:1px solid #76531d!important;padding:1px!important;line-height:1!important}\n.facilityDevCard{padding:6px 7px!important}.facilityCardHead{display:flex;justify-content:space-between;align-items:center;gap:6px}.facilityCardHead span{font-size:9px;opacity:.85}.facilityCardHead em{font-style:normal;font-size:14px;line-height:1}.facilityDevCard .facilityEffect{margin-top:3px;font-weight:bold}.facilityDevCard .facilityNext{font-size:8px!important}.facilityDevCard .btn{margin-top:4px!important}\n@media(max-width:420px){.progressPair{gap:5px}.progressPair .fameBox .tiny{font-size:7px!important}.todayFarmSummary{display:block}.todayFarmSummary span{display:block;text-align:left;margin-top:2px}}\n

/* v21.54 — 하늘 시계 시간대 전환 라벨 복원 */
#mainHeader .skyClock{width:170px!important}
#mainHeader .skyClockLabels{position:relative!important;display:block!important;height:14px!important;margin-top:2px!important;font-size:7px!important;line-height:1!important;opacity:.9!important}
#mainHeader .skyClockLabels span{position:absolute!important;top:0!important;transform:translateX(-50%)!important;white-space:nowrap!important}
#mainHeader .skyClockTrack{height:8px!important}
#mainHeader .skyClockCurrent{font-size:8px!important;font-weight:bold!important;margin-top:1px!important;text-align:right!important}


/* v21.55 — 고정 헤더 상단 여백 보정 */
#mainHeader{
  padding-top:18px!important;
  padding-bottom:10px!important;
}
#app{padding-top:116px!important}
@media(max-width:420px){
  #mainHeader{padding-top:16px!important}
  #app{padding-top:114px!important}
}


/* v21.56 — #app 상단 여백을 실제 헤더 높이에 동기화 */
#app{
  padding-top:var(--main-header-space, 150px)!important;
}
@media(max-width:420px){
  #app{padding-top:var(--main-header-space, 150px)!important}
}


/* v21.57 — 명성 레벨 시스템 */
.fameHead b{min-width:0}
#fameTier{white-space:nowrap}
#fameProgressText{white-space:nowrap;font-weight:700}
@media(max-width:420px){
  .fameHead{align-items:flex-start!important}
  .fameHead>b{line-height:1.2!important}
}


/* v21.59 — 전체 우클릭/드래그 방지 */
html,body,#app,#app *{
  -webkit-user-select:none!important;
  -moz-user-select:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
img,a{
  -webkit-user-drag:none!important;
  user-drag:none!important;
}
input,textarea,[contenteditable="true"]{
  -webkit-user-select:text!important;
  -moz-user-select:text!important;
  user-select:text!important;
}


/* v21.61 — 랜딩 + 로딩 화면 */
body.kongal-preenter{overflow:hidden!important}
#landingScreen,#loadingScreen{position:fixed;inset:0;z-index:30000;font-family:'Mona12',Arial,sans-serif}
#landingScreen{display:flex;align-items:center;justify-content:center;padding:22px;box-sizing:border-box;overflow:auto;background:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),linear-gradient(#8fc8df 0 58%,#d9e9bb 58% 100%)}
#landingScreen:before{content:"";position:absolute;left:0;right:0;top:58%;height:10px;background:#8eb26d;box-shadow:0 5px 0 #709657}
.landingCloud{position:absolute;width:58px;height:14px;background:#f4f0df;box-shadow:12px -8px 0 #f4f0df,24px -8px 0 #f4f0df,36px 0 0 #f4f0df;animation:landingCloudMove 75s linear infinite}
.landingCloud.c1{top:12%;left:-80px}.landingCloud.c2{top:28%;left:-120px;animation-duration:105s;animation-delay:-50s;transform:scale(.8)}
@keyframes landingCloudMove{from{margin-left:0}to{margin-left:calc(100vw + 180px)}}
.landingCard{position:relative;z-index:2;width:min(720px,100%);border:4px solid #6f583f;background:#fff4d8;box-shadow:8px 8px 0 rgba(68,54,39,.20);padding:22px;box-sizing:border-box;text-align:center}
.landingLogo{font-size:32px;font-weight:900;letter-spacing:1px;color:#3f3125;text-shadow:2px 2px 0 #dbc08d}
.landingTagline{margin:7px 0 15px;font-size:12px;color:#6b5138}
.landingFarmArt{margin:0 auto 16px;max-width:560px;height:110px;position:relative;overflow:hidden;border:3px solid #8b704e;background:linear-gradient(#89c6e7 0 58%,#9fc47c 58%)}
.landingFarmArt .sun{position:absolute;width:20px;height:20px;right:10%;top:14px;background:#f4c85a;box-shadow:0 0 0 4px rgba(255,238,155,.35)}
.landingFarmArt .hill{position:absolute;left:0;right:0;bottom:0;height:42px;background:#7eaa60;border-top:4px solid #678d4e}
.landingFarmArt .house{position:absolute;left:47%;bottom:28px;width:44px;height:34px;background:#f0d39d;border:3px solid #745238}
.landingFarmArt .house:before{content:"";position:absolute;left:-7px;top:-19px;border-left:27px solid transparent;border-right:27px solid transparent;border-bottom:22px solid #b96655}
.landingFarmArt .field{position:absolute;left:10%;bottom:9px;width:115px;height:28px;background:repeating-linear-gradient(90deg,#876943 0 18px,#9a7850 18px 20px);border:3px solid #6c5137}
.landingFarmArt .sprouts{position:absolute;left:12%;bottom:21px;font-size:18px;letter-spacing:7px}
.landingFeatures{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.landingFeature{border:2px solid #b49668;background:#f9e7bd;padding:9px 7px;min-width:0}
.landingFeature b{display:block;font-size:11px;margin-bottom:4px;color:#493829}.landingFeature span{font-size:9px;line-height:1.45;color:#71563d}
.landingStatus{font-size:10px;margin:10px 0 12px;color:#59442f}
#landingStartBtn{min-width:190px;padding:9px 16px;border:3px solid #5c7146;background:#8dac69;color:#fff9e7;font:700 14px/1.2 inherit;cursor:pointer;box-shadow:3px 3px 0 #49593a}
#landingStartBtn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #49593a}
.landingVersion{margin-top:9px;font-size:8px;color:#866b4d}
#loadingScreen{display:none;align-items:center;justify-content:center;background:#2f4259;color:#fff4d5;text-align:center}
#loadingScreen.open{display:flex}
.loadingBox{width:min(360px,84%);padding:20px;border:3px solid #192838;background:#405773;box-shadow:6px 6px 0 rgba(9,16,25,.28)}
.loadingTitle{font-size:20px;font-weight:900;margin-bottom:11px}
.loadingPlant{height:56px;position:relative;margin:0 auto 12px;width:70px}
.loadingPlant .soil{position:absolute;left:10px;right:10px;bottom:4px;height:12px;background:#6b5137;border:2px solid #3d2d20}
.loadingPlant .stem{position:absolute;left:33px;bottom:16px;width:5px;height:8px;background:#77a95b;animation:growStem .9s steps(4,end) infinite}
.loadingPlant .leaf{position:absolute;width:13px;height:8px;background:#8cc56b;bottom:24px;opacity:0;animation:growLeaf .9s steps(3,end) infinite}
.loadingPlant .leaf.l{left:20px}.loadingPlant .leaf.r{right:19px;animation-delay:.12s}
@keyframes growStem{0%{height:4px}70%,100%{height:28px}}@keyframes growLeaf{0%,35%{opacity:0;transform:scale(.4)}65%,100%{opacity:1;transform:scale(1)}}
.loadingBar{height:10px;border:2px solid #182638;background:#223247;overflow:hidden}.loadingBar i{display:block;height:100%;width:0;background:#a8c77a;animation:loadingFill 1.05s linear forwards}
@keyframes loadingFill{to{width:100%}}.loadingText{font-size:10px;margin-top:9px;min-height:14px}
@media(max-width:520px){.landingCard{padding:16px 12px}.landingLogo{font-size:26px}.landingFeatures{grid-template-columns:1fr}.landingFarmArt{height:92px}}


/* v21.62 — 중복 경험치 UI 제거 후 명성 영역 단독 사용 */
.progressPair{display:block!important}
.progressPair #fameBox{width:100%!important;box-sizing:border-box}


/* v21.63 — 상단 경험치 텍스트 아래 진행바 복원 */
.xpTopBar{margin-top:5px!important;width:100%!important;max-width:260px}


/* v21.64 — 상단 경험치 바 전체 너비 */
.xpTopBar{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:5px 0 0!important;
}


/* v21.65 — 경험치 바를 rowTable 밖으로 이동해 패널 전체 너비 사용 */
.xpFullBar{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:5px 0 7px!important;
}


/* v21.67 — 랜딩 페이지 비주얼 개선 + 테마 영향 차단 */
#landingScreen,
#landingScreen *{
  color:#3b2f22!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
#landingScreen{
  background:
    linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)),
    linear-gradient(#87bdd5 0 61%,#cfe1ae 61% 100%)!important;
}
#landingScreen:after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:28%;
  background:
    repeating-linear-gradient(90deg,rgba(98,137,73,.13) 0 18px,rgba(255,255,255,.02) 18px 36px),
    linear-gradient(#9ec17f,#b7d596);
  border-top:4px solid #6d944f;
  z-index:0;
}
.landingCard{
  width:min(760px,94%)!important;
  padding:24px 26px 26px!important;
  background:#fff1cf!important;
  border:4px solid #6d563c!important;
  box-shadow:
    6px 6px 0 #d0bc91,
    10px 10px 0 rgba(80,62,42,.15)!important;
}
.landingLogo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  font-size:34px!important;
  color:#5f492f!important;
  text-shadow:2px 2px 0 #e0c287!important;
}
.landingLogo:before{
  content:"🌱";
  display:inline-block;
  font-size:28px;
  filter:none!important;
}
.landingTagline{
  margin:8px 0 16px!important;
  font-size:12px!important;
  color:#70573c!important;
}
.landingFarmArt{
  height:132px!important;
  max-width:610px!important;
  margin-bottom:18px!important;
  background:linear-gradient(#7fc0e3 0 60%,#8eb36a 60%)!important;
  border:3px solid #6b5439!important;
  box-shadow:inset 0 -4px 0 rgba(87,103,54,.22)!important;
}
.landingFarmArt .sun{
  width:24px!important;height:24px!important;
  right:8%!important;top:17px!important;
  background:#f6cf59!important;
  box-shadow:
    0 -6px 0 #f6cf59,
    0 6px 0 #f6cf59,
    -6px 0 0 #f6cf59,
    6px 0 0 #f6cf59!important;
}
.landingFarmArt .hill{
  height:48px!important;
  background:#7ea45d!important;
  border-top:4px solid #66874a!important;
}
.landingFarmArt .house{
  left:50%!important;
  width:50px!important;height:38px!important;
  margin-left:-25px!important;
  bottom:35px!important;
  background:#f0d6a7!important;
  border:3px solid #78543b!important;
}
.landingFarmArt .house:before{
  left:-9px!important;top:-23px!important;
  border-left-width:34px!important;
  border-right-width:34px!important;
  border-bottom:25px solid #c96f5e!important;
}
.landingFarmArt .field{
  left:8%!important;bottom:10px!important;
  width:132px!important;height:34px!important;
  background:repeating-linear-gradient(90deg,#8a6844 0 19px,#9f7c50 19px 22px)!important;
  border:3px solid #6c4f35!important;
}
.landingFarmArt .sprouts{
  left:10%!important;bottom:26px!important;
  font-size:20px!important;
  letter-spacing:5px!important;
}
.landingFeatures{
  gap:10px!important;
  margin:16px 0!important;
}
.landingFeature{
  position:relative!important;
  min-height:66px!important;
  padding:11px 10px!important;
  background:#f7dfaa!important;
  border:2px solid #9c784e!important;
  box-shadow:2px 2px 0 #d9bd81!important;
}
.landingFeature b{
  font-size:12px!important;
  color:#5a412d!important;
  margin-bottom:6px!important;
}
.landingFeature span{
  display:block!important;
  font-size:9px!important;
  line-height:1.55!important;
  color:#76593d!important;
}
.landingStatus{
  margin:12px auto 14px!important;
  padding:8px 10px!important;
  max-width:520px!important;
  background:#f4e4bd!important;
  border:2px solid #b28d5c!important;
  color:#5a432f!important;
  font-size:10px!important;
}
#landingStartBtn{
  min-width:210px!important;
  padding:11px 18px!important;
  background:#89a968!important;
  border:3px solid #566e3f!important;
  color:#fff8dd!important;
  -webkit-text-fill-color:#fff8dd!important;
  text-shadow:1px 1px 0 #4e6339!important;
  box-shadow:4px 4px 0 #435433!important;
  font-size:14px!important;
}
#landingStartBtn:hover{
  background:#94b474!important;
}
#landingStartBtn:active{
  transform:translate(2px,2px)!important;
  box-shadow:2px 2px 0 #435433!important;
}
.landingVersion{
  margin-top:10px!important;
  color:#8b6d4a!important;
  font-size:8px!important;
}
.landingCloud{
  background:#f4f1e6!important;
  box-shadow:12px -8px 0 #f4f1e6,24px -8px 0 #f4f1e6,36px 0 0 #f4f1e6!important;
  opacity:.92!important;
}
body.theme-night #landingScreen,
body.theme-berry #landingScreen,
body.theme-mint #landingScreen,
body.theme-peach #landingScreen,
body.theme-default #landingScreen{
  color:#3b2f22!important;
}
body.theme-night #landingScreen .landingFeature,
body.theme-berry #landingScreen .landingFeature,
body.theme-mint #landingScreen .landingFeature,
body.theme-peach #landingScreen .landingFeature,
body.theme-default #landingScreen .landingFeature{
  color:#3b2f22!important;
  background:#f7dfaa!important;
}
@media(max-width:520px){
  .landingCard{padding:18px 12px 20px!important}
  .landingLogo{font-size:28px!important}
  .landingFarmArt{height:104px!important}
  .landingFeatures{grid-template-columns:1fr!important}
  .landingFeature{min-height:0!important}
}


/* v21.68 — 랜딩 아이콘을 본게임 픽셀 아이콘 세트로 통일 */
.landingLogo:before{display:none!important;content:none!important}
.landingLogoIcon{
  width:34px!important;height:34px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  flex:0 0 auto!important;
}
.landingSunIcon{
  position:absolute!important;
  width:34px!important;height:34px!important;
  right:7%!important;top:12px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  z-index:3!important;
  filter:none!important;
}
.landingFarmArt .sun{display:none!important}
.landingFarmArt .sprouts{
  display:flex!important;
  align-items:flex-end!important;
  gap:2px!important;
  left:9%!important;
  bottom:21px!important;
  letter-spacing:0!important;
  z-index:3!important;
}
.landingFarmArt .sprouts img{
  width:25px!important;height:25px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  filter:none!important;
}
.landingFarmArt .sprouts img:nth-child(2){width:29px!important;height:29px!important}
.landingFarmArt .sprouts img:nth-child(3){width:27px!important;height:27px!important}
.landingFarmArt .sprouts img:nth-child(4){width:30px!important;height:30px!important}
.landingFeature{
  display:grid!important;
  grid-template-columns:40px 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  align-items:center!important;
  text-align:left!important;
}
.landingFeatureIcon{
  grid-row:1/3!important;
  width:38px!important;height:38px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  filter:none!important;
}
.landingFeature b{
  margin:0 0 2px!important;
  align-self:end!important;
}
.landingFeature span{
  align-self:start!important;
}
#landingStartBtn:before{
  content:"🌱";
  margin-right:5px;
}
@media(max-width:520px){
  .landingFeature{grid-template-columns:38px 1fr!important}
  .landingFeatureIcon{width:34px!important;height:34px!important}
  .landingLogoIcon{width:30px!important;height:30px!important}
}


/* v21.69 — 씨앗 목록 작물 아이콘 확대 */
.seed .iconImg{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0 auto 2px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}
.seed.locked .unknownSeedIcon{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0 auto 2px!important;
}


/* v21.71 — 큰 씨앗 아이콘 유지 + 소요시간/계절 태그 간격 압축 */
.seed .seedMeta,
.seed .seedTime,
.seed .growTime{
  margin-bottom:1px!important;
}
.seed .seasonTag,
.seed .seasonBadge,
.seed .seedSeason{
  margin-top:0!important;
}
.seed .tiny{
  line-height:1.15!important;
}


.seed{
  row-gap:2px!important;
}


/* v21.72 — 씨앗 카드 세로 공간 추가 압축 */
.seed{
  row-gap:0!important;
}
.seed .iconImg{
  margin:0 auto 0!important;
}
.seed .name{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.05!important;
}
.seed .price,
.seed .sellPrice{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.05!important;
}
.seed .tiny{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.02!important;
}
.seed .seasonTag,
.seed .seasonBadge,
.seed .seedSeason{
  margin-top:-3px!important;
  margin-bottom:0!important;
}


/* v21.73 — 계절 태그를 소요시간 쪽으로 크게 끌어올림 */
.seed .seasonTag,
.seed .seasonBadge,
.seed .seedSeason{
  position:relative!important;
  top:-16px!important;
  margin-top:0!important;
  margin-bottom:-16px!important;
  z-index:2!important;
}


/* v21.75 — 여름 햇빛 아이콘 디테일 업 */
.weatherIcon img[src*="data:image/png"]{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
}


/* v21.76 — 날씨/시설/상점 UI 아이콘 디테일 통일 */
.weatherIcon img,.shopIcon img,.facilityUiIcon{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
  object-fit:contain!important;
}
.facilityUiIcon{
  width:34px!important;height:34px!important;
  vertical-align:middle!important;
  margin-right:7px!important;
}
.facilityCardHead b{display:flex!important;align-items:center!important}


/* v21.78 — 농장에 실제 배치되는 시설물도 작물/햇빛 아이콘과 같은 픽셀 리소스로 통일 */
.facilityArt.facilitySprite{
  position:relative!important;
  width:64px!important;
  height:64px!important;
  margin:0 auto!important;
  overflow:visible!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.facilityArt.facilitySprite>img{
  display:block!important;
  width:64px!important;
  height:64px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
  filter:none!important;
}
.facilityArt.facilitySprite.lv2>img{transform:scale(1.02)!important}
.facilityArt.facilitySprite.lv3>img{transform:scale(1.04)!important}
.facilityArt.facilitySprite.lv4>img{transform:scale(1.06)!important}
.facilityArt.facilitySprite.lv5>img{transform:scale(1.08)!important}
.facilityLevelSpark{
  display:none;
  position:absolute;
  width:4px;height:4px;
  background:#fff0a1;
  border:1px solid #755022;
  pointer-events:none;
}
.facilitySprite.lv4 .facilityLevelSpark,
.facilitySprite.lv5 .facilityLevelSpark{display:block}
.facilityLevelSpark.s1{right:4px;top:5px}
.facilityLevelSpark.s2{left:5px;top:18px}
.facilityBuyNameIcon{
  width:34px!important;height:34px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  vertical-align:middle!important;
  margin-right:7px!important;
}
.buyName b{display:flex!important;align-items:center!important;justify-content:center!important}


/* v21.79 — 시설물 고밀도 픽셀아트 리소스 적용 */
.facilityArt.facilitySprite{
  width:72px!important;
  height:72px!important;
}
.facilityArt.facilitySprite>img{
  width:72px!important;
  height:72px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
.facilityUiIcon,
.facilityBuyNameIcon{
  image-rendering:auto!important;
}


/* v21.80 — 시설물 재크롭: 정확한 오브젝트 경계 + 원본 비율 유지 */
.facilityArt.facilitySprite{
  width:78px!important;
  height:78px!important;
}
.facilityArt.facilitySprite>img{
  width:78px!important;
  height:78px!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
}
.facilityUiIcon,
.facilityBuyNameIcon{
  object-fit:contain!important;
  object-position:center center!important;
}


/* v21.81 — 시설 원본 전체 보존 재크롭 */
.facilityArt.facilitySprite{width:82px!important;height:82px!important;overflow:visible!important}
.facilityArt.facilitySprite>img{width:82px!important;height:82px!important;object-fit:contain!important;object-position:center!important}


/* v21.82 — 사용자 제공 시설 PNG를 투명화 후 그대로 적용 */
.facilityArt.facilitySprite{
  width:84px!important;
  height:84px!important;
  overflow:visible!important;
}
.facilityArt.facilitySprite>img{
  width:84px!important;
  height:84px!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
}
.facilityUiIcon,
.facilityBuyNameIcon{
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
}


/* v21.83 — 사용자 제공 시설 PNG 원본을 그대로 base64 임베드 */
.facilityArt.facilitySprite>img,
.facilityUiIcon,
.facilityBuyNameIcon{
  object-fit:contain!important;
  object-position:center center!important;
  filter:none!important;
}


/* v21.85 — 64×64 고밀도 픽셀아트 밭 타일 base64 임베드 */
#farm .plot:not(.locked){
  background-image:url("../icon/embedded_024_4d098cc818.png")!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:100% 100%!important;
  background-color:#9d6037!important;
}
#farm .plot:not(.locked) .soil{
  display:none!important;
}
#farm .plot.ready:not(.locked){
  background-image:
    linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),
    url("../icon/embedded_024_4d098cc818.png")!important;
}
#farm .plot:not(.locked){
  border-color:#5c3922!important;
  border-radius:2px!important;
}


/* v21.86 — #farmSec .panel:after 고밀도 64×64 픽셀 울타리 */
#farmSec .panel:after{
  content:""!important;
  display:block!important;
  height:34px!important;
  margin-top:8px!important;
  background-image:url("../icon/embedded_026_f3779b760f.png")!important;
  background-repeat:repeat-x!important;
  background-size:64px 64px!important;
  background-position:left -25px!important;
  image-rendering:pixelated!important;
  image-rendering:crisp-edges!important;
}
body.season-summer #farmSec .panel:after{
  background-image:url("../icon/embedded_027_f1817d5995.png")!important;
}
body.season-autumn #farmSec .panel:after{
  background-image:url("../icon/embedded_028_2245e6662d.png")!important;
}
body.season-winter #farmSec .panel:after{
  background-image:url("../icon/embedded_029_c6a4211019.png")!important;
}


/* v21.92 — 농장 시설 카드를 시설 탭으로 이동, 카드에서 직접 건설/레벨업 */
.facilityManageGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}
.facilityManageCard{display:flex;flex-direction:column;min-height:240px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.facilityManageVisual{height:92px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.facilityManageVisual .facilityArt.facilitySprite{margin:0!important}
.facilityManageIcon{width:72px!important;height:72px!important;object-fit:contain!important;image-rendering:pixelated}
.facilityManageTitle{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.facilityManageTitle span{padding:3px 7px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:700}
.facilityManageCard .facilityEffect{min-height:38px}.facilityManageCard .facilityNext{margin-top:6px;line-height:1.35}.facilityManageBtn{width:100%;margin-top:auto}
@media(max-width:620px){.facilityManageGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.facilityManageCard{min-height:225px;padding:10px}}

/* v21.93 — 시설 탭: 시설마다 넓은 대형 카드 1장 */
#facilitySec .facilityManageGrid{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  margin-top:14px!important;
}
#facilitySec .facilityManageCard{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr) 150px!important;
  grid-template-areas:"visual body action"!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  min-height:150px!important;
  padding:16px 18px!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
}
#facilitySec .facilityManageVisual{
  grid-area:visual!important;
  width:150px!important;
  height:116px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#facilitySec .facilityManageVisual .facilityArt.facilitySprite{
  margin:0!important;
  transform:scale(1.12);
  transform-origin:center;
}
#facilitySec .facilityManageIcon{
  width:96px!important;
  height:96px!important;
}
#facilitySec .facilityManageBody{
  grid-area:body!important;
  min-width:0!important;
  width:100%!important;
}
#facilitySec .facilityManageTitle{
  justify-content:flex-start!important;
  gap:10px!important;
  margin-bottom:10px!important;
  font-size:16px!important;
}
#facilitySec .facilityManageCard .facilityEffect{
  min-height:0!important;
  line-height:1.5!important;
}
#facilitySec .facilityManageCard .facilityNext{
  margin-top:8px!important;
}
#facilitySec .facilityManageBtn{
  grid-area:action!important;
  width:150px!important;
  min-height:44px!important;
  margin:0!important;
  align-self:center!important;
}
@media(max-width:620px){
  #facilitySec .facilityManageCard{
    grid-template-columns:92px minmax(0,1fr)!important;
    grid-template-areas:
      "visual body"
      "action action"!important;
    gap:10px 12px!important;
    min-height:0!important;
    padding:12px!important;
  }
  #facilitySec .facilityManageVisual{
    width:92px!important;
    height:92px!important;
  }
  #facilitySec .facilityManageVisual .facilityArt.facilitySprite{
    transform:scale(.9);
  }
  #facilitySec .facilityManageIcon{
    width:76px!important;
    height:76px!important;
  }
  #facilitySec .facilityManageBtn{
    width:100%!important;
  }
}


/* v21.94 — 시설 카드 2열 / 시설 자체를 카드로 감싸기 */
#facilitySec .facilityManageGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:14px!important;
}
#facilitySec .facilityManageCard{
  display:grid!important;
  grid-template-columns:108px minmax(0,1fr)!important;
  grid-template-areas:
    "visual body"
    "action action"!important;
  align-items:center!important;
  gap:10px 14px!important;
  width:100%!important;
  min-height:180px!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:var(--card)!important;
  box-sizing:border-box!important;
}
#facilitySec .facilityManageVisual{
  grid-area:visual!important;
  width:108px!important;
  height:108px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#facilitySec .facilityManageVisual .facilityArt.facilitySprite{
  margin:0!important;
  transform:scale(1.03)!important;
  transform-origin:center!important;
}
#facilitySec .facilityManageIcon{
  width:88px!important;
  height:88px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
}
#facilitySec .facilityManageBody{
  grid-area:body!important;
  min-width:0!important;
}
#facilitySec .facilityManageTitle{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-bottom:8px!important;
}
#facilitySec .facilityLvBadge{
  flex:none!important;
}
#facilitySec .facilityEffectText{
  line-height:1.45!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
#facilitySec .facilityNext{
  margin-top:6px!important;
  line-height:1.35!important;
}
#facilitySec .facilityManageBtn{
  grid-area:action!important;
  width:100%!important;
  min-height:40px!important;
  margin:2px 0 0!important;
}
@media(max-width:700px){
  #facilitySec .facilityManageGrid{
    grid-template-columns:1fr!important;
  }
}


/* v21.95 — 시설 카드를 씨앗 목록 카드와 같은 픽셀 UI 결로 통일 */
#facilitySec .facilityManageGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:12px!important;
}
#facilitySec .facilityManageCard{
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  grid-template-areas:
    "visual body"
    "action action"!important;
  gap:8px 12px!important;
  align-items:center!important;
  min-height:166px!important;
  padding:10px!important;
  box-sizing:border-box!important;

  /* 씨앗 카드와 같은 배경 / 테두리 / 픽셀 그림자 */
  background:#f7e9c9!important;
  border:2px solid #9a744a!important;
  border-radius:0!important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.28),
    inset 0 -2px 0 rgba(116,82,48,.10),
    2px 2px 0 rgba(91,66,44,.28)!important;
}
#facilitySec .facilityManageCard.built{
  background:#f7e9c9!important;
}
#facilitySec .facilityManageCard.unbuilt{
  background:#d8c6a6!important;
  opacity:1!important;
}
#facilitySec .facilityManageVisual{
  grid-area:visual!important;
  width:96px!important;
  height:96px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#facilitySec .facilityManageVisual .facilityArt.facilitySprite{
  margin:0!important;
  transform:scale(.94)!important;
  transform-origin:center!important;
}
#facilitySec .facilityManageIcon{
  width:72px!important;
  height:72px!important;
  image-rendering:pixelated!important;
  filter:
    drop-shadow(2px 3px 0 rgba(62,46,34,.35))
    drop-shadow(-1px -1px 0 rgba(255,244,194,.18))!important;
}
#facilitySec .facilityManageBody{
  grid-area:body!important;
  min-width:0!important;
}
#facilitySec .facilityManageTitle{
  margin-bottom:7px!important;
}
#facilitySec .facilityLvBadge{
  padding:2px 5px!important;
  border:1px solid #9a744a!important;
  border-radius:0!important;
  background:#fff0ce!important;
  color:#4b3827!important;
  box-shadow:1px 1px 0 rgba(91,66,44,.18)!important;
}
#facilitySec .facilityEffectText,
#facilitySec .facilityNext{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#facilitySec .facilityManageBtn{
  grid-area:action!important;
  width:100%!important;
  min-height:36px!important;
  margin:2px 0 0!important;
}
body.theme-berry #facilitySec .facilityManageCard,
body.theme-mint #facilitySec .facilityManageCard,
body.theme-peach #facilitySec .facilityManageCard,
body.theme-night #facilitySec .facilityManageCard{
  color:var(--uiText)!important;
}
body.theme-night #facilitySec .facilityManageCard{
  background:#52647d!important;
  border-color:#243249!important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.10),
    inset 0 -2px 0 rgba(0,0,0,.15),
    2px 2px 0 #182236!important;
}
body.theme-night #facilitySec .facilityManageCard.unbuilt{background:#46576f!important}
body.theme-night #facilitySec .facilityLvBadge{
  background:#40516a!important;
  border-color:#243249!important;
  color:#fff2d4!important;
}
@media(max-width:700px){
  #facilitySec .facilityManageGrid{grid-template-columns:1fr!important}
}


/* v21.96 — 거대작물 2x2 왕작물 */
#farm{overflow:visible!important}
#farm .plot.giantAnchor{
  overflow:visible!important;
  z-index:20!important;
  border-color:#8a641e!important;
  box-shadow:inset 0 0 0 3px rgba(255,224,92,.42),3px 3px 0 rgba(75,50,25,.32)!important;
}
#farm .plot.giantSlave{
  visibility:hidden!important;
  pointer-events:none!important;
}
#farm .giantCropVisual{
  position:absolute!important;
  left:-3px!important;
  top:-3px!important;
  width:calc(200% + 9px)!important;
  height:calc(200% + 9px)!important;
  z-index:30!important;
  box-sizing:border-box!important;
  border:4px solid #7a551d!important;

  /* v21.97: 왕작물의 2x2 전체를 하나의 큰 밭 타일로 채움 */
  background-color:#98633f!important;
  background-image:inherit!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
  image-rendering:pixelated!important;

  box-shadow:
    inset 0 0 0 3px #e2b94e,
    inset 0 4px 0 rgba(255,255,255,.08),
    inset 0 -4px 0 rgba(76,47,31,.18),
    4px 4px 0 rgba(66,44,30,.32)!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
#farm .giantCropImg{
  position:absolute!important;
  width:78%!important;
  height:78%!important;
  left:11%!important;
  top:12%!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  filter:drop-shadow(4px 6px 0 rgba(55,42,31,.48)) drop-shadow(-2px -2px 0 rgba(255,239,184,.28))!important;
  transform:scale(1.08)!important;
}
#farm .giantCrown{
  position:absolute!important;
  z-index:34!important;
  left:50%!important;
  top:5px!important;
  transform:translateX(-50%)!important;
  white-space:nowrap!important;
  padding:3px 6px!important;
  background:#f6d766!important;
  border:2px solid #76531d!important;
  color:#503511!important;
  font-size:10px!important;
  font-weight:bold!important;
  box-shadow:2px 2px 0 rgba(80,53,17,.3)!important;
}
#farm .giantCropName{
  position:absolute!important;
  z-index:34!important;
  left:50%!important;
  bottom:6px!important;
  transform:translateX(-50%)!important;
  padding:2px 6px!important;
  white-space:nowrap!important;
  background:#8d5c35!important;
  border:2px solid #5e3b26!important;
  color:#fff1c8!important;
  font-size:11px!important;
  font-weight:bold!important;
}


/* v21.97 — 왕작물 배경을 2x2 한 장의 밭으로 통합 */
#farm .plot.giantAnchor{
  background-color:#98633f!important;
}
body.season-spring #farm .plot.giantAnchor .giantCropVisual{
  background-image:inherit!important;
}
body.season-summer #farm .plot.giantAnchor .giantCropVisual{
  background-image:inherit!important;
}
body.season-autumn #farm .plot.giantAnchor .giantCropVisual{
  background-image:inherit!important;
}
body.season-winter #farm .plot.giantAnchor .giantCropVisual{
  background-image:inherit!important;
}


/* v21.99 — 기간제 농장 버프 UI */
.buffStatusBtn{position:relative!important}
.buffStatusBtn.active{
  border-color:#6c8b43!important;
  box-shadow:inset 0 0 0 1px #b9d67d,2px 2px 0 rgba(55,72,37,.28)!important;
}
.buffHeaderCount{
  display:inline-block;
  min-width:14px;
  margin-left:3px;
  padding:0 3px;
  border:1px solid currentColor;
  background:#e4efc3;
  color:#355127!important;
  font-size:9px;
  line-height:14px;
  text-align:center;
}
.buffShopTitle{margin-top:14px!important}
.buffShopIntro{margin:4px 0 7px!important}
.buffShopRow.active{
  box-shadow:inset 3px 0 0 #7e9f50,1px 1px 0 #9c805b!important;
}
.buffStatusBox{max-width:520px!important}
.buffModalIntro{margin:8px 0 10px!important}
.buffModalRow{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 38px;
  align-items:center;
  gap:9px;
  margin-top:7px;
  padding:9px;
  border:2px solid #9a744a;
  background:#f7e9c9;
  box-shadow:2px 2px 0 rgba(91,66,44,.22);
}
.buffModalRow.active{
  background:#e4efc3;
  border-color:#709350;
}
.buffModalIcon{width:48px;height:48px;display:flex;align-items:center;justify-content:center}
.buffModalIcon img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}
.buffModalText{min-width:0}
.buffModalText>b{display:block;margin-bottom:3px}
.buffModalRemain{margin-top:4px;font-size:10px;font-weight:700;color:#5d7442}
.buffModalState{
  display:inline-block;
  padding:3px 4px;
  border:1px solid #8f7654;
  background:#ead9b8;
  text-align:center;
  font-size:10px;
  font-weight:700;
}
.buffModalRow.active .buffModalState{background:#779b59;color:#fff;border-color:#4e6f39}
body.theme-night .buffModalRow{background:#52647d!important;border-color:#243249!important;color:#fff2d4!important}
body.theme-night .buffModalRow.active{background:#536f58!important;border-color:#89a56f!important}
body.theme-night .buffModalRemain{color:#d8ebbd!important}


/* v22.02 — 헤더 야간 가독성: 밤에만 검정/진한 글씨를 밝게 */
.appHeader.headerNightText,
.appHeader.headerNightText .brand,
.appHeader.headerNightText .brand *,
.appHeader.headerNightText .headerInfo,
.appHeader.headerNightText .headerInfo *,
.appHeader.headerNightText .farmName,
.appHeader.headerNightText .farmName *,
.appHeader.headerNightText .level,
.appHeader.headerNightText .level *,
.appHeader.headerNightText .stat,
.appHeader.headerNightText .stat *,
.appHeader.headerNightText .small,
.appHeader.headerNightText .tiny,
.appHeader.headerNightText .headerMeta,
.appHeader.headerNightText .headerMeta *{
  color:#fff4d6!important;
  -webkit-text-fill-color:#fff4d6!important;
  text-shadow:1px 1px 0 rgba(28,34,51,.85)!important;
}
.appHeader.headerNightText .topUtilityBtn{
  color:#fff4d6!important;
  -webkit-text-fill-color:#fff4d6!important;
  text-shadow:1px 1px 0 rgba(28,34,51,.75)!important;
}
.appHeader.headerNightText .buffHeaderCount{
  color:#263522!important;
  -webkit-text-fill-color:#263522!important;
  text-shadow:none!important;
}
/* 숫자/시간/날씨처럼 별도 색이 지정된 헤더 텍스트도 밤에는 읽히도록 */
.appHeader.headerNightText [id="clock"],
.appHeader.headerNightText [id="weatherText"],
.appHeader.headerNightText [id="seasonText"],
.appHeader.headerNightText [id="money"],
.appHeader.headerNightText [id="level"]{
  color:#fff4d6!important;
  -webkit-text-fill-color:#fff4d6!important;
}


/* v22.03 — 실제 #mainHeader 야간 글자색 보정 */
#mainHeader.headerNightText .barLeft,
#mainHeader.headerNightText .barLeft *,
#mainHeader.headerNightText .barRight,
#mainHeader.headerNightText .barRight *,
#mainHeader.headerNightText #farmTitle,
#mainHeader.headerNightText #communityStats,
#mainHeader.headerNightText #communityStats *,
#mainHeader.headerNightText #money,
#mainHeader.headerNightText #level,
#mainHeader.headerNightText #headerFameLevel,
#mainHeader.headerNightText #headerFameTier,
#mainHeader.headerNightText #skyClock,
#mainHeader.headerNightText .tiny,
#mainHeader.headerNightText .small{
  color:#fff4d6!important;
  -webkit-text-fill-color:#fff4d6!important;
  text-shadow:1px 1px 0 #18283a!important;
}
/* 버튼 자체는 밝은 배경이므로 기존 어두운 글씨 유지 */
#mainHeader.headerNightText .topUtilityBtn,
#mainHeader.headerNightText .topUtilityBtn *,
#mainHeader.headerNightText .buffHeaderCount{
  color:#273528!important;
  -webkit-text-fill-color:#273528!important;
  text-shadow:none!important;
}
/* 진행바/아이콘 등의 내부 색상은 글자색 강제 상속에서 제외 */
#mainHeader.headerNightText img,
#mainHeader.headerNightText svg{
  -webkit-text-fill-color:initial!important;
  text-shadow:none!important;
}


/* v22.04 — 농장 산책 반짝임 전용 토스트 */
#idleRewardToast{
  display:block!important;
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:26px!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  max-width:calc(100vw - 28px)!important;
  min-width:240px!important;
  box-sizing:border-box!important;
  padding:12px 18px!important;
  background:#2d2923!important;
  border:3px solid #ffe39b!important;
  color:#fff8df!important;
  -webkit-text-fill-color:#fff8df!important;
  font-family:'Mona12',Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
  box-shadow:
    0 0 0 2px rgba(66,48,30,.55),
    4px 4px 0 rgba(35,26,20,.42)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none!important;
  z-index:2147483647!important;
  transition:opacity .08s linear!important;
}
body.theme-night #idleRewardToast{
  background:#1f3045!important;
  border-color:#f5d775!important;
  color:#fff4cf!important;
  -webkit-text-fill-color:#fff4cf!important;
}
@media(max-width:480px){
  #idleRewardToast{
    min-width:0!important;
    width:calc(100vw - 20px)!important;
    bottom:18px!important;
    padding:11px 10px!important;
    font-size:12px!important;
  }
}


/* v22.05 — 포장 작업장 시설 카드 */
#facilitySec .facilityManageCard .facilitySprite.packinghouse img{
  width:82px!important;
  height:82px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  filter:
    drop-shadow(2px 3px 0 rgba(62,46,34,.35))
    drop-shadow(-1px -1px 0 rgba(255,244,194,.18))!important;
}


/* v22.06 — 포장 작업장 전용 고밀도 시설 이미지 */
#facilitySec .facilityManageCard .facilitySprite.packinghouse{
  overflow:visible!important;
}
#facilitySec .facilityManageCard .facilitySprite.packinghouse img{
  width:112px!important;
  height:102px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  image-rendering:auto!important;
  filter:drop-shadow(2px 3px 0 rgba(62,46,34,.30))!important;
}


/* v22.08 — 포장 작업장: 새 제공 이미지로 통일 */
#facilitySec .facilityManageCard .facilitySprite.packinghouse{
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#facilitySec .facilityManageCard .facilitySprite.packinghouse img{
  width:90px!important;
  height:82px!important;
  max-width:90px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  filter:drop-shadow(2px 3px 0 rgba(62,46,34,.28))!important;
}
#facilityBuyContent .facilitySprite.packinghouse img{
  width:118px!important;
  height:108px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
}


/* v22.09 — 이번에 첨부된 포장작업장 PNG 원본을 그대로 사용 */
#facilitySec .facilityManageCard .facilitySprite.packinghouse{
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#facilitySec .facilityManageCard .facilitySprite.packinghouse img{
  width:90px!important;
  height:90px!important;
  max-width:90px!important;
  max-height:90px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
}


/* v22.10 — 시설 관리 카드의 포장작업장 아이콘을 첨부 이미지로 통일 */
#facilitySec .facilityManageIcon .facilitySprite.packinghouse{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
#facilitySec .facilityManageIcon .facilitySprite.packinghouse img{
  display:block!important;
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  margin:auto!important;
  filter:none!important;
}


/* v22.11 — Lv.0 포장 작업장 카드도 전용 Base64 이미지 사용 */
#facilitySec .facilityManageIcon.packinghouse{
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  filter:none!important;
}
#facilityBuyContent .facilityBuyNameIcon{
  object-fit:contain!important;
}


/* v22.12 — 포장 작업장 아이콘: 지정 이미지로 Base64 교체 */
#facilitySec .facilityManageIcon.packinghouse,
#facilitySec .facilitySprite.packinghouse img{
  width:88px!important;
  height:88px!important;
  max-width:88px!important;
  max-height:88px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  filter:none!important;
}
#facilityBuyContent .facilitySprite.packinghouse img{
  width:118px!important;
  height:118px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
}


/* v22.14 — 랜딩 화면 동기화 코드 입력 */
.landingSyncBox{
  width:100%;max-width:430px;margin:10px auto 12px;padding:10px;
  box-sizing:border-box;background:#f7dfaa;border:2px solid #6b825d;
  box-shadow:inset 0 0 0 2px #fff2c9,2px 2px 0 rgba(60,75,50,.18);
  color:#3b2f22;text-align:left;
}
.landingSyncTitle{font-weight:900;font-size:10px;margin:0 0 7px}
.landingSyncRow{display:flex;gap:6px;align-items:stretch}
.landingSyncInput{
  min-width:0;flex:1;height:34px;box-sizing:border-box;padding:0 9px;
  border:2px solid #8a6b43;background:#fff9e9;color:#3b2f22;
  font:inherit;font-size:9px;outline:none;border-radius:0;
}
.landingSyncInput:focus{border-color:#557653;box-shadow:inset 0 0 0 1px #9fbd82}
.landingSyncBtn{
  flex:0 0 auto;min-width:104px;padding:0 10px;border:2px solid #476846;
  background:#769d73;color:#fffdf1;font:inherit;font-weight:900;font-size:9px;
  box-shadow:inset 0 0 0 1px #a9c69f;cursor:pointer;border-radius:0;
}
.landingSyncBtn:disabled{opacity:.55;cursor:default}
.landingSyncMsg{min-height:12px;margin-top:6px;color:#735d3e;font-size:8px;line-height:1.45}
.landingSyncMsg.ok{color:#3e7043}.landingSyncMsg.err{color:#9a4637}
@media(max-width:520px){
  .landingSyncRow{flex-direction:column}
  .landingSyncInput,.landingSyncBtn{width:100%;height:36px}
}


/* v22.16 — 농장 기금 특별 보상 안내 */
.farmFundRewardGuide{
  margin:8px 0 10px;padding:9px 10px;border:2px solid #c7964f;
  background:#fff0bd;box-shadow:inset 0 0 0 2px rgba(255,255,255,.42);
}
.farmFundRewardHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.farmFundRewardHead b{font-size:10px}.farmFundRewardHead span{font-size:8px;font-weight:900;color:#8b5c2c}
.farmFundRewardItems{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.farmFundRewardItems span{
  padding:4px 6px;border:1px solid #d7aa61;background:#fff9dc;
  font-size:8px;font-weight:900;color:#5b462d;
}
.farmFundRewardProgress{height:7px;margin-bottom:5px;border:1px solid #a8793e;background:#e6c47e;overflow:hidden}
.farmFundRewardProgress i{display:block;height:100%;background:#77a467}


/* BETA v1 — 씨앗 카드 보유 수량 */
.seedOwned{
  margin-top:3px;
  padding:3px 5px;
  border:1px solid rgba(112,84,52,.28);
  background:rgba(255,248,220,.58);
  font-size:9px;
  font-weight:900;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
}
.seedOwned.hasSeed{
  color:#3f6d36!important;
  -webkit-text-fill-color:#3f6d36!important;
}
.seedOwned.noSeed{
  color:#8b765e!important;
  -webkit-text-fill-color:#8b765e!important;
  opacity:.82;
}
body.theme-night .seedOwned{
  background:rgba(41,57,75,.72)!important;
  border-color:rgba(255,238,195,.22)!important;
}
body.theme-night .seedOwned.hasSeed{
  color:#d9f0b8!important;
  -webkit-text-fill-color:#d9f0b8!important;
}
body.theme-night .seedOwned.noSeed{
  color:#c9bea7!important;
  -webkit-text-fill-color:#c9bea7!important;
}


/* BETA v1 — 패치노트 정리 */
.betaLaunchPatch .patchVer{font-size:12px!important}
.betaWelcome{
  margin:8px 0 10px;padding:10px 11px;
  border:2px solid #7d9b69;background:#f4e7b8;
  line-height:1.7!important;
}
.betaWelcome b{font-size:11px}
.betaPatchGroup{
  margin:6px 0;padding:8px 9px;border:1px solid rgba(108,83,52,.32);
  background:rgba(255,248,220,.58);line-height:1.65;
}
.betaPatchGroup b{font-size:9px}
.betaDevNote{
  margin-top:10px;padding:10px 11px;border:2px dashed #a7794d;
  background:#fff4d2;line-height:1.75;
}


.betaPatchTitle{margin:12px 0 7px;padding:7px 9px;border-bottom:2px solid #789363;font-size:11px;font-weight:900;color:#4d633f}


/* BETA v1 — 농장 테마를 상점에서 꾸미기 탭으로 이동 */
.decorThemeGrid{margin-bottom:12px}
.decorThemePreview{display:flex;align-items:center;justify-content:center}
.decorThemePreview img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}


/* BETA v1 — 어두운 농장 테마 토스트 가독성 보정
   토스트 꾸미기 스킨보다 뒤에서 적용해 night 테마의 글자/배경 대비를 보장합니다. */
body.theme-night #toast,
body.theme-night .harvestToast{
  background:rgba(24,38,55,.96)!important;
  border-color:#d3ad55!important;
  color:#fff2cf!important;
  -webkit-text-fill-color:#fff2cf!important;
  text-shadow:0 1px 0 rgba(0,0,0,.65)!important;
}
body.theme-night #toast *,
body.theme-night .harvestToast *,
body.theme-night .harvestToast .harvestTitle,
body.theme-night .harvestToast .harvestMeta{
  color:#fff2cf!important;
  -webkit-text-fill-color:#fff2cf!important;
  opacity:1!important;
}
body.theme-night .harvestToast.gold,
body.theme-night .harvestToast.golden,
body.theme-night .harvestToast.isGold{
  background:rgba(45,39,24,.97)!important;
  border-color:#e1b329!important;
}


/* BETA v1 — 씨앗 카드 크기 확장 */
#seedbar{
  grid-template-columns:repeat(auto-fit,minmax(138px,1fr))!important;
  gap:7px!important;
}
#seedbar .seed{
  box-sizing:border-box!important;
  min-width:138px!important;
  min-height:136px!important;
  height:auto!important;
  padding:7px 6px 9px!important;
  overflow:visible!important;
}
#seedbar .seed .seedPrices,
#seedbar .seed .seedOwned,
#seedbar .seed .seedMeta{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.35!important;
}
#seedbar .seed .seedOwned{margin-top:3px!important}
#seedbar .seed .seedMeta{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:2px 6px!important;
  margin-top:3px!important;
}
#seedbar .seed .seasonTag{
  display:inline-block!important;
  margin-top:4px!important;
  white-space:nowrap!important;
  position:relative!important;
  z-index:2!important;
}
@media(max-width:560px){
  #seedbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #seedbar .seed{min-width:0!important;min-height:140px!important}
}


/* BETA v1 — 씨앗 카드 최종 확장: 보유량/성장시간/계절태그까지 한 카드 안에 모두 표시 */
.seedbar,
#seedbar{
  white-space:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:5px 4px 12px!important;
  min-height:206px!important;
  box-sizing:border-box!important;
}

#seedbar .seed,
.seedbar .seed{
  display:inline-block!important;
  vertical-align:top!important;
  box-sizing:border-box!important;
  width:152px!important;
  min-width:152px!important;
  max-width:152px!important;

  /* 기존 140px대에서 충분히 늘림 */
  height:188px!important;
  min-height:188px!important;
  max-height:188px!important;

  margin-right:7px!important;
  padding:8px 7px 9px!important;
  overflow:hidden!important;
  white-space:normal!important;
}

/* 아이콘과 작물명 사이 공간 정리 */
#seedbar .seed .iconImg,
.seedbar .seed .iconImg{
  width:48px!important;
  height:48px!important;
  margin:0 auto 5px!important;
}

/* 가격 / 보유량 / 레벨 / 시간은 잘리지 않게 */
#seedbar .seed .seedPrices,
#seedbar .seed .seedOwned,
#seedbar .seed .seedMeta{
  width:100%!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.3!important;
}

#seedbar .seed .seedPrices{
  margin-top:3px!important;
  font-size:9px!important;
}

#seedbar .seed .seedOwned{
  margin:5px 0 4px!important;
  padding:4px 5px!important;
  min-height:22px!important;
}

#seedbar .seed .seedMeta{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  margin-top:2px!important;
  min-height:31px!important;
}

/* 예전 CSS의 top:-16px 규칙까지 완전히 무효화 */
#seedbar .seed .seasonTag,
.seedbar .seed .seasonTag,
#seedbar .seed .seasonBadge,
#seedbar .seed .seedSeason{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  top:0!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;

  min-height:18px!important;
  margin:5px auto 0!important;
  margin-bottom:0!important;
  padding:2px 6px!important;

  white-space:nowrap!important;
  overflow:visible!important;
  line-height:1.2!important;
  z-index:3!important;
}

/* 작은 화면에서도 가로 스크롤 방식으로 동일한 카드 비율 유지 */
@media(max-width:560px){
  .seedbar,
  #seedbar{
    min-height:200px!important;
    padding-bottom:11px!important;
  }
  #seedbar .seed,
  .seedbar .seed{
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
  }
}


/* BETA v1 — 계절 태그를 씨앗 카드 박스 안의 마지막 행으로 고정 */
#seedbar .seed,
.seedbar .seed{
  height:204px!important;
  min-height:204px!important;
  max-height:204px!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
}

#seedbar .seed .seedPrices,
#seedbar .seed .seedOwned,
#seedbar .seed .seedMeta{
  flex:0 0 auto!important;
}

#seedbar .seed .seedSeasonRow,
.seedbar .seed .seedSeasonRow{
  width:100%!important;
  min-height:24px!important;
  margin-top:auto!important;
  padding-top:5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  position:static!important;
}

#seedbar .seed .seedSeasonRow .seasonTag,
.seedbar .seed .seedSeasonRow .seasonTag{
  display:inline-block!important;
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
  padding:3px 7px!important;
  min-height:18px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:auto!important;
}

/* 기존 seasonTag 위치 보정 규칙을 카드 내부에서는 무효화 */
#seedbar .seed > .seasonTag,
.seedbar .seed > .seasonTag{
  position:static!important;
  top:auto!important;
  margin-top:5px!important;
}

/* 카드 리스트 자체도 새 높이에 맞춰 확장 */
#seedbar,
.seedbar{
  min-height:222px!important;
}

@media(max-width:560px){
  #seedbar .seed,
  .seedbar .seed{
    height:200px!important;
    min-height:200px!important;
    max-height:200px!important;
  }
  #seedbar,
  .seedbar{
    min-height:218px!important;
  }
}


/* BETA v1 — 구 도메인 → www.kongalfarm.com 이전 공지 */
.domainMoveNotice{
  display:none;
  position:fixed;
  inset:0;
  z-index:2147483600;
  align-items:center;
  justify-content:center;
  padding:16px;
  box-sizing:border-box;
}
.domainMoveNotice.open{display:flex!important}
.domainMoveDim{
  position:absolute;
  inset:0;
  background:rgba(17,25,31,.76);
}
.domainMoveBox{
  position:relative;
  z-index:1;
  width:min(520px,calc(100vw - 24px));
  max-height:calc(100vh - 28px);
  overflow:auto;
  border:3px solid #66835b;
  background:#f5e8c7;
  color:#3f3024;
  box-shadow:0 0 0 3px #d9c79d,8px 8px 0 rgba(20,28,22,.32);
}
.domainMoveHead{
  padding:11px 13px;
  border-bottom:2px solid #8b704d;
  background:#dce7bd;
  font-size:13px;
  text-align:center;
}
.domainMoveBody{padding:13px}
.domainMoveBody p{margin:0 0 10px;line-height:1.7}
.domainMoveLead{
  padding:8px 9px;
  border:2px solid #7c986c;
  background:#fff4ce;
  text-align:center;
}
.domainMoveSteps{
  margin:10px 0;
  padding:9px 10px;
  border:2px solid #b59462;
  background:#fff7dd;
  line-height:1.8;
}
.domainMoveCodeWrap{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:10px 0 7px;
  padding:10px;
  border:2px solid #6b825d;
  background:#eef1d1;
  text-align:center;
}
.domainMoveCodeWrap span{font-size:9px;font-weight:700}
.domainMoveCodeWrap strong{
  display:block;
  padding:8px 6px;
  border:2px solid #8a6b43;
  background:#fffdf0;
  color:#2e4730;
  font-size:14px;
  letter-spacing:1px;
  word-break:break-all;
  user-select:text!important;
  -webkit-user-select:text!important;
}
.domainMoveStatus{
  min-height:18px;
  margin:6px 0 10px;
  color:#6d5b42;
  font-size:9px;
  line-height:1.5;
  text-align:center;
}
.domainMoveStatus.ok{color:#396b3e}
.domainMoveStatus.err{color:#9a4437}
.domainMoveBtns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.domainMoveBtns .btn{
  min-height:38px;
  white-space:normal;
}
.domainMoveOpen{background:#6d9368!important}
.domainMoveLater{
  display:block;
  margin:9px auto 0;
  border:0;
  background:transparent;
  color:#74644e;
  font:inherit;
  font-size:9px;
  text-decoration:underline;
  cursor:pointer;
}
.domainMoveWarn{
  margin:10px 0 0!important;
  color:#886a43;
  font-size:8px;
  text-align:center;
}
@media(max-width:520px){
  .domainMoveNotice{padding:8px}
  .domainMoveBox{width:calc(100vw - 16px)}
  .domainMoveBtns{grid-template-columns:1fr}
}


/* BETA v1 — 랜딩 동기화 입력창 가독성/입력 안정성 */
#landingSyncCode,
.landingSyncInput{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  max-height:none!important;
  box-sizing:border-box!important;
  padding:8px 10px!important;
  line-height:1.25!important;
  font-size:11px!important;
  text-transform:uppercase;
  user-select:text!important;
  -webkit-user-select:text!important;
  pointer-events:auto!important;
}
#landingSyncCode:focus,
.landingSyncInput:focus{
  outline:2px solid rgba(91,130,82,.35)!important;
  outline-offset:1px!important;
}
.landingSyncRow{
  align-items:stretch!important;
}
.landingSyncBtn{
  min-height:42px!important;
}

/* 입력 가능한 요소는 전역 드래그/선택 방지보다 항상 우선 */
input,textarea,[contenteditable="true"]{
  user-select:text!important;
  -webkit-user-select:text!important;
}


/* BETA v1 — 비밀 칭호 시스템 */
.titleSettingsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.titleClearBtn{flex:0 0 auto;padding:5px 8px!important;font-size:8px!important}
.titleCurrent{
  margin:9px 0 8px;padding:8px 9px;border:2px solid #7d9569;background:#edf0ca;
  font-size:9px;line-height:1.55;
}
.titleCurrent .titleCurrentName{font-size:11px;font-weight:900;color:#405c38}
.titleList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.titleCard{
  position:relative;min-height:78px;padding:8px;box-sizing:border-box;
  border:2px solid #a98a61;background:#fff4d5;box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.titleCard.unlocked{border-color:#71905e;background:#eef1ce}
.titleCard.selected{box-shadow:inset 0 0 0 3px #6d8f59,2px 2px 0 rgba(60,75,46,.23)}
.titleCard.locked{background:#ded7c8;border-color:#9d9588;color:#756e64}
.titleCardName{font-size:11px;font-weight:900;margin-bottom:4px}
.titleCardDesc{font-size:8px;line-height:1.5;min-height:23px}
.titleCardState{margin-top:5px;font-size:8px;font-weight:900;color:#5e7c50}
.titleCard.locked .titleCardState{color:#7f766d}
.titleCard button{width:100%;margin-top:6px;min-height:28px!important}

.titleCard.founderTitle{
  border-color:#c89b34!important;
  background:
    radial-gradient(circle at 84% 12%,rgba(255,255,255,.95) 0 2px,transparent 3px),
    radial-gradient(circle at 72% 28%,rgba(255,246,173,.9) 0 1px,transparent 2px),
    linear-gradient(135deg,#fff8d9,#f4e7a5 54%,#fff2bf)!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.55),2px 2px 0 rgba(111,82,24,.23)!important;
}
.titleCard.founderTitle .titleCardName{color:#765315!important;text-shadow:0 1px 0 #fff9d9}
.titleCard.founderTitle .titleCardState{color:#8a641b!important}
.rankTitle.founderRank{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  width:auto;
}
.rankTitle.founderRank .rankTitleFlavor{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  width:fit-content;
  max-width:max-content;
  white-space:nowrap;
  padding:1px 5px;
  border:1px solid #c89b34;
  background:#fff1b8;
  color:#705019!important;
  box-shadow:1px 1px 0 rgba(92,67,22,.22);
}

/* ── SPECIAL TITLE · 창립멤버 ───────────────────────────── */
.titleCard.founderTitle{
  position:relative;
  overflow:hidden;
  border:2px solid #b98720!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.0),rgba(255,255,255,.58),rgba(255,255,255,0)) 0 0/45% 100% no-repeat,
    linear-gradient(135deg,#fffdf0 0%,#fff2b9 44%,#f7d86f 100%)!important;
  box-shadow:
    inset 0 0 0 2px #fff8d7,
    inset 0 -3px 0 rgba(154,106,16,.12),
    3px 3px 0 rgba(94,65,12,.20)!important;
}
.titleCard.founderTitle:before{
  content:"✦";
  position:absolute;
  right:8px;
  top:5px;
  color:#c58c18;
  font-size:15px;
  line-height:1;
  text-shadow:7px 9px 0 #f0c64c,-9px 13px 0 #fff8cf;
  pointer-events:none;
}
.titleCard.founderTitle:after{
  content:"LIMITED · FIRST 30";
  position:absolute;
  right:7px;
  bottom:5px;
  font-size:7px;
  letter-spacing:.6px;
  color:#9a701d;
  opacity:.72;
  pointer-events:none;
}
.titleCard.founderTitle .titleCardName{
  color:#6e4808!important;
  font-weight:900;
  text-shadow:1px 1px 0 #fff9da!important;
}
.titleCard.founderTitle .titleCardName:before{
  content:"♛ ";
  color:#b77c0e;
}
.titleCard.founderTitle .titleCardState{
  color:#8a6315!important;
}

/* 랭킹: 설명 배지와 실제 칭호를 한 세트처럼 보이게 */
.rankTitle.founderRank{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  width:auto;
  margin-bottom:3px;
}
.rankTitle.founderRank .rankTitleFlavor{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  width:fit-content;
  max-width:max-content;
  white-space:nowrap;
  padding:2px 7px 2px 18px;
  border:1px solid #b47c14;
  border-radius:2px;
  background:
    linear-gradient(180deg,#fff9d8 0%,#ffe89a 58%,#f2c955 100%);
  color:#694708!important;
  font-weight:900;
  letter-spacing:.15px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(144,91,8,.18),
    2px 2px 0 rgba(91,61,11,.20);
  text-shadow:1px 1px 0 rgba(255,255,255,.72);
}
.rankTitle.founderRank .rankTitleFlavor:before{
  content:"✦";
  position:absolute;
  left:6px;
  top:50%;
  transform:translateY(-52%);
  color:#a86e08;
  font-size:10px;
  text-shadow:1px 1px 0 #fff6c8;
}
.rankTitle.founderRank .rankTitleFlavor:after{
  content:"";
  position:absolute;
  left:2px; right:2px; top:2px;
  height:1px;
  background:rgba(255,255,255,.82);
  pointer-events:none;
}

/* 창립멤버 칭호명 자체에도 작은 왕관 포인트 */
.rankTitle.founderRank + .rankName,
.founderRank ~ .rankName{
  text-shadow:1px 1px 0 rgba(255,231,145,.8);
}

/* 아주 작은 화면에서도 배지가 과하게 커지지 않게 */
@media(max-width:480px){
  .rankTitle.founderRank .rankTitleFlavor{
    padding:2px 6px 2px 16px;
    font-size:9px;
  }
  .rankTitle.founderRank .rankTitleFlavor:before{left:5px;font-size:9px}
}

body.theme-night .titleCard.founderTitle{
  background:linear-gradient(135deg,#4f4328,#6b592d 56%,#403720)!important;
  border-color:#e3bd58!important;
  color:#fff0b6!important;
}
body.theme-night .titleCard.founderTitle .titleCardName,
body.theme-night .titleCard.founderTitle .titleCardState{color:#ffe398!important}
body.theme-night .rankTitle.founderRank .rankTitleFlavor{
  background:#5c4a22;color:#ffe39b!important;border-color:#d9b650;
}
body.theme-night .rankTitle.founderRank .rankTitleFlavor{
  background:linear-gradient(180deg,#6c5726,#4d3c19)!important;
  color:#ffe6a0!important;
  border-color:#d8ae45!important;
  box-shadow:inset 0 1px 0 rgba(255,240,178,.18),2px 2px 0 rgba(0,0,0,.28)!important;
}
body.theme-night .rankTitle.founderRank .rankTitleFlavor:before{color:#ffd66e}

.rankTitle{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin-bottom:2px}
.rankTitle span{font-size:7px;color:#806c52}
.rankTitle b{font-size:10px;color:#567347}
.rankRow.me .rankTitle b{color:#355d35}
@media(max-width:560px){
  .titleList{grid-template-columns:1fr}
  .titleSettingsHead{flex-direction:column}
}
body.theme-night .titleCurrent,
body.theme-night .titleCard.unlocked{background:#40526a!important;border-color:#7f9b73!important;color:#fff2d1!important}
body.theme-night .titleCurrent .titleCurrentName,
body.theme-night .titleCard.unlocked .titleCardName{color:#e7f4bd!important}
body.theme-night .titleCard.locked{background:#313d4d!important;border-color:#5e6875!important;color:#aeb5bd!important}
body.theme-night .rankTitle span{color:#d7c6a9!important}
body.theme-night .rankTitle b{color:#dff0b6!important}


/* BETA v1 — 랭킹 칭호 표시 확정 */
.rankFarmer{min-width:0!important}
.rankTitle{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:1px!important;
  margin:0 0 4px!important;
  line-height:1.2!important;
}
.rankTitle .rankTitleFlavor{
  display:block!important;
  font-size:7px!important;
  font-weight:700!important;
  color:#8a755b!important;
  white-space:normal!important;
}
.rankPlayerName{display:block!important}
body.theme-night .rankTitle .rankTitleFlavor{color:#dbc7a5!important}


/* BETA v1 — 랭킹 칭호 표시: 설명 문구 + 농부 이름 */
.rankTitle .rankTitleFlavor{
  font-size:8px!important;
  font-weight:800!important;
  margin-bottom:1px!important;
}


/* BETA v1 — 랭킹 칭호 설명 문구 표시 보장 */
.rankFarmer .rankTitle{
  display:block!important;
  width:100%!important;
  margin:0 0 3px 0!important;
  padding:0!important;
  line-height:1!important;
}
.rankFarmer .rankTitle .rankTitleFlavor{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:8px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#7b684e!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.rankFarmer .rankPlayerName{
  display:block!important;
  margin-top:1px!important;
}
body.theme-night .rankFarmer .rankTitle .rankTitleFlavor{
  color:#ead8b7!important;
  -webkit-text-fill-color:#ead8b7!important;
}


/* BETA v1 — 농장 산책 영역 제거 / 현재 디스플레이 랜덤 반짝임 */
.idleViewportSparkle{
  position:fixed!important;
  z-index:1000!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff0a3!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  overflow:visible!important;
  filter:drop-shadow(0 1px 1px rgba(68,48,20,.65));
  animation:viewportSparkleFloat 1.25s ease-in-out infinite!important;
}
.idleViewportSparkle .idleSparkleMain{
  position:absolute!important;
  left:11px!important;
  top:8px!important;
  display:block!important;
  font-size:27px!important;
  line-height:27px!important;
  color:#fff3a6!important;
  -webkit-text-fill-color:#fff3a6!important;
  text-shadow:0 0 4px rgba(255,230,118,.95),0 0 9px rgba(255,244,183,.75)!important;
  animation:viewportSparklePulse .8s steps(2,end) infinite!important;
}
.idleViewportSparkle .idleSparkleTiny{
  position:absolute!important;
  display:block!important;
  color:#fffbe1!important;
  -webkit-text-fill-color:#fffbe1!important;
  text-shadow:0 0 4px rgba(255,239,156,.95)!important;
  pointer-events:none!important;
}
.idleViewportSparkle .s1{left:5px!important;top:3px!important;font-size:15px!important}
.idleViewportSparkle .s2{right:3px!important;top:2px!important;font-size:12px!important}
.idleViewportSparkle .s3{right:6px!important;bottom:4px!important;font-size:17px!important}
.idleViewportSparkle.event-rare .idleSparkleMain{
  color:#fff1ff!important;
  -webkit-text-fill-color:#fff1ff!important;
  text-shadow:0 0 5px rgba(246,185,255,.95),0 0 10px rgba(170,218,255,.9)!important;
}
@keyframes viewportSparkleFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-4px) scale(1.07)}
}
@keyframes viewportSparklePulse{
  0%,100%{opacity:.72;transform:rotate(0deg) scale(.9)}
  50%{opacity:1;transform:rotate(12deg) scale(1.16)}
}
@media(max-width:420px){
  .idleViewportSparkle{
    width:44px!important;height:44px!important;
    min-width:44px!important;min-height:44px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .idleViewportSparkle,
  .idleViewportSparkle .idleSparkleMain{animation:none!important}
}


/* BETA v1 — 참고 이미지 스타일의 픽셀 반짝임 */
.idleViewportSparkle{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
  animation:pixelSparkleFloat 1.1s steps(2,end) infinite!important;
}

/* 큰 + 모양 별 */
.pixelSparkleBig{
  position:absolute!important;
  left:11px!important;
  top:7px!important;
  width:32px!important;
  height:40px!important;
  display:block!important;
  image-rendering:pixelated!important;
  pointer-events:none!important;
}
.pixelSparkleBig .px{
  position:absolute!important;
  display:block!important;
  background:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
}
/* 세로 중심축 */
.pixelSparkleBig .p1{left:14px!important;top:0!important;width:4px!important;height:5px!important}
.pixelSparkleBig .p2{left:12px!important;top:7px!important;width:8px!important;height:7px!important}
.pixelSparkleBig .p3{left:10px!important;top:14px!important;width:12px!important;height:12px!important}
.pixelSparkleBig .p4{left:12px!important;top:26px!important;width:8px!important;height:7px!important}
.pixelSparkleBig .p5{left:14px!important;top:33px!important;width:4px!important;height:7px!important}
/* 가로 팔 */
.pixelSparkleBig .p6{left:0!important;top:18px!important;width:8px!important;height:5px!important}
.pixelSparkleBig .p7{left:24px!important;top:18px!important;width:8px!important;height:5px!important}
/* 양끝 작은 픽셀 */
.pixelSparkleBig .p8{left:-6px!important;top:18px!important;width:3px!important;height:4px!important}
.pixelSparkleBig .p9{right:-6px!important;top:18px!important;width:3px!important;height:4px!important}

/* 작은 십자 별 */
.pixelSparkleSmall{
  position:absolute!important;
  display:block!important;
  width:14px!important;
  height:14px!important;
  pointer-events:none!important;
  image-rendering:pixelated!important;
}
.pixelSparkleSmall i{
  position:absolute!important;
  display:block!important;
  background:#fff!important;
}
.pixelSparkleSmall i:nth-child(1){left:5px!important;top:0!important;width:4px!important;height:14px!important}
.pixelSparkleSmall i:nth-child(2){left:0!important;top:5px!important;width:14px!important;height:4px!important}
.pixelSparkleSmall i:nth-child(3){left:5px!important;top:-4px!important;width:4px!important;height:3px!important}
.pixelSparkleSmall i:nth-child(4){left:5px!important;bottom:-4px!important;width:4px!important;height:3px!important}
.pixelSparkleSmall i:nth-child(5){right:-4px!important;top:5px!important;width:3px!important;height:4px!important}

.pixelSparkleSmall.smallA{right:-3px!important;top:6px!important;transform:scale(.72)!important}
.pixelSparkleSmall.smallB{left:3px!important;bottom:1px!important;transform:scale(.56)!important}

@keyframes pixelSparkleFloat{
  0%,100%{transform:translateY(0);opacity:.72}
  50%{transform:translateY(-2px);opacity:1}
}

/* 희귀 이벤트도 색은 바꾸지 않고 동일한 순백 픽셀 별로 유지 */
.idleViewportSparkle.event-rare .pixelSparkleBig .px,
.idleViewportSparkle.event-rare .pixelSparkleSmall i{
  background:#fff!important;
}

@media(max-width:420px){
  .idleViewportSparkle{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .idleViewportSparkle{animation:none!important}
}


/* BETA v1 — 가늘어진 픽셀 반짝임 + 뒤쪽 은은한 광채 */
.idleViewportSparkle{
  width:46px!important;
  height:54px!important;
  min-width:46px!important;
  min-height:54px!important;
  overflow:visible!important;
}

/* 뒤쪽 광채: 뭉툭한 원이 아니라 작은 픽셀광이 퍼지는 느낌 */
.idleViewportSparkle::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:26px!important;
  height:26px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  background:rgba(255,246,190,.16)!important;
  box-shadow:
    0 0 4px rgba(255,246,190,.38),
    0 0 9px rgba(255,235,150,.28),
    0 0 15px rgba(255,227,120,.18)!important;
  pointer-events:none!important;
  animation:pixelGlowPulse 1s steps(2,end) infinite!important;
}

/* 큰 십자별을 좌우로 슬림하게 */
.pixelSparkleBig{
  left:10px!important;
  top:7px!important;
  width:26px!important;
  height:40px!important;
}

/* 중심 세로축은 유지, 가로축 폭만 줄임 */
.pixelSparkleBig .p1{left:11px!important;top:0!important;width:4px!important;height:5px!important}
.pixelSparkleBig .p2{left:9px!important;top:7px!important;width:8px!important;height:7px!important}
.pixelSparkleBig .p3{left:8px!important;top:14px!important;width:10px!important;height:12px!important}
.pixelSparkleBig .p4{left:9px!important;top:26px!important;width:8px!important;height:7px!important}
.pixelSparkleBig .p5{left:11px!important;top:33px!important;width:4px!important;height:7px!important}

/* 가로 팔 길이 축소 */
.pixelSparkleBig .p6{left:1px!important;top:18px!important;width:6px!important;height:4px!important}
.pixelSparkleBig .p7{left:19px!important;top:18px!important;width:6px!important;height:4px!important}

/* 양끝 픽셀도 안쪽으로 */
.pixelSparkleBig .p8{left:-3px!important;top:18px!important;width:2px!important;height:3px!important}
.pixelSparkleBig .p9{right:-3px!important;top:18px!important;width:2px!important;height:3px!important}

/* 작은 별도 약간 더 가늘게 */
.pixelSparkleSmall{
  width:12px!important;
  height:12px!important;
}
.pixelSparkleSmall i:nth-child(1){left:5px!important;top:0!important;width:3px!important;height:12px!important}
.pixelSparkleSmall i:nth-child(2){left:0!important;top:5px!important;width:12px!important;height:3px!important}
.pixelSparkleSmall i:nth-child(3){left:5px!important;top:-3px!important;width:3px!important;height:2px!important}
.pixelSparkleSmall i:nth-child(4){left:5px!important;bottom:-3px!important;width:3px!important;height:2px!important}
.pixelSparkleSmall i:nth-child(5){right:-3px!important;top:5px!important;width:2px!important;height:3px!important}

.pixelSparkleSmall.smallA{right:-1px!important;top:7px!important;transform:scale(.70)!important}
.pixelSparkleSmall.smallB{left:2px!important;bottom:2px!important;transform:scale(.52)!important}

@keyframes pixelGlowPulse{
  0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(.92)}
  50%{opacity:.85;transform:translate(-50%,-50%) scale(1.08)}
}

@media(max-width:420px){
  .idleViewportSparkle{
    width:42px!important;
    min-width:42px!important;
    height:50px!important;
    min-height:50px!important;
  }
}



/* ===== 창립멤버 특별칭호 FINAL UI FIX ===== */

/* Ranking badge: 특수문자 glyph를 쓰지 않고 CSS 픽셀 장식으로 표현 */
.rankTitle.founderRank{
  display:flex!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  justify-content:flex-start!important;
  align-items:center!important;
  margin:0 0 4px 0!important;
  line-height:1!important;
  overflow:visible!important;
}
.rankTitle.founderRank .rankTitleFlavor{
  position:relative!important;
  display:inline-flex!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:18px!important;
  min-height:18px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  overflow:visible!important;
  white-space:nowrap!important;
  line-height:12px!important;
  padding:2px 6px 2px 17px!important;
  border:2px solid #a87416!important;
  border-radius:0!important;
  background:#f7dc77!important;
  color:#60420b!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-shadow:1px 1px 0 #fff5bd!important;
  box-shadow:
    inset 0 2px 0 #fff2ac,
    inset 0 -2px 0 #d2a43a,
    2px 2px 0 rgba(91,61,11,.22)!important;
}

/* 기존 ✦ 문자를 완전히 제거 */
.rankTitle.founderRank .rankTitleFlavor:before{
  content:""!important;
  position:absolute!important;
  left:5px!important;
  top:5px!important;
  width:6px!important;
  height:6px!important;
  transform:none!important;
  background:
    linear-gradient(90deg,transparent 2px,#9b6810 2px,#9b6810 4px,transparent 4px),
    linear-gradient(0deg,transparent 2px,#9b6810 2px,#9b6810 4px,transparent 4px)!important;
  font-size:0!important;
  text-shadow:none!important;
}
.rankTitle.founderRank .rankTitleFlavor:after{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  right:2px!important;
  top:2px!important;
  height:2px!important;
  background:rgba(255,250,207,.75)!important;
  pointer-events:none!important;
}

/* Settings: 픽셀 스트라이프 + 계단식 하이라이트 */
.titleCard.founderTitle{
  position:relative!important;
  overflow:hidden!important;
  border:3px solid #9d6d18!important;
  border-radius:0!important;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255,255,255,.00) 0px,
      rgba(255,255,255,.00) 5px,
      rgba(255,255,255,.22) 5px,
      rgba(255,255,255,.22) 9px
    ),
    linear-gradient(180deg,#fff6c7 0%,#f6d96f 52%,#e9bf48 100%)!important;
  box-shadow:
    inset 0 0 0 2px #fff3ad,
    inset 0 -4px 0 rgba(141,91,8,.20),
    3px 3px 0 rgba(88,58,8,.24)!important;
}

/* 유니코드 왕관/별 대신 순수 CSS 픽셀 메달 */
.titleCard.founderTitle:before{
  content:""!important;
  position:absolute!important;
  right:10px!important;
  top:9px!important;
  width:16px!important;
  height:16px!important;
  background:
    linear-gradient(#a46d0b,#a46d0b) 6px 0/4px 16px no-repeat,
    linear-gradient(#a46d0b,#a46d0b) 0 6px/16px 4px no-repeat,
    linear-gradient(#fff4a9,#fff4a9) 6px 6px/4px 4px no-repeat!important;
  font-size:0!important;
  text-shadow:none!important;
  image-rendering:pixelated;
}
.titleCard.founderTitle:after{
  content:"FIRST 30"!important;
  position:absolute!important;
  right:7px!important;
  bottom:5px!important;
  padding:2px 4px!important;
  border:1px solid #a67417!important;
  background:#fff0a2!important;
  color:#78500d!important;
  font-size:7px!important;
  line-height:9px!important;
  letter-spacing:.5px!important;
  box-shadow:1px 1px 0 rgba(102,68,10,.22)!important;
}

/* 이름 앞의 폰트 의존 왕관 제거, 픽셀 라벨로 교체 */
.titleCard.founderTitle .titleCardName:before{
  content:"30"!important;
  display:inline-block!important;
  margin-right:5px!important;
  padding:1px 3px!important;
  border:1px solid #9f6c13!important;
  background:#6f4a0b!important;
  color:#fff1a9!important;
  font-size:8px!important;
  line-height:10px!important;
  vertical-align:1px!important;
  text-shadow:none!important;
}
.titleCard.founderTitle .titleCardName{
  color:#5d3d08!important;
  font-weight:900!important;
  text-shadow:1px 1px 0 #fff5bd!important;
}
.titleCard.founderTitle .titleCardState{
  color:#76500e!important;
}

/* night theme */
body.theme-night .rankTitle.founderRank .rankTitleFlavor{
  background:#5b481e!important;
  color:#ffe59a!important;
  border-color:#d1a541!important;
  text-shadow:1px 1px 0 #2f260f!important;
  box-shadow:inset 0 2px 0 #78622d,inset 0 -2px 0 #3c3015,2px 2px 0 rgba(0,0,0,.28)!important;
}
body.theme-night .rankTitle.founderRank .rankTitleFlavor:before{
  background:
    linear-gradient(90deg,transparent 2px,#ffd86b 2px,#ffd86b 4px,transparent 4px),
    linear-gradient(0deg,transparent 2px,#ffd86b 2px,#ffd86b 4px,transparent 4px)!important;
}
body.theme-night .titleCard.founderTitle{
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,0) 0 5px,rgba(255,225,129,.07) 5px 9px),
    linear-gradient(180deg,#5e4d26,#45391f)!important;
  border-color:#d2aa4b!important;
  box-shadow:inset 0 0 0 2px #76602c,inset 0 -4px 0 rgba(0,0,0,.18),3px 3px 0 rgba(0,0,0,.28)!important;
}
body.theme-night .titleCard.founderTitle .titleCardName,
body.theme-night .titleCard.founderTitle .titleCardState{color:#ffe39a!important}



/* 창립멤버 특별칭호도 일반 칭호와 동일한 좌측 시작선에 정렬 */
.rankTitle.founderRank{
  display:block!important;
  width:100%!important;
  margin:0 0 4px 0!important;
  padding:0!important;
  text-align:left!important;
}
.rankTitle.founderRank .rankTitleFlavor{
  display:inline-flex!important;
  margin:0!important;
  vertical-align:top!important;
}



/* ===== 반짝임 PNG 교체 전용 오버라이드 =====
   기존 동기화/랜딩/불러오기 로직에는 손대지 않음 */
.idleViewportSparkle {
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  min-height:72px!important;
  padding:0!important;
  border:0!important;
  background-color:transparent!important;
  background-image:url("../icon/embedded_030_3702c1aceb.png")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  box-shadow:none!important;
  overflow:visible!important;
  image-rendering:pixelated!important;
}
.idleViewportSparkle::before,
.idleViewportSparkle::after,
.idleViewportSparkle > * {
  display:none!important;
  content:none!important;
}


/* === imported exact landing page === */


*{box-sizing:border-box}
html,body,div,span,b,small,kbd,button,input,textarea,select,label{font-family:'Mona12',Arial,sans-serif}
html,body{margin:0;padding:0;background:#d8c49a;color:#332c23}
body{min-height:100%;font-size:17px}
#app{width:100%;max-width:700px;margin:0 auto;padding:10px}
.bar,.panel{background:#f4e4bd;border:2px solid #6c4a2f;border-radius:4px;box-shadow:2px 2px 0 #b99970}
.bar{display:table;width:100%;padding:10px 12px}
.barLeft,.barRight{display:table-cell;vertical-align:middle}
.barRight{text-align:right;white-space:nowrap}
.title{font-size:24px;font-weight:bold}
.small{font-size:14px;color:#746756}
.tiny{font-size:12px;color:#7b6d5d}
.coinIcon{width:22px;height:22px;vertical-align:-5px}
.panel{margin-top:10px;padding:10px}
.rowTable{display:table;width:100%}
.cell{display:table-cell;vertical-align:top}
.right{text-align:right}
.statLine{line-height:1.6}
#xpWrap{height:8px;background:#d8c8a8;border:1px solid #af956b;margin-top:4px}
#xpBar{height:100%;background:#78a65b;width:0%}
.tabs{white-space:nowrap;overflow-x:auto;margin-top:8px}
.tab{display:inline-block;padding:7px 11px;margin-right:5px;background:#eadab9;border:1px solid #b89e72;border-radius:3px;font-size:14px}
.tab.active{background:#7f9f59;color:white;border-color:#5f7c43}
.section{display:none}
.section.active{display:block}
.seedbar{white-space:nowrap;overflow-x:auto;overflow-y:hidden}
.seed{display:inline-block;vertical-align:top;width:88px;margin-right:6px;padding:6px;text-align:center;background:#fff0ce;border:1px solid #c5aa79;border-radius:4px;font-size:13px}
.seed.active{outline:3px solid #5a8a49;background:#edf7dc}
.seed.locked{opacity:.42}
.iconImg{display:block;width:37px;height:37px;margin:0 auto 4px}
#farm{margin-top:8px;overflow:hidden}
.plot{float:left;background:#98633f;border:2px solid #6f462d;border-radius:4px;position:relative;text-align:center;overflow:hidden}
.plot.locked{background:#8a8378;border-color:#665f57}
.plot.selected{outline:none}
.plot.ready{background:#ab744b}
.plot.gold{box-shadow:inset 0 0 0 4px #ffd84e}
.soil{position:absolute;left:6px;right:6px;top:50%;height:1px;background:#bd8967;box-shadow:0 -13px 0 #bd8967,0 13px 0 #bd8967}
.cropImg{position:absolute;z-index:2;width:52%;height:52%;left:24%;top:20%}
.lockImg{position:absolute;width:40%;height:40%;left:30%;top:26%;opacity:.85}
.plus{position:absolute;z-index:2;left:0;right:0;top:37%;font-size:20px;color:#ead0ad}
.prog{position:absolute;left:4px;right:4px;bottom:4px;height:5px;background:#6e4b36;z-index:3}
.prog i{display:block;height:100%;background:#9ecb73}
.clear{clear:both}
.help{margin-top:8px;background:#f4ecd9;border:1px dashed #a78b64;padding:8px;font-size:13px;line-height:1.6}
kbd{background:#fff;border:1px solid #aaa;border-bottom-width:2px;border-radius:3px;padding:2px 5px;font-size:12px}
.card{border:1px solid #ccb38b;background:#fff2d5;padding:9px;margin-top:7px;border-radius:3px}
.card.done{background:#e7f0dc;border-color:#8daa6e}
.card.locked{opacity:.5}
.card img{width:34px;height:34px;vertical-align:middle;margin-right:6px}
.btn{border:1px solid #5e7944;background:#789d57;color:#fff;padding:8px 11px;border-radius:3px;font-size:14px}
.btn.gray{background:#857765;border-color:#675d50}
.btn:disabled{opacity:.45}
.badge{display:inline-block;margin:3px;padding:4px 7px;background:#fff0ce;border:1px solid #c5aa79;border-radius:11px;font-size:13px}
.badge img{width:19px;height:19px;vertical-align:-5px;margin-right:3px}
.weatherBox{display:table;width:100%;background:#eef2e8;border:1px solid #bec9ae;padding:9px;border-radius:4px;margin-top:8px}
.weatherIcon{display:table-cell;width:60px;vertical-align:middle}
.weatherIcon img{width:50px;height:50px}
.weatherText{display:table-cell;vertical-align:middle}
.shopRow{display:table;width:100%;border-bottom:1px solid #ddcbaa;padding:9px 0}
.shopIcon,.shopText,.shopBtn{display:table-cell;vertical-align:middle}
.shopIcon{width:50px} .shopIcon img{width:41px;height:41px}
.shopBtn{width:108px;text-align:right}
.monthGrid{font-size:0;margin-top:6px}
.dayStamp{display:inline-block;width:9.5%;margin:.25%;padding:5px 0;text-align:center;border:1px solid #c8b48f;background:#f5e8ca;font-size:12px;border-radius:2px}
.dayStamp.done{background:#9bbb76;color:#fff;border-color:#78965c}
#toast{position:fixed;left:10%;right:10%;bottom:14px;background:#2d2923;color:white;padding:10px 12px;border-radius:4px;font-size:14px;text-align:center;opacity:0;z-index:99}
#toast.show{opacity:.95}

.iconImg,.cropImg,.lockImg,.coinIcon,.weatherIcon img,.shopIcon img,.badge img{
 image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:pixelated;
}
.bar,.panel,.card,.seed,.tab,.btn,.weatherBox,.badge,.dayStamp,.plot{border-radius:0!important}
.bar,.panel{box-shadow:3px 3px 0 #98764f}.tab,.btn,.seed,.card,.badge{box-shadow:1px 1px 0 #9c805b}
.plot{box-shadow:inset 2px 2px 0 rgba(255,255,255,.10)}.plot.selected{outline:none;box-shadow:inset 0 0 0 4px #ffe66b,inset 2px 2px 0 rgba(255,255,255,.10)}

.iconImg,.cropImg,.lockImg,.coinIcon,.weatherIcon img,.shopIcon img,.badge img{
 image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;
}

/* v11: 64px pixel tile environment */
body {
  background-color:#8fb160;
  background-image:url("../icon/img_001.png");
  background-repeat:repeat;
  image-rendering:pixelated;
}
.bar,.panel {
  background-color:#f4e4bd;
  background-image:url("../icon/img_002.png");
  background-repeat:repeat;
  border:3px solid #6c4a2f !important;
  box-shadow:4px 4px 0 #6f5438 !important;
}
#farmSec .panel {
  position:relative;
  background-color:#94b86c;
  background-image:url("../icon/img_001.png");
  background-repeat:repeat;
}
#farmSec .panel:after {
  content:"";
  display:block;
  height:26px;
  margin-top:8px;
  background-image:url("../icon/img_004.png");
  background-repeat:repeat-x;
  background-size:64px 64px;
  background-position:left -17px;
  image-rendering:pixelated;
}
.plot {
  background-color:#97603a !important;
  background-image:url("../icon/img_005.png") !important;
  background-repeat:repeat !important;
  background-size:64px 64px !important;
  border:3px solid #69442f !important;
}
.plot.locked {
  background-color:#6d675b !important;
  background-image:url("../icon/img_006.png") !important;
  border-color:#514c43 !important;
}
.plot.ready {
  filter:brightness(1.05);
}
.soil {
  display:none !important;
}
.weatherBox,.card,.seed,.badge,.shopRow {
  image-rendering:pixelated;
}


/* v12 seasonal 3-tone pixel environment */
body.season-spring{background-image:url("../icon/img_007.png")}
body.season-summer{background-image:url("../icon/img_008.png")}
body.season-autumn{background-image:url("../icon/img_009.png")}
body.season-winter{background-image:url("../icon/img_010.png")}
body.season-spring #farmSec .panel{background-image:url("../icon/img_007.png")}
body.season-summer #farmSec .panel{background-image:url("../icon/img_008.png")}
body.season-autumn #farmSec .panel{background-image:url("../icon/img_009.png")}
body.season-winter #farmSec .panel{background-image:url("../icon/img_010.png")}
body.season-spring .plot{background-image:url("../icon/img_015.png")!important}
body.season-summer .plot{background-image:url("../icon/img_016.png")!important}
body.season-autumn .plot{background-image:url("../icon/img_017.png")!important}
body.season-winter .plot{background-image:url("../icon/img_018.png")!important}
body.season-spring #farmSec .panel:after{background-image:url("../icon/img_019.png")}
body.season-summer #farmSec .panel:after{background-image:url("../icon/img_020.png")}
body.season-autumn #farmSec .panel:after{background-image:url("../icon/img_021.png")}
body.season-winter #farmSec .panel:after{background-image:url("../icon/img_022.png")}
/* 3-step shading on crops: shadow, base, highlight */
.cropImg{filter:drop-shadow(2px 3px 0 rgba(55,42,31,.48)) drop-shadow(-1px -1px 0 rgba(255,239,184,.30))}
.seed .iconImg,.shopIcon img,.weatherIcon img{filter:drop-shadow(2px 2px 0 rgba(70,52,37,.32))}


/* v13: lightweight seasonal pixel particles */
#seasonFx{
  position:fixed;
  left:0;top:0;right:0;bottom:0;
  pointer-events:none;
  overflow:hidden;
  z-index:50;
}
.fxParticle{
  position:absolute;
  width:6px;height:6px;
  image-rendering:pixelated;
  opacity:.72;
}
.fx-spring{
  background:#f3a8b8;
  box-shadow:4px 2px 0 #ffd0da,-2px 4px 0 #d9829a;
}
.fx-summer{
  width:4px;height:4px;
  background:#f6e86a;
  box-shadow:0 0 0 2px rgba(246,232,106,.16);
  opacity:.78;
}
.fx-autumn{
  width:7px;height:5px;
  background:#c76f32;
  box-shadow:3px 2px 0 #e6a13f,-2px 3px 0 #8f4f2a;
}
.fx-winter{
  width:5px;height:5px;
  background:#f5fbff;
  box-shadow:2px 2px 0 #cbdde8;
  opacity:.82;
}
@media (prefers-reduced-motion: reduce){
  .fxParticle{display:none!important}
}


/* v14: seed selector visually separated from the farm */
.seedPanel{
  background:#f2dfb2;
  border:3px solid #7a5738;
  box-shadow:3px 3px 0 #8f6d49;
  padding:8px;
  margin-bottom:10px;
  background-image:
    linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)),
    repeating-linear-gradient(
      0deg,
      rgba(120,84,48,.05) 0,
      rgba(120,84,48,.05) 2px,
      transparent 2px,
      transparent 6px
    );
}
.seedTitle{
  display:inline-block;
  background:#d8b875;
  border:2px solid #7a5738;
  padding:3px 7px;
  margin:-2px 0 7px 0;
  color:#4c3828;
}
.seedbar{
  padding:3px 1px 4px 1px;
}
.seed{
  background:#f7e9c9 !important;
  border:2px solid #9a744a !important;
}
.seed.active{
  background:#e4efc3 !important;
  box-shadow:inset 0 0 0 3px #6f954f,2px 2px 0 #8f6d49 !important;
}
.seed.locked{
  background:#d8c6a6 !important;
}


.cropSign{position:absolute;z-index:5;left:3px;top:3px;padding:2px 4px;background:#b98149;color:#fff3c8;border:2px solid #67442d;font-size:11px;line-height:1;white-space:nowrap;max-width:78%;overflow:hidden}
.cropSign.goldCrop{background:#c89428;color:#fff7c4;border-color:#76531d}
.goldTag{font-size:9px;color:#fff0a1}
.fundTitle{margin-top:9px;padding-top:6px;border-top:2px solid #b89b70}

.seasonTag{
  display:inline-block;
  margin-top:2px;
  padding:1px 4px;
  border:1px solid #9b7b55;
  background:#dcc9a1;
  color:#5b4935;
  font-size:9px;
  line-height:1.2;
}
.seasonTag.current{
  background:#8eaf67;
  border-color:#5c7c43;
  color:#fffbe7;
}


.remainTime{
  position:absolute;
  z-index:6;
  left:3px;
  right:3px;
  bottom:7px;
  padding:2px 1px;
  text-align:center;
  background:rgba(55,42,31,.78);
  color:#fff8dc;
  border:1px solid rgba(255,244,204,.65);
  font-size:9px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
}
.plot.ready .remainTime{
  background:#6f8f48;
  color:#fffde7;
}


/* v17.6 visual polish — BB10-safe pixel styling */
:root{}

/* 전체 패널에 픽셀식 3단계 명암 */
.bar,.panel,.seedPanel,.progressPanel{
  border-width:3px !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.12),
    3px 3px 0 rgba(73,53,36,.48) !important;
}

/* 탭도 눌린 도트 버튼처럼 */
.tab{
  border-width:2px !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.22),2px 2px 0 rgba(78,56,38,.35) !important;
}
.tab.active{
  box-shadow:inset 0 -2px 0 rgba(55,84,42,.45),1px 1px 0 rgba(61,79,44,.35) !important;
  transform:translate(1px,1px);
}

/* 씨앗 카드를 더 게임 아이템 슬롯처럼 */
.seed{
  position:relative;
  border-width:2px !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.28),
    inset 0 -2px 0 rgba(116,82,48,.10),
    2px 2px 0 rgba(91,66,44,.28) !important;
}
.seed.active{
  outline:none !important;
  box-shadow:
    inset 0 0 0 3px #709350,
    inset 0 2px 0 rgba(255,255,255,.32),
    2px 2px 0 rgba(67,89,49,.40) !important;
}
.seed .iconImg{
  width:42px !important;
  height:42px !important;
  filter:
    drop-shadow(2px 3px 0 rgba(62,46,34,.45))
    drop-shadow(-1px -1px 0 rgba(255,244,194,.20));
}

/* 밭 타일 자체를 조금 더 입체적으로 */
.plot{
  border-width:3px !important;
  box-shadow:
    inset 0 3px 0 rgba(255,255,255,.08),
    inset 0 -3px 0 rgba(76,47,31,.20),
    2px 2px 0 rgba(66,44,30,.28) !important;
}
.plot.ready{
  box-shadow:
    inset 0 0 0 3px rgba(193,223,118,.28),
    inset 0 3px 0 rgba(255,255,255,.10),
    2px 2px 0 rgba(66,44,30,.28) !important;
}
.plot.selected{
  outline:none !important;
  box-shadow:
    inset 0 0 0 4px #ffe66b,
    inset 0 0 0 6px rgba(112,83,39,.45),
    2px 2px 0 rgba(66,44,30,.28) !important;
}

/* 작물 스프라이트를 한 단계 더 크게, 명암 강조 */
.cropImg{
  width:58% !important;
  height:58% !important;
  left:21% !important;
  top:18% !important;
  filter:
    drop-shadow(3px 4px 0 rgba(58,42,31,.48))
    drop-shadow(-1px -1px 0 rgba(255,244,190,.22));
}

/* 성장중일 때 약간 어둡고, 다 자라면 선명하게 */
.plot:not(.ready) .cropImg{opacity:.94}
.plot.ready .cropImg{
  filter:
    drop-shadow(3px 4px 0 rgba(58,42,31,.50))
    drop-shadow(-1px -1px 0 rgba(255,248,196,.32));
}

/* 작물 팻말을 나무판 느낌으로 */
.cropSign{
  background:#b67e46 !important;
  color:#fff1c7 !important;
  border:2px solid #5f402a !important;
  box-shadow:
    inset 0 2px 0 #dca66d,
    inset 0 -2px 0 #8f5d34,
    2px 2px 0 rgba(64,43,29,.35) !important;
  text-shadow:1px 1px 0 #6a482f;
  padding:2px 4px 3px !important;
}
.cropSign.goldCrop{
  background:#c89428 !important;
  border-color:#70501d !important;
  box-shadow:
    inset 0 2px 0 #f4d86e,
    inset 0 -2px 0 #9f701f,
    2px 2px 0 rgba(70,49,25,.38) !important;
}

/* 남은시간은 LCD처럼 읽기 쉽게 */
.remainTime{
  background:rgba(45,36,29,.86) !important;
  color:#fff7d9 !important;
  border:1px solid #d8c393 !important;
  text-shadow:1px 1px 0 #2f251f;
  padding:2px 2px !important;
}
.plot.ready .remainTime{
  background:#658548 !important;
  border-color:#dceab9 !important;
}

/* 성장바도 3단계 픽셀 */
.prog{
  height:7px !important;
  border:1px solid #4c3225 !important;
  background:#5d3c2b !important;
}
.prog i{
  background:#8fbd68 !important;
  box-shadow:inset 0 2px 0 #b8db8f,inset 0 -2px 0 #628b49;
}

/* 날씨 패널도 도트 게임 HUD처럼 */
.weatherBox{
  border-width:2px !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.28),2px 2px 0 rgba(83,70,51,.20);
}
.weatherIcon img{
  filter:
    drop-shadow(2px 2px 0 rgba(74,60,44,.30))
    drop-shadow(-1px -1px 0 rgba(255,255,255,.28));
}

/* 상점 행도 카드형으로 */
.shopRow{
  margin-top:5px;
  padding:7px !important;
  border:2px solid #b79a70 !important;
  background:rgba(255,244,216,.58);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.20);
}
.shopIcon img{
  width:44px !important;
  height:44px !important;
  filter:drop-shadow(2px 2px 0 rgba(67,50,37,.32));
}

/* 버튼 */
.btn{
  border-width:2px !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.22),2px 2px 0 rgba(58,76,42,.35) !important;
}
.btn:active{
  transform:translate(1px,1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),1px 1px 0 rgba(58,76,42,.30) !important;
}

/* 도감/업적 뱃지 */
.badge{
  box-shadow:inset 0 2px 0 rgba(255,255,255,.18),1px 1px 0 rgba(90,67,44,.22) !important;
}


#farm{
  position:relative;
  padding:4px 4px 2px 4px;
  border:2px solid rgba(91,68,44,.38);
  background:rgba(83,117,57,.10);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.05);
}
#farm:before,#farm:after{
  content:"";
  position:absolute;
  z-index:1;
  width:6px;height:6px;
  background:#d8c36a;
  box-shadow:8px 4px 0 #8fb269,16px 0 0 #c57c49;
  opacity:.55;
}
#farm:before{left:3px;top:-7px}
#farm:after{right:20px;bottom:-6px}


/* v17.7 high-detail crop sprite integration */
#farm{box-sizing:border-box!important;overflow:hidden!important}
.plot{box-sizing:border-box!important}
.cropImg{
  width:62%!important;
  height:62%!important;
  left:19%!important;
  top:17%!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  filter:
    drop-shadow(2px 2px 0 rgba(88,62,41,.20))
    drop-shadow(-1px -1px 0 rgba(255,242,184,.20))!important;
}
.seed .iconImg{
  width:46px!important;
  height:46px!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  filter:
    drop-shadow(1px 2px 0 rgba(88,62,41,.18))
    drop-shadow(-1px -1px 0 rgba(255,244,194,.20))!important;
}


/* v17.8 — 100x100 rich crop sprite source */
.cropImg{
  width:64%!important;
  height:64%!important;
  left:18%!important;
  top:16%!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
}
.seed .iconImg{
  width:50px!important;
  height:50px!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
}


.cropImg,.seed .iconImg{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}

/* v17.10 — 64x64 logical pixel art, 2x nearest output */
.cropImg,.seed .iconImg{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}


.cropImg,.seed .iconImg{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}

#seeds{max-height:330px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.seed{box-sizing:border-box}

/* v17.17 themes + day/night + weather */
#dayShade{position:fixed;left:0;top:0;right:0;bottom:0;z-index:80;pointer-events:none;background:#102044;opacity:0;transition:background-color 2.5s linear,opacity 2.5s linear;-webkit-transition:background-color 2.5s linear,opacity 2.5s linear}
#weatherFx{position:fixed;left:0;top:0;right:0;bottom:0;overflow:hidden;z-index:79;pointer-events:none}
.rainDrop{position:absolute;top:-18px;width:2px;height:14px;background:rgba(190,220,255,.68);box-shadow:1px 0 0 rgba(255,255,255,.20)}
.themeTitle{margin-top:10px;padding-top:7px;border-top:2px solid #b89b70;font-weight:bold}
.themeTag{display:inline-block;font-size:9px;padding:1px 4px;margin-left:4px;border:1px solid #8d7457;background:#efe2c5}
.themeTag.on{background:#809c62;color:#fff;border-color:#5d7848}

/* Default / Berry / Mint / Night / Peach */
body.theme-default .bar{background:#f3dfb7}
body.theme-default .panel{background-color:#f8edcf}

body.theme-berry{background-color:#f3e5ec!important}
body.theme-berry .bar{background:#e9c5d4!important;border-color:#8b566c!important}
body.theme-berry .panel,body.theme-berry .seedPanel{background-color:#f8e8ef!important;border-color:#9d6b7d!important}
body.theme-berry .tab.active,body.theme-berry .btn{background:#b86f8a!important;border-color:#754759!important}
body.theme-berry .seed.active{box-shadow:inset 0 0 0 3px #b86f8a,2px 2px 0 #8f6d49!important}

body.theme-mint{background-color:#e8f1e6!important}
body.theme-mint .bar{background:#c9dfc3!important;border-color:#57785b!important}
body.theme-mint .panel,body.theme-mint .seedPanel{background-color:#edf6e8!important;border-color:#719173!important}
body.theme-mint .tab.active,body.theme-mint .btn{background:#719f78!important;border-color:#4c6f52!important}

body.theme-night{background-color:#253247!important}
body.theme-night .bar{background:#34445d!important;color:#f4e8c9!important;border-color:#182236!important}
body.theme-night .panel,body.theme-night .seedPanel{background-color:#40516a!important;color:#fff2d4!important;border-color:#1d2a3d!important}
body.theme-night .small,body.theme-night .tiny{color:#e7dbc2!important}
body.theme-night .tab,body.theme-night .seed,body.theme-night .shopRow{background:#52647d!important;color:#fff2d4!important;border-color:#243249!important}
body.theme-night .tab.active,body.theme-night .btn{background:#6d7f9a!important;border-color:#26364d!important;color:#fff!important}

body.theme-peach{background-color:#f8eee3!important}
body.theme-peach .bar{background:#f2cfb5!important;border-color:#a46e53!important}
body.theme-peach .panel,body.theme-peach .seedPanel{background-color:#fff0df!important;border-color:#b98062!important}
body.theme-peach .tab.active,body.theme-peach .btn{background:#d8926f!important;border-color:#925f48!important}


.cloudPanel{margin-top:10px;padding-top:8px;border-top:2px solid #b89b70}
.cloudPanel input{width:100%;box-sizing:border-box;padding:6px;border:2px solid #9b7b55;background:#fff8e8;font-family:inherit}
.cloudPanel .btn{margin-top:5px;margin-right:4px}
#cloudStatus{margin-top:6px;padding:5px;background:#f3e7c8;border:1px solid #bda57b;font-size:10px}


/* v17.21 theme readability pass */
body{--uiText:#3d3329;--uiMuted:#654b32;--uiStrong:#2d241c;--uiOnAccent:#fff8e8;--uiInput:#fff8e8;--uiInputText:#352b22}
body .panel,body .seedPanel,body .shopRow,body .weatherBox{color:var(--uiText)}
body .small,body .tiny,body #serviceStatus{color:var(--uiMuted)!important}
body .panel b,body .seedPanel b,body .shopRow b,body .weatherBox b{color:var(--uiStrong)}
body .tab.active,body .btn{color:var(--uiOnAccent)!important;text-shadow:0 1px 0 rgba(0,0,0,.25)}
body input,body textarea{background:var(--uiInput)!important;color:var(--uiInputText)!important}
body kbd{color:#3b3026!important;background:#fffaf0!important;border-color:#9c7b53!important;text-shadow:none!important}

/* Default: warmer ink, less washed-out secondary copy */
body.theme-default{--uiText:#463525;--uiMuted:#715438;--uiStrong:#2f241b;--uiOnAccent:#fff9e8}

/* Berry: dark plum ink */
body.theme-berry{--uiText:#563243;--uiMuted:#74465a;--uiStrong:#3b202d;--uiOnAccent:#fff7fa;--uiInput:#fff5f8;--uiInputText:#482735}

/* Mint: deep forest ink */
body.theme-mint{--uiText:#304a35;--uiMuted:#496950;--uiStrong:#203526;--uiOnAccent:#fffdf2;--uiInput:#f8fff4;--uiInputText:#29432f}

/* Night: explicitly brighten every common text surface */
body.theme-night{--uiText:#fff1cf;--uiMuted:#eadbb7;--uiStrong:#fff8df;--uiOnAccent:#ffffff;--uiInput:#2f3e55;--uiInputText:#fff5dc}
body.theme-night .weatherBox,
body.theme-night .help,
body.theme-night #xpWrap,
body.theme-night #cloudStatus{background-color:#34455f!important;color:#fff1cf!important;border-color:#18263a!important}
body.theme-night kbd{background:#f3e4bf!important;color:#27354a!important;border-color:#18263a!important}
body.theme-night input,body.theme-night textarea{border-color:#18263a!important}

/* Peach: cocoa ink instead of pale cream text */
body.theme-peach{--uiText:#5b382a;--uiMuted:#7b4e3b;--uiStrong:#40261d;--uiOnAccent:#fffaf1;--uiInput:#fff8ef;--uiInputText:#4c2d23}

/* Make informational cards readable regardless of season overlay */
.weatherText,.weatherText .small{opacity:1!important}
#dayShade{pointer-events:none}


.themePreview{display:inline-block;width:42px;height:14px;margin-left:5px;vertical-align:middle;border:1px solid rgba(0,0,0,.35)}
.themePreview.default{background:#f3dfb7}
.themePreview.berry{background:#e9c5d4}
.themePreview.mint{background:#c9dfc3}
.themePreview.night{background:#34445d}
.themePreview.peach{background:#f2cfb5}


/* v17.22 full contrast audit — BB10 safe, no CSS variables */

/* ---------- top farm info card ---------- */
body #app > .panel{
  background-color:#f3e6c4!important;
  color:#3a2d21!important;
  border-color:#6d5137!important;
}
body #app > .panel .cell,
body #app > .panel #levelTitle,
body #app > .panel #seasonName,
body #app > .panel #weatherName{
  color:#33271d!important;
  text-shadow:none!important;
}
body #app > .panel .small,
body #app > .panel .tiny,
body #app > .panel #weatherDesc{
  color:#684f38!important;
  opacity:1!important;
  text-shadow:none!important;
}
body #app > .panel .weatherBox{
  background:#f7f0df!important;
  border-color:#8d7558!important;
  color:#33271d!important;
}
body #app > .panel #xpWrap{
  background:#d9c9a9!important;
  border-color:#947858!important;
}
body #app > .panel #xpBar{background:#668f4b!important}

/* ---------- shared light surfaces ---------- */
body .seed,
body .shopRow,
body .badge,
body .help,
body .dayStamp,
body #cloudStatus{
  color:#443426!important;
}
body .seed .tiny,
body .shopRow .tiny,
body .help,
body #cloudStatus{
  color:#68523d!important;
  opacity:1!important;
}

/* ---------- DEFAULT ---------- */
body.theme-default #app > .panel{
  background:#f3e4bd!important;color:#392c21!important;border-color:#6c4a2f!important
}
body.theme-default #app > .panel .small,
body.theme-default #app > .panel .tiny,
body.theme-default #app > .panel #weatherDesc{color:#6b513b!important}
body.theme-default #app > .panel .weatherBox{background:#f7efdc!important;color:#36291f!important}

/* ---------- BERRY ---------- */
body.theme-berry #app > .panel{
  background:#f7e4eb!important;color:#4e2d3b!important;border-color:#8b566c!important
}
body.theme-berry #app > .panel .cell,
body.theme-berry #app > .panel #levelTitle,
body.theme-berry #app > .panel #seasonName,
body.theme-berry #app > .panel #weatherName{color:#462534!important}
body.theme-berry #app > .panel .small,
body.theme-berry #app > .panel .tiny,
body.theme-berry #app > .panel #weatherDesc{color:#75475b!important}
body.theme-berry #app > .panel .weatherBox{background:#fff2f6!important;color:#462534!important;border-color:#a9778a!important}
body.theme-berry #app > .panel #xpWrap{background:#dfc3cf!important;border-color:#a9778a!important}
body.theme-berry #app > .panel #xpBar{background:#a85f7a!important}
body.theme-berry .seed,body.theme-berry .shopRow,body.theme-berry .badge,body.theme-berry .help{
  color:#512f3d!important
}
body.theme-berry .seed .tiny,body.theme-berry .shopRow .tiny,body.theme-berry .help{color:#75475b!important}

/* ---------- MINT ---------- */
body.theme-mint #app > .panel{
  background:#e9f2e5!important;color:#29422f!important;border-color:#57785b!important
}
body.theme-mint #app > .panel .cell,
body.theme-mint #app > .panel #levelTitle,
body.theme-mint #app > .panel #seasonName,
body.theme-mint #app > .panel #weatherName{color:#233a29!important}
body.theme-mint #app > .panel .small,
body.theme-mint #app > .panel .tiny,
body.theme-mint #app > .panel #weatherDesc{color:#4d6b53!important}
body.theme-mint #app > .panel .weatherBox{background:#f4faef!important;color:#233a29!important;border-color:#78987a!important}
body.theme-mint #app > .panel #xpWrap{background:#c9dcc4!important;border-color:#78987a!important}
body.theme-mint #app > .panel #xpBar{background:#5e9166!important}
body.theme-mint .seed,body.theme-mint .shopRow,body.theme-mint .badge,body.theme-mint .help{color:#304b35!important}
body.theme-mint .seed .tiny,body.theme-mint .shopRow .tiny,body.theme-mint .help{color:#4d6b53!important}

/* ---------- PEACH ---------- */
body.theme-peach #app > .panel{
  background:#faeadc!important;color:#573527!important;border-color:#a46e53!important
}
body.theme-peach #app > .panel .cell,
body.theme-peach #app > .panel #levelTitle,
body.theme-peach #app > .panel #seasonName,
body.theme-peach #app > .panel #weatherName{color:#4a2c21!important}
body.theme-peach #app > .panel .small,
body.theme-peach #app > .panel .tiny,
body.theme-peach #app > .panel #weatherDesc{color:#7a4e3b!important}
body.theme-peach #app > .panel .weatherBox{background:#fff5eb!important;color:#4a2c21!important;border-color:#ba8569!important}
body.theme-peach #app > .panel #xpWrap{background:#e7cbb8!important;border-color:#ba8569!important}
body.theme-peach #app > .panel #xpBar{background:#c47c5b!important}
body.theme-peach .seed,body.theme-peach .shopRow,body.theme-peach .badge,body.theme-peach .help{color:#5c382a!important}
body.theme-peach .seed .tiny,body.theme-peach .shopRow .tiny,body.theme-peach .help{color:#7a4e3b!important}

/* ---------- NIGHT ---------- */
body.theme-night #app > .panel{
  background:#34465f!important;color:#fff4d7!important;border-color:#172439!important
}
body.theme-night #app > .panel .cell,
body.theme-night #app > .panel #levelTitle,
body.theme-night #app > .panel #seasonName,
body.theme-night #app > .panel #weatherName{color:#fff7df!important}
body.theme-night #app > .panel .small,
body.theme-night #app > .panel .tiny,
body.theme-night #app > .panel #weatherDesc{color:#e6d6b4!important}
body.theme-night #app > .panel .weatherBox{background:#293951!important;color:#fff7df!important;border-color:#172439!important}
body.theme-night #app > .panel #xpWrap{background:#223149!important;border-color:#172439!important}
body.theme-night #app > .panel #xpBar{background:#91b67c!important}
body.theme-night .seed,body.theme-night .shopRow,body.theme-night .badge,body.theme-night .help{
  background:#455a74!important;color:#fff1cf!important;border-color:#243249!important
}
body.theme-night .seed .tiny,body.theme-night .shopRow .tiny,body.theme-night .help{color:#e5d5b4!important}
body.theme-night #cloudStatus{background:#293951!important;color:#e9d9ba!important;border-color:#172439!important}

/* Prevent old theme inheritance from washing out info text */
body #app > .panel *{opacity:1}
body #app > .panel img{opacity:1}

/* Time tint should be subtle enough that text stays readable */
#dayShade{max-opacity:.18}


/* v17.23 도감 > 기록 패널 전용 보정 */
#bookSec .panel{
  background:#f3e6c4!important;
  color:#3b2c20!important;
  border-color:#705238!important;
}
#bookSec .panel>b{color:#2e2118!important;text-shadow:none!important}
#bookSec #stats,
#bookSec .statLine{
  display:block!important;
  background:#fff8e8!important;
  color:#3b2c20!important;
  border:2px solid #9a7955!important;
  padding:8px!important;
  line-height:1.65!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* 기록/도감/업적까지 테마별 패널색 통일 */
body.theme-berry #bookSec .panel{background:#f6e2ea!important;color:#4b2938!important;border-color:#8b566c!important}
body.theme-berry #bookSec #stats{background:#fff4f8!important;color:#4b2938!important;border-color:#a9778a!important}

body.theme-mint #bookSec .panel{background:#e7f1e3!important;color:#263e2c!important;border-color:#57785b!important}
body.theme-mint #bookSec #stats{background:#f7fff3!important;color:#263e2c!important;border-color:#78987a!important}

body.theme-peach #bookSec .panel{background:#fae7d8!important;color:#513124!important;border-color:#a46e53!important}
body.theme-peach #bookSec #stats{background:#fff6ed!important;color:#513124!important;border-color:#ba8569!important}

body.theme-night #bookSec .panel{background:#34465f!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night #bookSec .panel>b{color:#fff8df!important}
body.theme-night #bookSec #stats{
  background:#26374f!important;color:#fff2cf!important;border-color:#152238!important
}

/* 기록 탭의 흐린 opacity 상속 방지 */
#bookSec #stats,#bookSec #stats *{opacity:1!important}


/* v17.24 오늘/상점 패널 가독성 전면 보정 */

/* ===== 상점 ===== */
#shopSec .panel{
  background:#f3e6c4!important;
  color:#3b2c20!important;
  border-color:#705238!important;
}
#shopSec .panel>b,
#shopSec .shopRow b,
#shopSec .themeTitle{
  color:#2f2118!important;
  text-shadow:none!important;
}
#shopSec .panel>.small,
#shopSec .shopRow .tiny,
#shopSec .cloudPanel .tiny{
  color:#6b513b!important;
  opacity:1!important;
  text-shadow:none!important;
}
#shopSec .shopRow{
  background:#fff8e8!important;
  color:#3b2c20!important;
  border-color:#9a7955!important;
}
#shopSec .cloudPanel{
  background:#f8eed9!important;
  border-color:#9a7955!important;
  color:#3b2c20!important;
  padding:8px!important;
}
#shopSec .cloudPanel input,
#shopSec .cloudPanel textarea{
  background:#fffdf7!important;
  color:#3b2c20!important;
  border-color:#9a7955!important;
}
#shopSec #cloudStatus{
  background:#fff8e8!important;
  color:#604832!important;
  border-color:#b3946d!important;
}

/* ===== 오늘 ===== */
#questSec .panel{
  background:#f3e6c4!important;
  color:#3b2c20!important;
  border-color:#705238!important;
}
#questSec .panel>b{
  color:#2f2118!important;
  text-shadow:none!important;
}
#questSec .panel>.small,
#questSec #monthReward{
  color:#6b513b!important;
  opacity:1!important;
  text-shadow:none!important;
}
#questSec .card{
  background:#fff8e8!important;
  color:#3b2c20!important;
  border-color:#9a7955!important;
}
#questSec .card b{color:#2f2118!important}
#questSec .card .small{
  color:#6b513b!important;
  opacity:1!important;
}
#questSec .dayStamp{
  background:#fff8e8!important;
  color:#4b3929!important;
  border-color:#9a7955!important;
}
#questSec .dayStamp.done{
  background:#71965d!important;
  color:#fff9e8!important;
  border-color:#4f6f40!important;
}

/* ===== 딸기우유 ===== */
body.theme-berry #shopSec .panel,
body.theme-berry #questSec .panel{
  background:#f6e2ea!important;color:#4b2938!important;border-color:#8b566c!important
}
body.theme-berry #shopSec .shopRow,
body.theme-berry #questSec .card,
body.theme-berry #questSec .dayStamp{
  background:#fff4f8!important;color:#4b2938!important;border-color:#a9778a!important
}
body.theme-berry #shopSec .shopRow .tiny,
body.theme-berry #shopSec .panel>.small,
body.theme-berry #questSec .card .small,
body.theme-berry #questSec .panel>.small,
body.theme-berry #questSec #monthReward{color:#75475b!important}
body.theme-berry #questSec .dayStamp.done{background:#b86f8a!important;color:#fff8fb!important;border-color:#754759!important}
body.theme-berry #shopSec .cloudPanel,
body.theme-berry #shopSec #cloudStatus{background:#fff0f5!important;color:#4b2938!important;border-color:#a9778a!important}

/* ===== 민트새싹 ===== */
body.theme-mint #shopSec .panel,
body.theme-mint #questSec .panel{
  background:#e7f1e3!important;color:#263e2c!important;border-color:#57785b!important
}
body.theme-mint #shopSec .shopRow,
body.theme-mint #questSec .card,
body.theme-mint #questSec .dayStamp{
  background:#f7fff3!important;color:#263e2c!important;border-color:#78987a!important
}
body.theme-mint #shopSec .shopRow .tiny,
body.theme-mint #shopSec .panel>.small,
body.theme-mint #questSec .card .small,
body.theme-mint #questSec .panel>.small,
body.theme-mint #questSec #monthReward{color:#4d6b53!important}
body.theme-mint #questSec .dayStamp.done{background:#719f78!important;color:#fffdf2!important;border-color:#4c6f52!important}
body.theme-mint #shopSec .cloudPanel,
body.theme-mint #shopSec #cloudStatus{background:#f2faee!important;color:#263e2c!important;border-color:#78987a!important}

/* ===== 복숭아노을 ===== */
body.theme-peach #shopSec .panel,
body.theme-peach #questSec .panel{
  background:#fae7d8!important;color:#513124!important;border-color:#a46e53!important
}
body.theme-peach #shopSec .shopRow,
body.theme-peach #questSec .card,
body.theme-peach #questSec .dayStamp{
  background:#fff6ed!important;color:#513124!important;border-color:#ba8569!important
}
body.theme-peach #shopSec .shopRow .tiny,
body.theme-peach #shopSec .panel>.small,
body.theme-peach #questSec .card .small,
body.theme-peach #questSec .panel>.small,
body.theme-peach #questSec #monthReward{color:#7a4e3b!important}
body.theme-peach #questSec .dayStamp.done{background:#d8926f!important;color:#fffaf1!important;border-color:#925f48!important}
body.theme-peach #shopSec .cloudPanel,
body.theme-peach #shopSec #cloudStatus{background:#fff3e8!important;color:#513124!important;border-color:#ba8569!important}

/* ===== 별밤농장 ===== */
body.theme-night #shopSec .panel,
body.theme-night #questSec .panel{
  background:#34465f!important;color:#fff3d3!important;border-color:#172439!important
}
body.theme-night #shopSec .panel>b,
body.theme-night #shopSec .shopRow b,
body.theme-night #shopSec .themeTitle,
body.theme-night #questSec .panel>b,
body.theme-night #questSec .card b{
  color:#fff8df!important
}
body.theme-night #shopSec .shopRow,
body.theme-night #questSec .card,
body.theme-night #questSec .dayStamp{
  background:#455a74!important;color:#fff1cf!important;border-color:#243249!important
}
body.theme-night #shopSec .shopRow .tiny,
body.theme-night #shopSec .panel>.small,
body.theme-night #questSec .card .small,
body.theme-night #questSec .panel>.small,
body.theme-night #questSec #monthReward{
  color:#e5d5b4!important
}
body.theme-night #questSec .dayStamp.done{
  background:#6f8b68!important;color:#fffbe4!important;border-color:#314b35!important
}
body.theme-night #shopSec .cloudPanel,
body.theme-night #shopSec #cloudStatus{
  background:#293951!important;color:#fff1cf!important;border-color:#172439!important
}
body.theme-night #shopSec .cloudPanel input,
body.theme-night #shopSec .cloudPanel textarea{
  background:#1f2d42!important;color:#fff4d7!important;border-color:#536b89!important
}

/* 흐린 opacity 상속 방지 */
#shopSec .panel *,
#questSec .panel *{opacity:1}


/* v17.25 daily quest logic/status */
#questSec .card.questComplete{
  box-shadow:inset 0 0 0 3px rgba(99,139,74,.35),2px 2px 0 rgba(76,56,40,.18)!important;
}
#questSec .questState{
  margin-top:3px!important;
  font-weight:bold!important;
}
#questSec .card.questComplete .questState{color:#4e743d!important}
#questSec .card.done .questState{color:#6a8d55!important}
body.theme-berry #questSec .card.questComplete .questState{color:#9b4969!important}
body.theme-mint #questSec .card.questComplete .questState{color:#4d7a55!important}
body.theme-peach #questSec .card.questComplete .questState{color:#a75f43!important}
body.theme-night #questSec .card.questComplete .questState{color:#b8db92!important}
#questSec button[disabled]{cursor:default!important}


/* v17.27 settings */
#settingsSec .panel{background:#f3e6c4!important;color:#3b2c20!important;border-color:#705238!important}
#settingsSec .panel>b{color:#2f2118!important}
#settingsSec .small{color:#6b513b!important;opacity:1!important}
.settingsInfo{margin-top:7px;border:2px solid #9a7955;background:#fff8e8}
.infoRow{display:flex;justify-content:space-between;gap:8px;padding:6px 7px;border-bottom:1px solid #d7c29e;color:#5e4733}
.infoRow:last-child{border-bottom:0}
.infoRow b{color:#302319;text-align:right}
.settingsCloud{margin-top:7px;padding:0!important;border:0!important;background:transparent!important}
.settingsCloud input,.saveImportBox{width:100%;box-sizing:border-box;padding:7px;border:2px solid #9a7955;background:#fffdf7!important;color:#3b2c20!important;font-family:inherit}
.saveImportBox{height:76px;margin:7px 0 5px;font-family:monospace;font-size:9px}
.settingsBtns{margin-top:5px}
.settingsBtns .btn{margin-right:4px}
#settingsSec #cloudStatus{margin-top:7px;padding:6px;background:#fff8e8!important;color:#604832!important;border:1px solid #b3946d!important}

body.theme-berry #settingsSec .panel{background:#f6e2ea!important;color:#4b2938!important;border-color:#8b566c!important}
body.theme-berry #settingsSec .small{color:#75475b!important}
body.theme-berry .settingsInfo,body.theme-berry #settingsSec #cloudStatus{background:#fff4f8!important;color:#4b2938!important;border-color:#a9778a!important}
body.theme-berry .infoRow{color:#75475b;border-color:#e6c3d0}.theme-berry .infoRow b{color:#4b2938}

body.theme-mint #settingsSec .panel{background:#e7f1e3!important;color:#263e2c!important;border-color:#57785b!important}
body.theme-mint #settingsSec .small{color:#4d6b53!important}
body.theme-mint .settingsInfo,body.theme-mint #settingsSec #cloudStatus{background:#f7fff3!important;color:#263e2c!important;border-color:#78987a!important}
body.theme-mint .infoRow{color:#4d6b53;border-color:#c7dbc4}.theme-mint .infoRow b{color:#263e2c}

body.theme-peach #settingsSec .panel{background:#fae7d8!important;color:#513124!important;border-color:#a46e53!important}
body.theme-peach #settingsSec .small{color:#7a4e3b!important}
body.theme-peach .settingsInfo,body.theme-peach #settingsSec #cloudStatus{background:#fff6ed!important;color:#513124!important;border-color:#ba8569!important}
body.theme-peach .infoRow{color:#7a4e3b;border-color:#e8c9b5}.theme-peach .infoRow b{color:#513124}

body.theme-night #settingsSec .panel{background:#34465f!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night #settingsSec .panel>b{color:#fff8df!important}
body.theme-night #settingsSec .small{color:#e5d5b4!important}
body.theme-night .settingsInfo,body.theme-night #settingsSec #cloudStatus{background:#293951!important;color:#fff1cf!important;border-color:#172439!important}
body.theme-night .infoRow{color:#e5d5b4;border-color:#455a74}.theme-night .infoRow b{color:#fff8df}
body.theme-night #settingsSec input,body.theme-night #settingsSec textarea{background:#1f2d42!important;color:#fff4d7!important;border-color:#536b89!important}


/* v17.28 tabs + seedbar scroll polish */

/* 상단 탭: 가로 스크롤을 만들지 않고 한 줄 안에서 균등 배치 */
.tabs{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}
.tabs .tab{
  display:block!important;
  float:none!important;
  flex:1 1 0!important;
  min-width:0!important;
  width:auto!important;
  box-sizing:border-box!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* 씨앗 바: 얇고 둥근 픽셀게임 느낌 스크롤 */
.seedbar{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#9b7651 #ead8b4;
  padding-bottom:6px!important;
}

/* Chromium / WebKit */
.seedbar::-webkit-scrollbar{
  height:7px;
}
.seedbar::-webkit-scrollbar-track{
  background:#ead8b4;
  border:1px solid #b9986e;
  border-radius:6px;
}
.seedbar::-webkit-scrollbar-thumb{
  background:#9b7651;
  border:1px solid #6f5136;
  border-radius:6px;
}
.seedbar::-webkit-scrollbar-thumb:hover{
  background:#85613f;
}

/* 테마별 seedbar scrollbar */
body.theme-berry .seedbar{scrollbar-color:#b36f89 #f2d5df}
body.theme-berry .seedbar::-webkit-scrollbar-track{background:#f2d5df;border-color:#c997aa}
body.theme-berry .seedbar::-webkit-scrollbar-thumb{background:#b36f89;border-color:#855064}

body.theme-mint .seedbar{scrollbar-color:#719478 #d9ead5}
body.theme-mint .seedbar::-webkit-scrollbar-track{background:#d9ead5;border-color:#91ad91}
body.theme-mint .seedbar::-webkit-scrollbar-thumb{background:#719478;border-color:#4f7056}

body.theme-peach .seedbar{scrollbar-color:#c98262 #f4d9c7}
body.theme-peach .seedbar::-webkit-scrollbar-track{background:#f4d9c7;border-color:#d5a184}
body.theme-peach .seedbar::-webkit-scrollbar-thumb{background:#c98262;border-color:#955d45}

body.theme-night .seedbar{scrollbar-color:#7185a0 #26364d}
body.theme-night .seedbar::-webkit-scrollbar-track{background:#26364d;border-color:#455b76}
body.theme-night .seedbar::-webkit-scrollbar-thumb{background:#7185a0;border-color:#172439}

/* 작은 Q20 화면에서 탭 글자만 살짝 압축 */
@media (max-width:480px){
  .tabs .tab{
    padding-left:2px!important;
    padding-right:2px!important;
    font-size:10px!important;
  }
}


/* v18.0 progression systems */
.devRow{display:flex;justify-content:space-between;gap:8px;padding:7px;margin-top:5px;background:#fff8e8;border:2px solid #9a7955;color:#3b2c20}
.devCard{margin-top:7px;padding:8px;background:#fff8e8;border:2px solid #9a7955;color:#3b2c20}
.devCard .small{color:#6b513b!important}.devCard .btn{margin-top:6px}
.emptyState{padding:12px 6px;text-align:center;color:#765d45}
.farmPreview{margin-top:7px;padding:12px 8px;text-align:center;border:3px solid #76583d;background:#c9d99a;overflow:hidden}
.farmDeco{font-size:22px;letter-spacing:5px;margin-bottom:7px}
.farm-tier-2 .farmPreview{background:#b9d890;border-color:#755538}
.farm-tier-3 .farmPreview{background:#a9d080;border-color:#65462f}
.farm-tier-4 .farmPreview{background:#9cc776;border-color:#543b29;box-shadow:inset 0 0 0 3px #d8b86b}
body.theme-night .devRow,body.theme-night .devCard{background:#455a74;color:#fff1cf;border-color:#243249}
body.theme-night .devCard .small,body.theme-night .emptyState{color:#e5d5b4!important}
body.theme-night .farmPreview{background:#3e5b58;color:#fff3d3;border-color:#172439}
body.theme-berry .devRow,body.theme-berry .devCard{background:#fff4f8;color:#4b2938;border-color:#a9778a}
body.theme-mint .devRow,body.theme-mint .devCard{background:#f7fff3;color:#263e2c;border-color:#78987a}
body.theme-peach .devRow,body.theme-peach .devCard{background:#fff6ed;color:#513124;border-color:#ba8569}
/* 8 tabs: no scroll, compact on Q20 */
.tabs .tab{font-size:9px!important;padding-left:1px!important;padding-right:1px!important}
@media(max-width:380px){.tabs .tab{font-size:8px!important}}


/* v18.1 navigation fix: readable fixed-size tabs with horizontal swipe */
.tabs{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  -webkit-overflow-scrolling:touch;
  padding-bottom:5px!important;
  scrollbar-width:thin;
  scrollbar-color:#9b7651 #ead8b4;
}
.tabs .tab{
  display:inline-block!important;
  float:none!important;
  width:auto!important;
  min-width:62px!important;
  box-sizing:border-box!important;
  padding:8px 9px!important;
  font-size:11px!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.tabs::-webkit-scrollbar{height:6px}
.tabs::-webkit-scrollbar-track{background:#ead8b4;border:1px solid #b9986e;border-radius:5px}
.tabs::-webkit-scrollbar-thumb{background:#9b7651;border:1px solid #6f5136;border-radius:5px}
body.theme-night .tabs{scrollbar-color:#7185a0 #26364d}
body.theme-night .tabs::-webkit-scrollbar-track{background:#26364d;border-color:#455b76}
body.theme-night .tabs::-webkit-scrollbar-thumb{background:#7185a0;border-color:#172439}
body.theme-berry .tabs{scrollbar-color:#b36f89 #f2d5df}
body.theme-mint .tabs{scrollbar-color:#719478 #d9ead5}
body.theme-peach .tabs{scrollbar-color:#c98262 #f4d9c7}

/* order/facility visibility + BB10-safe explicit surfaces */
#ordersSec .panel,#facilitySec .panel,#storageSec .panel{
  background:#f3e6c4!important;color:#3b2c20!important;border-color:#705238!important
}
#ordersSec .panel>b,#facilitySec .panel>b,#storageSec .panel>b{color:#2f2118!important}
#ordersSec .panel>.small,#facilitySec .panel>.small,#storageSec .panel>.small{color:#6b513b!important;opacity:1!important}
#orderList,#facilityList,#farmExpansion,#storageList{display:block!important;min-height:20px!important}
.devCard,.devRow{display:block!important;opacity:1!important}
.devRow{display:flex!important}


/* v18.2 facility detail */
.facilityEffect{
  margin-top:6px;padding:5px 6px;background:#f2e3c5;border:1px solid #b49369;
  color:#493626;font-weight:bold
}
.facilityNext{margin-top:4px;color:#73563d!important;opacity:1!important}
body.theme-night .facilityEffect{background:#293951;color:#fff1cf;border-color:#172439}
body.theme-night .facilityNext{color:#d8c8a8!important}
body.theme-berry .facilityEffect{background:#f8e4ec;color:#613448;border-color:#bd8ca0}
body.theme-mint .facilityEffect{background:#e8f3e4;color:#315238;border-color:#8bab8b}
body.theme-peach .facilityEffect{background:#f9e5d7;color:#653d2d;border-color:#c79579}


/* v18.3 facility yard */
#facilityYard{margin:6px 0 8px;padding:6px;border:2px solid #76583d;background:#d9e3ae;overflow:hidden}
.yardTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;color:#4a3726}
.yardTitle .tiny{color:#6d563e!important}
.yardRow{white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.yardSlot{display:inline-block;vertical-align:top;width:92px;height:116px;margin-right:5px;box-sizing:border-box;padding:4px;text-align:center;background:#f6edcf;border:2px solid #8d6b48;overflow:hidden}
.yardSlot.empty{background:#d9d4b8;border-style:dashed}
.buildGhost{width:40px;height:48px;margin:7px auto 4px;border:2px dashed #8d8065;color:#8d8065;font-size:24px;line-height:44px}
.yardName{font-size:10px;color:#493524;white-space:normal}
.yardEffect{font-size:8px;line-height:1.15;margin-top:2px;color:#73563d;white-space:normal}
.facilityArt{position:relative;margin:2px auto 4px;width:68px;height:62px;transform-origin:50% 100%}
.facilityArt.lv1{transform:scale(.72)}
.facilityArt.lv2{transform:scale(.79)}
.facilityArt.lv3{transform:scale(.86)}
.facilityArt.lv4{transform:scale(.93)}
.facilityArt.lv5{transform:scale(1)}
.facilityArt i{position:absolute;display:block;box-sizing:border-box}

/* well */
.well .wellRim{left:14px;bottom:5px;width:40px;height:24px;background:#ad7c4a;border:4px solid #65462d;border-radius:7px}
.well .wellWater{left:20px;bottom:19px;width:28px;height:7px;background:#5fa2b8;border:2px solid #365f70}
.well .wellPost{bottom:25px;width:5px;height:29px;background:#7b5738;border:2px solid #513924}
.well .p1{left:15px}.well .p2{right:15px}
.well .wellRoof{left:9px;top:5px;width:50px;height:13px;background:#b95f45;border:4px solid #733d32;transform:skew(-10deg)}
.well .wellBucket{left:31px;bottom:8px;width:9px;height:10px;background:#c89858;border:2px solid #735331}
.well.lv3 .wellRim,.well.lv4 .wellRim,.well.lv5 .wellRim{box-shadow:inset 0 0 0 2px #d6a566}
.well.lv4 .wellRoof,.well.lv5 .wellRoof{background:#cf6e4d}
.well.lv5 .wellWater{background:#78c5d4}

/* windmill */
.mill .millBody{left:22px;bottom:3px;width:25px;height:42px;background:#d9c797;border:4px solid #72583e;border-radius:5px 5px 2px 2px}
.mill .millRoof{left:18px;bottom:41px;width:33px;height:14px;background:#9e5d42;border:4px solid #653a2d;transform:skew(-12deg)}
.mill .millHub{left:29px;top:21px;width:11px;height:11px;background:#d3a64f;border:3px solid #725125;border-radius:50%;z-index:3}
.mill .blade{left:32px;top:2px;width:5px;height:26px;background:#e2d2a5;border:2px solid #745a3f;transform-origin:50% 24px}
.mill .b1{transform:rotate(0deg)}.mill .b2{transform:rotate(90deg)}.mill .b3{transform:rotate(180deg)}.mill .b4{transform:rotate(270deg)}
.mill.lv4 .millBody,.mill.lv5 .millBody{background:#ead9a7}
.mill.lv5 .blade{background:#f0e1b7}

/* greenhouse */
.greenhouse .greenBase{left:9px;bottom:3px;width:51px;height:9px;background:#7e5b3f;border:3px solid #563d2b}
.greenhouse .greenGlass{left:12px;bottom:11px;width:45px;height:31px;background:#9ed1bd;border:4px solid #4e796d;opacity:.88}
.greenhouse .greenRoof{left:17px;bottom:41px;width:35px;height:22px;background:#b7dfce;border:4px solid #4e796d;transform:rotate(45deg) scale(.72)}
.greenhouse .greenDoor{left:30px;bottom:11px;width:12px;height:23px;background:#7ab29d;border:3px solid #466e61}
.greenhouse .greenPlant{bottom:13px;width:6px;height:12px;background:#4f8d50;border:2px solid #39683b}
.greenhouse .gp1{left:17px}.greenhouse .gp2{left:43px}.greenhouse .gp3{left:24px;display:none}
.greenhouse.lv3 .gp3,.greenhouse.lv4 .gp3,.greenhouse.lv5 .gp3{display:block}
.greenhouse.lv4 .greenGlass,.greenhouse.lv5 .greenGlass{background:#afe3cf}
.greenhouse.lv5 .greenRoof{background:#c9efde}

/* scarecrow */
.scarecrow .scPost{left:31px;bottom:2px;width:6px;height:47px;background:#78502e;border:2px solid #51361f}
.scarecrow .scArm{left:12px;bottom:31px;width:44px;height:7px;background:#b97a45;border:2px solid #744728}
.scarecrow .scBody{left:22px;bottom:15px;width:25px;height:25px;background:#c98d4d;border:3px solid #75482a}
.scarecrow .scHead{left:25px;top:5px;width:20px;height:18px;background:#dfb66b;border:3px solid #7a5633;border-radius:5px}
.scarecrow .scHat{left:19px;top:1px;width:32px;height:8px;background:#8c5c38;border:3px solid #5e3d29}
.scarecrow .scPatch{left:34px;bottom:20px;width:7px;height:7px;background:#6f9c62;border:2px solid #4d7046;display:none}
.scarecrow.lv3 .scPatch,.scarecrow.lv4 .scPatch,.scarecrow.lv5 .scPatch{display:block}
.scarecrow.lv5 .scHat{background:#a96b3f}

/* theme integration */
body.theme-night #facilityYard{background:#31475a;border-color:#172439}
body.theme-night .yardTitle,body.theme-night .yardName{color:#fff1cf}
body.theme-night .yardTitle .tiny,body.theme-night .yardEffect{color:#dfcfad!important}
body.theme-night .yardSlot{background:#455a74;border-color:#243249}
body.theme-night .yardSlot.empty{background:#35475d}
body.theme-berry #facilityYard{background:#efd2dd;border-color:#8b566c}
body.theme-mint #facilityYard{background:#d7ead2;border-color:#57785b}
body.theme-peach #facilityYard{background:#f0d2bd;border-color:#a46e53}


/* v18.4 facility purchase modal */
.buildGhost{
  display:block!important;width:44px!important;height:48px!important;margin:7px auto 4px!important;
  padding:0!important;border:2px dashed #8d8065!important;background:#eee8cf!important;
  color:#806f52!important;font-family:inherit!important;font-size:26px!important;line-height:42px!important;
  cursor:pointer!important;border-radius:3px!important
}
.buildGhost:active{transform:translateY(1px);background:#e3d8b7!important}
.facilityModal{position:fixed;left:0;top:0;width:100%;height:100%;z-index:9999}
.facilityModalDim{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(35,29,22,.62)}
.facilityModalBox{
  position:absolute;left:50%;top:50%;width:88%;max-width:360px;max-height:82%;overflow-y:auto;
  transform:translate(-50%,-50%);box-sizing:border-box;padding:9px;
  background:#f4e6c4;color:#3b2c20;border:4px solid #705238;box-shadow:5px 5px 0 rgba(45,33,24,.35)
}
.facilityModalHead{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:2px solid #a4845d}
.facilityModalHead button{width:28px;height:26px;padding:0;border:2px solid #705238;background:#ead4a9;color:#493524;font:inherit;font-size:16px}
.buyPreview{height:78px;margin:8px 0 4px;background:#d9e3ae;border:2px solid #8d6b48;text-align:center;overflow:hidden}
.buyPreview .facilityArt{margin:8px auto 0}
.buyName{text-align:center;font-size:13px;margin:6px 0}
.buyDesc{text-align:center;font-size:10px;line-height:1.45;color:#6b513b;margin-bottom:7px}
.buyEffect,.buyPrice{display:flex;justify-content:space-between;gap:8px;padding:7px;margin-top:5px;background:#fff8e8;border:1px solid #b49369;font-size:10px}
.buyEffect b,.buyPrice b{text-align:right;color:#3b2c20}
.buyWallet{text-align:right;margin-top:5px;font-size:9px;color:#705238}
.buyConfirm{width:100%;margin-top:8px!important}
body.theme-night .facilityModalBox{background:#34465f;color:#fff3d3;border-color:#172439}
body.theme-night .facilityModalHead{border-color:#536b89}
body.theme-night .facilityModalHead button{background:#26374f;color:#fff3d3;border-color:#172439}
body.theme-night .buyPreview{background:#31475a;border-color:#172439}
body.theme-night .buyDesc,body.theme-night .buyWallet{color:#e5d5b4}
body.theme-night .buyEffect,body.theme-night .buyPrice{background:#293951;border-color:#172439}
body.theme-night .buyEffect b,body.theme-night .buyPrice b{color:#fff3d3}
body.theme-berry .facilityModalBox{background:#f6e2ea;color:#4b2938;border-color:#8b566c}
body.theme-mint .facilityModalBox{background:#e7f1e3;color:#263e2c;border-color:#57785b}
body.theme-peach .facilityModalBox{background:#fae7d8;color:#513124;border-color:#a46e53}


/* v18.5 mobile farm tap support */
#farm .plot{
  touch-action:manipulation;
  -ms-touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}
#farm .plot *{
  pointer-events:none;
}


/* v18.6 robust tap/harvest */
#farm .plot:active{
  box-shadow:inset 0 0 0 4px rgba(255,230,107,.75),inset 2px 2px 0 rgba(255,255,255,.10)!important;
}


/* v18.8 warehouse */
.storageLocked,.storageSummary{margin-top:7px;padding:9px;background:#fff8e8;border:2px solid #9a7955;color:#3b2c20}
.storageLocked .small{margin-top:4px;color:#6b513b!important}
.storageSummary{display:flex;justify-content:space-between;gap:8px}
.storageGuide{margin:5px 0 7px;color:#6b513b!important}
.barn .barnBody{left:12px;bottom:3px;width:46px;height:39px;background:#b86b48;border:4px solid #6e3f2d}
.barn .barnRoof{left:7px;bottom:39px;width:56px;height:18px;background:#754535;border:4px solid #4e3026;transform:skew(-8deg)}
.barn .barnDoor{left:27px;bottom:3px;width:17px;height:27px;background:#704634;border:3px solid #4d3025}
.barn .barnHandle{left:39px;bottom:15px;width:3px;height:3px;background:#e0b45f}
.barn .barnBox{bottom:4px;width:12px;height:11px;background:#c99655;border:2px solid #75532f;display:none}
.barn .bx1{left:7px}.barn .bx2{right:6px}
.barn.lv3 .bx1,.barn.lv4 .bx1,.barn.lv5 .bx1{display:block}
.barn.lv4 .bx2,.barn.lv5 .bx2{display:block}
.barn.lv4 .barnBody,.barn.lv5 .barnBody{background:#c8794f}
.barn.lv5 .barnRoof{background:#87503b}
body.theme-night .storageLocked,body.theme-night .storageSummary{background:#293951;color:#fff1cf;border-color:#172439}
body.theme-night .storageLocked .small,body.theme-night .storageGuide{color:#e5d5b4!important}


/* v18.9 ranking */
.rankNameBox{margin:8px 0;padding:7px;background:#fff8e8;border:2px solid #9a7955}
.rankNameBox label{display:block;margin-bottom:4px;font-size:10px;font-weight:bold}
.rankNameBox input{width:100%;box-sizing:border-box;padding:7px;margin-bottom:5px;border:2px solid #9a7955;background:#fffdf7;color:#3b2c20;font-family:inherit}
#rankingStatus{margin:6px 0;color:#6b513b!important}
.rankRow{display:flex;align-items:center;gap:7px;margin-top:5px;padding:7px;background:#fff8e8;border:2px solid #9a7955;color:#3b2c20}
.rankRow.me{box-shadow:inset 0 0 0 2px #7ba05c}
.rankNo{width:26px;font-size:13px;font-weight:bold;text-align:center}
.rankFarmer{flex:1;min-width:0}
.rankFarmer b,.rankFarmer span,.rankScore b,.rankScore span{display:block}
.rankFarmer span,.rankScore span{font-size:8px;color:#6b513b}
.rankScore{text-align:right;white-space:nowrap}
body.theme-night .rankNameBox,body.theme-night .rankRow{background:#293951;color:#fff1cf;border-color:#172439}
body.theme-night .rankFarmer span,body.theme-night .rankScore span,body.theme-night #rankingStatus{color:#e5d5b4!important}
body.theme-night .rankNameBox input{background:#1f2d42;color:#fff4d7;border-color:#536b89}


/* v19.1 complete contrast pass — explicit colors for BB10 */
#rankingSec .panel,#settingsSec .panel,#ordersSec .panel,#facilitySec .panel,#storageSec .panel,
#shopSec .panel,#dailySec .panel,#bookSec .panel{
  opacity:1!important;text-shadow:none!important
}
#rankingSec .panel>b,#settingsSec .panel>b,#ordersSec .panel>b,#facilitySec .panel>b,
#storageSec .panel>b,#shopSec .panel>b,#dailySec .panel>b,#bookSec .panel>b{
  opacity:1!important;text-shadow:none!important
}

/* light themes: never inherit pale seasonal text */
body.theme-default #rankingSec .panel,body.theme-default #settingsSec .panel,
body.theme-default #ordersSec .panel,body.theme-default #facilitySec .panel,body.theme-default #storageSec .panel{
  background:#f3e6c4!important;color:#3b2c20!important;border-color:#705238!important
}
body.theme-default #rankingSec .small,body.theme-default #rankingSec .tiny,
body.theme-default #settingsSec .small,body.theme-default #settingsSec .tiny{color:#6b513b!important}

body.theme-berry #rankingSec .panel,body.theme-berry #settingsSec .panel,
body.theme-berry #ordersSec .panel,body.theme-berry #facilitySec .panel,body.theme-berry #storageSec .panel{
  background:#f7e4eb!important;color:#462534!important;border-color:#8b566c!important
}
body.theme-berry #rankingSec .small,body.theme-berry #rankingSec .tiny,
body.theme-berry #settingsSec .small,body.theme-berry #settingsSec .tiny{color:#75475b!important}

body.theme-mint #rankingSec .panel,body.theme-mint #settingsSec .panel,
body.theme-mint #ordersSec .panel,body.theme-mint #facilitySec .panel,body.theme-mint #storageSec .panel{
  background:#e9f2e5!important;color:#233a29!important;border-color:#57785b!important
}
body.theme-mint #rankingSec .small,body.theme-mint #rankingSec .tiny,
body.theme-mint #settingsSec .small,body.theme-mint #settingsSec .tiny{color:#4d6b53!important}

body.theme-peach #rankingSec .panel,body.theme-peach #settingsSec .panel,
body.theme-peach #ordersSec .panel,body.theme-peach #facilitySec .panel,body.theme-peach #storageSec .panel{
  background:#faeadc!important;color:#4a2c21!important;border-color:#a46e53!important
}
body.theme-peach #rankingSec .small,body.theme-peach #rankingSec .tiny,
body.theme-peach #settingsSec .small,body.theme-peach #settingsSec .tiny{color:#7a4e3b!important}

/* night theme */
body.theme-night #rankingSec .panel,body.theme-night #settingsSec .panel,
body.theme-night #ordersSec .panel,body.theme-night #facilitySec .panel,body.theme-night #storageSec .panel{
  background:#34465f!important;color:#fff4d7!important;border-color:#172439!important
}
body.theme-night #rankingSec .small,body.theme-night #rankingSec .tiny,
body.theme-night #settingsSec .small,body.theme-night #settingsSec .tiny{color:#e6d6b4!important}

/* Ranking cards explicitly follow each theme */
body.theme-default .rankNameBox,body.theme-default .rankRow{background:#fff8e8!important;color:#35281e!important;border-color:#8d6c49!important}
body.theme-default .rankFarmer span,body.theme-default .rankScore span,body.theme-default #rankingStatus{color:#6a4e35!important}

body.theme-berry .rankNameBox,body.theme-berry .rankRow{background:#fff1f6!important;color:#462534!important;border-color:#9d6b7d!important}
body.theme-berry .rankFarmer span,body.theme-berry .rankScore span,body.theme-berry #rankingStatus{color:#75475b!important}

body.theme-mint .rankNameBox,body.theme-mint .rankRow{background:#f5faef!important;color:#233a29!important;border-color:#719173!important}
body.theme-mint .rankFarmer span,body.theme-mint .rankScore span,body.theme-mint #rankingStatus{color:#4d6b53!important}

body.theme-peach .rankNameBox,body.theme-peach .rankRow{background:#fff5eb!important;color:#4a2c21!important;border-color:#ba8569!important}
body.theme-peach .rankFarmer span,body.theme-peach .rankScore span,body.theme-peach #rankingStatus{color:#7a4e3b!important}

body.theme-night .rankNameBox,body.theme-night .rankRow{background:#293951!important;color:#fff7df!important;border-color:#172439!important}
body.theme-night .rankFarmer span,body.theme-night .rankScore span,body.theme-night #rankingStatus{color:#e6d6b4!important}

/* labels/headings must not inherit near-white text on light surfaces */
body.theme-default #rankingSec label,body.theme-default #rankingSec b{color:#35281e!important}
body.theme-berry #rankingSec label,body.theme-berry #rankingSec b{color:#462534!important}
body.theme-mint #rankingSec label,body.theme-mint #rankingSec b{color:#233a29!important}
body.theme-peach #rankingSec label,body.theme-peach #rankingSec b{color:#4a2c21!important}
body.theme-night #rankingSec label,body.theme-night #rankingSec b{color:#fff7df!important}

/* time overlay remains visual-only and cannot reduce UI contrast */
#dayShade{z-index:80!important;pointer-events:none!important}


/* v19.2 mobile quick actions */
.quickActions{
  display:flex!important;
  gap:6px!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:6px 0 7px!important;
}
.quickBtn{
  flex:1 1 0!important;
  min-width:0!important;
  min-height:38px!important;
  padding:7px 6px!important;
  box-sizing:border-box!important;
  border:3px solid #6f5136!important;
  background:#e9d8b5!important;
  color:#3b2d21!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:bold!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  cursor:pointer!important;
  box-shadow:2px 2px 0 rgba(76,56,40,.22)!important;
  touch-action:manipulation;
  -ms-touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.quickBtn:active{
  transform:translateY(1px);
  box-shadow:1px 1px 0 rgba(76,56,40,.18)!important;
}
.quickBtn.disabled,.quickBtn[disabled]{
  opacity:.48!important;
  cursor:default!important;
  box-shadow:none!important;
}
.plantQuick{background:#dce8b6!important;border-color:#647b48!important;color:#314024!important}
.harvestQuick{background:#f0d7a4!important;border-color:#8a633b!important;color:#51391f!important}
.harvestQuick.ready{
  border-color:#b7852e!important;
  box-shadow:0 0 0 2px rgba(242,207,93,.38),2px 2px 0 rgba(76,56,40,.22)!important;
}
@media (prefers-reduced-motion:no-preference){
  .harvestQuick.ready{animation:quickReady 1.25s steps(2,end) infinite}
}
@keyframes quickReady{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.08)}
}

/* themes */
body.theme-berry .quickBtn{background:#f2d9e3!important;border-color:#8d5e72!important;color:#4b2938!important}
body.theme-berry .plantQuick{background:#e8e0b8!important;border-color:#7d8050!important}
body.theme-berry .harvestQuick{background:#f0c8d7!important;border-color:#9e627a!important}

body.theme-mint .quickBtn{background:#dcebd7!important;border-color:#5e7e62!important;color:#263e2c!important}
body.theme-mint .plantQuick{background:#cce2c3!important;border-color:#5c7d5f!important}
body.theme-mint .harvestQuick{background:#e6ddad!important;border-color:#87804f!important}

body.theme-peach .quickBtn{background:#f5dccb!important;border-color:#a66f53!important;color:#513124!important}
body.theme-peach .plantQuick{background:#e0e1b7!important;border-color:#858456!important}
body.theme-peach .harvestQuick{background:#f1c9a8!important;border-color:#a96a49!important}

body.theme-night .quickBtn{background:#455a74!important;border-color:#172439!important;color:#fff3d3!important}
body.theme-night .plantQuick{background:#526a59!important;border-color:#253b2a!important;color:#fff8df!important}
body.theme-night .harvestQuick{background:#735f45!important;border-color:#3e3122!important;color:#fff1cf!important}
body.theme-night .harvestQuick.ready{box-shadow:0 0 0 2px rgba(229,195,112,.32),2px 2px 0 rgba(0,0,0,.24)!important}

/* narrow screens */
@media(max-width:360px){
  .quickBtn{font-size:9px!important;padding:7px 3px!important}
}


/* v19.3 achievement progress */
.achievementProgress{font-weight:bold!important;opacity:1!important}
.achievementDone{box-shadow:inset 0 0 0 2px rgba(102,143,75,.45)!important}
body.theme-night .achievementProgress{color:#d9efb7!important}
body.theme-berry .achievementProgress{color:#84445e!important}
body.theme-mint .achievementProgress{color:#466f4e!important}
body.theme-peach .achievementProgress{color:#95553e!important}


/* v19.4 idle farm events */
.idleEventStage{
  position:relative!important;
  min-height:58px!important;
  margin:5px 0 7px!important;
  padding:5px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:#dce6b5!important;
  border:2px solid #7b6848!important;
}
.idleEventHint{
  display:flex!important;
  justify-content:space-between!important;
  gap:8px!important;
  align-items:center!important;
  min-height:44px!important;
  padding:0 4px!important;
  color:#54422f!important;
  pointer-events:none!important;
}
.idleEventHint b{font-size:10px!important}
.idleEventHint span{font-size:8px!important;color:#735e46!important;text-align:right!important}
.idleEventBubble{
  position:absolute!important;
  z-index:4!important;
  width:76px!important;
  min-height:44px!important;
  padding:4px!important;
  border:3px solid #6f5739!important;
  background:#fff4c9!important;
  color:#493522!important;
  font-family:inherit!important;
  text-align:center!important;
  box-shadow:2px 2px 0 rgba(65,47,29,.25)!important;
  cursor:pointer!important;
  touch-action:manipulation;
  -ms-touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  animation:idlePop 1.1s steps(2,end) infinite;
}
.idleEventBubble.pos0{left:6px!important;top:7px!important}
.idleEventBubble.pos1{left:28%!important;top:6px!important}
.idleEventBubble.pos2{right:27%!important;top:7px!important}
.idleEventBubble.pos3{right:6px!important;top:6px!important}
.idleEventIcon{display:block!important;font-size:20px!important;line-height:20px!important}
.idleEventName{display:block!important;margin-top:2px!important;font-size:8px!important;white-space:nowrap!important}
.event-sun{background:#fff1a8!important;border-color:#b68b34!important}
.event-coin{background:#f2d68a!important;border-color:#9a7024!important}
.event-xp{background:#cfe2f2!important;border-color:#587a9a!important}
.event-rare{background:#ead5ef!important;border-color:#8d6397!important}
@keyframes idlePop{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}

/* themes */
body.theme-night .idleEventStage{background:#31475a!important;border-color:#172439!important}
body.theme-night .idleEventHint{color:#fff1cf!important}
body.theme-night .idleEventHint span{color:#dfcfad!important}
body.theme-night .idleEventBubble{color:#fff7df!important;border-color:#172439!important}
body.theme-night .event-sun{background:#756b43!important}
body.theme-night .event-coin{background:#6e5d38!important}
body.theme-night .event-xp{background:#39556f!important}
body.theme-night .event-rare{background:#60496d!important}

body.theme-berry .idleEventStage{background:#eed3dd!important;border-color:#8b566c!important}
body.theme-mint .idleEventStage{background:#d9ead5!important;border-color:#57785b!important}
body.theme-peach .idleEventStage{background:#f2d5c2!important;border-color:#a46e53!important}


/* v19.5 cumulative farmer counter */
.farmerCountCard{
  margin:8px 0!important;padding:9px!important;text-align:center!important;
  background:#fff5d7!important;border:3px solid #947247!important;color:#3d2e20!important;
}
.farmerCountLabel{display:block!important;font-size:9px!important;margin-bottom:4px!important}
.farmerCountCard b{display:block!important;font-size:18px!important;line-height:22px!important;color:#4f7138!important}
.farmerCountCard small{display:block!important;margin-top:3px!important;font-size:7px!important;color:#70583e!important}
body.theme-berry .farmerCountCard{background:#fff0f5!important;border-color:#9a6379!important;color:#472837!important}
body.theme-berry .farmerCountCard b{color:#8b4964!important}
body.theme-mint .farmerCountCard{background:#f1f8e9!important;border-color:#678568!important;color:#263c2b!important}
body.theme-mint .farmerCountCard b{color:#4e774f!important}
body.theme-peach .farmerCountCard{background:#fff2e7!important;border-color:#ad7457!important;color:#4c3024!important}
body.theme-peach .farmerCountCard b{color:#9b5b42!important}
body.theme-night .farmerCountCard{background:#293951!important;border-color:#172439!important;color:#fff3d3!important}
body.theme-night .farmerCountCard b{color:#d9e8a8!important}
body.theme-night .farmerCountCard small{color:#decfac!important}


/* v19.6 fixed title + community stats */
#app{
  padding-top:104px!important;
}
.bar{
  position:fixed!important;
  top:8px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:calc(100% - 20px)!important;
  max-width:680px!important;
  box-sizing:border-box!important;
  z-index:220!important;
  margin:0!important;
}
.communityStats{
  margin-top:5px!important;
  padding-top:5px!important;
  border-top:1px solid rgba(90,68,45,.28)!important;
  font-size:9px!important;
  line-height:1.35!important;
  color:#5d4936!important;
  white-space:normal!important;
}
.communityStats b{
  color:#3e6a36!important;
  font-size:10px!important;
}
body.theme-berry .communityStats{color:#75475b!important;border-top-color:#c497a8!important}
body.theme-berry .communityStats b{color:#8f4966!important}
body.theme-mint .communityStats{color:#4d6b53!important;border-top-color:#99b395!important}
body.theme-mint .communityStats b{color:#4e774f!important}
body.theme-peach .communityStats{color:#7a4e3b!important;border-top-color:#cf9b7f!important}
body.theme-peach .communityStats b{color:#9b5b42!important}
body.theme-night .communityStats{color:#e5d5b4!important;border-top-color:#5b6d85!important}
body.theme-night .communityStats b{color:#d9e8a8!important}

@media(max-width:480px){
  #app{padding-top:116px!important}
  .bar{top:5px!important;width:calc(100% - 12px)!important;padding:8px 9px!important}
  .title{font-size:20px!important}
  .bar .small{font-size:10px!important}
  .communityStats{font-size:8px!important}
  .communityStats b{font-size:9px!important}
}


/* v19.6.1 seedbar scrollbar restoration
   마지막 CSS override로 두어 이전/테마 규칙에 덮이지 않게 함 */
.seedbar{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:7px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#9d8057 transparent!important;
  -webkit-overflow-scrolling:touch;
}
.seedbar::-webkit-scrollbar{
  height:6px!important;
  background:transparent!important;
}
.seedbar::-webkit-scrollbar-track{
  background:rgba(116,88,56,.10)!important;
  border:1px solid rgba(116,88,56,.16)!important;
  border-radius:6px!important;
}
.seedbar::-webkit-scrollbar-thumb{
  background:#a88960!important;
  border:1px solid #795f43!important;
  border-radius:6px!important;
}
.seedbar::-webkit-scrollbar-thumb:hover{background:#92734f!important}

/* 테마별 스크롤바 */
body.theme-berry .seedbar{scrollbar-color:#a86f85 transparent!important}
body.theme-berry .seedbar::-webkit-scrollbar-track{background:rgba(142,83,106,.10)!important;border-color:rgba(142,83,106,.18)!important}
body.theme-berry .seedbar::-webkit-scrollbar-thumb{background:#b98297!important;border-color:#89576b!important}

body.theme-mint .seedbar{scrollbar-color:#708d72 transparent!important}
body.theme-mint .seedbar::-webkit-scrollbar-track{background:rgba(80,117,84,.10)!important;border-color:rgba(80,117,84,.18)!important}
body.theme-mint .seedbar::-webkit-scrollbar-thumb{background:#86a188!important;border-color:#58745c!important}

body.theme-peach .seedbar{scrollbar-color:#b8795b transparent!important}
body.theme-peach .seedbar::-webkit-scrollbar-track{background:rgba(165,101,73,.10)!important;border-color:rgba(165,101,73,.18)!important}
body.theme-peach .seedbar::-webkit-scrollbar-thumb{background:#ca8e70!important;border-color:#9d654d!important}

body.theme-night .seedbar{scrollbar-color:#667b96 transparent!important}
body.theme-night .seedbar::-webkit-scrollbar-track{background:rgba(205,222,240,.08)!important;border-color:rgba(205,222,240,.12)!important}
body.theme-night .seedbar::-webkit-scrollbar-thumb{background:#647b97!important;border-color:#34485f!important}

/* Q20/좁은 화면에서는 손가락으로 잡기 쉽되 과하게 두껍지 않게 */
@media(max-width:480px){
  .seedbar{padding-bottom:8px!important}
  .seedbar::-webkit-scrollbar{height:7px!important}
}


/* v19.6.2 full-width fixed header */
#app{
  padding-top:104px!important;
}
.bar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  transform:none!important;
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  z-index:220!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
}
@media(max-width:480px){
  #app{padding-top:112px!important}
  .bar{
    top:0!important;
    left:0!important;
    width:100vw!important;
    max-width:none!important;
    padding:8px 10px!important;
  }
}


/* v19.6.3 fixed header scrollbar-width fix */
.bar{
  top:0!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  max-width:none!important;
  transform:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media(max-width:480px){
  .bar{
    left:0!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
  }
}


/* v19.6.4 explicit scrollbar-aware header width */
.bar{
  top:0!important;
  left:0!important;
  right:auto!important;
  width:calc(100vw - (100vw - 100%))!important;
  max-width:none!important;
  transform:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media(max-width:480px){
  .bar{
    left:0!important;
    right:auto!important;
    width:calc(100vw - (100vw - 100%))!important;
    max-width:none!important;
  }
}


/* v19.6.5 BB10 fixed header viewport fallback */
.bar{
  top:0!important;
  left:0!important;
  right:auto!important;
  width:100%!important; /* JS 실행 전 fallback */
  max-width:none!important;
  transform:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media(max-width:480px){
  .bar{
    left:0!important;
    right:auto!important;
    width:100%!important;
    max-width:none!important;
  }
}


/* v19.7 Q20 browser/app WebView sizing normalization */
html{
  width:100%!important;
  min-width:100%!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}
body{
  width:100%!important;
  min-width:100%!important;
  overflow-x:hidden!important;
  -webkit-text-size-adjust:100%!important;
}
#app{
  width:100%!important;
  box-sizing:border-box!important;
}
.bar{
  -webkit-text-size-adjust:100%!important;
}
.farmNameEditor{
  display:table!important;
  width:100%!important;
  margin-top:7px!important;
}
.farmNameEditor input{
  display:table-cell!important;
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  padding:6px 8px!important;
  border:2px solid #786047!important;
  background:#fff8e8!important;
  color:#35281e!important;
  font-family:inherit!important;
  font-size:12px!important;
}
.farmNameEditor .btn{
  display:table-cell!important;
  width:92px!important;
  margin-left:5px!important;
  white-space:nowrap!important;
}

/* BB10 browser/WebView: keep component scale consistent at the same physical width */
@media(max-width:720px){
  body{font-size:17px!important}
  #app{max-width:none!important}
  .panel{font-size:17px!important}
  .tab{font-size:14px!important}
  .seed{font-size:13px!important}
}
body.theme-night .farmNameEditor input{background:#293951!important;color:#fff7df!important;border-color:#172439!important}
body.theme-berry .farmNameEditor input{background:#fff1f6!important;color:#462534!important;border-color:#9d6b7d!important}
body.theme-mint .farmNameEditor input{background:#f5faef!important;color:#233a29!important;border-color:#719173!important}
body.theme-peach .farmNameEditor input{background:#fff5eb!important;color:#4a2c21!important;border-color:#ba8569!important}


/* v19.8 fixed save-code UX */
.cloudCodeLockHint{
  margin-top:6px!important;
  padding:6px!important;
  line-height:1.35!important;
  background:rgba(255,248,232,.72)!important;
  border:1px solid rgba(122,93,61,.28)!important;
  color:#6a5139!important;
}
.cloudCodeFixed{
  opacity:.88!important;
  cursor:default!important;
  background:#eee6d5!important;
}
body.theme-night .cloudCodeLockHint{
  background:#293951!important;color:#e5d5b4!important;border-color:#172439!important;
}
body.theme-night .cloudCodeFixed{background:#24344a!important;color:#fff3d3!important}
body.theme-berry .cloudCodeLockHint{background:#fff0f5!important;color:#75475b!important;border-color:#c497a8!important}
body.theme-mint .cloudCodeLockHint{background:#f1f8e9!important;color:#4d6b53!important;border-color:#99b395!important}
body.theme-peach .cloudCodeLockHint{background:#fff2e7!important;color:#7a4e3b!important;border-color:#cf9b7f!important}


/* v19.9 first sync / existing farm chooser */
.firstSyncModal{
  position:fixed!important;
  left:0!important;top:0!important;
  width:100%!important;height:100%!important;
  z-index:12000!important;
}
.firstSyncDim{
  position:absolute!important;
  left:0!important;top:0!important;
  width:100%!important;height:100%!important;
  background:rgba(25,30,24,.76)!important;
}
.firstSyncBox{
  position:absolute!important;
  left:50%!important;top:50%!important;
  width:88%!important;max-width:390px!important;
  transform:translate(-50%,-50%)!important;
  box-sizing:border-box!important;
  padding:14px!important;
  background:#f4e6c4!important;
  border:4px solid #705238!important;
  color:#3b2c20!important;
  box-shadow:5px 5px 0 rgba(0,0,0,.28)!important;
}
.firstSyncTitle{
  font-size:16px!important;
  font-weight:bold!important;
  margin-bottom:7px!important;
}
.firstSyncDesc{
  font-size:10px!important;
  line-height:1.45!important;
  color:#6b513b!important;
  margin-bottom:10px!important;
}
#firstSyncCodeInput{
  width:100%!important;
  box-sizing:border-box!important;
  padding:9px!important;
  margin-bottom:7px!important;
  border:2px solid #8d6b48!important;
  background:#fffaf0!important;
  color:#35281e!important;
  font-family:inherit!important;
  font-size:12px!important;
  text-transform:uppercase!important;
}
.firstSyncLoad,.firstSyncNew{
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
}
.firstSyncDivider{
  position:relative!important;
  margin:10px 0!important;
  text-align:center!important;
  font-size:9px!important;
  color:#806b53!important;
}
.firstSyncDivider:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:50%!important;
  height:1px!important;
  background:#c0a57e!important;
}
.firstSyncDivider span{
  position:relative!important;
  padding:0 7px!important;
  background:#f4e6c4!important;
}
#firstSyncStatus{
  margin-top:8px!important;
  min-height:14px!important;
  color:#7b4a34!important;
}
body.theme-night .firstSyncBox{background:#34465f!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night .firstSyncDesc,body.theme-night #firstSyncStatus{color:#e5d5b4!important}
body.theme-night #firstSyncCodeInput{background:#24344a!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night .firstSyncDivider span{background:#34465f!important}
body.theme-night .firstSyncDivider:before{background:#60728b!important}


/* v19.9.1 seedbar scrollbar final override — keep this LAST */
.seedbar{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:7px!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:#9b7b54 transparent!important;
}

/* WebKit / BB10 */
.seedbar::-webkit-scrollbar{
  width:0!important;
  height:6px!important;
  background:transparent!important;
}
.seedbar::-webkit-scrollbar-button{
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
}
.seedbar::-webkit-scrollbar-track,
.seedbar::-webkit-scrollbar-track-piece{
  background:rgba(99,77,52,.10)!important;
  border:1px solid rgba(99,77,52,.14)!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.seedbar::-webkit-scrollbar-thumb{
  min-width:32px!important;
  background:#a88a61!important;
  border:1px solid #755c3f!important;
  border-radius:8px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.seedbar::-webkit-scrollbar-corner{
  background:transparent!important;
}

/* theme colors */
body.theme-berry .seedbar{scrollbar-color:#b17b91 transparent!important}
body.theme-berry .seedbar::-webkit-scrollbar-track,
body.theme-berry .seedbar::-webkit-scrollbar-track-piece{
  background:rgba(145,86,111,.10)!important;border-color:rgba(145,86,111,.15)!important;
}
body.theme-berry .seedbar::-webkit-scrollbar-thumb{
  background:#b98297!important;border-color:#89576b!important;
}

body.theme-mint .seedbar{scrollbar-color:#829d84 transparent!important}
body.theme-mint .seedbar::-webkit-scrollbar-track,
body.theme-mint .seedbar::-webkit-scrollbar-track-piece{
  background:rgba(86,120,90,.10)!important;border-color:rgba(86,120,90,.15)!important;
}
body.theme-mint .seedbar::-webkit-scrollbar-thumb{
  background:#8da58f!important;border-color:#5c745f!important;
}

body.theme-peach .seedbar{scrollbar-color:#c38a6e transparent!important}
body.theme-peach .seedbar::-webkit-scrollbar-track,
body.theme-peach .seedbar::-webkit-scrollbar-track-piece{
  background:rgba(164,103,77,.10)!important;border-color:rgba(164,103,77,.15)!important;
}
body.theme-peach .seedbar::-webkit-scrollbar-thumb{
  background:#ca8e70!important;border-color:#9d654d!important;
}

body.theme-night .seedbar{scrollbar-color:#6f829c transparent!important}
body.theme-night .seedbar::-webkit-scrollbar-track,
body.theme-night .seedbar::-webkit-scrollbar-track-piece{
  background:rgba(215,229,244,.06)!important;border-color:rgba(215,229,244,.10)!important;
}
body.theme-night .seedbar::-webkit-scrollbar-thumb{
  background:#657b96!important;border-color:#34485f!important;
}

/* Q20: still easy to touch, but not chunky */
@media(max-width:480px){
  .seedbar{padding-bottom:8px!important}
  .seedbar::-webkit-scrollbar{height:6px!important}
}


/* v19.9.2 unified horizontal scrollbars — KEEP LAST */
.tabs,
.seedbar,
.yardRow{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:#73806d transparent!important;
}

/* Chrome/WebKit/BB10 */
.tabs::-webkit-scrollbar,
.seedbar::-webkit-scrollbar,
.yardRow::-webkit-scrollbar{
  height:6px!important;
  width:0!important;
  background:transparent!important;
}

.tabs::-webkit-scrollbar-button,
.seedbar::-webkit-scrollbar-button,
.yardRow::-webkit-scrollbar-button{
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
}

.tabs::-webkit-scrollbar-track,
.tabs::-webkit-scrollbar-track-piece,
.seedbar::-webkit-scrollbar-track,
.seedbar::-webkit-scrollbar-track-piece,
.yardRow::-webkit-scrollbar-track,
.yardRow::-webkit-scrollbar-track-piece{
  background:rgba(31,48,38,.16)!important;
  border:0!important;
  border-radius:6px!important;
  box-shadow:none!important;
}

.tabs::-webkit-scrollbar-thumb,
.seedbar::-webkit-scrollbar-thumb,
.yardRow::-webkit-scrollbar-thumb{
  min-width:34px!important;
  background:#71806c!important;
  border:0!important;
  border-radius:6px!important;
  box-shadow:none!important;
}

.tabs::-webkit-scrollbar-corner,
.seedbar::-webkit-scrollbar-corner,
.yardRow::-webkit-scrollbar-corner{
  background:transparent!important;
}

/* spacing: same bottom gap so all three look identical */
.tabs{padding-bottom:6px!important}
.seedbar{padding-bottom:6px!important}
.yardRow{padding-bottom:6px!important}

/* berry */
body.theme-berry .tabs,
body.theme-berry .seedbar,
body.theme-berry .yardRow{scrollbar-color:#a66f85 transparent!important}
body.theme-berry .tabs::-webkit-scrollbar-track,
body.theme-berry .tabs::-webkit-scrollbar-track-piece,
body.theme-berry .seedbar::-webkit-scrollbar-track,
body.theme-berry .seedbar::-webkit-scrollbar-track-piece,
body.theme-berry .yardRow::-webkit-scrollbar-track,
body.theme-berry .yardRow::-webkit-scrollbar-track-piece{background:rgba(127,72,94,.14)!important}
body.theme-berry .tabs::-webkit-scrollbar-thumb,
body.theme-berry .seedbar::-webkit-scrollbar-thumb,
body.theme-berry .yardRow::-webkit-scrollbar-thumb{background:#a66f85!important}

/* mint */
body.theme-mint .tabs,
body.theme-mint .seedbar,
body.theme-mint .yardRow{scrollbar-color:#6f8d73 transparent!important}
body.theme-mint .tabs::-webkit-scrollbar-track,
body.theme-mint .tabs::-webkit-scrollbar-track-piece,
body.theme-mint .seedbar::-webkit-scrollbar-track,
body.theme-mint .seedbar::-webkit-scrollbar-track-piece,
body.theme-mint .yardRow::-webkit-scrollbar-track,
body.theme-mint .yardRow::-webkit-scrollbar-track-piece{background:rgba(73,106,77,.13)!important}
body.theme-mint .tabs::-webkit-scrollbar-thumb,
body.theme-mint .seedbar::-webkit-scrollbar-thumb,
body.theme-mint .yardRow::-webkit-scrollbar-thumb{background:#6f8d73!important}

/* peach */
body.theme-peach .tabs,
body.theme-peach .seedbar,
body.theme-peach .yardRow{scrollbar-color:#b97b5f transparent!important}
body.theme-peach .tabs::-webkit-scrollbar-track,
body.theme-peach .tabs::-webkit-scrollbar-track-piece,
body.theme-peach .seedbar::-webkit-scrollbar-track,
body.theme-peach .seedbar::-webkit-scrollbar-track-piece,
body.theme-peach .yardRow::-webkit-scrollbar-track,
body.theme-peach .yardRow::-webkit-scrollbar-track-piece{background:rgba(146,85,59,.13)!important}
body.theme-peach .tabs::-webkit-scrollbar-thumb,
body.theme-peach .seedbar::-webkit-scrollbar-thumb,
body.theme-peach .yardRow::-webkit-scrollbar-thumb{background:#b97b5f!important}

/* night */
body.theme-night .tabs,
body.theme-night .seedbar,
body.theme-night .yardRow{scrollbar-color:#687c96 transparent!important}
body.theme-night .tabs::-webkit-scrollbar-track,
body.theme-night .tabs::-webkit-scrollbar-track-piece,
body.theme-night .seedbar::-webkit-scrollbar-track,
body.theme-night .seedbar::-webkit-scrollbar-track-piece,
body.theme-night .yardRow::-webkit-scrollbar-track,
body.theme-night .yardRow::-webkit-scrollbar-track-piece{background:rgba(216,230,246,.08)!important}
body.theme-night .tabs::-webkit-scrollbar-thumb,
body.theme-night .seedbar::-webkit-scrollbar-thumb,
body.theme-night .yardRow::-webkit-scrollbar-thumb{background:#687c96!important}

/* Q20 / narrow screens */
@media(max-width:480px){
  .tabs::-webkit-scrollbar,
  .seedbar::-webkit-scrollbar,
  .yardRow::-webkit-scrollbar{
    height:6px!important;
  }
}


/* v19.9.3 farm-walk typography */
.idleEventHint b{
  font-size:14px!important;
  line-height:1.3!important;
}
.idleEventHint span{
  font-size:11px!important;
  line-height:1.35!important;
}
@media(max-width:480px){
  .idleEventHint b{font-size:14px!important}
  .idleEventHint span{font-size:11px!important}
}


/* v20.0 Farm Journal */
.journalHead{display:table!important;width:100%!important}
.journalHead>b,.journalHead>span{display:table-cell!important;vertical-align:middle!important}
.journalHead>span{text-align:right!important}
.journalSummary{margin-top:8px!important;padding:9px!important;background:#fff8e8!important;border:2px solid #9a7955!important}
.journalBig{font-size:14px!important;margin-bottom:5px!important}
.attendanceGrid{display:table!important;width:100%!important;table-layout:fixed!important;border-spacing:3px!important;margin:7px -3px 6px!important}
.attendanceDay{display:table-cell!important;text-align:center!important;vertical-align:middle!important;padding:6px 2px!important;background:#fff8e8!important;border:2px solid #9a7955!important;opacity:.72!important}
.attendanceDay b,.attendanceDay span{display:block!important}
.attendanceDay b{font-size:10px!important}.attendanceDay span{font-size:7px!important;margin-top:3px!important;line-height:1.2!important}
.attendanceDay.done{background:#71965d!important;color:#fff9e8!important;border-color:#4f6f40!important;opacity:1!important}
.attendanceDay.next{outline:2px dashed #d3a53b!important;opacity:1!important}
.specialGoalName{font-weight:bold!important;font-size:13px!important;margin:7px 0 5px!important}
.specialGoalProgress{height:8px!important;background:#d7c7a6!important;border:1px solid #8b6c4d!important;margin-bottom:5px!important;overflow:hidden!important}
.specialGoalProgress>div{height:100%!important;background:#71965d!important}
#specialGoalClaim{margin-top:7px!important;width:100%!important}
body.theme-night .journalSummary,body.theme-night .attendanceDay{background:#293951!important;color:#fff3d3!important;border-color:#172439!important}
body.theme-night .attendanceDay.done{background:#607b5b!important}
body.theme-night .specialGoalProgress{background:#24344a!important;border-color:#172439!important}
body.theme-berry .journalSummary,body.theme-berry .attendanceDay{background:#fff4f8!important;color:#4b2938!important;border-color:#a9778a!important}
body.theme-mint .journalSummary,body.theme-mint .attendanceDay{background:#f5faef!important;color:#263c2b!important;border-color:#719173!important}
body.theme-peach .journalSummary,body.theme-peach .attendanceDay{background:#fff5eb!important;color:#4c3024!important;border-color:#ba8569!important}
@media(max-width:480px){
  .attendanceDay{padding:5px 1px!important}
  .attendanceDay b{font-size:9px!important}
  .attendanceDay span{font-size:6px!important}
}


/* v20.2 seed card metadata wrapping */
.seed{
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.seedMeta{
  display:block!important;
  width:100%!important;
  margin-top:4px!important;
  padding-top:3px!important;
  border-top:1px dashed rgba(92,70,45,.28)!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.25!important;
  box-sizing:border-box!important;
}
.seedLevel,
.seedTime{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-wrap:break-word!important;
}
.seedLevel{
  font-size:9px!important;
  font-weight:bold!important;
}
.seedTime{
  margin-top:2px!important;
  font-size:8px!important;
  line-height:1.3!important;
}
.seed .seasonTag{
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-wrap:break-word!important;
}
@media(max-width:480px){
  .seedMeta{margin-top:3px!important;padding-top:3px!important}
  .seedLevel{font-size:9px!important}
  .seedTime{font-size:8px!important}
}


/* v20.2.2 same-level panel title color normalization — KEEP LAST */
.section > .panel > b,
.section > .panel > .panelTitle,
.panel > b.panelTitle,
#facilitySec .panel > b,
#rankingSec .panel > b,
#warehouseSec .panel > b,
#orderSec .panel > b,
#shopSec .panel > b,
#questSec .panel > b,
#bookSec .panel > b,
#settingsSec .panel > b{
  color:#3f3023!important;
}

/* Night theme: same hierarchy, same bright title color */
body.theme-night .section > .panel > b,
body.theme-night .section > .panel > .panelTitle,
body.theme-night .panel > b.panelTitle,
body.theme-night #facilitySec .panel > b,
body.theme-night #rankingSec .panel > b,
body.theme-night #warehouseSec .panel > b,
body.theme-night #orderSec .panel > b,
body.theme-night #shopSec .panel > b,
body.theme-night #questSec .panel > b,
body.theme-night #bookSec .panel > b,
body.theme-night #settingsSec .panel > b{
  color:#fff1cf!important;
}

/* Berry */
body.theme-berry .section > .panel > b,
body.theme-berry .section > .panel > .panelTitle,
body.theme-berry .panel > b.panelTitle{
  color:#4b2938!important;
}

/* Mint */
body.theme-mint .section > .panel > b,
body.theme-mint .section > .panel > .panelTitle,
body.theme-mint .panel > b.panelTitle{
  color:#263c2b!important;
}

/* Peach */
body.theme-peach .section > .panel > b,
body.theme-peach .section > .panel > .panelTitle,
body.theme-peach .panel > b.panelTitle{
  color:#4c3024!important;
}


/* v20.2.3 FIX: actual storage/orders section IDs */
#storageSec > .panel > b,
#ordersSec > .panel > b,
#facilitySec > .panel > b,
#rankingSec > .panel > b,
#shopSec > .panel > b,
#questSec > .panel > b,
#bookSec > .panel > b,
#settingsSec > .panel > b{
  color:#f7e7c0!important;
}

/* Keep all same-level headings readable in the colored themes too */
body.theme-night #storageSec > .panel > b,
body.theme-night #ordersSec > .panel > b,
body.theme-night #facilitySec > .panel > b,
body.theme-night #rankingSec > .panel > b,
body.theme-night #shopSec > .panel > b,
body.theme-night #questSec > .panel > b,
body.theme-night #bookSec > .panel > b,
body.theme-night #settingsSec > .panel > b{
  color:#fff1cf!important;
}
body.theme-berry #storageSec > .panel > b,
body.theme-berry #ordersSec > .panel > b,
body.theme-berry #facilitySec > .panel > b,
body.theme-berry #rankingSec > .panel > b,
body.theme-berry #shopSec > .panel > b,
body.theme-berry #questSec > .panel > b,
body.theme-berry #bookSec > .panel > b,
body.theme-berry #settingsSec > .panel > b{color:#fff0f5!important}
body.theme-mint #storageSec > .panel > b,
body.theme-mint #ordersSec > .panel > b,
body.theme-mint #facilitySec > .panel > b,
body.theme-mint #rankingSec > .panel > b,
body.theme-mint #shopSec > .panel > b,
body.theme-mint #questSec > .panel > b,
body.theme-mint #bookSec > .panel > b,
body.theme-mint #settingsSec > .panel > b{color:#f2f7df!important}
body.theme-peach #storageSec > .panel > b,
body.theme-peach #ordersSec > .panel > b,
body.theme-peach #facilitySec > .panel > b,
body.theme-peach #rankingSec > .panel > b,
body.theme-peach #shopSec > .panel > b,
body.theme-peach #questSec > .panel > b,
body.theme-peach #bookSec > .panel > b,
body.theme-peach #settingsSec > .panel > b{color:#fff0d9!important}


/* v20.2.4 top-level panel subtitle normalization */
#storageSec > .panel > .small,
#ordersSec > .panel > .small,
#facilitySec > .panel > .small,
#rankingSec > .panel > .small,
#shopSec > .panel > .small,
#questSec > .panel > .small,
#bookSec > .panel > .small,
#settingsSec > .panel > .small{
  color:#ead8b3!important;
}

/* theme subtitle colors: softer than title, but still readable */
body.theme-night #storageSec > .panel > .small,
body.theme-night #ordersSec > .panel > .small,
body.theme-night #facilitySec > .panel > .small,
body.theme-night #rankingSec > .panel > .small,
body.theme-night #shopSec > .panel > .small,
body.theme-night #questSec > .panel > .small,
body.theme-night #bookSec > .panel > .small,
body.theme-night #settingsSec > .panel > .small{color:#d8cfb8!important}

body.theme-berry #storageSec > .panel > .small,
body.theme-berry #ordersSec > .panel > .small,
body.theme-berry #facilitySec > .panel > .small,
body.theme-berry #rankingSec > .panel > .small,
body.theme-berry #shopSec > .panel > .small,
body.theme-berry #questSec > .panel > .small,
body.theme-berry #bookSec > .panel > .small,
body.theme-berry #settingsSec > .panel > .small{color:#ead4dc!important}

body.theme-mint #storageSec > .panel > .small,
body.theme-mint #ordersSec > .panel > .small,
body.theme-mint #facilitySec > .panel > .small,
body.theme-mint #rankingSec > .panel > .small,
body.theme-mint #shopSec > .panel > .small,
body.theme-mint #questSec > .panel > .small,
body.theme-mint #bookSec > .panel > .small,
body.theme-mint #settingsSec > .panel > .small{color:#dce8d2!important}

body.theme-peach #storageSec > .panel > .small,
body.theme-peach #ordersSec > .panel > .small,
body.theme-peach #facilitySec > .panel > .small,
body.theme-peach #rankingSec > .panel > .small,
body.theme-peach #shopSec > .panel > .small,
body.theme-peach #questSec > .panel > .small,
body.theme-peach #bookSec > .panel > .small,
body.theme-peach #settingsSec > .panel > .small{color:#ecd8c5!important}


/* v20.2.5 LIGHT THEME TEXT RESET
   별밤(theme-night)을 제외한 모든 밝은 테마는 어두운 잉크색을 사용한다.
   이전 버전의 밝은 title/subtext override를 이 블록이 마지막에서 덮어쓴다. */

/* ---------- DEFAULT ---------- */
body.theme-default,
body.theme-default .panel,
body.theme-default .seedPanel,
body.theme-default .weatherBox,
body.theme-default .card,
body.theme-default .devCard,
body.theme-default .shopRow,
body.theme-default .storageLocked,
body.theme-default .storageSummary,
body.theme-default .rankNameBox,
body.theme-default .rankRow,
body.theme-default .farmerCountCard,
body.theme-default .journalSummary,
body.theme-default .attendanceDay,
body.theme-default .idleEventStage{
  color:#3b2d22!important;
}
body.theme-default .panel > b,
body.theme-default .panelTitle,
body.theme-default .section > .panel > b,
body.theme-default .journalHead > b,
body.theme-default .specialGoalName,
body.theme-default .themeTitle,
body.theme-default .fundTitle b,
body.theme-default label{
  color:#2f241b!important;
}
body.theme-default .small,
body.theme-default .tiny,
body.theme-default .section > .panel > .small,
body.theme-default .journalSummary .small,
body.theme-default .idleEventHint span,
body.theme-default .farmerCountCard small,
body.theme-default #rankingStatus{
  color:#6b513b!important;
}

/* ---------- BERRY ---------- */
body.theme-berry,
body.theme-berry .panel,
body.theme-berry .seedPanel,
body.theme-berry .weatherBox,
body.theme-berry .card,
body.theme-berry .devCard,
body.theme-berry .shopRow,
body.theme-berry .storageLocked,
body.theme-berry .storageSummary,
body.theme-berry .rankNameBox,
body.theme-berry .rankRow,
body.theme-berry .farmerCountCard,
body.theme-berry .journalSummary,
body.theme-berry .attendanceDay,
body.theme-berry .idleEventStage{
  color:#4b2938!important;
}
body.theme-berry .panel > b,
body.theme-berry .panelTitle,
body.theme-berry .section > .panel > b,
body.theme-berry .journalHead > b,
body.theme-berry .specialGoalName,
body.theme-berry .themeTitle,
body.theme-berry .fundTitle b,
body.theme-berry label{
  color:#3b202d!important;
}
body.theme-berry .small,
body.theme-berry .tiny,
body.theme-berry .section > .panel > .small,
body.theme-berry .journalSummary .small,
body.theme-berry .idleEventHint span,
body.theme-berry .farmerCountCard small,
body.theme-berry #rankingStatus{
  color:#75475b!important;
}

/* ---------- MINT ---------- */
body.theme-mint,
body.theme-mint .panel,
body.theme-mint .seedPanel,
body.theme-mint .weatherBox,
body.theme-mint .card,
body.theme-mint .devCard,
body.theme-mint .shopRow,
body.theme-mint .storageLocked,
body.theme-mint .storageSummary,
body.theme-mint .rankNameBox,
body.theme-mint .rankRow,
body.theme-mint .farmerCountCard,
body.theme-mint .journalSummary,
body.theme-mint .attendanceDay,
body.theme-mint .idleEventStage{
  color:#2d4432!important;
}
body.theme-mint .panel > b,
body.theme-mint .panelTitle,
body.theme-mint .section > .panel > b,
body.theme-mint .journalHead > b,
body.theme-mint .specialGoalName,
body.theme-mint .themeTitle,
body.theme-mint .fundTitle b,
body.theme-mint label{
  color:#203526!important;
}
body.theme-mint .small,
body.theme-mint .tiny,
body.theme-mint .section > .panel > .small,
body.theme-mint .journalSummary .small,
body.theme-mint .idleEventHint span,
body.theme-mint .farmerCountCard small,
body.theme-mint #rankingStatus{
  color:#4d6b53!important;
}

/* ---------- PEACH ---------- */
body.theme-peach,
body.theme-peach .panel,
body.theme-peach .seedPanel,
body.theme-peach .weatherBox,
body.theme-peach .card,
body.theme-peach .devCard,
body.theme-peach .shopRow,
body.theme-peach .storageLocked,
body.theme-peach .storageSummary,
body.theme-peach .rankNameBox,
body.theme-peach .rankRow,
body.theme-peach .farmerCountCard,
body.theme-peach .journalSummary,
body.theme-peach .attendanceDay,
body.theme-peach .idleEventStage{
  color:#4a3024!important;
}
body.theme-peach .panel > b,
body.theme-peach .panelTitle,
body.theme-peach .section > .panel > b,
body.theme-peach .journalHead > b,
body.theme-peach .specialGoalName,
body.theme-peach .themeTitle,
body.theme-peach .fundTitle b,
body.theme-peach label{
  color:#3a241b!important;
}
body.theme-peach .small,
body.theme-peach .tiny,
body.theme-peach .section > .panel > .small,
body.theme-peach .journalSummary .small,
body.theme-peach .idleEventHint span,
body.theme-peach .farmerCountCard small,
body.theme-peach #rankingStatus{
  color:#7a4e3b!important;
}

/* 씨앗 카드/시설 카드 내부도 밝은 테마에서는 반드시 어두운 글씨 */
body.theme-default .seed, body.theme-default .facilityCard,
body.theme-berry .seed, body.theme-berry .facilityCard,
body.theme-mint .seed, body.theme-mint .facilityCard,
body.theme-peach .seed, body.theme-peach .facilityCard{
  color:#3d3026!important;
}
body.theme-berry .seed,body.theme-berry .facilityCard{color:#4b2938!important}
body.theme-mint .seed,body.theme-mint .facilityCard{color:#2d4432!important}
body.theme-peach .seed,body.theme-peach .facilityCard{color:#4a3024!important}

/* 입력창 역시 밝은 테마에서는 어두운 글자 */
body.theme-default input,body.theme-default textarea,
body.theme-berry input,body.theme-berry textarea,
body.theme-mint input,body.theme-mint textarea,
body.theme-peach input,body.theme-peach textarea{
  color:#35281e!important;
}
body.theme-berry input,body.theme-berry textarea{color:#462534!important}
body.theme-mint input,body.theme-mint textarea{color:#233a29!important}
body.theme-peach input,body.theme-peach textarea{color:#4a2c21!important}

/* 버튼/활성 탭은 어두운 배경 위라 기존 밝은 글씨 유지 */
body.theme-default .btn,
body.theme-default .tab.active,
body.theme-berry .btn,
body.theme-berry .tab.active,
body.theme-mint .btn,
body.theme-mint .tab.active,
body.theme-peach .btn,
body.theme-peach .tab.active{
  color:#fffaf0!important;
}

/* 별밤은 기존 밝은 텍스트 규칙을 그대로 유지 */
body.theme-night .panel,
body.theme-night .seedPanel,
body.theme-night .card,
body.theme-night .devCard,
body.theme-night .shopRow,
body.theme-night .seed,
body.theme-night .facilityCard{
  color:#fff2d4!important;
}
body.theme-night .panel > b,
body.theme-night .section > .panel > b,
body.theme-night .panelTitle{
  color:#fff1cf!important;
}
body.theme-night .small,
body.theme-night .tiny,
body.theme-night .section > .panel > .small{
  color:#e7dbc2!important;
}


/* v20.2.6 — LIGHT / DARK text palette hard split
   밝은 테마(default/berry/mint/peach)는 진한 잉크색,
   어두운 테마(night)는 밝은 크림색을 최종 우선순위로 사용한다. */

/* ===== LIGHT THEMES : common readable text ===== */
body.theme-default,
body.theme-berry,
body.theme-mint,
body.theme-peach{
  color:#382b21!important;
}
body.theme-default .section,
body.theme-berry .section,
body.theme-mint .section,
body.theme-peach .section,
body.theme-default .panel,
body.theme-berry .panel,
body.theme-mint .panel,
body.theme-peach .panel,
body.theme-default .seedPanel,
body.theme-berry .seedPanel,
body.theme-mint .seedPanel,
body.theme-peach .seedPanel{
  color:#382b21!important;
}
body.theme-default .small, body.theme-default .tiny,
body.theme-berry .small,   body.theme-berry .tiny,
body.theme-mint .small,    body.theme-mint .tiny,
body.theme-peach .small,   body.theme-peach .tiny{
  color:#66503b!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.theme-default .panel b, body.theme-default .panel strong,
body.theme-berry .panel b,   body.theme-berry .panel strong,
body.theme-mint .panel b,    body.theme-mint .panel strong,
body.theme-peach .panel b,   body.theme-peach .panel strong{
  color:#2d2118!important;
  text-shadow:none!important;
}
body.theme-default .tab, body.theme-default .seed,
body.theme-berry .tab,   body.theme-berry .seed,
body.theme-mint .tab,    body.theme-mint .seed,
body.theme-peach .tab,   body.theme-peach .seed{
  color:#3f3024!important;
  text-shadow:none!important;
}
body.theme-default input, body.theme-default textarea,
body.theme-berry input,   body.theme-berry textarea,
body.theme-mint input,    body.theme-mint textarea,
body.theme-peach input,   body.theme-peach textarea{
  color:#35271e!important;
  -webkit-text-fill-color:#35271e!important;
}

/* 밝은 테마의 강조 버튼/선택 탭은 밝은 글자 유지 */
body.theme-default .btn, body.theme-default .tab.active,
body.theme-berry .btn,   body.theme-berry .tab.active,
body.theme-mint .btn,    body.theme-mint .tab.active,
body.theme-peach .btn,   body.theme-peach .tab.active,
body.theme-default .dayStamp.done,
body.theme-berry .dayStamp.done,
body.theme-mint .dayStamp.done,
body.theme-peach .dayStamp.done{
  color:#fffdf5!important;
  -webkit-text-fill-color:#fffdf5!important;
  text-shadow:0 1px 0 rgba(0,0,0,.28)!important;
}

/* ===== DARK THEME : common readable text ===== */
body.theme-night{
  color:#fff3d6!important;
}
body.theme-night .section,
body.theme-night .panel,
body.theme-night .seedPanel,
body.theme-night .shopRow,
body.theme-night .card,
body.theme-night .devRow,
body.theme-night .devCard,
body.theme-night .storageLocked,
body.theme-night .storageSummary,
body.theme-night .rankNameBox,
body.theme-night .rankRow,
body.theme-night .facilityModalBox,
body.theme-night .buyEffect,
body.theme-night .buyPrice{
  color:#fff3d6!important;
}
body.theme-night .small,
body.theme-night .tiny,
body.theme-night .emptyState,
body.theme-night .facilityNext,
body.theme-night .buyDesc,
body.theme-night .buyWallet,
body.theme-night #rankingStatus,
body.theme-night #cloudStatus{
  color:#e8d9b8!important;
  opacity:1!important;
}
body.theme-night .panel b,
body.theme-night .panel strong,
body.theme-night .card b,
body.theme-night .shopRow b,
body.theme-night .infoRow b,
body.theme-night label{
  color:#fff9e6!important;
}
body.theme-night .tab,
body.theme-night .seed{
  color:#fff0cf!important;
}
body.theme-night .tab.active,
body.theme-night .btn,
body.theme-night .dayStamp.done{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 1px 0 rgba(0,0,0,.35)!important;
}
body.theme-night input,
body.theme-night textarea{
  color:#fff5dc!important;
  -webkit-text-fill-color:#fff5dc!important;
}

/* BB10/WebKit에서 투명/흐린 텍스트로 남는 경우 방지 */
body.theme-default .section *, body.theme-berry .section *,
body.theme-mint .section *, body.theme-peach .section *,
body.theme-night .section *{
  visibility:visible;
}


/* v20.2.9 — FINAL TEXT CONTRAST GUARANTEE
   BB10/WebKit에서 예전 color / -webkit-text-fill-color / CSS variable 규칙이
   남아 글자가 사라지는 문제를 최종 우선순위에서 완전히 차단한다. */

/* ===== 밝은 테마 : 모든 일반 텍스트를 확실한 진한색으로 ===== */
body.theme-default .section *,
body.theme-berry .section *,
body.theme-mint .section *,
body.theme-peach .section *{
  -webkit-text-fill-color:currentColor;
  text-shadow:none;
}

body.theme-default .section{color:#382b21!important}
body.theme-berry .section{color:#4b2938!important}
body.theme-mint .section{color:#29422f!important}
body.theme-peach .section{color:#4a3024!important}

/* 제목/본문 — 오래된 밝은색 override까지 제거 */
body.theme-default .section b,
body.theme-default .section strong,
body.theme-default .section label,
body.theme-default .section .panelTitle,
body.theme-default .section .themeTitle,
body.theme-default .section .specialGoalName,
body.theme-default .section .journalHead,
body.theme-default .section .fundTitle,
body.theme-default .section .rankNo,
body.theme-default .section .rankFarmer,
body.theme-default .section .rankScore{color:#302319!important;-webkit-text-fill-color:#302319!important}

body.theme-berry .section b,
body.theme-berry .section strong,
body.theme-berry .section label,
body.theme-berry .section .panelTitle,
body.theme-berry .section .themeTitle,
body.theme-berry .section .specialGoalName,
body.theme-berry .section .journalHead,
body.theme-berry .section .fundTitle,
body.theme-berry .section .rankNo,
body.theme-berry .section .rankFarmer,
body.theme-berry .section .rankScore{color:#3b202d!important;-webkit-text-fill-color:#3b202d!important}

body.theme-mint .section b,
body.theme-mint .section strong,
body.theme-mint .section label,
body.theme-mint .section .panelTitle,
body.theme-mint .section .themeTitle,
body.theme-mint .section .specialGoalName,
body.theme-mint .section .journalHead,
body.theme-mint .section .fundTitle,
body.theme-mint .section .rankNo,
body.theme-mint .section .rankFarmer,
body.theme-mint .section .rankScore{color:#203526!important;-webkit-text-fill-color:#203526!important}

body.theme-peach .section b,
body.theme-peach .section strong,
body.theme-peach .section label,
body.theme-peach .section .panelTitle,
body.theme-peach .section .themeTitle,
body.theme-peach .section .specialGoalName,
body.theme-peach .section .journalHead,
body.theme-peach .section .fundTitle,
body.theme-peach .section .rankNo,
body.theme-peach .section .rankFarmer,
body.theme-peach .section .rankScore{color:#3a241b!important;-webkit-text-fill-color:#3a241b!important}

/* 설명/보조문구 */
body.theme-default .section .small,body.theme-default .section .tiny,
body.theme-default .section small,body.theme-default .section .emptyState,
body.theme-default .section .facilityNext,body.theme-default .section .buyDesc,
body.theme-default .section .buyWallet,body.theme-default .section .rankFarmer span,
body.theme-default .section .rankScore span{color:#654b35!important;-webkit-text-fill-color:#654b35!important;opacity:1!important}

body.theme-berry .section .small,body.theme-berry .section .tiny,
body.theme-berry .section small,body.theme-berry .section .emptyState,
body.theme-berry .section .facilityNext,body.theme-berry .section .buyDesc,
body.theme-berry .section .buyWallet,body.theme-berry .section .rankFarmer span,
body.theme-berry .section .rankScore span{color:#75475b!important;-webkit-text-fill-color:#75475b!important;opacity:1!important}

body.theme-mint .section .small,body.theme-mint .section .tiny,
body.theme-mint .section small,body.theme-mint .section .emptyState,
body.theme-mint .section .facilityNext,body.theme-mint .section .buyDesc,
body.theme-mint .section .buyWallet,body.theme-mint .section .rankFarmer span,
body.theme-mint .section .rankScore span{color:#496950!important;-webkit-text-fill-color:#496950!important;opacity:1!important}

body.theme-peach .section .small,body.theme-peach .section .tiny,
body.theme-peach .section small,body.theme-peach .section .emptyState,
body.theme-peach .section .facilityNext,body.theme-peach .section .buyDesc,
body.theme-peach .section .buyWallet,body.theme-peach .section .rankFarmer span,
body.theme-peach .section .rankScore span{color:#7a4e3b!important;-webkit-text-fill-color:#7a4e3b!important;opacity:1!important}

/* 밝은 테마 입력창: 배경과 글자 모두 명시 (CSS variable 미지원 브라우저 대비) */
body.theme-default input,body.theme-default textarea{background:#fffdf7!important;color:#35281e!important;-webkit-text-fill-color:#35281e!important;border-color:#8d6c49!important}
body.theme-berry input,body.theme-berry textarea{background:#fff7fa!important;color:#462534!important;-webkit-text-fill-color:#462534!important;border-color:#9d6b7d!important}
body.theme-mint input,body.theme-mint textarea{background:#f8fff4!important;color:#233a29!important;-webkit-text-fill-color:#233a29!important;border-color:#719173!important}
body.theme-peach input,body.theme-peach textarea{background:#fff8ef!important;color:#4a2c21!important;-webkit-text-fill-color:#4a2c21!important;border-color:#ba8569!important}
body.theme-default input::placeholder,body.theme-berry input::placeholder,body.theme-mint input::placeholder,body.theme-peach input::placeholder,
body.theme-default textarea::placeholder,body.theme-berry textarea::placeholder,body.theme-mint textarea::placeholder,body.theme-peach textarea::placeholder{color:#8a7563!important;-webkit-text-fill-color:#8a7563!important;opacity:1!important}

/* 강조색 배경 위의 텍스트는 밝은색 유지 */
body.theme-default .btn,body.theme-default .tab.active,body.theme-default .dayStamp.done,
body.theme-berry .btn,body.theme-berry .tab.active,body.theme-berry .dayStamp.done,
body.theme-mint .btn,body.theme-mint .tab.active,body.theme-mint .dayStamp.done,
body.theme-peach .btn,body.theme-peach .tab.active,body.theme-peach .dayStamp.done{
  color:#fffdf5!important;-webkit-text-fill-color:#fffdf5!important;text-shadow:0 1px 0 rgba(0,0,0,.28)!important
}

/* 비활성 탭은 밝은 배경이므로 진한색 */
body.theme-default .tab{color:#3b2d22!important;-webkit-text-fill-color:#3b2d22!important}
body.theme-berry .tab{color:#4b2938!important;-webkit-text-fill-color:#4b2938!important}
body.theme-mint .tab{color:#29422f!important;-webkit-text-fill-color:#29422f!important}
body.theme-peach .tab{color:#4a3024!important;-webkit-text-fill-color:#4a3024!important}

/* ===== 별밤 테마 : 모든 텍스트 + 입력창을 확실히 어둡게/밝게 분리 ===== */
body.theme-night .section *{-webkit-text-fill-color:currentColor}
body.theme-night .section{color:#fff3d6!important}
body.theme-night .section b,body.theme-night .section strong,body.theme-night .section label,
body.theme-night .section .panelTitle,body.theme-night .section .themeTitle,
body.theme-night .section .specialGoalName,body.theme-night .section .journalHead,
body.theme-night .section .fundTitle,body.theme-night .section .rankNo,
body.theme-night .section .rankFarmer,body.theme-night .section .rankScore{
  color:#fff9e6!important;-webkit-text-fill-color:#fff9e6!important
}
body.theme-night .section .small,body.theme-night .section .tiny,body.theme-night .section small,
body.theme-night .section .emptyState,body.theme-night .section .facilityNext,
body.theme-night .section .buyDesc,body.theme-night .section .buyWallet,
body.theme-night .section .rankFarmer span,body.theme-night .section .rankScore span,
body.theme-night #rankingStatus,body.theme-night #cloudStatus{
  color:#e8d9b8!important;-webkit-text-fill-color:#e8d9b8!important;opacity:1!important
}
body.theme-night input,body.theme-night textarea,
body.theme-night .rankNameBox input,body.theme-night .farmNameEditor input,
body.theme-night .cloudPanel input,body.theme-night .saveImportBox{
  background:#1f2d42!important;
  background-color:#1f2d42!important;
  color:#fff5dc!important;
  -webkit-text-fill-color:#fff5dc!important;
  border-color:#536b89!important;
  opacity:1!important;
}
body.theme-night input::placeholder,body.theme-night textarea::placeholder{
  color:#b9aa8e!important;-webkit-text-fill-color:#b9aa8e!important;opacity:1!important
}
body.theme-night .tab,body.theme-night .seed{color:#fff0cf!important;-webkit-text-fill-color:#fff0cf!important}
body.theme-night .tab.active,body.theme-night .btn,body.theme-night .dayStamp.done{
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.35)!important
}

/* 상점/랭킹/설정에서 실제로 문제됐던 최상위 제목을 별도로 고정 */
body.theme-default #shopSec>.panel>b,body.theme-default #rankingSec>.panel>b,body.theme-default #settingsSec>.panel>b{color:#302319!important;-webkit-text-fill-color:#302319!important}
body.theme-berry #shopSec>.panel>b,body.theme-berry #rankingSec>.panel>b,body.theme-berry #settingsSec>.panel>b{color:#3b202d!important;-webkit-text-fill-color:#3b202d!important}
body.theme-mint #shopSec>.panel>b,body.theme-mint #rankingSec>.panel>b,body.theme-mint #settingsSec>.panel>b{color:#203526!important;-webkit-text-fill-color:#203526!important}
body.theme-peach #shopSec>.panel>b,body.theme-peach #rankingSec>.panel>b,body.theme-peach #settingsSec>.panel>b{color:#3a241b!important;-webkit-text-fill-color:#3a241b!important}
body.theme-night #shopSec>.panel>b,body.theme-night #rankingSec>.panel>b,body.theme-night #settingsSec>.panel>b{color:#fff9e6!important;-webkit-text-fill-color:#fff9e6!important}


/* ===== v20.2.9 FINAL THEME TEXT POLICY =====
   별밤농장(theme-night)만 밝은 글씨.
   그 외 모든 테마는 타이틀/subtext/버튼/패널/보조문구까지 어두운 글씨.
   BB10 WebKit 대응을 위해 -webkit-text-fill-color도 함께 고정합니다. */

/* LIGHT THEMES : 모든 글자를 어둡게 */
body.theme-default,
body.theme-berry,
body.theme-mint,
body.theme-peach{
  color:#302820 !important;
  -webkit-text-fill-color:#302820 !important;
}
body.theme-default *,
body.theme-berry *,
body.theme-mint *,
body.theme-peach *{
  color:#302820 !important;
  -webkit-text-fill-color:#302820 !important;
}

/* 상단 타이틀 / 서브텍스트 / 커뮤니티 문구를 명시적으로 재고정 */
body.theme-default .bar .title, body.theme-default .bar .small, body.theme-default .bar .tiny, body.theme-default .communityStats,
body.theme-berry .bar .title, body.theme-berry .bar .small, body.theme-berry .bar .tiny, body.theme-berry .communityStats,
body.theme-mint .bar .title, body.theme-mint .bar .small, body.theme-mint .bar .tiny, body.theme-mint .communityStats,
body.theme-peach .bar .title, body.theme-peach .bar .small, body.theme-peach .bar .tiny, body.theme-peach .communityStats{
  color:#302820 !important;
  -webkit-text-fill-color:#302820 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* LIGHT 테마 입력창/placeholder도 어두운 글씨 */
body.theme-default input, body.theme-default textarea,
body.theme-berry input, body.theme-berry textarea,
body.theme-mint input, body.theme-mint textarea,
body.theme-peach input, body.theme-peach textarea{
  color:#302820 !important;
  -webkit-text-fill-color:#302820 !important;
}
body.theme-default input::placeholder, body.theme-default textarea::placeholder,
body.theme-berry input::placeholder, body.theme-berry textarea::placeholder,
body.theme-mint input::placeholder, body.theme-mint textarea::placeholder,
body.theme-peach input::placeholder, body.theme-peach textarea::placeholder{
  color:#6b5a4b !important;
  -webkit-text-fill-color:#6b5a4b !important;
  opacity:1 !important;
}

/* NIGHT THEME : 모든 글자를 밝게 */
body.theme-night{
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
}
body.theme-night *{
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
}
body.theme-night .bar .title,
body.theme-night .bar .small,
body.theme-night .bar .tiny,
body.theme-night .communityStats,
body.theme-night .small,
body.theme-night .tiny,
body.theme-night small{
  color:#fff3d6 !important;
  -webkit-text-fill-color:#fff3d6 !important;
  opacity:1 !important;
}
body.theme-night input,
body.theme-night textarea{
  color:#fff5dc !important;
  -webkit-text-fill-color:#fff5dc !important;
}
body.theme-night input::placeholder,
body.theme-night textarea::placeholder{
  color:#cdbf9f !important;
  -webkit-text-fill-color:#cdbf9f !important;
  opacity:1 !important;
}


/* ===== v20.4.2 TIME FLOW + STORAGE ITEM VISIBILITY FIX ===== */
#storageList .devRow,#orderList .devCard{display:block!important;visibility:visible!important;opacity:1!important}
#storageList .devRow{min-height:38px!important;padding:6px 4px!important;overflow:hidden!important}
#storageList .devRow>span:first-child{display:inline-flex!important;align-items:center!important;gap:6px!important;max-width:75%!important}
#storageList .devRow>span:last-child{float:right!important;line-height:30px!important;font-weight:bold!important}
.storageCropIcon{width:30px!important;height:30px!important;object-fit:contain!important;vertical-align:middle!important;image-rendering:pixelated!important;display:inline-block!important}
.storageCropFallback{display:inline-block!important;width:30px!important;text-align:center!important;font-size:20px!important;line-height:30px!important}
body:not(.theme-night) #storageList .devRow,body:not(.theme-night) #storageList .devRow *{color:#2f2118!important;-webkit-text-fill-color:#2f2118!important}
body.theme-night #storageList .devRow,body.theme-night #storageList .devRow *{color:#fff2d4!important;-webkit-text-fill-color:#fff2d4!important}

/* ===== v20.3.6 TOAST VISIBILITY HARD FIX =====
   Light-theme global text rules use !important, so toast needs its own
   stronger final override. Also lift it above every fixed/modal layer. */
#toast{
  display:block!important;
  position:fixed!important;
  left:8%!important;
  right:8%!important;
  bottom:22px!important;
  top:auto!important;
  box-sizing:border-box!important;
  padding:11px 12px!important;
  background:#2d2923!important;
  border:2px solid #fff0cf!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-size:14px!important;
  line-height:1.35!important;
  text-align:center!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:2147483647!important;
}
body.theme-default #toast, body.theme-berry #toast, body.theme-mint #toast,
body.theme-peach #toast, body.theme-night #toast{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:#2d2923!important;
}
#toast.toastShow{
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:480px){
  #toast{left:10px!important;right:10px!important;bottom:18px!important;font-size:12px!important;padding:9px 10px!important}
}

/* ===== v21.3 keyboard help readability =====
   키보드 안내는 모든 테마에서 밝은 카드 + 진한 글자로 고정한다. */
body .help,
body.theme-default .help,
body.theme-berry .help,
body.theme-mint .help,
body.theme-peach .help,
body.theme-night .help{
  background:#fffaf0!important;
  color:#3b3026!important;
  -webkit-text-fill-color:#3b3026!important;
  border-color:#9c7b53!important;
  text-shadow:none!important;
}
body .help *,
body.theme-default .help *,
body.theme-berry .help *,
body.theme-mint .help *,
body.theme-peach .help *,
body.theme-night .help *{
  color:#3b3026!important;
  -webkit-text-fill-color:#3b3026!important;
  text-shadow:none!important;
}
body .help kbd,
body.theme-night .help kbd{
  background:#ffffff!important;
  color:#2f2924!important;
  -webkit-text-fill-color:#2f2924!important;
  border-color:#8d7354!important;
}

/* 수확 결과 전용 토스트: 오른쪽 하단에서 위로 쌓임 */
#harvestToastStack{
  position:fixed!important;
  right:14px!important;
  bottom:18px!important;
  width:300px!important;
  max-width:calc(100vw - 28px)!important;
  z-index:2147483646!important;
  pointer-events:none!important;
}
.harvestToast{
  box-sizing:border-box!important;
  width:100%!important;
  margin-top:7px!important;
  padding:10px 12px!important;
  background:#fffaf0!important;
  color:#352b22!important;
  -webkit-text-fill-color:#352b22!important;
  border:2px solid #8d7354!important;
  box-shadow:3px 3px 0 rgba(45,41,35,.45)!important;
  font-size:12px!important;
  line-height:1.45!important;
  text-align:left!important;
  opacity:1!important;
}
.harvestToast .harvestTitle{display:block!important;font-weight:bold!important;font-size:13px!important;color:#2f241b!important;-webkit-text-fill-color:#2f241b!important}
.harvestToast .harvestMeta{display:block!important;margin-top:2px!important;color:#654b32!important;-webkit-text-fill-color:#654b32!important}
.harvestToast.goldHarvest{background:#fff1b8!important;border-color:#b47b18!important}
.harvestToast.quality-silver{border-left:6px solid #9ca6ad!important}
.harvestToast.quality-goldq{border-left:6px solid #d49a13!important}
.harvestToast.quality-rainbowq{border-left:6px solid #7a5aa6!important}
@media(max-width:480px){
  #harvestToastStack{right:10px!important;bottom:14px!important;width:270px!important;max-width:calc(100vw - 20px)!important}
  .harvestToast{font-size:11px!important;padding:8px 10px!important}
}


/* v20.4.2 — time flow affects grass only, not the UI */
#dayShade{display:none!important;opacity:0!important}
body{
  /* JS updates this color through the day; UI/panels remain untouched. */
  transition:background-color 3s linear!important;
  -webkit-transition:background-color 3s linear!important;
}


/* v20.4.2 — approved grass time palette
   03:00 #274e2b / 06:00 #3c6f2e / 09:00 #59b33a / 12:00 #6ecf3f
   15:00 #88d04a / 18:00 #4e7a2e / 21:00 #2e562b / 24:00 #234427 */
body{
  background-color:#59b33a;
  transition:background-color 3s linear!important;
  -webkit-transition:background-color 3s linear!important;
}
#dayShade{
  display:none!important;
  opacity:0!important;
}


/* v20.4.2 — grass time tint actually visible above the texture, below all UI */
html,body{min-height:100%}
body{position:relative}

/* UI always stays above the grass tint */
#app{
  position:relative!important;
  z-index:2!important;
}

/* Reuse dayShade as a grass-only tint layer.
   It sits above body's pixel grass texture, but below the entire game UI. */
#dayShade{
  display:block!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  z-index:1!important;
  pointer-events:none!important;
  transition:background-color 3s linear,opacity 3s linear!important;
  -webkit-transition:background-color 3s linear,opacity 3s linear!important;
}

/* Weather must stay above the UI/tint */
#weatherFx{
  z-index:90!important;
}


/* v20.4.2 — reliable time-of-day grass rendering
   Move the actual pixel-grass texture onto a dedicated background layer.
   JS changes THIS layer's brightness, so the PNG pixels themselves darken. */
body{
  background-image:none!important;
  background-color:#59b33a!important;
  position:relative!important;
}
body:before{
  content:"";
  position:fixed;
  left:0;top:0;right:0;bottom:0;
  z-index:-2;
  pointer-events:none;
  background-color:#59b33a;
  background-image:url("../icon/img_001.png");
  background-repeat:repeat;
  image-rendering:pixelated;
  -webkit-filter:brightness(var(--grass-brightness,1));
  filter:brightness(var(--grass-brightness,1));
}
#app{position:relative!important;z-index:2!important}
#dayShade{display:none!important;opacity:0!important}

/* ===== v21.4 seed light-surface readability =====
   씨앗 영역의 밝은 배경은 어떤 테마에서도 진한 글자를 사용한다. */
body .seedTitle,
body.theme-default .seedTitle,
body.theme-berry .seedTitle,
body.theme-mint .seedTitle,
body.theme-peach .seedTitle,
body.theme-night .seedTitle{
  background:#d8b875!important;
  color:#3b2b20!important;
  -webkit-text-fill-color:#3b2b20!important;
  border-color:#7a5738!important;
  text-shadow:none!important;
}
body .seedTitle *,
body.theme-night .seedTitle *{
  color:#3b2b20!important;
  -webkit-text-fill-color:#3b2b20!important;
  text-shadow:none!important;
}
body .seedTitle kbd,
body.theme-night .seedTitle kbd{
  background:#fffaf0!important;
  color:#2f2924!important;
  -webkit-text-fill-color:#2f2924!important;
  border-color:#80684d!important;
}

/* 밝은 씨앗 카드(default/berry/mint/peach)는 본문/보조문구까지 모두 진한색 */
body.theme-default .seed, body.theme-default .seed *,
body.theme-berry .seed,   body.theme-berry .seed *,
body.theme-mint .seed,    body.theme-mint .seed *,
body.theme-peach .seed,   body.theme-peach .seed *{
  color:#3b3026!important;
  -webkit-text-fill-color:#3b3026!important;
  text-shadow:none!important;
}
body.theme-default .seed .tiny,
body.theme-berry .seed .tiny,
body.theme-mint .seed .tiny,
body.theme-peach .seed .tiny{
  color:#66503b!important;
  -webkit-text-fill-color:#66503b!important;
  opacity:1!important;
}



/* ===== v21.5 THEME CONTRAST SYSTEM — seed/help/toast surfaces =====
   밝은 표면 = 진한 글자 / 어두운 표면 = 밝은 글자.
   씨앗 패널, 계절 태그, 키 안내, 수확 토스트를 테마별로 한 세트로 맞춘다. */

/* ---------- common ---------- */
.seedPanel,.seedTitle,.seed,.seed *,.seasonTag,.help,.help *,#harvestToastStack,.harvestToast,.harvestToast *{
  text-shadow:none!important;
}
.seedTitle{font-weight:bold!important}
.seed small,.seedMeta,.seedLevel,.seedTime{opacity:1!important}
.seed .seasonTag{font-weight:bold!important}

/* ---------- DEFAULT / 콩알농장 ---------- */
body.theme-default .seedPanel{background:#f4e8cc!important;border-color:#745136!important;color:#35281e!important}
body.theme-default .seedTitle{background:#e3c58d!important;border-color:#745136!important;color:#35281e!important;-webkit-text-fill-color:#35281e!important}
body.theme-default .seed{background:#fff8e8!important;border-color:#a57c4d!important;color:#35281e!important;-webkit-text-fill-color:#35281e!important}
body.theme-default .seed *{color:#35281e!important;-webkit-text-fill-color:#35281e!important}
body.theme-default .seed small,body.theme-default .seedMeta{color:#654a34!important;-webkit-text-fill-color:#654a34!important}
body.theme-default .seed.active{background:#f5f0d8!important;border-color:#5f893d!important;box-shadow:inset 0 0 0 3px #78a34d,2px 2px 0 #8f6d49!important}
body.theme-default .seasonTag{background:#e9c78f!important;border-color:#a7773f!important;color:#52371f!important;-webkit-text-fill-color:#52371f!important}
body.theme-default .seasonTag.current{background:#729d45!important;border-color:#4f7132!important;color:#fffbe8!important;-webkit-text-fill-color:#fffbe8!important}
body.theme-default .seed.locked{background:#e3d5bd!important;color:#6a5a48!important}

/* ---------- BERRY / 딸기우유 ---------- */
body.theme-berry .seedPanel{background:#f4dfe7!important;border-color:#8c576b!important;color:#452735!important}
body.theme-berry .seedTitle{background:#e8bfd0!important;border-color:#8c576b!important;color:#452735!important;-webkit-text-fill-color:#452735!important}
body.theme-berry .seed{background:#fff5f8!important;border-color:#ad758b!important;color:#452735!important;-webkit-text-fill-color:#452735!important}
body.theme-berry .seed *{color:#452735!important;-webkit-text-fill-color:#452735!important}
body.theme-berry .seed small,body.theme-berry .seedMeta{color:#75475b!important;-webkit-text-fill-color:#75475b!important}
body.theme-berry .seed.active{background:#f9e8ef!important;border-color:#a74f74!important;box-shadow:inset 0 0 0 3px #c26b8d,2px 2px 0 #8c6575!important}
body.theme-berry .seasonTag{background:#e8c49a!important;border-color:#a66d3f!important;color:#55351f!important;-webkit-text-fill-color:#55351f!important}
body.theme-berry .seasonTag.current{background:#b85f83!important;border-color:#7e4059!important;color:#fff8fb!important;-webkit-text-fill-color:#fff8fb!important}
body.theme-berry .seed.locked{background:#decbd3!important;color:#765b66!important}

/* ---------- MINT / 민트새싹 ---------- */
body.theme-mint .seedPanel{background:#e3eee0!important;border-color:#58785b!important;color:#243a29!important}
body.theme-mint .seedTitle{background:#c8ddc1!important;border-color:#58785b!important;color:#243a29!important;-webkit-text-fill-color:#243a29!important}
body.theme-mint .seed{background:#f7fff3!important;border-color:#77977a!important;color:#243a29!important;-webkit-text-fill-color:#243a29!important}
body.theme-mint .seed *{color:#243a29!important;-webkit-text-fill-color:#243a29!important}
body.theme-mint .seed small,body.theme-mint .seedMeta{color:#4b6951!important;-webkit-text-fill-color:#4b6951!important}
body.theme-mint .seed.active{background:#eaf6df!important;border-color:#558046!important;box-shadow:inset 0 0 0 3px #77a960,2px 2px 0 #668169!important}
body.theme-mint .seasonTag{background:#e5c793!important;border-color:#9d7442!important;color:#50361f!important;-webkit-text-fill-color:#50361f!important}
body.theme-mint .seasonTag.current{background:#6f9e72!important;border-color:#4b704e!important;color:#fffdf2!important;-webkit-text-fill-color:#fffdf2!important}
body.theme-mint .seed.locked{background:#d4dfd1!important;color:#586b5b!important}

/* ---------- PEACH / 복숭아 ---------- */
body.theme-peach .seedPanel{background:#f8e3d3!important;border-color:#a66e52!important;color:#492b20!important}
body.theme-peach .seedTitle{background:#efc6a9!important;border-color:#a66e52!important;color:#492b20!important;-webkit-text-fill-color:#492b20!important}
body.theme-peach .seed{background:#fff7ee!important;border-color:#bd8568!important;color:#492b20!important;-webkit-text-fill-color:#492b20!important}
body.theme-peach .seed *{color:#492b20!important;-webkit-text-fill-color:#492b20!important}
body.theme-peach .seed small,body.theme-peach .seedMeta{color:#7a4d3a!important;-webkit-text-fill-color:#7a4d3a!important}
body.theme-peach .seed.active{background:#f8ead9!important;border-color:#8a7747!important;box-shadow:inset 0 0 0 3px #a69959,2px 2px 0 #9a705a!important}
body.theme-peach .seasonTag{background:#eab97c!important;border-color:#a86d35!important;color:#4e301a!important;-webkit-text-fill-color:#4e301a!important}
body.theme-peach .seasonTag.current{background:#c47a55!important;border-color:#8b533d!important;color:#fffaf1!important;-webkit-text-fill-color:#fffaf1!important}
body.theme-peach .seed.locked{background:#e6d0c1!important;color:#76594a!important}

/* ---------- NIGHT / 별밤농장 ---------- */
body.theme-night .seedPanel{background:#15283f!important;border-color:#0b1626!important;color:#f7ecd0!important;box-shadow:3px 3px 0 #0a1422!important}
body.theme-night .seedTitle{background:#203955!important;border-color:#0c192a!important;color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important}
body.theme-night .seedTitle>span,body.theme-night .seedTitle strong{color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important}
body.theme-night .seedTitle kbd{background:#fff8e9!important;border-color:#a8865f!important;color:#2d241c!important;-webkit-text-fill-color:#2d241c!important}
body.theme-night .seed{background:#243d5b!important;border-color:#11233a!important;color:#fff4da!important;-webkit-text-fill-color:#fff4da!important}
body.theme-night .seed *{color:#fff4da!important;-webkit-text-fill-color:#fff4da!important}
body.theme-night .seed small,body.theme-night .seedMeta,body.theme-night .seedLevel,body.theme-night .seedTime{color:#eadbbb!important;-webkit-text-fill-color:#eadbbb!important}
body.theme-night .seed.active{background:#284460!important;border-color:#7dad45!important;box-shadow:inset 0 0 0 3px #91bd54,2px 2px 0 #091523!important}
/* 별밤에서 베이지색 계절 배지가 흰 글자와 겹치지 않도록 배지 자체를 강조색으로 변경 */
body.theme-night .seasonTag{background:#c88343!important;border-color:#8c562d!important;color:#fff9e9!important;-webkit-text-fill-color:#fff9e9!important}
body.theme-night .seasonTag.current{background:#759e45!important;border-color:#4e7130!important;color:#fffce9!important;-webkit-text-fill-color:#fffce9!important}
body.theme-night .seed.locked{background:#1b3049!important;border-color:#0e1e31!important;color:#aeb9c6!important;-webkit-text-fill-color:#aeb9c6!important;opacity:.66!important}
body.theme-night .seed.locked *{color:#aeb9c6!important;-webkit-text-fill-color:#aeb9c6!important}

/* ---------- keyboard help ---------- */
/* 밝은 테마: 밝은 카드 + 어두운 잉크 */
body.theme-default .help{background:#fff9ed!important;border-color:#9b7853!important;color:#35291f!important;-webkit-text-fill-color:#35291f!important}
body.theme-berry .help{background:#fff5f8!important;border-color:#aa7489!important;color:#452735!important;-webkit-text-fill-color:#452735!important}
body.theme-mint .help{background:#f8fff4!important;border-color:#78977a!important;color:#243a29!important;-webkit-text-fill-color:#243a29!important}
body.theme-peach .help{background:#fff7ee!important;border-color:#bd8568!important;color:#492b20!important;-webkit-text-fill-color:#492b20!important}
body.theme-default .help *,body.theme-berry .help *,body.theme-mint .help *,body.theme-peach .help *{color:inherit!important;-webkit-text-fill-color:inherit!important}
/* 별밤: 이미지처럼 안내 카드도 네이비로, 키캡만 밝게 */
body.theme-night .help{background:#203955!important;border-color:#0c192a!important;color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important}
body.theme-night .help *{color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important}
body.theme-night .help kbd{background:#fff8e9!important;border-color:#a8865f!important;color:#2d241c!important;-webkit-text-fill-color:#2d241c!important}

/* ---------- harvest toast ---------- */
body.theme-default .harvestToast,body.theme-berry .harvestToast,body.theme-mint .harvestToast,body.theme-peach .harvestToast{
  background:#fff9ed!important;color:#33271e!important;-webkit-text-fill-color:#33271e!important;border-color:#8f704f!important
}
body.theme-default .harvestToast *,body.theme-berry .harvestToast *,body.theme-mint .harvestToast *,body.theme-peach .harvestToast *{color:#33271e!important;-webkit-text-fill-color:#33271e!important}
body.theme-night .harvestToast{background:#203955!important;color:#fff4d9!important;-webkit-text-fill-color:#fff4d9!important;border-color:#0c192a!important;box-shadow:3px 3px 0 #091523!important}
body.theme-night .harvestToast .harvestTitle{color:#fff7e3!important;-webkit-text-fill-color:#fff7e3!important}
body.theme-night .harvestToast .harvestMeta{color:#eadbbb!important;-webkit-text-fill-color:#eadbbb!important}
body.theme-night .harvestToast.goldHarvest{background:#3b3b32!important;border-color:#b98927!important}

/* disabled/locked controls: explicit contrast */
body.theme-night button:disabled,body.theme-night .btn:disabled{background:#33445a!important;color:#aeb9c6!important;-webkit-text-fill-color:#aeb9c6!important;border-color:#1a293c!important;opacity:.75!important}
body.theme-default button:disabled,body.theme-berry button:disabled,body.theme-mint button:disabled,body.theme-peach button:disabled{color:#5f5549!important;-webkit-text-fill-color:#5f5549!important;opacity:.72!important}



/* ===== v21.6 FARM REMAIN-TIME THEME VISIBILITY FIX =====
   BB10/WebKit의 -webkit-text-fill-color 상속 충돌을 차단하고
   모든 테마에서 밭의 남은 성장 시간을 확실하게 표시한다. */
#farm .plot .remainTime{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:12!important;
  left:3px!important;
  right:3px!important;
  bottom:9px!important;
  min-height:11px!important;
  padding:2px 2px!important;
  box-sizing:border-box!important;
  font-size:9px!important;
  font-weight:bold!important;
  line-height:1.05!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-shadow:1px 1px 0 rgba(0,0,0,.55)!important;
}

/* 콩알농장 */
body.theme-default #farm .plot .remainTime{
  background:#47382c!important;
  border-color:#e2c99a!important;
  color:#fff6d8!important;
  -webkit-text-fill-color:#fff6d8!important;
}
body.theme-default #farm .plot.ready .remainTime{
  background:#58753e!important;
  border-color:#dbe9b8!important;
  color:#fffde7!important;
  -webkit-text-fill-color:#fffde7!important;
}

/* 딸기우유 */
body.theme-berry #farm .plot .remainTime{
  background:#5b3545!important;
  border-color:#efc4d4!important;
  color:#fff4f8!important;
  -webkit-text-fill-color:#fff4f8!important;
}
body.theme-berry #farm .plot.ready .remainTime{
  background:#87506a!important;
  border-color:#f4d3df!important;
  color:#fff8fb!important;
  -webkit-text-fill-color:#fff8fb!important;
}

/* 민트새싹 */
body.theme-mint #farm .plot .remainTime{
  background:#344b39!important;
  border-color:#c9e0c5!important;
  color:#f7fff1!important;
  -webkit-text-fill-color:#f7fff1!important;
}
body.theme-mint #farm .plot.ready .remainTime{
  background:#527456!important;
  border-color:#d5ebcd!important;
  color:#fffdf2!important;
  -webkit-text-fill-color:#fffdf2!important;
}

/* 복숭아 */
body.theme-peach #farm .plot .remainTime{
  background:#5b3b2f!important;
  border-color:#f1cbb3!important;
  color:#fff5ea!important;
  -webkit-text-fill-color:#fff5ea!important;
}
body.theme-peach #farm .plot.ready .remainTime{
  background:#8a5d43!important;
  border-color:#f6d8c3!important;
  color:#fffaf1!important;
  -webkit-text-fill-color:#fffaf1!important;
}

/* 별밤농장 — 기존 정상 가독성 유지 */
body.theme-night #farm .plot .remainTime{
  background:#18283d!important;
  border-color:#8da1ba!important;
  color:#fff1cf!important;
  -webkit-text-fill-color:#fff1cf!important;
}
body.theme-night #farm .plot.ready .remainTime{
  background:#455f48!important;
  border-color:#b9d39b!important;
  color:#fff8df!important;
  -webkit-text-fill-color:#fff8df!important;
}

/* 진행바와 겹쳐도 시간 라벨이 항상 위에 오도록 보장 */
#farm .plot .prog{z-index:8!important}
#farm .plot .cropImg{z-index:2!important}
#farm .plot .cropSign{z-index:10!important}


/* v21.7 quality pixel icons */
.qualityIcon{display:inline-block!important;width:14px!important;height:14px!important;margin-left:5px!important;margin-right:2px!important;vertical-align:-2px!important;position:relative!important;transform:rotate(45deg)!important;border:2px solid rgba(35,39,46,.58)!important;box-sizing:border-box!important;box-shadow:1px 1px 0 rgba(0,0,0,.25)!important;-webkit-text-fill-color:transparent!important;color:transparent!important}.qualityIcon:after{content:""!important;position:absolute!important;width:4px!important;height:4px!important;left:3px!important;top:3px!important;background:rgba(255,255,255,.82)!important}.qualityIcon.silver{background:#c8d0d8!important;border-color:#737f8a!important}.qualityIcon.goldq{background:#f4c542!important;border-color:#a86f0b!important}.qualityIcon.rainbowq{background:linear-gradient(135deg,#ff7aa8 0 24%,#ffd45a 24% 48%,#73dca4 48% 72%,#78a9ff 72% 100%)!important;border-color:#76559c!important}


/* v21.8 — top utility buttons + patch note/help modal */
.topUtilityBtns{display:block;margin:0 0 4px 0;text-align:right;white-space:nowrap}
.topUtilityBtn{
  display:inline-block;min-height:24px;margin-left:4px;padding:3px 7px;box-sizing:border-box;
  border:2px solid #75583c;background:#fff3d6;color:#392a1e;font-family:inherit;font-size:10px;line-height:14px;
  box-shadow:1px 1px 0 rgba(53,38,25,.30);cursor:pointer;border-radius:3px;
  -webkit-text-fill-color:#392a1e!important
}
.topUtilityBtn:active{transform:translateY(1px);box-shadow:none}
body.theme-berry .topUtilityBtn{background:#fff1f6;border-color:#8b566c;color:#4b2938;-webkit-text-fill-color:#4b2938!important}
body.theme-mint .topUtilityBtn{background:#f5ffef;border-color:#57785b;color:#263e2c;-webkit-text-fill-color:#263e2c!important}
body.theme-peach .topUtilityBtn{background:#fff2e9;border-color:#a46e53;color:#513124;-webkit-text-fill-color:#513124!important}
body.theme-night .topUtilityBtn{background:#263850;border-color:#7b91ab;color:#fff1d5;-webkit-text-fill-color:#fff1d5!important;box-shadow:1px 1px 0 #142135}

.infoModal{position:fixed;left:0;top:0;width:100%;height:100%;z-index:12000;display:none}
.infoModal.open{display:block}
.infoModalDim{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(27,23,19,.68)}
.infoModalBox{
  position:absolute;left:50%;top:50%;width:90%;max-width:520px;max-height:84%;overflow-y:auto;
  transform:translate(-50%,-50%);box-sizing:border-box;padding:10px;
  background:#f3e6c4;color:#392c21;border:4px solid #705238;box-shadow:5px 5px 0 rgba(32,24,18,.42)
}
.infoModalHead{position:sticky;top:-10px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px;margin:-10px -10px 9px;padding:9px 10px 7px;background:#e3cb98;border-bottom:3px solid #705238}
.infoModalHead b{font-size:14px;color:#302319;-webkit-text-fill-color:#302319!important}
.infoModalClose{width:29px;height:27px;padding:0;border:2px solid #705238;background:#fff3d6;color:#392a1e;font:inherit;font-size:17px;line-height:20px;cursor:pointer;-webkit-text-fill-color:#392a1e!important}
.infoModalSection{margin-top:8px;padding:8px;background:#fff8e8;border:2px solid #b49369;color:#443426}
.infoModalSection:first-child{margin-top:0}
.infoModalSection h3{margin:0 0 5px;font-size:12px;color:#33271d;-webkit-text-fill-color:#33271d!important}
.infoModalSection p{margin:4px 0;font-size:10px;line-height:1.55;color:#604a37;-webkit-text-fill-color:#604a37!important}
.infoModalList{margin:4px 0 0;padding-left:18px;font-size:10px;line-height:1.6;color:#604a37}
.infoModalList li{margin:2px 0}
.helpQualityGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:6px}
.helpQualityRow{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:6px;background:#f0dfbd;border:1px solid #b49369;font-size:9px;color:#493725}
.helpQualityName{display:flex;align-items:center;gap:3px;font-weight:bold}
.helpQualityRow .qualityIcon{width:12px!important;height:12px!important;margin:0 3px!important;vertical-align:0!important}
.helpQualityRow .qualityIcon:after{width:3px!important;height:3px!important;left:2px!important;top:2px!important}
.currentOdds{margin-top:7px;padding:7px;background:#e7f0dc;border:2px solid #8daa6e;color:#35502c;font-size:10px;line-height:1.55}
.currentOdds b{color:#294321;-webkit-text-fill-color:#294321!important}
.patchItem{padding:7px 0;border-bottom:1px dashed #c9af82}
.patchItem:last-child{border-bottom:0}
.patchVer{font-weight:bold;font-size:11px;color:#3f2d20;-webkit-text-fill-color:#3f2d20!important}
.patchDate{font-size:9px;color:#806a50;margin-left:4px;-webkit-text-fill-color:#806a50!important}
.patchText{margin-top:4px;font-size:10px;line-height:1.55;color:#604a37;-webkit-text-fill-color:#604a37!important}
body.infoModalOpen{overflow-y:scroll!important;overflow-x:hidden!important}

body.theme-berry .infoModalBox{background:#f6e2ea;color:#4b2938;border-color:#8b566c}
body.theme-berry .infoModalHead{background:#e9c5d4;border-color:#8b566c}
body.theme-berry .infoModalHead b,body.theme-berry .infoModalSection h3{color:#462534;-webkit-text-fill-color:#462534!important}
body.theme-berry .infoModalSection{background:#fff4f8;border-color:#a9778a;color:#4b2938}
body.theme-berry .infoModalSection p,body.theme-berry .infoModalList,body.theme-berry .patchText{color:#75475b;-webkit-text-fill-color:#75475b!important}
body.theme-berry .helpQualityRow{background:#f6dfe8;border-color:#b98698;color:#4b2938}
body.theme-berry .currentOdds{background:#f2e7ef;border-color:#b98698;color:#66394c}
body.theme-berry .infoModalClose{border-color:#8b566c}

body.theme-mint .infoModalBox{background:#e7f1e3;color:#263e2c;border-color:#57785b}
body.theme-mint .infoModalHead{background:#c9dfc3;border-color:#57785b}
body.theme-mint .infoModalHead b,body.theme-mint .infoModalSection h3{color:#233a29;-webkit-text-fill-color:#233a29!important}
body.theme-mint .infoModalSection{background:#f7fff3;border-color:#719173;color:#263e2c}
body.theme-mint .infoModalSection p,body.theme-mint .infoModalList,body.theme-mint .patchText{color:#4d6b53;-webkit-text-fill-color:#4d6b53!important}
body.theme-mint .helpQualityRow{background:#dcebd7;border-color:#82a084;color:#263e2c}
body.theme-mint .currentOdds{background:#d9edd5;border-color:#719173;color:#35583d}
body.theme-mint .infoModalClose{border-color:#57785b}

body.theme-peach .infoModalBox{background:#fae7d8;color:#513124;border-color:#a46e53}
body.theme-peach .infoModalHead{background:#f2cfb5;border-color:#a46e53}
body.theme-peach .infoModalHead b,body.theme-peach .infoModalSection h3{color:#4b2c20;-webkit-text-fill-color:#4b2c20!important}
body.theme-peach .infoModalSection{background:#fff5ec;border-color:#bd876d;color:#513124}
body.theme-peach .infoModalSection p,body.theme-peach .infoModalList,body.theme-peach .patchText{color:#86533f;-webkit-text-fill-color:#86533f!important}
body.theme-peach .helpQualityRow{background:#f7ddca;border-color:#c39278;color:#513124}
body.theme-peach .currentOdds{background:#f5e2d2;border-color:#bd876d;color:#70412f}
body.theme-peach .infoModalClose{border-color:#a46e53}

body.theme-night .infoModalBox{background:#34465f;color:#fff3d3;border-color:#172439}
body.theme-night .infoModalHead{background:#263850;border-color:#172439}
body.theme-night .infoModalHead b{color:#fff2d2;-webkit-text-fill-color:#fff2d2!important}
body.theme-night .infoModalSection{background:#293951;border-color:#526b89;color:#fff3d3}
body.theme-night .infoModalSection h3{color:#fff0c8;-webkit-text-fill-color:#fff0c8!important}
body.theme-night .infoModalSection p,body.theme-night .infoModalList,body.theme-night .patchText{color:#e5d5b4;-webkit-text-fill-color:#e5d5b4!important}
body.theme-night .helpQualityRow{background:#22334a;border-color:#526b89;color:#f9ecd0}
body.theme-night .currentOdds{background:#203849;border-color:#668d75;color:#dff3ce}
body.theme-night .currentOdds b{color:#e9ffd8;-webkit-text-fill-color:#e9ffd8!important}
body.theme-night .infoModalClose{background:#1e3048;border-color:#7089a5;color:#fff1d5;-webkit-text-fill-color:#fff1d5!important}
body.theme-night .patchVer{color:#fff0c8;-webkit-text-fill-color:#fff0c8!important}
body.theme-night .patchDate{color:#b9c9da;-webkit-text-fill-color:#b9c9da!important}
body.theme-night .patchItem{border-color:#526b89}

@media(max-width:480px){
  .topUtilityBtn{font-size:9px;padding:2px 5px;min-height:22px}
  .infoModalBox{width:94%;max-height:86%;padding:8px}
  .infoModalHead{top:-8px;margin:-8px -8px 7px;padding:8px}
  .helpQualityGrid{grid-template-columns:1fr}
}

/* v21.9 — 도움말 키캡을 하단 키보드 안내와 동일한 밝은 키캡 스타일로 통일 */
.infoModal kbd,
body.theme-default .infoModal kbd,
body.theme-berry .infoModal kbd,
body.theme-mint .infoModal kbd,
body.theme-peach .infoModal kbd,
body.theme-night .infoModal kbd{
  display:inline-block!important;
  min-width:18px!important;
  padding:1px 4px!important;
  margin:0 1px!important;
  box-sizing:border-box!important;
  background:#ffffff!important;
  color:#2f2924!important;
  -webkit-text-fill-color:#2f2924!important;
  border:2px solid #8d7354!important;
  border-radius:3px!important;
  box-shadow:1px 1px 0 rgba(70,52,37,.24)!important;
  text-shadow:none!important;
  font-family:inherit!important;
  font-size:9px!important;
  line-height:14px!important;
  text-align:center!important;
  vertical-align:1px!important;
}


/* v21.15 — 빈 gutter 예약 대신 실제 루트 스크롤바를 항상 유지 */
html{
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  scrollbar-gutter:auto!important;
  scrollbar-width:auto;
  scrollbar-color:#9b7651 #ead8b4;
}
body{
  overflow-y:visible!important;
  overflow-x:hidden!important;
}
body.infoModalOpen{
  overflow-y:visible!important;
  overflow-x:hidden!important;
}
html::-webkit-scrollbar{width:11px!important}
html::-webkit-scrollbar-track{
  background:#ead8b4!important;
  border-left:1px solid #b9986e!important;
}
html::-webkit-scrollbar-thumb{
  background:#9b7651!important;
  border:2px solid #ead8b4!important;
  border-radius:6px!important;
}
html::-webkit-scrollbar-thumb:hover{background:#7f5e3f!important}
body.theme-night ~ *{} /* legacy parser-safe separator */


/* v21.12 — 상단 공지/계절날씨/도움말 3버튼 항상 표시 */
.topUtilityBtns{white-space:normal!important;display:flex!important;justify-content:flex-end!important;gap:4px!important;flex-wrap:wrap!important}
.topUtilityBtns .topUtilityBtn{margin-left:0!important;white-space:nowrap!important}
@media(max-width:420px){.topUtilityBtns{gap:3px!important}.topUtilityBtns .topUtilityBtn{font-size:8px!important;padding:2px 4px!important}}


/* v21.16 — 창고 품질/황금 등급 보관 및 판매 */
.storageSellActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:5px}
.storageSellBtn{border:2px solid #75583e;background:#fff8e8;color:#2f2118!important;-webkit-text-fill-color:#2f2118!important;padding:5px 8px;font:inherit;font-size:11px;cursor:pointer;box-shadow:1px 1px 0 rgba(0,0,0,.18)}
.storageSellBtn:hover{transform:translateY(-1px)}
.storageSellBtn.sellAll{background:#f6dfad}
.storageVariantRow{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:8px 6px!important;border-bottom:1px dashed rgba(92,65,42,.32)!important;min-height:48px!important}
.storageVariantMain{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;flex:1 1 auto!important}
.storageVariantText{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}
.storageVariantName{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:wrap!important;font-weight:bold!important}
.storageVariantMeta{font-size:10px!important;opacity:.86!important}
.storageVariantSide{display:flex!important;align-items:flex-end!important;flex-direction:column!important;gap:4px!important;flex:0 0 auto!important}
.storageQty{font-weight:bold!important}
.storageGoldBadge{display:inline-block!important;background:#f4c542!important;border:1px solid #a86f0b!important;color:#4b3210!important;-webkit-text-fill-color:#4b3210!important;padding:1px 4px!important;font-size:9px!important;line-height:1.3!important}
.storageQualityNormal{font-size:10px!important;opacity:.75!important}
body.theme-night .storageSellBtn{background:#324a67!important;border-color:#13243a!important;color:#fff2d4!important;-webkit-text-fill-color:#fff2d4!important}
body.theme-night .storageSellBtn.sellAll{background:#5a4930!important;border-color:#b98927!important}
body.theme-night .storageVariantRow{border-bottom-color:rgba(255,238,205,.22)!important}
body.theme-night .storageVariantMeta{color:#dbcbaa!important;-webkit-text-fill-color:#dbcbaa!important}
@media(max-width:520px){.storageVariantRow{align-items:flex-start!important}.storageVariantSide{align-items:flex-end!important}.storageSellBtn{padding:4px 6px!important;font-size:10px!important}}


/* v21.17 — 창고 선택 수량 판매 */
.storageSellControls{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;margin-top:5px}
.storageSellQtyInput{width:54px;min-width:54px;height:27px;box-sizing:border-box;border:2px solid #75583e;background:#fffdf4;color:#2f2118!important;-webkit-text-fill-color:#2f2118!important;text-align:center;font:inherit;font-size:11px;padding:2px 3px;outline:none}
.storageQtyStep{min-width:27px;padding:4px 6px!important}
.storageSellSelected{min-width:82px}
.storageSalePreview{width:100%;text-align:right;font-size:10px;opacity:.86;margin-top:1px}
body.theme-night .storageSellQtyInput{background:#f9f2df!important;border-color:#c29a5b!important;color:#241c15!important;-webkit-text-fill-color:#241c15!important}
@media(max-width:520px){.storageSellControls{justify-content:flex-end}.storageSellQtyInput{width:46px;min-width:46px}.storageSellSelected{min-width:72px}}


/* v21.22 — Mona12 typography */
body{font-family:'Mona12',Arial,sans-serif!important;font-weight:400}
b,strong,.title,.themeTitle,.seedTitle,.patchVer,.storageVariantName,.storageQty,.btn,.tab,.topUtilityBtn,kbd{font-family:'Mona12',Arial,sans-serif!important;font-weight:700!important}
input,textarea,select,button{font-family:'Mona12',Arial,sans-serif!important}


/* v21.23 — 씨앗 카드 구매가 + 기본 판매가 */
.seedPrices{display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;margin-top:2px;font-size:11px;line-height:1.25}
.seedBuyPrice,.seedSellPrice{display:inline-block;white-space:nowrap}
.seedSellPrice{font-weight:bold}
body.theme-night .seedPrices,body.theme-night .seedBuyPrice,body.theme-night .seedSellPrice{color:#fff2d4!important;-webkit-text-fill-color:#fff2d4!important}

/* v21.24 — 토스트 충돌 방지 + 반투명 배경 + 농장 팻말 가독성 */
/* 일반/심기 토스트는 화면 가장 아래에 유지 */
#toast,
body.theme-default #toast,
body.theme-berry #toast,
body.theme-mint #toast,
body.theme-peach #toast,
body.theme-night #toast{
  bottom:16px!important;
  background:rgba(45,41,35,.88)!important;
  border-color:rgba(255,240,207,.88)!important;
  opacity:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#toast.toastShow{opacity:1!important;visibility:visible!important}

/* 수확 토스트는 일반 토스트보다 충분히 위에서 시작 */
#harvestToastStack{
  right:14px!important;
  bottom:76px!important;
}
.harvestToast{
  background:rgba(255,250,240,.90)!important;
  box-shadow:3px 3px 0 rgba(45,41,35,.30)!important;
}
.harvestToast.goldHarvest{background:rgba(255,241,184,.90)!important}
body.theme-default .harvestToast,
body.theme-berry .harvestToast,
body.theme-mint .harvestToast,
body.theme-peach .harvestToast{background:rgba(255,249,237,.90)!important}
body.theme-night .harvestToast{background:rgba(32,57,85,.90)!important;box-shadow:3px 3px 0 rgba(9,21,35,.55)!important}
body.theme-night .harvestToast.goldHarvest{background:rgba(59,59,50,.90)!important}

/* 팻말은 밭 폭을 거의 모두 사용하고 황금은 별만 표시 */
#farm .plot .cropSign{
  left:3px!important;
  right:auto!important;
  max-width:calc(100% - 6px)!important;
  box-sizing:border-box!important;
  padding:2px 3px 3px!important;
  font-size:10px!important;
  line-height:1.05!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#farm .plot .cropSign .goldTag{
  display:inline!important;
  font-size:10px!important;
  margin-right:1px!important;
}
@media(max-width:480px){
  #toast{bottom:12px!important}
  #harvestToastStack{right:10px!important;bottom:68px!important}
  #farm .plot .cropSign{font-size:9px!important;padding:2px 2px 3px!important}
  #farm .plot .cropSign .goldTag{font-size:9px!important}
}


/* ===== v21.26 랭킹 세분화 + 꾸미기 상점 ===== */
.rankTabs{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;margin:8px 0 6px;padding-bottom:3px}
.rankSubTab{flex:0 0 auto;border:2px solid #8d6b48;background:#ead8b4;color:#3c2d21!important;-webkit-text-fill-color:#3c2d21!important;padding:5px 8px;font:inherit;font-size:10px;cursor:pointer}
.rankSubTab.active{background:#71965d;color:#fffbe8!important;-webkit-text-fill-color:#fffbe8!important;border-color:#4f6f40}
body.theme-night .rankSubTab{background:#293951;border-color:#536b89;color:#fff0d0!important;-webkit-text-fill-color:#fff0d0!important}
body.theme-night .rankSubTab.active{background:#607b5b;border-color:#86a36d}
.rankMetricHint{margin:4px 0 7px!important}

.decorIntro{margin-bottom:8px}
.decorCategoryTitle{margin-top:10px;padding:5px 7px;border-bottom:2px solid #9a7955;font-weight:bold}
.decorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.decorCard{box-sizing:border-box;padding:8px;background:#fff8e8;border:2px solid #9a7955;min-height:126px;display:flex;flex-direction:column;justify-content:space-between}
.decorCard.equipped{box-shadow:inset 0 0 0 3px #78a454}
.decorCard.locked{opacity:.72}
.decorPreview{height:38px;margin-bottom:5px;border:2px solid #8d6b48;background:#d9e3ae;position:relative;overflow:hidden}
.decorPreview:before,.decorPreview:after{content:"";position:absolute;display:block}
.decorName{font-weight:bold;font-size:11px}.decorDesc{font-size:9px;line-height:1.35;margin-top:3px;opacity:.86}.decorPrice{font-size:9px;margin-top:4px;font-weight:bold}
.decorBtn{width:100%;margin-top:6px;padding:6px 5px!important;font-size:10px!important}
.decorOwnedTag,.decorEquippedTag{display:inline-block;margin-left:4px;padding:1px 4px;font-size:8px;border:1px solid #7f6a50;background:#ead8b4}
.decorEquippedTag{background:#71965d;color:#fffbe8!important;-webkit-text-fill-color:#fffbe8!important;border-color:#4f6f40}
body.theme-night .decorCard{background:#293951;border-color:#172439;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}
body.theme-night .decorCategoryTitle{border-color:#536b89;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}
body.theme-night .decorPreview{background:#1e3048;border-color:#536b89}
body.theme-night .decorOwnedTag{background:#33465e;border-color:#6c83a0;color:#e9ddc2!important;-webkit-text-fill-color:#e9ddc2!important}
@media(max-width:520px){.decorGrid{grid-template-columns:1fr}.rankSubTab{font-size:9px;padding:4px 6px}}

/* 미리보기 */
.preview-sign-cream:before{left:18%;right:18%;top:8px;height:18px;background:#f5e4b9;border:2px solid #8d6b48}
.preview-sign-mint:before{left:18%;right:18%;top:8px;height:18px;background:#cfe6c4;border:2px solid #59785c}
.preview-sign-star:before{left:18%;right:18%;top:8px;height:18px;background:#243b5b;border:2px solid #d4aa43;box-shadow:inset 0 0 0 2px #536b89}
.preview-field-white:before{left:5px;right:5px;bottom:5px;height:22px;border:4px double #f8f1df;background:#8eaf67}
.preview-field-stone:before{left:5px;right:5px;bottom:5px;height:22px;border:5px ridge #8b8b82;background:#8eaf67}
.preview-field-star:before{left:5px;right:5px;bottom:5px;height:22px;border:4px solid #7ea2c8;background:#203754;box-shadow:inset 0 0 0 2px #d4aa43}
.preview-yard-blossom:before{inset:5px;background:#f0d5da;border:3px solid #a8677e}
.preview-yard-mint:before{inset:5px;background:#d9ecd0;border:3px solid #66846b}
.preview-yard-star:before{inset:5px;background:#263b58;border:3px solid #7894b5}
.preview-toast-cream:before{left:12%;right:12%;top:8px;height:18px;background:rgba(255,248,232,.9);border:2px solid #9a7955}
.preview-toast-gold:before{left:12%;right:12%;top:8px;height:18px;background:rgba(255,233,164,.9);border:2px solid #b47b18}
.preview-toast-star:before{left:12%;right:12%;top:8px;height:18px;background:rgba(32,57,85,.9);border:2px solid #8ba5c3}

/* 실제 장착 효과 */
body.decor-sign-cream .cropSign{background:#f5e4b9!important;color:#3d2d20!important;-webkit-text-fill-color:#3d2d20!important;border-color:#8d6b48!important}
body.decor-sign-mint .cropSign{background:#cfe6c4!important;color:#28402d!important;-webkit-text-fill-color:#28402d!important;border-color:#59785c!important}
body.decor-sign-star .cropSign{background:#243b5b!important;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important;border-color:#d4aa43!important}
body.decor-sign-star .cropSign.goldCrop{box-shadow:inset 0 0 0 1px #ffe68a!important}

body.decor-field-white #farm{background:rgba(124,154,83,.42)!important;box-shadow:inset 0 0 0 3px #f8f1df,inset 0 0 0 6px #b9a98d!important}
body.decor-field-stone #farm{background:rgba(124,154,83,.38)!important;box-shadow:inset 0 0 0 4px #77776f,inset 0 0 0 7px #aaa99e!important}
body.decor-field-star #farm{background:rgba(27,48,75,.62)!important;box-shadow:inset 0 0 0 3px #7894b5,inset 0 0 0 6px #d4aa43!important}

body.decor-yard-blossom #facilityYard{background:#efd6dc!important;border-color:#9d6479!important}
body.decor-yard-mint #facilityYard{background:#d8ead0!important;border-color:#65836a!important}
body.decor-yard-star #facilityYard{background:#263b58!important;border-color:#7894b5!important}
body.decor-yard-star .yardTitle,body.decor-yard-star .yardTitle .tiny{color:#fff0d0!important;-webkit-text-fill-color:#fff0d0!important}

body.decor-toast-cream #toast,body.decor-toast-cream .harvestToast{background:rgba(255,248,232,.90)!important;color:#352b22!important;-webkit-text-fill-color:#352b22!important;border-color:#9a7955!important}
body.decor-toast-gold #toast,body.decor-toast-gold .harvestToast{background:rgba(255,233,164,.90)!important;color:#4b3417!important;-webkit-text-fill-color:#4b3417!important;border-color:#b47b18!important}
body.decor-toast-star #toast,body.decor-toast-star .harvestToast{background:rgba(32,57,85,.90)!important;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important;border-color:#8ba5c3!important}
body.decor-toast-star .harvestToast .harvestTitle,body.decor-toast-star .harvestToast .harvestMeta{color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}



/* ===== v21.27 꾸미기 상점 테마 가독성 통일 ===== */
#decorSec .panel,#decorSec .decorIntro,#decorSec .decorCategoryTitle,#decorSec .decorCard,#decorSec .decorCard *{
  text-shadow:none!important;
}
#decorSec .decorName,#decorSec .decorDesc,#decorSec .decorPrice,#decorSec .decorIntro,#decorSec .decorCategoryTitle{
  opacity:1!important;
}

/* 콩알농장 */
body.theme-default #decorSec .panel{background:#f3e4c4!important;border-color:#8d6b48!important;color:#3f3024!important;-webkit-text-fill-color:#3f3024!important}
body.theme-default #decorSec .decorIntro,body.theme-default #decorSec .decorDesc{color:#715438!important;-webkit-text-fill-color:#715438!important}
body.theme-default #decorSec .decorCategoryTitle{background:#ead8b4!important;border-color:#9a7955!important;color:#3c2d21!important;-webkit-text-fill-color:#3c2d21!important}
body.theme-default #decorSec .decorCard{background:#fff8e8!important;border-color:#9a7955!important;color:#3c2d21!important;-webkit-text-fill-color:#3c2d21!important}
body.theme-default #decorSec .decorCard .decorName,body.theme-default #decorSec .decorCard .decorPrice{color:#35281e!important;-webkit-text-fill-color:#35281e!important}
body.theme-default #decorSec .decorOwnedTag{background:#ead8b4!important;border-color:#8d6b48!important;color:#493725!important;-webkit-text-fill-color:#493725!important}
body.theme-default #decorSec .decorBtn{background:#80633f!important;border-color:#5f492f!important;color:#fff8e8!important;-webkit-text-fill-color:#fff8e8!important}

/* 딸기우유 */
body.theme-berry #decorSec .panel{background:#f6e2ea!important;border-color:#8b566c!important;color:#4b2938!important;-webkit-text-fill-color:#4b2938!important}
body.theme-berry #decorSec .decorIntro,body.theme-berry #decorSec .decorDesc{color:#75475b!important;-webkit-text-fill-color:#75475b!important}
body.theme-berry #decorSec .decorCategoryTitle{background:#e9c5d4!important;border-color:#a9778a!important;color:#462534!important;-webkit-text-fill-color:#462534!important}
body.theme-berry #decorSec .decorCard{background:#fff4f8!important;border-color:#a9778a!important;color:#4b2938!important;-webkit-text-fill-color:#4b2938!important}
body.theme-berry #decorSec .decorCard .decorName,body.theme-berry #decorSec .decorCard .decorPrice{color:#462534!important;-webkit-text-fill-color:#462534!important}
body.theme-berry #decorSec .decorOwnedTag{background:#f0d3df!important;border-color:#a9778a!important;color:#613448!important;-webkit-text-fill-color:#613448!important}
body.theme-berry #decorSec .decorBtn{background:#b86f8a!important;border-color:#754759!important;color:#fff8fb!important;-webkit-text-fill-color:#fff8fb!important}

/* 민트새싹 */
body.theme-mint #decorSec .panel{background:#e7f1e3!important;border-color:#57785b!important;color:#263e2c!important;-webkit-text-fill-color:#263e2c!important}
body.theme-mint #decorSec .decorIntro,body.theme-mint #decorSec .decorDesc{color:#4d6b53!important;-webkit-text-fill-color:#4d6b53!important}
body.theme-mint #decorSec .decorCategoryTitle{background:#c9dfc3!important;border-color:#78987a!important;color:#233a29!important;-webkit-text-fill-color:#233a29!important}
body.theme-mint #decorSec .decorCard{background:#f7fff3!important;border-color:#78987a!important;color:#263e2c!important;-webkit-text-fill-color:#263e2c!important}
body.theme-mint #decorSec .decorCard .decorName,body.theme-mint #decorSec .decorCard .decorPrice{color:#233a29!important;-webkit-text-fill-color:#233a29!important}
body.theme-mint #decorSec .decorOwnedTag{background:#d9ead5!important;border-color:#78987a!important;color:#315238!important;-webkit-text-fill-color:#315238!important}
body.theme-mint #decorSec .decorBtn{background:#719f78!important;border-color:#4c6f52!important;color:#fffdf2!important;-webkit-text-fill-color:#fffdf2!important}

/* 복숭아 */
body.theme-peach #decorSec .panel{background:#fae7d8!important;border-color:#a46e53!important;color:#513124!important;-webkit-text-fill-color:#513124!important}
body.theme-peach #decorSec .decorIntro,body.theme-peach #decorSec .decorDesc{color:#7a4e3b!important;-webkit-text-fill-color:#7a4e3b!important}
body.theme-peach #decorSec .decorCategoryTitle{background:#f2cfb5!important;border-color:#ba8569!important;color:#4a2c21!important;-webkit-text-fill-color:#4a2c21!important}
body.theme-peach #decorSec .decorCard{background:#fff6ed!important;border-color:#ba8569!important;color:#513124!important;-webkit-text-fill-color:#513124!important}
body.theme-peach #decorSec .decorCard .decorName,body.theme-peach #decorSec .decorCard .decorPrice{color:#4a2c21!important;-webkit-text-fill-color:#4a2c21!important}
body.theme-peach #decorSec .decorOwnedTag{background:#f4d9c7!important;border-color:#ba8569!important;color:#653d2d!important;-webkit-text-fill-color:#653d2d!important}
body.theme-peach #decorSec .decorBtn{background:#d8926f!important;border-color:#925f48!important;color:#fffaf1!important;-webkit-text-fill-color:#fffaf1!important}

/* 별밤농장 */
body.theme-night #decorSec .panel{background:#34465f!important;border-color:#172439!important;color:#fff3d3!important;-webkit-text-fill-color:#fff3d3!important}
body.theme-night #decorSec .decorIntro,body.theme-night #decorSec .decorDesc{color:#e5d5b4!important;-webkit-text-fill-color:#e5d5b4!important}
body.theme-night #decorSec .decorCategoryTitle{background:#293951!important;border-color:#536b89!important;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}
body.theme-night #decorSec .decorCard{background:#293951!important;border-color:#536b89!important;color:#fff1cf!important;-webkit-text-fill-color:#fff1cf!important}
body.theme-night #decorSec .decorCard .decorName,body.theme-night #decorSec .decorCard .decorPrice{color:#fff7df!important;-webkit-text-fill-color:#fff7df!important}
body.theme-night #decorSec .decorOwnedTag{background:#33465e!important;border-color:#6c83a0!important;color:#e9ddc2!important;-webkit-text-fill-color:#e9ddc2!important}
body.theme-night #decorSec .decorBtn{background:#6d7f9a!important;border-color:#26364d!important;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important}

/* 사용중/잠금/비활성 상태는 모든 테마에서 가독성 유지 */
#decorSec .decorEquippedTag{background:#71965d!important;border-color:#4f6f40!important;color:#fffbe8!important;-webkit-text-fill-color:#fffbe8!important}
#decorSec .decorCard.locked{opacity:.82!important}
#decorSec .decorBtn:disabled{opacity:.68!important;cursor:default!important}
body.theme-default #decorSec .decorBtn:disabled{background:#b9a98d!important;color:#514538!important;-webkit-text-fill-color:#514538!important}
body.theme-berry #decorSec .decorBtn:disabled{background:#d8b9c5!important;color:#6d4b59!important;-webkit-text-fill-color:#6d4b59!important}
body.theme-mint #decorSec .decorBtn:disabled{background:#c4d6c0!important;color:#536858!important;-webkit-text-fill-color:#536858!important}
body.theme-peach #decorSec .decorBtn:disabled{background:#e5c5b2!important;color:#765648!important;-webkit-text-fill-color:#765648!important}
body.theme-night #decorSec .decorBtn:disabled{background:#455a74!important;color:#c8d0dc!important;-webkit-text-fill-color:#c8d0dc!important}


/* v21.28 — 농장 산책을 씨앗 선택 위로 이동 */
#farmSec .idleEventStage{margin:0 0 8px 0!important}
#farmSec .seedPanel{margin-top:0!important}


/* ===== v21.29 팻말 글자 가독성 보정 ===== */
#farm .plot .cropSign,
#farm .plot .cropSign *,
#farm .plot .cropSign .goldTag{
  text-shadow:none!important;
  -webkit-text-stroke:0 transparent!important;
  filter:none!important;
}
#farm .plot .cropSign{
  font-weight:700!important;
  letter-spacing:0!important;
}
/* 밝은 팻말 스킨은 진한 글자, 별빛 팻말은 밝은 글자로 명시 */
body.decor-sign-cream #farm .plot .cropSign{
  color:#34261c!important;
  -webkit-text-fill-color:#34261c!important;
}
body.decor-sign-mint #farm .plot .cropSign{
  color:#213827!important;
  -webkit-text-fill-color:#213827!important;
}
body.decor-sign-star #farm .plot .cropSign{
  color:#fff4d8!important;
  -webkit-text-fill-color:#fff4d8!important;
}
body.decor-sign-cream #farm .plot .cropSign .goldTag,
body.decor-sign-mint #farm .plot .cropSign .goldTag{
  color:#8a5c11!important;
  -webkit-text-fill-color:#8a5c11!important;
}
body.decor-sign-star #farm .plot .cropSign .goldTag{
  color:#ffd867!important;
  -webkit-text-fill-color:#ffd867!important;
}


/* v21.30 — 미발견 작물 비공개 표시 */
.undiscoveredCrop{opacity:.72!important}
.unknownCropMark{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:26px!important;height:26px!important;margin-right:5px!important;
  border:2px dashed currentColor!important;border-radius:4px!important;
  font-size:18px!important;font-weight:700!important;line-height:1!important;
}


/* v21.32 — 씨앗 목록 미해금 작물 비공개 */
.seed.locked .unknownSeedIcon{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;margin:0 auto 5px!important;border:2px dashed currentColor!important;border-radius:5px!important;font-size:22px!important;font-weight:700!important;line-height:1!important}
.seed.locked .unknownSeedName{display:block!important;font-weight:700!important;margin-bottom:4px!important}
.seed.locked .seedLevel{opacity:.82!important}


/* v21.34 — 씨앗 카드 크기 통일 */
.seed{
  box-sizing:border-box!important;
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:146px!important;
  min-height:146px!important;
  max-height:146px!important;
  padding:6px 4px!important;
  overflow:hidden!important;
  vertical-align:top!important;
}
.seed .iconImg{
  width:34px!important;height:34px!important;
  min-width:34px!important;min-height:34px!important;
  object-fit:contain!important;margin:0 auto 3px!important;
}
.seed.locked .unknownSeedIcon{
  box-sizing:border-box!important;
  width:34px!important;height:34px!important;
  min-width:34px!important;min-height:34px!important;
  margin:0 auto 3px!important;
}
.seed .unknownSeedName{
  height:30px!important;min-height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;line-height:1.15!important;
}
.seedPrices{
  min-height:28px!important;
  align-content:center!important;
  gap:2px 4px!important;
}
.seedMeta{
  min-height:31px!important;
}
.seed.locked .seedMeta{
  min-height:31px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}


/* v21.35 — 씨앗 카드 계절 태그 공간 복구 */
.seed{
  height:166px!important;
  min-height:166px!important;
  max-height:166px!important;
}
.seed .seasonTag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  min-height:18px!important;
  margin-top:4px!important;
  padding:2px 4px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.seed:not(.locked) .seedMeta{min-height:34px!important}
.seed.locked .seedMeta{margin-top:6px!important}


/* v21.38 — 계절·날씨·시간 연동 픽셀 하늘 헤더 */
#mainHeader{overflow:hidden!important;isolation:isolate!important;min-height:0!important;height:auto!important}
#mainHeader>.barLeft,#mainHeader>.barRight{position:relative!important;z-index:5!important}
.headerSky{position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;overflow:hidden!important;background:linear-gradient(#8dcaf2,#d9eef7)}
.headerSky:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0) 40%,rgba(35,44,60,.08));pointer-events:none}
.skyStars,.skySunMoon,.skyClouds,.skySpecialFx{position:absolute;inset:0;pointer-events:none}
.skyStar{position:absolute;width:2px;height:2px;background:#fff9d5;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.skySun,.skyMoon{position:absolute;width:24px;height:24px;border-radius:50%;right:18%;top:13px;box-shadow:0 0 0 2px rgba(255,255,255,.22)}
.skySun{background:#ffe36b;border:2px solid #d9aa39}
.skyMoon{background:#f7edc8;border:2px solid #a9b4c8}
.skyMoon:after{content:"";position:absolute;width:18px;height:18px;left:7px;top:-2px;border-radius:50%;background:var(--header-sky-top,#1d2b48)}
.skyCloud{position:absolute;height:10px;background:rgba(255,255,255,.78);border:2px solid rgba(90,110,130,.20);border-radius:7px;opacity:.92}
.skyCloud:before,.skyCloud:after{content:"";position:absolute;background:inherit;border-radius:50%}
.skyCloud:before{width:14px;height:14px;left:7px;top:-8px}.skyCloud:after{width:18px;height:18px;left:20px;top:-11px}
.skyCloud.c1{width:52px;left:8%;top:18px}.skyCloud.c2{width:42px;left:54%;top:46px;transform:scale(.8)}.skyCloud.c3{width:58px;left:74%;top:18px;transform:scale(.7)}
.skyRain{position:absolute;width:1px;height:10px;background:rgba(208,235,255,.72);transform:skewX(-12deg)}
.skyRainbow{position:absolute;width:86px;height:42px;border:4px solid rgba(255,119,137,.72);border-bottom:0;border-radius:90px 90px 0 0;right:8%;bottom:-3px;box-shadow:inset 0 4px 0 rgba(255,205,88,.68),inset 0 8px 0 rgba(95,199,133,.62),inset 0 12px 0 rgba(94,145,222,.58)}
.skyAurora{position:absolute;left:4%;right:4%;top:14px;height:46px;background:linear-gradient(100deg,transparent 0%,rgba(106,255,193,.08) 18%,rgba(106,255,193,.48) 36%,rgba(130,164,255,.40) 56%,rgba(205,111,255,.32) 75%,transparent 100%);transform:skewY(-5deg);filter:blur(.2px);opacity:.9}
.skyWind{position:absolute;width:46px;height:2px;background:rgba(255,255,255,.62);border-radius:3px}
.skyWind:after{content:"";position:absolute;right:-8px;top:-4px;width:12px;height:7px;border-top:2px solid rgba(255,255,255,.62);border-radius:50%}
/* 헤더 정보 가독성 */
#mainHeader .title,#mainHeader .small,#mainHeader .tiny,#mainHeader .communityStats,#mainHeader .barRight{color:#2b3140!important;-webkit-text-fill-color:#2b3140!important;text-shadow:0 1px 0 rgba(255,255,255,.48)!important}
#mainHeader.sky-dark .title,#mainHeader.sky-dark .small,#mainHeader.sky-dark .tiny,#mainHeader.sky-dark .communityStats,#mainHeader.sky-dark .barRight{color:#fff4d8!important;-webkit-text-fill-color:#fff4d8!important;text-shadow:1px 1px 0 rgba(15,25,43,.78)!important}
#mainHeader .topUtilityBtn{text-shadow:none!important}
@media(max-width:520px){.skyCloud.c3{display:none}.skySun,.skyMoon{right:7%;top:10px}.skyRainbow{right:2%;transform:scale(.8);transform-origin:right bottom}}


/* v21.40 — imdonbo 스타일의 둥실둥실 픽셀 구름 */
.skyClouds{overflow:hidden!important}
.skyCloud{
  left:-90px!important;
  display:block!important;
  background:rgba(255,255,255,.88)!important;
  border:2px solid rgba(96,112,132,.18)!important;
  box-shadow:3px 3px 0 rgba(72,88,108,.10)!important;
  -webkit-animation-name:imdonboCloudFloat!important;
  animation-name:imdonboCloudFloat!important;
  -webkit-animation-timing-function:linear!important;
  animation-timing-function:linear!important;
  -webkit-animation-iteration-count:infinite!important;
  animation-iteration-count:infinite!important;
  will-change:transform!important;
}
.skyCloud:before,.skyCloud:after{
  background:rgba(255,255,255,.88)!important;
  border:0!important;
}
.skyCloud.c1{
  width:52px!important;top:14px!important;
  -webkit-animation-duration:110s!important;animation-duration:110s!important;
  -webkit-animation-delay:-37s!important;animation-delay:-37s!important;
}
.skyCloud.c2{
  width:44px!important;top:42px!important;
  transform:none!important;
  -webkit-animation-duration:145s!important;animation-duration:145s!important;
  -webkit-animation-delay:-92s!important;animation-delay:-92s!important;
  opacity:.78!important;
}
.skyCloud.c3{
  width:60px!important;top:24px!important;
  transform:none!important;
  -webkit-animation-duration:180s!important;animation-duration:180s!important;
  -webkit-animation-delay:-141s!important;animation-delay:-141s!important;
  opacity:.68!important;
}
@-webkit-keyframes imdonboCloudFloat{
  0%{-webkit-transform:translate3d(-90px,0,0);transform:translate3d(-90px,0,0)}
  100%{-webkit-transform:translate3d(calc(100vw + 120px),0,0);transform:translate3d(calc(100vw + 120px),0,0)}
}
@keyframes imdonboCloudFloat{
  0%{-webkit-transform:translate3d(-90px,0,0);transform:translate3d(-90px,0,0)}
  100%{-webkit-transform:translate3d(calc(100vw + 120px),0,0);transform:translate3d(calc(100vw + 120px),0,0)}
}
@media(max-width:520px){
  .skyCloud.c3{display:block!important;opacity:.55!important}
}
@media(prefers-reduced-motion:reduce){
  .skyCloud{
    -webkit-animation:none!important;
    animation:none!important;
  }
  .skyCloud.c1{left:12%!important}
  .skyCloud.c2{left:52%!important}
  .skyCloud.c3{left:78%!important}
}


/* v21.43 — 구름 형태 재수정: 단순한 픽셀 실루엣 */
.skyCloud{
  width:72px!important;
  height:34px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
}
/* 본체: 가운데가 길고 좌우가 한 칸씩 짧은 단순한 구름 */
.skyCloud:before{
  content:""!important;
  position:absolute!important;
  left:8px!important;
  top:12px!important;
  width:56px!important;
  height:16px!important;
  background:#f4f4f4!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:
    -8px 0 0 #f4f4f4,
    56px 0 0 #f4f4f4,
    0 -8px 0 #f4f4f4,
    8px -8px 0 #f4f4f4,
    16px -16px 0 #f4f4f4,
    24px -16px 0 #f4f4f4,
    32px -16px 0 #f4f4f4,
    40px -8px 0 #f4f4f4,
    48px -8px 0 #f4f4f4,
    8px 16px 0 #f4f4f4,
    16px 16px 0 #f4f4f4,
    24px 16px 0 #f4f4f4,
    32px 16px 0 #f4f4f4,
    40px 16px 0 #f4f4f4!important;
}
.skyCloud:after{display:none!important}
.skyCloud.c1{width:72px!important;height:34px!important;top:10px!important}
.skyCloud.c2{width:72px!important;height:34px!important;top:34px!important;opacity:.92!important}
.skyCloud.c3{width:72px!important;height:34px!important;top:18px!important;opacity:.82!important}

/* v21.44 — 짧은 가로폭 + 서로 다른 3종 픽셀 구름 */
.skyCloud{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.skyCloud:before{content:""!important;position:absolute!important;background:#f4f4f4!important;border:0!important;border-radius:0!important}
.skyCloud:after{display:none!important}
.skyCloud.c1{width:54px!important;height:32px!important}
.skyCloud.c1:before{left:9px!important;top:8px!important;width:36px!important;height:16px!important;box-shadow:-9px 8px 0 #f4f4f4,0 8px 0 #f4f4f4,9px 8px 0 #f4f4f4,18px 8px 0 #f4f4f4,27px 8px 0 #f4f4f4,9px -8px 0 #f4f4f4,18px -8px 0 #f4f4f4!important}
.skyCloud.c2{width:48px!important;height:30px!important}
.skyCloud.c2:before{left:8px!important;top:10px!important;width:32px!important;height:14px!important;box-shadow:-8px 7px 0 #f4f4f4,0 7px 0 #f4f4f4,8px 7px 0 #f4f4f4,16px 7px 0 #f4f4f4,24px 7px 0 #f4f4f4,0 -7px 0 #f4f4f4,8px -7px 0 #f4f4f4!important}
.skyCloud.c3{width:58px!important;height:28px!important}
.skyCloud.c3:before{left:8px!important;top:9px!important;width:42px!important;height:13px!important;box-shadow:-8px 7px 0 #f4f4f4,0 7px 0 #f4f4f4,8px 7px 0 #f4f4f4,16px 7px 0 #f4f4f4,24px 7px 0 #f4f4f4,32px 7px 0 #f4f4f4,16px -7px 0 #f4f4f4,24px -7px 0 #f4f4f4!important}


/* v21.45 — 헤더를 기존 픽셀 UI/테마와 통일 */
#mainHeader{
  border-width:2px!important;
  border-style:solid!important;
  box-sizing:border-box!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12),3px 3px 0 rgba(55,45,35,.28)!important;
}
body.theme-default #mainHeader{border-color:#6c4a2f!important;box-shadow:inset 0 0 0 2px rgba(255,239,196,.28),3px 3px 0 #98764f!important}
body.theme-berry #mainHeader{border-color:#8b566c!important;box-shadow:inset 0 0 0 2px rgba(255,235,244,.24),3px 3px 0 #754759!important}
body.theme-mint #mainHeader{border-color:#57785b!important;box-shadow:inset 0 0 0 2px rgba(239,255,234,.22),3px 3px 0 #4c6f52!important}
body.theme-peach #mainHeader{border-color:#a46e53!important;box-shadow:inset 0 0 0 2px rgba(255,239,225,.24),3px 3px 0 #925f48!important}
body.theme-night #mainHeader{border-color:#182236!important;box-shadow:inset 0 0 0 2px rgba(126,145,174,.18),3px 3px 0 #111a29!important}

/* 매끈한 벡터 느낌을 줄이고 픽셀 패널과 어울리는 하늘 결 */
.headerSky:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 4px,rgba(30,45,60,.025) 4px 8px)!important;
}
.headerSky:after{
  background:linear-gradient(90deg,rgba(255,255,255,.035),transparent 36%,rgba(31,45,63,.055))!important;
}
.skyStars,.skySunMoon,.skyClouds,.skySpecialFx{z-index:2!important}

/* 픽셀 태양 */
.skySun{
  width:16px!important;height:16px!important;right:18%!important;top:16px!important;
  border:0!important;border-radius:0!important;background:#f5cf58!important;
  box-shadow:-5px 0 0 -3px #f5cf58,5px 0 0 -3px #f5cf58,0 -5px 0 -3px #f5cf58,0 5px 0 -3px #f5cf58!important;
}
/* 픽셀 달 */
.skyMoon{
  width:18px!important;height:18px!important;right:18%!important;top:14px!important;
  border:0!important;border-radius:0!important;background:#efe2b9!important;
  box-shadow:2px 2px 0 rgba(43,56,77,.22)!important;
}
.skyMoon:after{
  width:12px!important;height:14px!important;left:8px!important;top:-2px!important;
  border-radius:0!important;background:var(--header-sky-top,#1d2b48)!important;
}
/* 아래 UI의 크림색 픽셀 톤과 연결 */
.skyCloud:before{background:#f0eee5!important}


/* v21.46 — 밝은 테마 헤더 버튼 글자 대비 고정 */
body.theme-default #mainHeader .topUtilityBtn{
  background:#fff3d6!important;border-color:#75583c!important;
  color:#2f241b!important;-webkit-text-fill-color:#2f241b!important;
}
body.theme-berry #mainHeader .topUtilityBtn{
  background:#fff1f6!important;border-color:#8b566c!important;
  color:#3b202d!important;-webkit-text-fill-color:#3b202d!important;
}
body.theme-mint #mainHeader .topUtilityBtn{
  background:#f5ffef!important;border-color:#57785b!important;
  color:#203526!important;-webkit-text-fill-color:#203526!important;
}
body.theme-peach #mainHeader .topUtilityBtn{
  background:#fff2e9!important;border-color:#a46e53!important;
  color:#41271d!important;-webkit-text-fill-color:#41271d!important;
}
body:not(.theme-night) #mainHeader .topUtilityBtn,
body:not(.theme-night) #mainHeader .topUtilityBtn *{
  text-shadow:none!important;
}
body.theme-night #mainHeader .topUtilityBtn{
  color:#fff1d5!important;-webkit-text-fill-color:#fff1d5!important;
}


/* v21.47 — 헤더 유틸 버튼 테마별 최종 대비 */
body.theme-default #mainHeader button.topUtilityBtn{background:#fff3d6!important;border-color:#75583c!important;color:#2f241b!important;-webkit-text-fill-color:#2f241b!important;text-shadow:none!important}
body.theme-berry #mainHeader button.topUtilityBtn{background:#fff1f6!important;border-color:#8b566c!important;color:#3b202d!important;-webkit-text-fill-color:#3b202d!important;text-shadow:none!important}
body.theme-mint #mainHeader button.topUtilityBtn{background:#f5ffef!important;border-color:#57785b!important;color:#203526!important;-webkit-text-fill-color:#203526!important;text-shadow:none!important}
body.theme-peach #mainHeader button.topUtilityBtn{background:#fff2e9!important;border-color:#a46e53!important;color:#41271d!important;-webkit-text-fill-color:#41271d!important;text-shadow:none!important}
body.theme-night #mainHeader button.topUtilityBtn{
  background:#263850!important;border-color:#91a8c2!important;
  color:#fff4d6!important;-webkit-text-fill-color:#fff4d6!important;
  text-shadow:1px 1px 0 #101a28!important;
  box-shadow:1px 1px 0 #142135!important;
}


/* v21.48 — 명성 UI + 하늘 시간대 시계 */
.fameBox{margin-top:8px;padding:7px 8px;border:2px solid #75583c;background:rgba(255,248,232,.86);color:#392a1e}
.fameHead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fameBar{height:8px;margin:5px 0 4px;background:#d5c19b;border:1px solid #75583c;overflow:hidden}
.fameBar i{display:block;height:100%;width:0;background:#d6a728;transition:width .25s linear}
.skyClock{margin-top:4px;width:170px;max-width:100%}
.skyClockTrack{position:relative;height:8px;border:1px solid rgba(44,55,70,.55);background:linear-gradient(90deg,#263d60 0 20.833%,#d8b3bf 20.833% 33.333%,#91c9e9 33.333% 70.833%,#e3a27c 70.833% 83.333%,#263d60 83.333% 100%);overflow:visible}
.skyClockNow{position:absolute;top:-3px;width:3px;height:14px;background:#fff8dc;border:1px solid #2c3746;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.skyClockLabels{display:flex;justify-content:space-between;gap:2px;margin-top:2px;font-size:7px;line-height:1;color:inherit;opacity:.86}
body.theme-berry .fameBox{background:rgba(255,241,246,.90);border-color:#8b566c;color:#3b202d}
body.theme-mint .fameBox{background:rgba(245,255,239,.90);border-color:#57785b;color:#203526}
body.theme-peach .fameBox{background:rgba(255,242,233,.90);border-color:#a46e53;color:#41271d}
body.theme-night .fameBox{background:rgba(38,56,80,.92);border-color:#7b91ab;color:#fff1d5}
body.theme-night .fameBar{background:#18263a;border-color:#7b91ab}
body.theme-night .fameBar i{background:#e0bb4c}


/* v21.49 — 하늘 시계 24시간 실제 비율 보정 */
.skyClockLabels{position:relative!important;height:14px!important;margin-top:2px!important;display:block!important;font-size:7px!important;line-height:1!important}
.skyClockLabels span{position:absolute!important;top:0!important;transform:translateX(-50%)!important;white-space:nowrap!important}
.skyClockCurrent{text-align:right;font-size:8px;line-height:1.2;margin-top:1px;opacity:.92}


/* v21.50 — 헤더 하늘 시계를 명성처럼 오른쪽 정렬 */
#mainHeader .skyClock{
  margin-top:4px!important;
  margin-left:auto!important;
  margin-right:0!important;
  width:170px!important;
}
#mainHeader .skyClockCurrent{text-align:right!important}


/* v21.51 — 현재 시간에 따라 움직이는 해·달 */
.headerSky .skySunMoon{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:2!important}
.headerSky .skySun,.headerSky .skyMoon{position:absolute!important;left:var(--orb-x,50%)!important;top:var(--orb-y,12px)!important;right:auto!important;transform:translate(-50%,0)!important;transition:left 30s linear,top 30s linear!important}
#mainHeader .topUtility{position:relative!important;z-index:6!important}
#mainHeader .headerMain{position:relative!important;z-index:4!important}

\n/* v21.53 — 정보 계층/농장 화면 완성도 개선 */\n.progressPair{display:flex;gap:8px;margin-top:5px;align-items:stretch}\n.progressMini{flex:1 1 0;min-width:0;padding:5px 6px!important;margin:0!important;box-sizing:border-box}\n.xpMini{border:2px solid #75583c;background:rgba(255,248,232,.78)}\n.miniHead,.fameHead{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px}\n.progressPair #xpWrap{margin-top:4px!important;height:7px!important}\n.progressPair .fameBar{height:7px!important;margin:4px 0 2px!important}\n.progressPair .fameBox .tiny{font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\nbody.theme-berry .xpMini{background:rgba(255,241,246,.9);border-color:#8b566c;color:#3b202d}\nbody.theme-mint .xpMini{background:rgba(245,255,239,.9);border-color:#57785b;color:#203526}\nbody.theme-peach .xpMini{background:rgba(255,242,233,.9);border-color:#a46e53;color:#41271d}\nbody.theme-night .xpMini{background:rgba(38,56,80,.92);border-color:#7b91ab;color:#fff1d5}\n#mainHeader .skyClock{width:132px!important}\n#mainHeader .skyClockLabels{display:none!important}\n#mainHeader .skyClockTrack{height:6px!important}\n#mainHeader .skyClockCurrent{font-size:9px!important;font-weight:bold;margin-top:2px!important}\n.todayFarmSummary{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:6px 0;padding:5px 7px;border:2px solid #6f5136;background:rgba(255,248,232,.72);font-size:9px}\n.todayFarmSummary span{text-align:right}\nbody.theme-berry .todayFarmSummary{border-color:#8b566c;background:rgba(255,241,246,.84);color:#3b202d}\nbody.theme-mint .todayFarmSummary{border-color:#57785b;background:rgba(245,255,239,.84);color:#203526}\nbody.theme-peach .todayFarmSummary{border-color:#a46e53;background:rgba(255,242,233,.84);color:#41271d}\nbody.theme-night .todayFarmSummary{border-color:#7b91ab;background:rgba(38,56,80,.9);color:#fff1d5}\n/* 씨앗 카드 세로 공간만 압축 */\n.seed{padding-top:4px!important;padding-bottom:4px!important;min-height:0!important}\n.seed .iconImg{width:38px!important;height:38px!important;margin-bottom:1px!important}\n.seedPrices{line-height:1.15!important;margin-top:1px!important}.seedMeta{margin-top:2px!important;line-height:1.15!important}.seasonTag{margin-top:1px!important}\n/* 성장 단계가 숫자를 읽지 않아도 구분되도록 */\n#farm .plot.stage-1 .cropImg{transform:scale(.72)!important;transform-origin:50% 78%!important;opacity:.88!important}\n#farm .plot.stage-2 .cropImg{transform:scale(.88)!important;transform-origin:50% 75%!important}\n#farm .plot.stage-3 .cropImg{transform:scale(1.04)!important;transform-origin:50% 72%!important}\n#farm .plot.stage-ready .cropImg{transform:scale(1.10)!important;transform-origin:50% 72%!important}\n#farm .plot .cropSign{left:50%!important;transform:translateX(-50%)!important;max-width:82%!important;text-align:center!important}\n#farm .plot .cropSign .goldTag{position:absolute!important;right:-8px!important;top:-5px!important;background:#c89428!important;border:1px solid #76531d!important;padding:1px!important;line-height:1!important}\n.facilityDevCard{padding:6px 7px!important}.facilityCardHead{display:flex;justify-content:space-between;align-items:center;gap:6px}.facilityCardHead span{font-size:9px;opacity:.85}.facilityCardHead em{font-style:normal;font-size:14px;line-height:1}.facilityDevCard .facilityEffect{margin-top:3px;font-weight:bold}.facilityDevCard .facilityNext{font-size:8px!important}.facilityDevCard .btn{margin-top:4px!important}\n@media(max-width:420px){.progressPair{gap:5px}.progressPair .fameBox .tiny{font-size:7px!important}.todayFarmSummary{display:block}.todayFarmSummary span{display:block;text-align:left;margin-top:2px}}\n

/* v21.54 — 하늘 시계 시간대 전환 라벨 복원 */
#mainHeader .skyClock{width:170px!important}
#mainHeader .skyClockLabels{position:relative!important;display:block!important;height:14px!important;margin-top:2px!important;font-size:7px!important;line-height:1!important;opacity:.9!important}
#mainHeader .skyClockLabels span{position:absolute!important;top:0!important;transform:translateX(-50%)!important;white-space:nowrap!important}
#mainHeader .skyClockTrack{height:8px!important}
#mainHeader .skyClockCurrent{font-size:8px!important;font-weight:bold!important;margin-top:1px!important;text-align:right!important}


/* v21.55 — 고정 헤더 상단 여백 보정 */
#mainHeader{
  padding-top:18px!important;
  padding-bottom:10px!important;
}
#app{padding-top:116px!important}
@media(max-width:420px){
  #mainHeader{padding-top:16px!important}
  #app{padding-top:114px!important}
}


/* v21.56 — #app 상단 여백을 실제 헤더 높이에 동기화 */
#app{
  padding-top:var(--main-header-space, 150px)!important;
}
@media(max-width:420px){
  #app{padding-top:var(--main-header-space, 150px)!important}
}


/* v21.57 — 명성 레벨 시스템 */
.fameHead b{min-width:0}
#fameTier{white-space:nowrap}
#fameProgressText{white-space:nowrap;font-weight:700}
@media(max-width:420px){
  .fameHead{align-items:flex-start!important}
  .fameHead>b{line-height:1.2!important}
}


/* v21.59 — 전체 우클릭/드래그 방지 */
html,body,#app,#app *{
  -webkit-user-select:none!important;
  -moz-user-select:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
img,a{
  -webkit-user-drag:none!important;
  user-drag:none!important;
}
input,textarea,[contenteditable="true"]{
  -webkit-user-select:text!important;
  -moz-user-select:text!important;
  user-select:text!important;
}


/* v21.61 — 랜딩 + 로딩 화면 */
body.kongal-preenter{overflow:hidden!important}
#landingScreen,#loadingScreen{position:fixed;inset:0;z-index:30000;font-family:'Mona12',Arial,sans-serif}
#landingScreen{display:flex;align-items:center;justify-content:center;padding:22px;box-sizing:border-box;overflow:auto;background:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),linear-gradient(#8fc8df 0 58%,#d9e9bb 58% 100%)}
#landingScreen:before{content:"";position:absolute;left:0;right:0;top:58%;height:10px;background:#8eb26d;box-shadow:0 5px 0 #709657}
.landingCloud{position:absolute;width:58px;height:14px;background:#f4f0df;box-shadow:12px -8px 0 #f4f0df,24px -8px 0 #f4f0df,36px 0 0 #f4f0df;animation:landingCloudMove 75s linear infinite}
.landingCloud.c1{top:12%;left:-80px}.landingCloud.c2{top:28%;left:-120px;animation-duration:105s;animation-delay:-50s;transform:scale(.8)}
@keyframes landingCloudMove{from{margin-left:0}to{margin-left:calc(100vw + 180px)}}
.landingCard{position:relative;z-index:2;width:min(720px,100%);border:4px solid #6f583f;background:#fff4d8;box-shadow:8px 8px 0 rgba(68,54,39,.20);padding:22px;box-sizing:border-box;text-align:center}
.landingLogo{font-size:32px;font-weight:900;letter-spacing:1px;color:#3f3125;text-shadow:2px 2px 0 #dbc08d}
.landingTagline{margin:7px 0 15px;font-size:12px;color:#6b5138}
.landingFarmArt{margin:0 auto 16px;max-width:560px;height:110px;position:relative;overflow:hidden;border:3px solid #8b704e;background:linear-gradient(#89c6e7 0 58%,#9fc47c 58%)}
.landingFarmArt .sun{position:absolute;width:20px;height:20px;right:10%;top:14px;background:#f4c85a;box-shadow:0 0 0 4px rgba(255,238,155,.35)}
.landingFarmArt .hill{position:absolute;left:0;right:0;bottom:0;height:42px;background:#7eaa60;border-top:4px solid #678d4e}
.landingFarmArt .house{position:absolute;left:47%;bottom:28px;width:44px;height:34px;background:#f0d39d;border:3px solid #745238}
.landingFarmArt .house:before{content:"";position:absolute;left:-7px;top:-19px;border-left:27px solid transparent;border-right:27px solid transparent;border-bottom:22px solid #b96655}
.landingFarmArt .field{position:absolute;left:10%;bottom:9px;width:115px;height:28px;background:repeating-linear-gradient(90deg,#876943 0 18px,#9a7850 18px 20px);border:3px solid #6c5137}
.landingFarmArt .sprouts{position:absolute;left:12%;bottom:21px;font-size:18px;letter-spacing:7px}
.landingFeatures{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.landingFeature{border:2px solid #b49668;background:#f9e7bd;padding:9px 7px;min-width:0}
.landingFeature b{display:block;font-size:11px;margin-bottom:4px;color:#493829}.landingFeature span{font-size:9px;line-height:1.45;color:#71563d}
.landingStatus{font-size:10px;margin:10px 0 12px;color:#59442f}
#landingStartBtn{min-width:190px;padding:9px 16px;border:3px solid #5c7146;background:#8dac69;color:#fff9e7;font:700 14px/1.2 inherit;cursor:pointer;box-shadow:3px 3px 0 #49593a}
#landingStartBtn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #49593a}
.landingVersion{margin-top:9px;font-size:8px;color:#866b4d}
#loadingScreen{display:none;align-items:center;justify-content:center;background:#2f4259;color:#fff4d5;text-align:center}
#loadingScreen.open{display:flex}
.loadingBox{width:min(360px,84%);padding:20px;border:3px solid #192838;background:#405773;box-shadow:6px 6px 0 rgba(9,16,25,.28)}
.loadingTitle{font-size:20px;font-weight:900;margin-bottom:11px}
.loadingPlant{height:56px;position:relative;margin:0 auto 12px;width:70px}
.loadingPlant .soil{position:absolute;left:10px;right:10px;bottom:4px;height:12px;background:#6b5137;border:2px solid #3d2d20}
.loadingPlant .stem{position:absolute;left:33px;bottom:16px;width:5px;height:8px;background:#77a95b;animation:growStem .9s steps(4,end) infinite}
.loadingPlant .leaf{position:absolute;width:13px;height:8px;background:#8cc56b;bottom:24px;opacity:0;animation:growLeaf .9s steps(3,end) infinite}
.loadingPlant .leaf.l{left:20px}.loadingPlant .leaf.r{right:19px;animation-delay:.12s}
@keyframes growStem{0%{height:4px}70%,100%{height:28px}}@keyframes growLeaf{0%,35%{opacity:0;transform:scale(.4)}65%,100%{opacity:1;transform:scale(1)}}
.loadingBar{height:10px;border:2px solid #182638;background:#223247;overflow:hidden}.loadingBar i{display:block;height:100%;width:0;background:#a8c77a;animation:loadingFill 1.05s linear forwards}
@keyframes loadingFill{to{width:100%}}.loadingText{font-size:10px;margin-top:9px;min-height:14px}
@media(max-width:520px){.landingCard{padding:16px 12px}.landingLogo{font-size:26px}.landingFeatures{grid-template-columns:1fr}.landingFarmArt{height:92px}}


/* v21.62 — 중복 경험치 UI 제거 후 명성 영역 단독 사용 */
.progressPair{display:block!important}
.progressPair #fameBox{width:100%!important;box-sizing:border-box}


/* v21.63 — 상단 경험치 텍스트 아래 진행바 복원 */
.xpTopBar{margin-top:5px!important;width:100%!important;max-width:260px}


/* v21.64 — 상단 경험치 바 전체 너비 */
.xpTopBar{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:5px 0 0!important;
}


/* v21.65 — 경험치 바를 rowTable 밖으로 이동해 패널 전체 너비 사용 */
.xpFullBar{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:5px 0 7px!important;
}


/* v21.67 — 랜딩 페이지 비주얼 개선 + 테마 영향 차단 */
#landingScreen,
#landingScreen *{
  color:#3b2f22!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
#landingScreen{
  background:
    linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)),
    linear-gradient(#87bdd5 0 61%,#cfe1ae 61% 100%)!important;
}
#landingScreen:after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:28%;
  background:
    repeating-linear-gradient(90deg,rgba(98,137,73,.13) 0 18px,rgba(255,255,255,.02) 18px 36px),
    linear-gradient(#9ec17f,#b7d596);
  border-top:4px solid #6d944f;
  z-index:0;
}
.landingCard{
  width:min(760px,94%)!important;
  padding:24px 26px 26px!important;
  background:#fff1cf!important;
  border:4px solid #6d563c!important;
  box-shadow:
    6px 6px 0 #d0bc91,
    10px 10px 0 rgba(80,62,42,.15)!important;
}
.landingLogo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  font-size:34px!important;
  color:#5f492f!important;
  text-shadow:2px 2px 0 #e0c287!important;
}
.landingLogo:before{
  content:"🌱";
  display:inline-block;
  font-size:28px;
  filter:none!important;
}
.landingTagline{
  margin:8px 0 16px!important;
  font-size:12px!important;
  color:#70573c!important;
}
.landingFarmArt{
  height:132px!important;
  max-width:610px!important;
  margin-bottom:18px!important;
  background:linear-gradient(#7fc0e3 0 60%,#8eb36a 60%)!important;
  border:3px solid #6b5439!important;
  box-shadow:inset 0 -4px 0 rgba(87,103,54,.22)!important;
}
.landingFarmArt .sun{
  width:24px!important;height:24px!important;
  right:8%!important;top:17px!important;
  background:#f6cf59!important;
  box-shadow:
    0 -6px 0 #f6cf59,
    0 6px 0 #f6cf59,
    -6px 0 0 #f6cf59,
    6px 0 0 #f6cf59!important;
}
.landingFarmArt .hill{
  height:48px!important;
  background:#7ea45d!important;
  border-top:4px solid #66874a!important;
}
.landingFarmArt .house{
  left:50%!important;
  width:50px!important;height:38px!important;
  margin-left:-25px!important;
  bottom:35px!important;
  background:#f0d6a7!important;
  border:3px solid #78543b!important;
}
.landingFarmArt .house:before{
  left:-9px!important;top:-23px!important;
  border-left-width:34px!important;
  border-right-width:34px!important;
  border-bottom:25px solid #c96f5e!important;
}
.landingFarmArt .field{
  left:8%!important;bottom:10px!important;
  width:132px!important;height:34px!important;
  background:repeating-linear-gradient(90deg,#8a6844 0 19px,#9f7c50 19px 22px)!important;
  border:3px solid #6c4f35!important;
}
.landingFarmArt .sprouts{
  left:10%!important;bottom:26px!important;
  font-size:20px!important;
  letter-spacing:5px!important;
}
.landingFeatures{
  gap:10px!important;
  margin:16px 0!important;
}
.landingFeature{
  position:relative!important;
  min-height:66px!important;
  padding:11px 10px!important;
  background:#f7dfaa!important;
  border:2px solid #9c784e!important;
  box-shadow:2px 2px 0 #d9bd81!important;
}
.landingFeature b{
  font-size:12px!important;
  color:#5a412d!important;
  margin-bottom:6px!important;
}
.landingFeature span{
  display:block!important;
  font-size:9px!important;
  line-height:1.55!important;
  color:#76593d!important;
}
.landingStatus{
  margin:12px auto 14px!important;
  padding:8px 10px!important;
  max-width:520px!important;
  background:#f4e4bd!important;
  border:2px solid #b28d5c!important;
  color:#5a432f!important;
  font-size:10px!important;
}
#landingStartBtn{
  min-width:210px!important;
  padding:11px 18px!important;
  background:#89a968!important;
  border:3px solid #566e3f!important;
  color:#fff8dd!important;
  -webkit-text-fill-color:#fff8dd!important;
  text-shadow:1px 1px 0 #4e6339!important;
  box-shadow:4px 4px 0 #435433!important;
  font-size:14px!important;
}
#landingStartBtn:hover{
  background:#94b474!important;
}
#landingStartBtn:active{
  transform:translate(2px,2px)!important;
  box-shadow:2px 2px 0 #435433!important;
}
.landingVersion{
  margin-top:10px!important;
  color:#8b6d4a!important;
  font-size:8px!important;
}
.landingCloud{
  background:#f4f1e6!important;
  box-shadow:12px -8px 0 #f4f1e6,24px -8px 0 #f4f1e6,36px 0 0 #f4f1e6!important;
  opacity:.92!important;
}
body.theme-night #landingScreen,
body.theme-berry #landingScreen,
body.theme-mint #landingScreen,
body.theme-peach #landingScreen,
body.theme-default #landingScreen{
  color:#3b2f22!important;
}
body.theme-night #landingScreen .landingFeature,
body.theme-berry #landingScreen .landingFeature,
body.theme-mint #landingScreen .landingFeature,
body.theme-peach #landingScreen .landingFeature,
body.theme-default #landingScreen .landingFeature{
  color:#3b2f22!important;
  background:#f7dfaa!important;
}
@media(max-width:520px){
  .landingCard{padding:18px 12px 20px!important}
  .landingLogo{font-size:28px!important}
  .landingFarmArt{height:104px!important}
  .landingFeatures{grid-template-columns:1fr!important}
  .landingFeature{min-height:0!important}
}


/* v21.68 — 랜딩 아이콘을 본게임 픽셀 아이콘 세트로 통일 */
.landingLogo:before{display:none!important;content:none!important}
.landingLogoIcon{
  width:34px!important;height:34px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  flex:0 0 auto!important;
}
.landingSunIcon{
  position:absolute!important;
  width:34px!important;height:34px!important;
  right:7%!important;top:12px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  z-index:3!important;
  filter:none!important;
}
.landingFarmArt .sun{display:none!important}
.landingFarmArt .sprouts{
  display:flex!important;
  align-items:flex-end!important;
  gap:2px!important;
  left:9%!important;
  bottom:21px!important;
  letter-spacing:0!important;
  z-index:3!important;
}
.landingFarmArt .sprouts img{
  width:25px!important;height:25px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  filter:none!important;
}
.landingFarmArt .sprouts img:nth-child(2){width:29px!important;height:29px!important}
.landingFarmArt .sprouts img:nth-child(3){width:27px!important;height:27px!important}
.landingFarmArt .sprouts img:nth-child(4){width:30px!important;height:30px!important}
.landingFeature{
  display:grid!important;
  grid-template-columns:40px 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  align-items:center!important;
  text-align:left!important;
}
.landingFeatureIcon{
  grid-row:1/3!important;
  width:38px!important;height:38px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  filter:none!important;
}
.landingFeature b{
  margin:0 0 2px!important;
  align-self:end!important;
}
.landingFeature span{
  align-self:start!important;
}
#landingStartBtn:before{
  content:"🌱";
  margin-right:5px;
}
@media(max-width:520px){
  .landingFeature{grid-template-columns:38px 1fr!important}
  .landingFeatureIcon{width:34px!important;height:34px!important}
  .landingLogoIcon{width:30px!important;height:30px!important}
}


/* v21.69 — 씨앗 목록 작물 아이콘 확대 */
.seed .iconImg{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0 auto 2px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}
.seed.locked .unknownSeedIcon{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0 auto 2px!important;
}


/* v21.71 — 큰 씨앗 아이콘 유지 + 소요시간/계절 태그 간격 압축 */
.seed .seedMeta,
.seed .seedTime,
.seed .growTime{
  margin-bottom:1px!important;
}
.seed .seasonTag,
.seed .seasonBadge,
.seed .seedSeason{
  margin-top:0!important;
}
.seed .tiny{
  line-height:1.15!important;
}


.seed{
  row-gap:2px!important;
}


/* v21.72 — 씨앗 카드 세로 공간 추가 압축 */
.seed{
  row-gap:0!important;
}
.seed .iconImg{
  margin:0 auto 0!important;
}
.seed .name{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.05!important;
}
.seed .price,
.seed .sellPrice{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.05!important;
}
.seed .tiny{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.02!important;
}
.seed .seasonTag,
.seed .seasonBadge,
.seed .seedSeason{
  margin-top:-3px!important;
  margin-bottom:0!important;
}


/* v21.73 — 계절 태그를 소요시간 쪽으로 크게 끌어올림 */
.seed .seasonTag,
.seed .seasonBadge,
.seed .seedSeason{
  position:relative!important;
  top:-16px!important;
  margin-top:0!important;
  margin-bottom:-16px!important;
  z-index:2!important;
}


/* v21.75 — 여름 햇빛 아이콘 디테일 업 */
.weatherIcon img[src*="data:image/png"]{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
}


/* v21.76 — 날씨/시설/상점 UI 아이콘 디테일 통일 */
.weatherIcon img,.shopIcon img,.facilityUiIcon{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
  object-fit:contain!important;
}
.facilityUiIcon{
  width:34px!important;height:34px!important;
  vertical-align:middle!important;
  margin-right:7px!important;
}
.facilityCardHead b{display:flex!important;align-items:center!important}


/* v21.78 — 농장에 실제 배치되는 시설물도 작물/햇빛 아이콘과 같은 픽셀 리소스로 통일 */
.facilityArt.facilitySprite{
  position:relative!important;
  width:64px!important;
  height:64px!important;
  margin:0 auto!important;
  overflow:visible!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.facilityArt.facilitySprite>img{
  display:block!important;
  width:64px!important;
  height:64px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
  filter:none!important;
}
.facilityArt.facilitySprite.lv2>img{transform:scale(1.02)!important}
.facilityArt.facilitySprite.lv3>img{transform:scale(1.04)!important}
.facilityArt.facilitySprite.lv4>img{transform:scale(1.06)!important}
.facilityArt.facilitySprite.lv5>img{transform:scale(1.08)!important}
.facilityLevelSpark{
  display:none;
  position:absolute;
  width:4px;height:4px;
  background:#fff0a1;
  border:1px solid #755022;
  pointer-events:none;
}
.facilitySprite.lv4 .facilityLevelSpark,
.facilitySprite.lv5 .facilityLevelSpark{display:block}
.facilityLevelSpark.s1{right:4px;top:5px}
.facilityLevelSpark.s2{left:5px;top:18px}
.facilityBuyNameIcon{
  width:34px!important;height:34px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  vertical-align:middle!important;
  margin-right:7px!important;
}
.buyName b{display:flex!important;align-items:center!important;justify-content:center!important}


/* v21.79 — 시설물 고밀도 픽셀아트 리소스 적용 */
.facilityArt.facilitySprite{
  width:72px!important;
  height:72px!important;
}
.facilityArt.facilitySprite>img{
  width:72px!important;
  height:72px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
.facilityUiIcon,
.facilityBuyNameIcon{
  image-rendering:auto!important;
}


/* v21.80 — 시설물 재크롭: 정확한 오브젝트 경계 + 원본 비율 유지 */
.facilityArt.facilitySprite{
  width:78px!important;
  height:78px!important;
}
.facilityArt.facilitySprite>img{
  width:78px!important;
  height:78px!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
}
.facilityUiIcon,
.facilityBuyNameIcon{
  object-fit:contain!important;
  object-position:center center!important;
}


/* v21.81 — 시설 원본 전체 보존 재크롭 */
.facilityArt.facilitySprite{width:82px!important;height:82px!important;overflow:visible!important}
.facilityArt.facilitySprite>img{width:82px!important;height:82px!important;object-fit:contain!important;object-position:center!important}


/* v21.82 — 사용자 제공 시설 PNG를 투명화 후 그대로 적용 */
.facilityArt.facilitySprite{
  width:84px!important;
  height:84px!important;
  overflow:visible!important;
}
.facilityArt.facilitySprite>img{
  width:84px!important;
  height:84px!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
}
.facilityUiIcon,
.facilityBuyNameIcon{
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
}


/* v21.83 — 사용자 제공 시설 PNG 원본을 그대로 base64 임베드 */
.facilityArt.facilitySprite>img,
.facilityUiIcon,
.facilityBuyNameIcon{
  object-fit:contain!important;
  object-position:center center!important;
  filter:none!important;
}


/* v21.85 — 64×64 고밀도 픽셀아트 밭 타일 base64 임베드 */
#farm .plot:not(.locked){
  background-image:url("../icon/img_024.png")!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:100% 100%!important;
  background-color:#9d6037!important;
}
#farm .plot:not(.locked) .soil{
  display:none!important;
}
#farm .plot.ready:not(.locked){
  background-image:
    linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),
    url("../icon/img_024.png")!important;
}
#farm .plot:not(.locked){
  border-color:#5c3922!important;
  border-radius:2px!important;
}


/* v21.86 — #farmSec .panel:after 고밀도 64×64 픽셀 울타리 */
#farmSec .panel:after{
  content:""!important;
  display:block!important;
  height:34px!important;
  margin-top:8px!important;
  background-image:url("../icon/img_026.png")!important;
  background-repeat:repeat-x!important;
  background-size:64px 64px!important;
  background-position:left -25px!important;
  image-rendering:pixelated!important;
  image-rendering:crisp-edges!important;
}
body.season-summer #farmSec .panel:after{
  background-image:url("../icon/img_027.png")!important;
}
body.season-autumn #farmSec .panel:after{
  background-image:url("../icon/img_028.png")!important;
}
body.season-winter #farmSec .panel:after{
  background-image:url("../icon/img_029.png")!important;
}


/* v21.92 — 농장 시설 카드를 시설 탭으로 이동, 카드에서 직접 건설/레벨업 */
.facilityManageGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}
.facilityManageCard{display:flex;flex-direction:column;min-height:240px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.facilityManageVisual{height:92px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.facilityManageVisual .facilityArt.facilitySprite{margin:0!important}
.facilityManageIcon{width:72px!important;height:72px!important;object-fit:contain!important;image-rendering:pixelated}
.facilityManageTitle{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.facilityManageTitle span{padding:3px 7px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:700}
.facilityManageCard .facilityEffect{min-height:38px}.facilityManageCard .facilityNext{margin-top:6px;line-height:1.35}.facilityManageBtn{width:100%;margin-top:auto}
@media(max-width:620px){.facilityManageGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.facilityManageCard{min-height:225px;padding:10px}}

/* v21.93 — 시설 탭: 시설마다 넓은 대형 카드 1장 */
#facilitySec .facilityManageGrid{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  margin-top:14px!important;
}
#facilitySec .facilityManageCard{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr) 150px!important;
  grid-template-areas:"visual body action"!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  min-height:150px!important;
  padding:16px 18px!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
}
#facilitySec .facilityManageVisual{
  grid-area:visual!important;
  width:150px!important;
  height:116px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#facilitySec .facilityManageVisual .facilityArt.facilitySprite{
  margin:0!important;
  transform:scale(1.12);
  transform-origin:center;
}
#facilitySec .facilityManageIcon{
  width:96px!important;
  height:96px!important;
}
#facilitySec .facilityManageBody{
  grid-area:body!important;
  min-width:0!important;
  width:100%!important;
}
#facilitySec .facilityManageTitle{
  justify-content:flex-start!important;
  gap:10px!important;
  margin-bottom:10px!important;
  font-size:16px!important;
}
#facilitySec .facilityManageCard .facilityEffect{
  min-height:0!important;
  line-height:1.5!important;
}
#facilitySec .facilityManageCard .facilityNext{
  margin-top:8px!important;
}
#facilitySec .facilityManageBtn{
  grid-area:action!important;
  width:150px!important;
  min-height:44px!important;
  margin:0!important;
  align-self:center!important;
}
@media(max-width:620px){
  #facilitySec .facilityManageCard{
    grid-template-columns:92px minmax(0,1fr)!important;
    grid-template-areas:
      "visual body"
      "action action"!important;
    gap:10px 12px!important;
    min-height:0!important;
    padding:12px!important;
  }
  #facilitySec .facilityManageVisual{
    width:92px!important;
    height:92px!important;
  }
  #facilitySec .facilityManageVisual .facilityArt.facilitySprite{
    transform:scale(.9);
  }
  #facilitySec .facilityManageIcon{
    width:76px!important;
    height:76px!important;
  }
  #facilitySec .facilityManageBtn{
    width:100%!important;
  }
}


/* v21.94 — 시설 카드 2열 / 시설 자체를 카드로 감싸기 */
#facilitySec .facilityManageGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:14px!important;
}
#facilitySec .facilityManageCard{
  display:grid!important;
  grid-template-columns:108px minmax(0,1fr)!important;
  grid-template-areas:
    "visual body"
    "action action"!important;
  align-items:center!important;
  gap:10px 14px!important;
  width:100%!important;
  min-height:180px!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:var(--card)!important;
  box-sizing:border-box!important;
}
#facilitySec .facilityManageVisual{
  grid-area:visual!important;
  width:108px!important;
  height:108px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#facilitySec .facilityManageVisual .facilityArt.facilitySprite{
  margin:0!important;
  transform:scale(1.03)!important;
  transform-origin:center!important;
}
#facilitySec .facilityManageIcon{
  width:88px!important;
  height:88px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
}
#facilitySec .facilityManageBody{
  grid-area:body!important;
  min-width:0!important;
}
#facilitySec .facilityManageTitle{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-bottom:8px!important;
}
#facilitySec .facilityLvBadge{
  flex:none!important;
}
#facilitySec .facilityEffectText{
  line-height:1.45!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
#facilitySec .facilityNext{
  margin-top:6px!important;
  line-height:1.35!important;
}
#facilitySec .facilityManageBtn{
  grid-area:action!important;
  width:100%!important;
  min-height:40px!important;
  margin:2px 0 0!important;
}
@media(max-width:700px){
  #facilitySec .facilityManageGrid{
    grid-template-columns:1fr!important;
  }
}


/* v21.95 — 시설 카드를 씨앗 목록 카드와 같은 픽셀 UI 결로 통일 */
#facilitySec .facilityManageGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:12px!important;
}
#facilitySec .facilityManageCard{
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  grid-template-areas:
    "visual body"
    "action action"!important;
  gap:8px 12px!important;
  align-items:center!important;
  min-height:166px!important;
  padding:10px!important;
  box-sizing:border-box!important;

  /* 씨앗 카드와 같은 배경 / 테두리 / 픽셀 그림자 */
  background:#f7e9c9!important;
  border:2px solid #9a744a!important;
  border-radius:0!important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.28),
    inset 0 -2px 0 rgba(116,82,48,.10),
    2px 2px 0 rgba(91,66,44,.28)!important;
}
#facilitySec .facilityManageCard.built{
  background:#f7e9c9!important;
}
#facilitySec .facilityManageCard.unbuilt{
  background:#d8c6a6!important;
  opacity:1!important;
}
#facilitySec .facilityManageVisual{
  grid-area:visual!important;
  width:96px!important;
  height:96px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#facilitySec .facilityManageVisual .facilityArt.facilitySprite{
  margin:0!important;
  transform:scale(.94)!important;
  transform-origin:center!important;
}
#facilitySec .facilityManageIcon{
  width:72px!important;
  height:72px!important;
  image-rendering:pixelated!important;
  filter:
    drop-shadow(2px 3px 0 rgba(62,46,34,.35))
    drop-shadow(-1px -1px 0 rgba(255,244,194,.18))!important;
}
#facilitySec .facilityManageBody{
  grid-area:body!important;
  min-width:0!important;
}
#facilitySec .facilityManageTitle{
  margin-bottom:7px!important;
}
#facilitySec .facilityLvBadge{
  padding:2px 5px!important;
  border:1px solid #9a744a!important;
  border-radius:0!important;
  background:#fff0ce!important;
  color:#4b3827!important;
  box-shadow:1px 1px 0 rgba(91,66,44,.18)!important;
}
#facilitySec .facilityEffectText,
#facilitySec .facilityNext{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#facilitySec .facilityManageBtn{
  grid-area:action!important;
  width:100%!important;
  min-height:36px!important;
  margin:2px 0 0!important;
}
body.theme-berry #facilitySec .facilityManageCard,
body.theme-mint #facilitySec .facilityManageCard,
body.theme-peach #facilitySec .facilityManageCard,
body.theme-night #facilitySec .facilityManageCard{
  color:var(--uiText)!important;
}
body.theme-night #facilitySec .facilityManageCard{
  background:#52647d!important;
  border-color:#243249!important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.10),
    inset 0 -2px 0 rgba(0,0,0,.15),
    2px 2px 0 #182236!important;
}
body.theme-night #facilitySec .facilityManageCard.unbuilt{background:#46576f!important}
body.theme-night #facilitySec .facilityLvBadge{
  background:#40516a!important;
  border-color:#243249!important;
  color:#fff2d4!important;
}
@media(max-width:700px){
  #facilitySec .facilityManageGrid{grid-template-columns:1fr!important}
}


/* v21.96 — 거대작물 2x2 왕작물 */
#farm{overflow:visible!important}
#farm .plot.giantAnchor{
  overflow:visible!important;
  z-index:20!important;
  border-color:#8a641e!important;
  box-shadow:inset 0 0 0 3px rgba(255,224,92,.42),3px 3px 0 rgba(75,50,25,.32)!important;
}
#farm .plot.giantSlave{
  visibility:hidden!important;
  pointer-events:none!important;
}
#farm .giantCropVisual{
  position:absolute!important;
  left:-3px!important;
  top:-3px!important;
  width:calc(200% + 9px)!important;
  height:calc(200% + 9px)!important;
  z-index:30!important;
  box-sizing:border-box!important;
  border:4px solid #7a551d!important;

  /* v21.97: 왕작물의 2x2 전체를 하나의 큰 밭 타일로 채움 */
  background-color:#98633f!important;
  background-image:inherit!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
  image-rendering:pixelated!important;

  box-shadow:
    inset 0 0 0 3px #e2b94e,
    inset 0 4px 0 rgba(255,255,255,.08),
    inset 0 -4px 0 rgba(76,47,31,.18),
    4px 4px 0 rgba(66,44,30,.32)!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
#farm .giantCropImg{
  position:absolute!important;
  width:78%!important;
  height:78%!important;
  left:11%!important;
  top:12%!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  filter:drop-shadow(4px 6px 0 rgba(55,42,31,.48)) drop-shadow(-2px -2px 0 rgba(255,239,184,.28))!important;
  transform:scale(1.08)!important;
}
#farm .giantCrown{
  position:absolute!important;
  z-index:34!important;
  left:50%!important;
  top:5px!important;
  transform:translateX(-50%)!important;
  white-space:nowrap!important;
  padding:3px 6px!important;
  background:#f6d766!important;
  border:2px solid #76531d!important;
  color:#503511!important;
  font-size:10px!important;
  font-weight:bold!important;
  box-shadow:2px 2px 0 rgba(80,53,17,.3)!important;
}
#farm .giantCropName{
  position:absolute!important;
  z-index:34!important;
  left:50%!important;
  bottom:6px!important;
  transform:translateX(-50%)!important;
  padding:2px 6px!important;
  white-space:nowrap!important;
  background:#8d5c35!important;
  border:2px solid #5e3b26!important;
  color:#fff1c8!important;
  font-size:11px!important;
  font-weight:bold!important;
}


/* v21.97 — 왕작물 배경을 2x2 한 장의 밭으로 통합 */
#farm .plot.giantAnchor{
  background-color:#98633f!important;
}
body.season-spring #farm .plot.giantAnchor .giantCropVisual{
  background-image:inherit!important;
}
body.season-summer #farm .plot.giantAnchor .giantCropVisual{
  background-image:inherit!important;
}
body.season-autumn #farm .plot.giantAnchor .giantCropVisual{
  background-image:inherit!important;
}
body.season-winter #farm .plot.giantAnchor .giantCropVisual{
  background-image:inherit!important;
}


/* v21.99 — 기간제 농장 버프 UI */
.buffStatusBtn{position:relative!important}
.buffStatusBtn.active{
  border-color:#6c8b43!important;
  box-shadow:inset 0 0 0 1px #b9d67d,2px 2px 0 rgba(55,72,37,.28)!important;
}
.buffHeaderCount{
  display:inline-block;
  min-width:14px;
  margin-left:3px;
  padding:0 3px;
  border:1px solid currentColor;
  background:#e4efc3;
  color:#355127!important;
  font-size:9px;
  line-height:14px;
  text-align:center;
}
.buffShopTitle{margin-top:14px!important}
.buffShopIntro{margin:4px 0 7px!important}
.buffShopRow.active{
  box-shadow:inset 3px 0 0 #7e9f50,1px 1px 0 #9c805b!important;
}
.buffStatusBox{max-width:520px!important}
.buffModalIntro{margin:8px 0 10px!important}
.buffModalRow{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 38px;
  align-items:center;
  gap:9px;
  margin-top:7px;
  padding:9px;
  border:2px solid #9a744a;
  background:#f7e9c9;
  box-shadow:2px 2px 0 rgba(91,66,44,.22);
}
.buffModalRow.active{
  background:#e4efc3;
  border-color:#709350;
}
.buffModalIcon{width:48px;height:48px;display:flex;align-items:center;justify-content:center}
.buffModalIcon img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}
.buffModalText{min-width:0}
.buffModalText>b{display:block;margin-bottom:3px}
.buffModalRemain{margin-top:4px;font-size:10px;font-weight:700;color:#5d7442}
.buffModalState{
  display:inline-block;
  padding:3px 4px;
  border:1px solid #8f7654;
  background:#ead9b8;
  text-align:center;
  font-size:10px;
  font-weight:700;
}
.buffModalRow.active .buffModalState{background:#779b59;color:#fff;border-color:#4e6f39}
body.theme-night .buffModalRow{background:#52647d!important;border-color:#243249!important;color:#fff2d4!important}
body.theme-night .buffModalRow.active{background:#536f58!important;border-color:#89a56f!important}
body.theme-night .buffModalRemain{color:#d8ebbd!important}


/* v22.02 — 헤더 야간 가독성: 밤에만 검정/진한 글씨를 밝게 */
.appHeader.headerNightText,
.appHeader.headerNightText .brand,
.appHeader.headerNightText .brand *,
.appHeader.headerNightText .headerInfo,
.appHeader.headerNightText .headerInfo *,
.appHeader.headerNightText .farmName,
.appHeader.headerNightText .farmName *,
.appHeader.headerNightText .level,
.appHeader.headerNightText .level *,
.appHeader.headerNightText .stat,
.appHeader.headerNightText .stat *,
.appHeader.headerNightText .small,
.appHeader.headerNightText .tiny,
.appHeader.headerNightText .headerMeta,
.appHeader.headerNightText .headerMeta *{
  color:#fff4d6!important;
  -webkit-text-fill-color:#fff4d6!important;
  text-shadow:1px 1px 0 rgba(28,34,51,.85)!important;
}
.appHeader.headerNightText .topUtilityBtn{
  color:#fff4d6!important;
  -webkit-text-fill-color:#fff4d6!important;
  text-shadow:1px 1px 0 rgba(28,34,51,.75)!important;
}
.appHeader.headerNightText .buffHeaderCount{
  color:#263522!important;
  -webkit-text-fill-color:#263522!important;
  text-shadow:none!important;
}
/* 숫자/시간/날씨처럼 별도 색이 지정된 헤더 텍스트도 밤에는 읽히도록 */
.appHeader.headerNightText [id="clock"],
.appHeader.headerNightText [id="weatherText"],
.appHeader.headerNightText [id="seasonText"],
.appHeader.headerNightText [id="money"],
.appHeader.headerNightText [id="level"]{
  color:#fff4d6!important;
  -webkit-text-fill-color:#fff4d6!important;
}


/* v22.03 — 실제 #mainHeader 야간 글자색 보정 */
#mainHeader.headerNightText .barLeft,
#mainHeader.headerNightText .barLeft *,
#mainHeader.headerNightText .barRight,
#mainHeader.headerNightText .barRight *,
#mainHeader.headerNightText #farmTitle,
#mainHeader.headerNightText #communityStats,
#mainHeader.headerNightText #communityStats *,
#mainHeader.headerNightText #money,
#mainHeader.headerNightText #level,
#mainHeader.headerNightText #headerFameLevel,
#mainHeader.headerNightText #headerFameTier,
#mainHeader.headerNightText #skyClock,
#mainHeader.headerNightText .tiny,
#mainHeader.headerNightText .small{
  color:#fff4d6!important;
  -webkit-text-fill-color:#fff4d6!important;
  text-shadow:1px 1px 0 #18283a!important;
}
/* 버튼 자체는 밝은 배경이므로 기존 어두운 글씨 유지 */
#mainHeader.headerNightText .topUtilityBtn,
#mainHeader.headerNightText .topUtilityBtn *,
#mainHeader.headerNightText .buffHeaderCount{
  color:#273528!important;
  -webkit-text-fill-color:#273528!important;
  text-shadow:none!important;
}
/* 진행바/아이콘 등의 내부 색상은 글자색 강제 상속에서 제외 */
#mainHeader.headerNightText img,
#mainHeader.headerNightText svg{
  -webkit-text-fill-color:initial!important;
  text-shadow:none!important;
}


/* v22.04 — 농장 산책 반짝임 전용 토스트 */
#idleRewardToast{
  display:block!important;
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:26px!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  max-width:calc(100vw - 28px)!important;
  min-width:240px!important;
  box-sizing:border-box!important;
  padding:12px 18px!important;
  background:#2d2923!important;
  border:3px solid #ffe39b!important;
  color:#fff8df!important;
  -webkit-text-fill-color:#fff8df!important;
  font-family:'Mona12',Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
  box-shadow:
    0 0 0 2px rgba(66,48,30,.55),
    4px 4px 0 rgba(35,26,20,.42)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none!important;
  z-index:2147483647!important;
  transition:opacity .08s linear!important;
}
body.theme-night #idleRewardToast{
  background:#1f3045!important;
  border-color:#f5d775!important;
  color:#fff4cf!important;
  -webkit-text-fill-color:#fff4cf!important;
}
@media(max-width:480px){
  #idleRewardToast{
    min-width:0!important;
    width:calc(100vw - 20px)!important;
    bottom:18px!important;
    padding:11px 10px!important;
    font-size:12px!important;
  }
}


/* v22.05 — 포장 작업장 시설 카드 */
#facilitySec .facilityManageCard .facilitySprite.packinghouse img{
  width:82px!important;
  height:82px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  filter:
    drop-shadow(2px 3px 0 rgba(62,46,34,.35))
    drop-shadow(-1px -1px 0 rgba(255,244,194,.18))!important;
}


/* v22.06 — 포장 작업장 전용 고밀도 시설 이미지 */
#facilitySec .facilityManageCard .facilitySprite.packinghouse{
  overflow:visible!important;
}
#facilitySec .facilityManageCard .facilitySprite.packinghouse img{
  width:112px!important;
  height:102px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  image-rendering:auto!important;
  filter:drop-shadow(2px 3px 0 rgba(62,46,34,.30))!important;
}


/* v22.08 — 포장 작업장: 새 제공 이미지로 통일 */
#facilitySec .facilityManageCard .facilitySprite.packinghouse{
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#facilitySec .facilityManageCard .facilitySprite.packinghouse img{
  width:90px!important;
  height:82px!important;
  max-width:90px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  filter:drop-shadow(2px 3px 0 rgba(62,46,34,.28))!important;
}
#facilityBuyContent .facilitySprite.packinghouse img{
  width:118px!important;
  height:108px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
}


/* v22.09 — 이번에 첨부된 포장작업장 PNG 원본을 그대로 사용 */
#facilitySec .facilityManageCard .facilitySprite.packinghouse{
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#facilitySec .facilityManageCard .facilitySprite.packinghouse img{
  width:90px!important;
  height:90px!important;
  max-width:90px!important;
  max-height:90px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
}


/* v22.10 — 시설 관리 카드의 포장작업장 아이콘을 첨부 이미지로 통일 */
#facilitySec .facilityManageIcon .facilitySprite.packinghouse{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
#facilitySec .facilityManageIcon .facilitySprite.packinghouse img{
  display:block!important;
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  margin:auto!important;
  filter:none!important;
}


/* v22.11 — Lv.0 포장 작업장 카드도 전용 Base64 이미지 사용 */
#facilitySec .facilityManageIcon.packinghouse{
  width:82px!important;
  height:82px!important;
  max-width:82px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  filter:none!important;
}
#facilityBuyContent .facilityBuyNameIcon{
  object-fit:contain!important;
}


/* v22.12 — 포장 작업장 아이콘: 지정 이미지로 Base64 교체 */
#facilitySec .facilityManageIcon.packinghouse,
#facilitySec .facilitySprite.packinghouse img{
  width:88px!important;
  height:88px!important;
  max-width:88px!important;
  max-height:88px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  filter:none!important;
}
#facilityBuyContent .facilitySprite.packinghouse img{
  width:118px!important;
  height:118px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
}


/* v22.14 — 랜딩 화면 동기화 코드 입력 */
.landingSyncBox{
  width:100%;max-width:430px;margin:10px auto 12px;padding:10px;
  box-sizing:border-box;background:#f7dfaa;border:2px solid #6b825d;
  box-shadow:inset 0 0 0 2px #fff2c9,2px 2px 0 rgba(60,75,50,.18);
  color:#3b2f22;text-align:left;
}
.landingSyncTitle{font-weight:900;font-size:10px;margin:0 0 7px}
.landingSyncRow{display:flex;gap:6px;align-items:stretch}
.landingSyncInput{
  min-width:0;flex:1;height:34px;box-sizing:border-box;padding:0 9px;
  border:2px solid #8a6b43;background:#fff9e9;color:#3b2f22;
  font:inherit;font-size:9px;outline:none;border-radius:0;
}
.landingSyncInput:focus{border-color:#557653;box-shadow:inset 0 0 0 1px #9fbd82}
.landingSyncBtn{
  flex:0 0 auto;min-width:104px;padding:0 10px;border:2px solid #476846;
  background:#769d73;color:#fffdf1;font:inherit;font-weight:900;font-size:9px;
  box-shadow:inset 0 0 0 1px #a9c69f;cursor:pointer;border-radius:0;
}
.landingSyncBtn:disabled{opacity:.55;cursor:default}
.landingSyncMsg{min-height:12px;margin-top:6px;color:#735d3e;font-size:8px;line-height:1.45}
.landingSyncMsg.ok{color:#3e7043}.landingSyncMsg.err{color:#9a4637}
@media(max-width:520px){
  .landingSyncRow{flex-direction:column}
  .landingSyncInput,.landingSyncBtn{width:100%;height:36px}
}


/* v22.16 — 농장 기금 특별 보상 안내 */
.farmFundRewardGuide{
  margin:8px 0 10px;padding:9px 10px;border:2px solid #c7964f;
  background:#fff0bd;box-shadow:inset 0 0 0 2px rgba(255,255,255,.42);
}
.farmFundRewardHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.farmFundRewardHead b{font-size:10px}.farmFundRewardHead span{font-size:8px;font-weight:900;color:#8b5c2c}
.farmFundRewardItems{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.farmFundRewardItems span{
  padding:4px 6px;border:1px solid #d7aa61;background:#fff9dc;
  font-size:8px;font-weight:900;color:#5b462d;
}
.farmFundRewardProgress{height:7px;margin-bottom:5px;border:1px solid #a8793e;background:#e6c47e;overflow:hidden}
.farmFundRewardProgress i{display:block;height:100%;background:#77a467}


/* BETA v1 — 씨앗 카드 보유 수량 */
.seedOwned{
  margin-top:3px;
  padding:3px 5px;
  border:1px solid rgba(112,84,52,.28);
  background:rgba(255,248,220,.58);
  font-size:9px;
  font-weight:900;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
}
.seedOwned.hasSeed{
  color:#3f6d36!important;
  -webkit-text-fill-color:#3f6d36!important;
}
.seedOwned.noSeed{
  color:#8b765e!important;
  -webkit-text-fill-color:#8b765e!important;
  opacity:.82;
}
body.theme-night .seedOwned{
  background:rgba(41,57,75,.72)!important;
  border-color:rgba(255,238,195,.22)!important;
}
body.theme-night .seedOwned.hasSeed{
  color:#d9f0b8!important;
  -webkit-text-fill-color:#d9f0b8!important;
}
body.theme-night .seedOwned.noSeed{
  color:#c9bea7!important;
  -webkit-text-fill-color:#c9bea7!important;
}


/* BETA v1 — 패치노트 정리 */
.betaLaunchPatch .patchVer{font-size:12px!important}
.betaWelcome{
  margin:8px 0 10px;padding:10px 11px;
  border:2px solid #7d9b69;background:#f4e7b8;
  line-height:1.7!important;
}
.betaWelcome b{font-size:11px}
.betaPatchGroup{
  margin:6px 0;padding:8px 9px;border:1px solid rgba(108,83,52,.32);
  background:rgba(255,248,220,.58);line-height:1.65;
}
.betaPatchGroup b{font-size:9px}
.betaDevNote{
  margin-top:10px;padding:10px 11px;border:2px dashed #a7794d;
  background:#fff4d2;line-height:1.75;
}


.betaPatchTitle{margin:12px 0 7px;padding:7px 9px;border-bottom:2px solid #789363;font-size:11px;font-weight:900;color:#4d633f}


/* BETA v1 — 농장 테마를 상점에서 꾸미기 탭으로 이동 */
.decorThemeGrid{margin-bottom:12px}
.decorThemePreview{display:flex;align-items:center;justify-content:center}
.decorThemePreview img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}


/* BETA v1 — 어두운 농장 테마 토스트 가독성 보정
   토스트 꾸미기 스킨보다 뒤에서 적용해 night 테마의 글자/배경 대비를 보장합니다. */
body.theme-night #toast,
body.theme-night .harvestToast{
  background:rgba(24,38,55,.96)!important;
  border-color:#d3ad55!important;
  color:#fff2cf!important;
  -webkit-text-fill-color:#fff2cf!important;
  text-shadow:0 1px 0 rgba(0,0,0,.65)!important;
}
body.theme-night #toast *,
body.theme-night .harvestToast *,
body.theme-night .harvestToast .harvestTitle,
body.theme-night .harvestToast .harvestMeta{
  color:#fff2cf!important;
  -webkit-text-fill-color:#fff2cf!important;
  opacity:1!important;
}
body.theme-night .harvestToast.gold,
body.theme-night .harvestToast.golden,
body.theme-night .harvestToast.isGold{
  background:rgba(45,39,24,.97)!important;
  border-color:#e1b329!important;
}


/* BETA v1 — 씨앗 카드 크기 확장 */
#seedbar{
  grid-template-columns:repeat(auto-fit,minmax(138px,1fr))!important;
  gap:7px!important;
}
#seedbar .seed{
  box-sizing:border-box!important;
  min-width:138px!important;
  min-height:136px!important;
  height:auto!important;
  padding:7px 6px 9px!important;
  overflow:visible!important;
}
#seedbar .seed .seedPrices,
#seedbar .seed .seedOwned,
#seedbar .seed .seedMeta{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.35!important;
}
#seedbar .seed .seedOwned{margin-top:3px!important}
#seedbar .seed .seedMeta{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:2px 6px!important;
  margin-top:3px!important;
}
#seedbar .seed .seasonTag{
  display:inline-block!important;
  margin-top:4px!important;
  white-space:nowrap!important;
  position:relative!important;
  z-index:2!important;
}
@media(max-width:560px){
  #seedbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #seedbar .seed{min-width:0!important;min-height:140px!important}
}


/* BETA v1 — 씨앗 카드 최종 확장: 보유량/성장시간/계절태그까지 한 카드 안에 모두 표시 */
.seedbar,
#seedbar{
  white-space:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:5px 4px 12px!important;
  min-height:206px!important;
  box-sizing:border-box!important;
}

#seedbar .seed,
.seedbar .seed{
  display:inline-block!important;
  vertical-align:top!important;
  box-sizing:border-box!important;
  width:152px!important;
  min-width:152px!important;
  max-width:152px!important;

  /* 기존 140px대에서 충분히 늘림 */
  height:188px!important;
  min-height:188px!important;
  max-height:188px!important;

  margin-right:7px!important;
  padding:8px 7px 9px!important;
  overflow:hidden!important;
  white-space:normal!important;
}

/* 아이콘과 작물명 사이 공간 정리 */
#seedbar .seed .iconImg,
.seedbar .seed .iconImg{
  width:48px!important;
  height:48px!important;
  margin:0 auto 5px!important;
}

/* 가격 / 보유량 / 레벨 / 시간은 잘리지 않게 */
#seedbar .seed .seedPrices,
#seedbar .seed .seedOwned,
#seedbar .seed .seedMeta{
  width:100%!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.3!important;
}

#seedbar .seed .seedPrices{
  margin-top:3px!important;
  font-size:9px!important;
}

#seedbar .seed .seedOwned{
  margin:5px 0 4px!important;
  padding:4px 5px!important;
  min-height:22px!important;
}

#seedbar .seed .seedMeta{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  margin-top:2px!important;
  min-height:31px!important;
}

/* 예전 CSS의 top:-16px 규칙까지 완전히 무효화 */
#seedbar .seed .seasonTag,
.seedbar .seed .seasonTag,
#seedbar .seed .seasonBadge,
#seedbar .seed .seedSeason{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  top:0!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;

  min-height:18px!important;
  margin:5px auto 0!important;
  margin-bottom:0!important;
  padding:2px 6px!important;

  white-space:nowrap!important;
  overflow:visible!important;
  line-height:1.2!important;
  z-index:3!important;
}

/* 작은 화면에서도 가로 스크롤 방식으로 동일한 카드 비율 유지 */
@media(max-width:560px){
  .seedbar,
  #seedbar{
    min-height:200px!important;
    padding-bottom:11px!important;
  }
  #seedbar .seed,
  .seedbar .seed{
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
  }
}


/* BETA v1 — 계절 태그를 씨앗 카드 박스 안의 마지막 행으로 고정 */
#seedbar .seed,
.seedbar .seed{
  height:204px!important;
  min-height:204px!important;
  max-height:204px!important;
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
}

#seedbar .seed .seedPrices,
#seedbar .seed .seedOwned,
#seedbar .seed .seedMeta{
  flex:0 0 auto!important;
}

#seedbar .seed .seedSeasonRow,
.seedbar .seed .seedSeasonRow{
  width:100%!important;
  min-height:24px!important;
  margin-top:auto!important;
  padding-top:5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  position:static!important;
}

#seedbar .seed .seedSeasonRow .seasonTag,
.seedbar .seed .seedSeasonRow .seasonTag{
  display:inline-block!important;
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
  padding:3px 7px!important;
  min-height:18px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:auto!important;
}

/* 기존 seasonTag 위치 보정 규칙을 카드 내부에서는 무효화 */
#seedbar .seed > .seasonTag,
.seedbar .seed > .seasonTag{
  position:static!important;
  top:auto!important;
  margin-top:5px!important;
}

/* 카드 리스트 자체도 새 높이에 맞춰 확장 */
#seedbar,
.seedbar{
  min-height:222px!important;
}

@media(max-width:560px){
  #seedbar .seed,
  .seedbar .seed{
    height:200px!important;
    min-height:200px!important;
    max-height:200px!important;
  }
  #seedbar,
  .seedbar{
    min-height:218px!important;
  }
}


/* BETA v1 — 구 도메인 → www.kongalfarm.com 이전 공지 */
.domainMoveNotice{
  display:none;
  position:fixed;
  inset:0;
  z-index:2147483600;
  align-items:center;
  justify-content:center;
  padding:16px;
  box-sizing:border-box;
}
.domainMoveNotice.open{display:flex!important}
.domainMoveDim{
  position:absolute;
  inset:0;
  background:rgba(17,25,31,.76);
}
.domainMoveBox{
  position:relative;
  z-index:1;
  width:min(520px,calc(100vw - 24px));
  max-height:calc(100vh - 28px);
  overflow:auto;
  border:3px solid #66835b;
  background:#f5e8c7;
  color:#3f3024;
  box-shadow:0 0 0 3px #d9c79d,8px 8px 0 rgba(20,28,22,.32);
}
.domainMoveHead{
  padding:11px 13px;
  border-bottom:2px solid #8b704d;
  background:#dce7bd;
  font-size:13px;
  text-align:center;
}
.domainMoveBody{padding:13px}
.domainMoveBody p{margin:0 0 10px;line-height:1.7}
.domainMoveLead{
  padding:8px 9px;
  border:2px solid #7c986c;
  background:#fff4ce;
  text-align:center;
}
.domainMoveSteps{
  margin:10px 0;
  padding:9px 10px;
  border:2px solid #b59462;
  background:#fff7dd;
  line-height:1.8;
}
.domainMoveCodeWrap{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:10px 0 7px;
  padding:10px;
  border:2px solid #6b825d;
  background:#eef1d1;
  text-align:center;
}
.domainMoveCodeWrap span{font-size:9px;font-weight:700}
.domainMoveCodeWrap strong{
  display:block;
  padding:8px 6px;
  border:2px solid #8a6b43;
  background:#fffdf0;
  color:#2e4730;
  font-size:14px;
  letter-spacing:1px;
  word-break:break-all;
  user-select:text!important;
  -webkit-user-select:text!important;
}
.domainMoveStatus{
  min-height:18px;
  margin:6px 0 10px;
  color:#6d5b42;
  font-size:9px;
  line-height:1.5;
  text-align:center;
}
.domainMoveStatus.ok{color:#396b3e}
.domainMoveStatus.err{color:#9a4437}
.domainMoveBtns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.domainMoveBtns .btn{
  min-height:38px;
  white-space:normal;
}
.domainMoveOpen{background:#6d9368!important}
.domainMoveLater{
  display:block;
  margin:9px auto 0;
  border:0;
  background:transparent;
  color:#74644e;
  font:inherit;
  font-size:9px;
  text-decoration:underline;
  cursor:pointer;
}
.domainMoveWarn{
  margin:10px 0 0!important;
  color:#886a43;
  font-size:8px;
  text-align:center;
}
@media(max-width:520px){
  .domainMoveNotice{padding:8px}
  .domainMoveBox{width:calc(100vw - 16px)}
  .domainMoveBtns{grid-template-columns:1fr}
}


/* BETA v1 — 랜딩 동기화 입력창 가독성/입력 안정성 */
#landingSyncCode,
.landingSyncInput{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  max-height:none!important;
  box-sizing:border-box!important;
  padding:8px 10px!important;
  line-height:1.25!important;
  font-size:11px!important;
  text-transform:uppercase;
  user-select:text!important;
  -webkit-user-select:text!important;
  pointer-events:auto!important;
}
#landingSyncCode:focus,
.landingSyncInput:focus{
  outline:2px solid rgba(91,130,82,.35)!important;
  outline-offset:1px!important;
}
.landingSyncRow{
  align-items:stretch!important;
}
.landingSyncBtn{
  min-height:42px!important;
}

/* 입력 가능한 요소는 전역 드래그/선택 방지보다 항상 우선 */
input,textarea,[contenteditable="true"]{
  user-select:text!important;
  -webkit-user-select:text!important;
}


/* BETA v1 — 비밀 칭호 시스템 */
.titleSettingsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.titleClearBtn{flex:0 0 auto;padding:5px 8px!important;font-size:8px!important}
.titleCurrent{
  margin:9px 0 8px;padding:8px 9px;border:2px solid #7d9569;background:#edf0ca;
  font-size:9px;line-height:1.55;
}
.titleCurrent .titleCurrentName{font-size:11px;font-weight:900;color:#405c38}
.titleList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.titleCard{
  position:relative;min-height:78px;padding:8px;box-sizing:border-box;
  border:2px solid #a98a61;background:#fff4d5;box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.titleCard.unlocked{border-color:#71905e;background:#eef1ce}
.titleCard.selected{box-shadow:inset 0 0 0 3px #6d8f59,2px 2px 0 rgba(60,75,46,.23)}
.titleCard.locked{background:#ded7c8;border-color:#9d9588;color:#756e64}
.titleCardName{font-size:11px;font-weight:900;margin-bottom:4px}
.titleCardDesc{font-size:8px;line-height:1.5;min-height:23px}
.titleCardState{margin-top:5px;font-size:8px;font-weight:900;color:#5e7c50}
.titleCard.locked .titleCardState{color:#7f766d}
.titleCard button{width:100%;margin-top:6px;min-height:28px!important}
.rankTitle{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin-bottom:2px}
.rankTitle span{font-size:7px;color:#806c52}
.rankTitle b{font-size:10px;color:#567347}
.rankRow.me .rankTitle b{color:#355d35}
@media(max-width:560px){
  .titleList{grid-template-columns:1fr}
  .titleSettingsHead{flex-direction:column}
}
body.theme-night .titleCurrent,
body.theme-night .titleCard.unlocked{background:#40526a!important;border-color:#7f9b73!important;color:#fff2d1!important}
body.theme-night .titleCurrent .titleCurrentName,
body.theme-night .titleCard.unlocked .titleCardName{color:#e7f4bd!important}
body.theme-night .titleCard.locked{background:#313d4d!important;border-color:#5e6875!important;color:#aeb5bd!important}
body.theme-night .rankTitle span{color:#d7c6a9!important}
body.theme-night .rankTitle b{color:#dff0b6!important}


/* BETA v1 — 랭킹 칭호 표시 확정 */
.rankFarmer{min-width:0!important}
.rankTitle{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:1px!important;
  margin:0 0 4px!important;
  line-height:1.2!important;
}
.rankTitle .rankTitleFlavor{
  display:block!important;
  font-size:7px!important;
  font-weight:700!important;
  color:#8a755b!important;
  white-space:normal!important;
}
.rankPlayerName{display:block!important}
body.theme-night .rankTitle .rankTitleFlavor{color:#dbc7a5!important}


/* BETA v1 — 랭킹 칭호 표시: 설명 문구 + 농부 이름 */
.rankTitle .rankTitleFlavor{
  font-size:8px!important;
  font-weight:800!important;
  margin-bottom:1px!important;
}


/* BETA v1 — 랭킹 칭호 설명 문구 표시 보장 */
.rankFarmer .rankTitle{
  display:block!important;
  width:100%!important;
  margin:0 0 3px 0!important;
  padding:0!important;
  line-height:1!important;
}
.rankFarmer .rankTitle .rankTitleFlavor{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:8px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:#7b684e!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.rankFarmer .rankPlayerName{
  display:block!important;
  margin-top:1px!important;
}
body.theme-night .rankFarmer .rankTitle .rankTitleFlavor{
  color:#ead8b7!important;
  -webkit-text-fill-color:#ead8b7!important;
}


/* BETA v1 — 농장 산책 영역 제거 / 현재 디스플레이 랜덤 반짝임 */
.idleViewportSparkle{
  position:fixed!important;
  z-index:1000!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff0a3!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  overflow:visible!important;
  filter:drop-shadow(0 1px 1px rgba(68,48,20,.65));
  animation:viewportSparkleFloat 1.25s ease-in-out infinite!important;
}
.idleViewportSparkle .idleSparkleMain{
  position:absolute!important;
  left:11px!important;
  top:8px!important;
  display:block!important;
  font-size:27px!important;
  line-height:27px!important;
  color:#fff3a6!important;
  -webkit-text-fill-color:#fff3a6!important;
  text-shadow:0 0 4px rgba(255,230,118,.95),0 0 9px rgba(255,244,183,.75)!important;
  animation:viewportSparklePulse .8s steps(2,end) infinite!important;
}
.idleViewportSparkle .idleSparkleTiny{
  position:absolute!important;
  display:block!important;
  color:#fffbe1!important;
  -webkit-text-fill-color:#fffbe1!important;
  text-shadow:0 0 4px rgba(255,239,156,.95)!important;
  pointer-events:none!important;
}
.idleViewportSparkle .s1{left:5px!important;top:3px!important;font-size:15px!important}
.idleViewportSparkle .s2{right:3px!important;top:2px!important;font-size:12px!important}
.idleViewportSparkle .s3{right:6px!important;bottom:4px!important;font-size:17px!important}
.idleViewportSparkle.event-rare .idleSparkleMain{
  color:#fff1ff!important;
  -webkit-text-fill-color:#fff1ff!important;
  text-shadow:0 0 5px rgba(246,185,255,.95),0 0 10px rgba(170,218,255,.9)!important;
}
@keyframes viewportSparkleFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-4px) scale(1.07)}
}
@keyframes viewportSparklePulse{
  0%,100%{opacity:.72;transform:rotate(0deg) scale(.9)}
  50%{opacity:1;transform:rotate(12deg) scale(1.16)}
}
@media(max-width:420px){
  .idleViewportSparkle{
    width:44px!important;height:44px!important;
    min-width:44px!important;min-height:44px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .idleViewportSparkle,
  .idleViewportSparkle .idleSparkleMain{animation:none!important}
}


/* BETA v1 — 참고 이미지 스타일의 픽셀 반짝임 */
.idleViewportSparkle{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
  animation:pixelSparkleFloat 1.1s steps(2,end) infinite!important;
}

/* 큰 + 모양 별 */
.pixelSparkleBig{
  position:absolute!important;
  left:11px!important;
  top:7px!important;
  width:32px!important;
  height:40px!important;
  display:block!important;
  image-rendering:pixelated!important;
  pointer-events:none!important;
}
.pixelSparkleBig .px{
  position:absolute!important;
  display:block!important;
  background:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
}
/* 세로 중심축 */
.pixelSparkleBig .p1{left:14px!important;top:0!important;width:4px!important;height:5px!important}
.pixelSparkleBig .p2{left:12px!important;top:7px!important;width:8px!important;height:7px!important}
.pixelSparkleBig .p3{left:10px!important;top:14px!important;width:12px!important;height:12px!important}
.pixelSparkleBig .p4{left:12px!important;top:26px!important;width:8px!important;height:7px!important}
.pixelSparkleBig .p5{left:14px!important;top:33px!important;width:4px!important;height:7px!important}
/* 가로 팔 */
.pixelSparkleBig .p6{left:0!important;top:18px!important;width:8px!important;height:5px!important}
.pixelSparkleBig .p7{left:24px!important;top:18px!important;width:8px!important;height:5px!important}
/* 양끝 작은 픽셀 */
.pixelSparkleBig .p8{left:-6px!important;top:18px!important;width:3px!important;height:4px!important}
.pixelSparkleBig .p9{right:-6px!important;top:18px!important;width:3px!important;height:4px!important}

/* 작은 십자 별 */
.pixelSparkleSmall{
  position:absolute!important;
  display:block!important;
  width:14px!important;
  height:14px!important;
  pointer-events:none!important;
  image-rendering:pixelated!important;
}
.pixelSparkleSmall i{
  position:absolute!important;
  display:block!important;
  background:#fff!important;
}
.pixelSparkleSmall i:nth-child(1){left:5px!important;top:0!important;width:4px!important;height:14px!important}
.pixelSparkleSmall i:nth-child(2){left:0!important;top:5px!important;width:14px!important;height:4px!important}
.pixelSparkleSmall i:nth-child(3){left:5px!important;top:-4px!important;width:4px!important;height:3px!important}
.pixelSparkleSmall i:nth-child(4){left:5px!important;bottom:-4px!important;width:4px!important;height:3px!important}
.pixelSparkleSmall i:nth-child(5){right:-4px!important;top:5px!important;width:3px!important;height:4px!important}

.pixelSparkleSmall.smallA{right:-3px!important;top:6px!important;transform:scale(.72)!important}
.pixelSparkleSmall.smallB{left:3px!important;bottom:1px!important;transform:scale(.56)!important}

@keyframes pixelSparkleFloat{
  0%,100%{transform:translateY(0);opacity:.72}
  50%{transform:translateY(-2px);opacity:1}
}

/* 희귀 이벤트도 색은 바꾸지 않고 동일한 순백 픽셀 별로 유지 */
.idleViewportSparkle.event-rare .pixelSparkleBig .px,
.idleViewportSparkle.event-rare .pixelSparkleSmall i{
  background:#fff!important;
}

@media(max-width:420px){
  .idleViewportSparkle{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .idleViewportSparkle{animation:none!important}
}


/* BETA v1 — 가늘어진 픽셀 반짝임 + 뒤쪽 은은한 광채 */
.idleViewportSparkle{
  width:46px!important;
  height:54px!important;
  min-width:46px!important;
  min-height:54px!important;
  overflow:visible!important;
}

/* 뒤쪽 광채: 뭉툭한 원이 아니라 작은 픽셀광이 퍼지는 느낌 */
.idleViewportSparkle::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:26px!important;
  height:26px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  background:rgba(255,246,190,.16)!important;
  box-shadow:
    0 0 4px rgba(255,246,190,.38),
    0 0 9px rgba(255,235,150,.28),
    0 0 15px rgba(255,227,120,.18)!important;
  pointer-events:none!important;
  animation:pixelGlowPulse 1s steps(2,end) infinite!important;
}

/* 큰 십자별을 좌우로 슬림하게 */
.pixelSparkleBig{
  left:10px!important;
  top:7px!important;
  width:26px!important;
  height:40px!important;
}

/* 중심 세로축은 유지, 가로축 폭만 줄임 */
.pixelSparkleBig .p1{left:11px!important;top:0!important;width:4px!important;height:5px!important}
.pixelSparkleBig .p2{left:9px!important;top:7px!important;width:8px!important;height:7px!important}
.pixelSparkleBig .p3{left:8px!important;top:14px!important;width:10px!important;height:12px!important}
.pixelSparkleBig .p4{left:9px!important;top:26px!important;width:8px!important;height:7px!important}
.pixelSparkleBig .p5{left:11px!important;top:33px!important;width:4px!important;height:7px!important}

/* 가로 팔 길이 축소 */
.pixelSparkleBig .p6{left:1px!important;top:18px!important;width:6px!important;height:4px!important}
.pixelSparkleBig .p7{left:19px!important;top:18px!important;width:6px!important;height:4px!important}

/* 양끝 픽셀도 안쪽으로 */
.pixelSparkleBig .p8{left:-3px!important;top:18px!important;width:2px!important;height:3px!important}
.pixelSparkleBig .p9{right:-3px!important;top:18px!important;width:2px!important;height:3px!important}

/* 작은 별도 약간 더 가늘게 */
.pixelSparkleSmall{
  width:12px!important;
  height:12px!important;
}
.pixelSparkleSmall i:nth-child(1){left:5px!important;top:0!important;width:3px!important;height:12px!important}
.pixelSparkleSmall i:nth-child(2){left:0!important;top:5px!important;width:12px!important;height:3px!important}
.pixelSparkleSmall i:nth-child(3){left:5px!important;top:-3px!important;width:3px!important;height:2px!important}
.pixelSparkleSmall i:nth-child(4){left:5px!important;bottom:-3px!important;width:3px!important;height:2px!important}
.pixelSparkleSmall i:nth-child(5){right:-3px!important;top:5px!important;width:2px!important;height:3px!important}

.pixelSparkleSmall.smallA{right:-1px!important;top:7px!important;transform:scale(.70)!important}
.pixelSparkleSmall.smallB{left:2px!important;bottom:2px!important;transform:scale(.52)!important}

@keyframes pixelGlowPulse{
  0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(.92)}
  50%{opacity:.85;transform:translate(-50%,-50%) scale(1.08)}
}

@media(max-width:420px){
  .idleViewportSparkle{
    width:42px!important;
    min-width:42px!important;
    height:50px!important;
    min-height:50px!important;
  }
}


/* vBETA-LANDING-02 — 콩알농장 랜딩페이지 리디자인 */
#landingScreen.kongalLandingV2{
  --landing-ink:#3d3022;
  --landing-ink-soft:#72583d;
  --landing-paper:#fff4d4;
  --landing-paper-2:#f6e3b4;
  --landing-line:#6b5137;
  --landing-line-soft:#a77e4e;
  --landing-green:#7da85b;
  --landing-green-2:#94bc6d;
  --landing-green-dark:#4d6d38;
  --landing-sky:#84bfd9;
  --landing-gold:#f3c953;
  display:flex;
  align-items:center!important;
  justify-content:center!important;
  min-height:100dvh!important;
  padding:clamp(18px,3vw,38px)!important;
  box-sizing:border-box!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  isolation:isolate!important;
  background:
    linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),
    linear-gradient(#82bdd7 0 58%,#cfe3aa 58% 100%)!important;
}
#landingScreen.kongalLandingV2::before{
  content:""!important;
  position:fixed!important;
  z-index:0!important;
  left:-8%!important;
  right:-8%!important;
  top:auto!important;
  bottom:20%!important;
  height:38%!important;
  background:
    radial-gradient(ellipse at 6% 100%,#759f5a 0 38%,transparent 39%),
    radial-gradient(ellipse at 28% 100%,#86ae66 0 44%,transparent 45%),
    radial-gradient(ellipse at 51% 100%,#719951 0 40%,transparent 41%),
    radial-gradient(ellipse at 75% 100%,#8ab069 0 46%,transparent 47%),
    radial-gradient(ellipse at 98% 100%,#719951 0 39%,transparent 40%)!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
#landingScreen.kongalLandingV2::after{
  content:""!important;
  position:fixed!important;
  z-index:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:24%!important;
  background:
    repeating-linear-gradient(90deg,rgba(77,113,52,.12) 0 18px,rgba(255,255,255,.035) 18px 36px),
    linear-gradient(#a7ca80,#8fb86a)!important;
  border-top:5px solid #62894a!important;
  box-shadow:inset 0 5px 0 rgba(255,255,255,.12)!important;
  pointer-events:none!important;
}
#landingScreen.kongalLandingV2,
#landingScreen.kongalLandingV2 *{
  box-sizing:border-box!important;
  -webkit-text-fill-color:currentColor!important;
}
#landingScreen.kongalLandingV2 img{
  image-rendering:pixelated!important;
  image-rendering:-moz-crisp-edges!important;
  image-rendering:crisp-edges!important;
}
#landingScreen .landingAmbient{
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
#landingScreen .landingSkySun{
  position:absolute!important;
  top:6.5%!important;
  right:6.5%!important;
  width:clamp(62px,7vw,96px)!important;
  height:auto!important;
  filter:drop-shadow(0 5px 0 rgba(134,102,37,.13))!important;
  animation:landingSunBob 5.4s steps(4,end) infinite!important;
}
#landingScreen .landingCloud{
  position:absolute!important;
  display:block!important;
  width:132px!important;
  height:auto!important;
  margin:0!important;
  background:none!important;
  box-shadow:none!important;
  opacity:.76!important;
  filter:drop-shadow(0 4px 0 rgba(74,111,127,.10))!important;
  animation:landingCloudDrift 74s linear infinite!important;
}
#landingScreen .landingCloud.c1{top:12%!important;left:-160px!important;animation-duration:72s!important}
#landingScreen .landingCloud.c2{top:27%!important;left:-200px!important;width:104px!important;opacity:.58!important;animation-duration:104s!important;animation-delay:-46s!important;transform:none!important}
#landingScreen .landingCloud.c3{top:7%!important;left:-150px!important;width:82px!important;opacity:.46!important;animation-duration:88s!important;animation-delay:-21s!important}
@keyframes landingCloudDrift{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 360px))}}
@keyframes landingSunBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

#landingScreen .landingCard.landingShell{
  position:relative!important;
  z-index:3!important;
  width:min(1160px,100%)!important;
  max-width:1160px!important;
  padding:0!important;
  margin:0 auto!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
#landingScreen .landingHero{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}
#landingScreen .landingIntro,
#landingScreen .landingShowcase{
  position:relative!important;
  overflow:hidden!important;
  border:4px solid var(--landing-line)!important;
  box-shadow:8px 8px 0 rgba(78,58,37,.20)!important;
}
#landingScreen .landingIntro{
  min-height:514px!important;
  display:flex!important;
  flex-direction:column!important;
  padding:clamp(28px,3.1vw,44px)!important;
  background:
    linear-gradient(90deg,rgba(119,88,51,.035) 1px,transparent 1px),
    linear-gradient(rgba(119,88,51,.035) 1px,transparent 1px),
    var(--landing-paper)!important;
  background-size:12px 12px!important;
}
#landingScreen .landingIntro::before,
#landingScreen .landingIntro::after{
  content:""!important;
  position:absolute!important;
  width:18px!important;
  height:18px!important;
  background:#d8b777!important;
  border:3px solid var(--landing-line)!important;
  opacity:.82!important;
}
#landingScreen .landingIntro::before{left:12px!important;top:12px!important}
#landingScreen .landingIntro::after{right:12px!important;bottom:12px!important}
#landingScreen .landingEyebrow{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 17px!important;
  color:#6f563c!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.8px!important;
  line-height:1.2!important;
}
#landingScreen .landingEyebrow::before{
  content:""!important;
  width:22px!important;
  height:4px!important;
  background:var(--landing-green)!important;
  border:1px solid var(--landing-green-dark)!important;
}
#landingScreen .landingLogo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:13px!important;
  margin:0!important;
  color:var(--landing-ink)!important;
  text-shadow:none!important;
  letter-spacing:0!important;
}
#landingScreen .landingLogo::before{display:none!important;content:none!important}
#landingScreen .landingLogoMark{
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  border:3px solid var(--landing-line)!important;
  background:#e8d49f!important;
  box-shadow:4px 4px 0 #c49d59!important;
}
#landingScreen .landingLogoIcon{
  display:block!important;
  width:44px!important;
  height:44px!important;
  object-fit:contain!important;
  transform:translateY(2px)!important;
}
#landingScreen .landingWordmark{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
}
#landingScreen .landingWordmark strong{
  color:var(--landing-ink)!important;
  font-size:clamp(30px,3vw,40px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-1px!important;
}
#landingScreen .landingWordmark small{
  color:#826345!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:1.7px!important;
}
#landingScreen .landingHeadline{
  margin:28px 0 13px!important;
  color:var(--landing-ink)!important;
  font-size:clamp(34px,4.1vw,54px)!important;
  font-weight:900!important;
  line-height:1.14!important;
  letter-spacing:-1.7px!important;
  text-wrap:balance!important;
}
#landingScreen .landingHeadline em{
  color:#5f8b45!important;
  font-style:normal!important;
}
#landingScreen .landingTagline{
  max-width:470px!important;
  margin:0!important;
  color:var(--landing-ink-soft)!important;
  font-size:12px!important;
  line-height:1.8!important;
  word-break:keep-all!important;
}
#landingScreen .landingStatus{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:34px!important;
  margin:20px 0 14px!important;
  padding:8px 11px!important;
  border:2px solid #ac8755!important;
  background:#f5dfad!important;
  color:#5f4933!important;
  font-size:10px!important;
  line-height:1.45!important;
  box-shadow:none!important;
}
#landingScreen .landingStatus::before{
  content:""!important;
  width:9px!important;
  height:9px!important;
  flex:0 0 9px!important;
  background:#6fa14f!important;
  border:2px solid #486c36!important;
  box-shadow:0 0 0 2px #d6e4a6!important;
  animation:landingStatusBlink 1.8s steps(2,end) infinite!important;
}
#landingScreen .landingStatus b{color:#4f783a!important}
@keyframes landingStatusBlink{0%,72%,100%{opacity:1}73%,86%{opacity:.45}}
#landingScreen .landingActions{
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  margin-top:auto!important;
}
#landingScreen #landingStartBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:230px!important;
  min-height:54px!important;
  margin:0!important;
  padding:12px 20px!important;
  border:3px solid var(--landing-green-dark)!important;
  border-radius:0!important;
  background:var(--landing-green)!important;
  color:#fff8de!important;
  font:700 15px/1.2 'Mona12',Arial,sans-serif!important;
  text-shadow:2px 2px 0 rgba(56,80,39,.55)!important;
  box-shadow:5px 5px 0 #3f5a30!important;
  cursor:pointer!important;
  transition:transform .12s steps(2,end),background .12s steps(2,end),box-shadow .12s steps(2,end)!important;
}
#landingScreen #landingStartBtn::before{
  content:""!important;
  display:inline-block!important;
  width:25px!important;
  height:25px!important;
  margin-right:8px!important;
  background:url('../icon/landingLogoIcon.png') center/contain no-repeat!important;
  image-rendering:pixelated!important;
}
#landingScreen #landingStartBtn:hover{
  background:#8db56a!important;
  transform:translateY(-2px)!important;
  box-shadow:5px 7px 0 #3f5a30!important;
}
#landingScreen #landingStartBtn:active{
  transform:translate(3px,3px)!important;
  box-shadow:2px 2px 0 #3f5a30!important;
}
#landingScreen #landingStartBtn:focus-visible,
#landingScreen .landingSyncBtn:focus-visible,
#landingScreen .landingSyncInput:focus-visible{
  outline:3px solid #f4c850!important;
  outline-offset:3px!important;
}
#landingScreen .landingActionHint{
  color:#876a4b!important;
  font-size:9px!important;
  line-height:1.55!important;
  word-break:keep-all!important;
}
#landingScreen .landingSyncBox{
  margin:19px 0 0!important;
  padding:13px!important;
  border:2px solid #a77d4d!important;
  background:#f4e1b3!important;
  box-shadow:inset 0 0 0 3px rgba(255,248,221,.42)!important;
  text-align:left!important;
}
#landingScreen .landingSyncHeader{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
#landingScreen .landingSyncHeaderText{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
}
#landingScreen .landingSyncTitle{
  margin:0!important;
  color:#513d2a!important;
  font-size:10px!important;
  font-weight:900!important;
  text-align:left!important;
}
#landingScreen .landingSyncSub{
  color:#856748!important;
  font-size:8px!important;
  line-height:1.4!important;
}
#landingScreen .landingSyncIcon{
  width:28px!important;
  height:28px!important;
  object-fit:contain!important;
  opacity:.85!important;
}
#landingScreen .landingSyncRow{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  margin:0!important;
}
#landingScreen .landingSyncInput{
  width:100%!important;
  height:39px!important;
  min-width:0!important;
  padding:0 11px!important;
  border:2px solid #76583b!important;
  border-radius:0!important;
  background:#fffaf0!important;
  color:#3f3023!important;
  -webkit-text-fill-color:#3f3023!important;
  font:400 11px/39px 'Mona12',Arial,sans-serif!important;
  box-shadow:none!important;
  caret-color:#4d6d38!important;
  user-select:text!important;
}
#landingScreen .landingSyncInput::placeholder{
  color:#a0896b!important;
  -webkit-text-fill-color:#a0896b!important;
  opacity:1!important;
}
#landingScreen .landingSyncBtn{
  min-width:116px!important;
  height:39px!important;
  margin:0!important;
  padding:0 12px!important;
  border:2px solid #596f43!important;
  border-radius:0!important;
  background:#91ab74!important;
  color:#fff9e8!important;
  font:700 10px/1.2 'Mona12',Arial,sans-serif!important;
  text-shadow:1px 1px 0 #566b41!important;
  box-shadow:2px 2px 0 #4f633d!important;
  cursor:pointer!important;
}
#landingScreen .landingSyncBtn:hover{background:#9bb77c!important}
#landingScreen .landingSyncBtn:active{transform:translate(1px,1px)!important;box-shadow:1px 1px 0 #4f633d!important}
#landingScreen .landingSyncBtn:disabled{opacity:.62!important;cursor:wait!important}
#landingScreen .landingSyncMsg{
  min-height:12px!important;
  margin:8px 1px 0!important;
  color:#7a6043!important;
  font-size:8px!important;
  line-height:1.45!important;
}
#landingScreen .landingSyncMsg.ok{color:#4f7d3b!important}
#landingScreen .landingSyncMsg.err{color:#aa503f!important}

#landingScreen .landingShowcase{
  min-height:514px!important;
  background:linear-gradient(#83c3df 0 54%,#8fb56d 54% 100%)!important;
  isolation:isolate!important;
}
#landingScreen .landingShowcase::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px)!important;
  background-size:16px 16px!important;
  pointer-events:none!important;
}
#landingScreen .landingSceneTopbar{
  position:absolute!important;
  z-index:20!important;
  top:15px!important;
  left:15px!important;
  right:15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
#landingScreen .landingSceneBadge,
#landingScreen .landingSceneMiniLabel{
  display:inline-flex!important;
  align-items:center!important;
  min-height:29px!important;
  padding:7px 9px!important;
  border:2px solid #6b5137!important;
  background:#fff0c8!important;
  color:#60472f!important;
  font-size:9px!important;
  line-height:1!important;
  box-shadow:3px 3px 0 rgba(82,61,38,.18)!important;
}
#landingScreen .landingSceneBadge::before{
  content:""!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin-right:5px!important;
  background:url('../icon/landingSunIcon.png') center/contain no-repeat!important;
}
#landingScreen .landingSceneMiniLabel{background:#e9d49c!important;color:#72553a!important}
#landingScreen .landingScene{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  overflow:hidden!important;
}
#landingScreen .sceneCloud{
  position:absolute!important;
  z-index:1!important;
  width:92px!important;
  opacity:.75!important;
}
#landingScreen .sceneCloud.cloudA{left:10%!important;top:17%!important}
#landingScreen .sceneCloud.cloudB{right:7%!important;top:25%!important;width:68px!important;opacity:.52!important}
#landingScreen .sceneHillBack,
#landingScreen .sceneHillFront{
  position:absolute!important;
  left:-8%!important;
  right:-8%!important;
  border-radius:50% 50% 0 0/100% 100% 0 0!important;
}
#landingScreen .sceneHillBack{
  z-index:2!important;
  bottom:34%!important;
  height:34%!important;
  background:#7fa75e!important;
  border-top:4px solid #6c9251!important;
  transform:rotate(-2deg)!important;
}
#landingScreen .sceneHillFront{
  z-index:3!important;
  bottom:21%!important;
  height:29%!important;
  background:#91b96c!important;
  border-top:4px solid #759e57!important;
  transform:rotate(1.5deg)!important;
}
#landingScreen .sceneGround{
  position:absolute!important;
  z-index:4!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:34%!important;
  background:
    repeating-linear-gradient(90deg,rgba(83,116,52,.13) 0 14px,rgba(255,255,255,.02) 14px 28px),
    #78a555!important;
  border-top:4px solid #5f8746!important;
}
#landingScreen .scenePath{
  position:absolute!important;
  z-index:5!important;
  left:47%!important;
  bottom:-10%!important;
  width:34%!important;
  height:50%!important;
  background:#d0ac6c!important;
  border-left:3px solid #a27c48!important;
  border-right:3px solid #a27c48!important;
  clip-path:polygon(42% 0,58% 0,100% 100%,0 100%)!important;
  opacity:.95!important;
}
#landingScreen .sceneField{
  position:absolute!important;
  z-index:6!important;
  left:5%!important;
  right:5%!important;
  bottom:30px!important;
  height:90px!important;
  border:3px solid #65482f!important;
  background:
    repeating-linear-gradient(90deg,transparent 0 36px,rgba(78,50,29,.30) 36px 39px),
    repeating-linear-gradient(0deg,#8f6844 0 16px,#a77c4e 16px 20px)!important;
  box-shadow:inset 0 4px 0 rgba(255,255,255,.08)!important;
  transform:perspective(320px) rotateX(7deg)!important;
  transform-origin:bottom!important;
}
#landingScreen .sceneStructure,
#landingScreen .sceneCrop{
  position:absolute!important;
  z-index:10!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 0 rgba(54,44,28,.16))!important;
  pointer-events:none!important;
}
#landingScreen .sceneBarn{
  left:50%!important;
  bottom:77px!important;
  width:188px!important;
  transform:translateX(-50%)!important;
  z-index:12!important;
}
#landingScreen .sceneMill{
  left:-4px!important;
  bottom:108px!important;
  width:137px!important;
  z-index:9!important;
}
#landingScreen .sceneGreenhouse{
  right:-8px!important;
  bottom:108px!important;
  width:145px!important;
  z-index:8!important;
}
#landingScreen .sceneWell{
  right:22%!important;
  bottom:69px!important;
  width:84px!important;
  z-index:13!important;
}
#landingScreen .sceneScarecrow{
  left:19%!important;
  bottom:61px!important;
  width:92px!important;
  z-index:13!important;
}
#landingScreen .sceneCrop{
  width:58px!important;
  z-index:11!important;
  filter:drop-shadow(0 3px 0 rgba(55,42,23,.12))!important;
  animation:landingCropBob 3.2s steps(3,end) infinite!important;
}
#landingScreen .sceneCrop.crop1{left:6%!important;bottom:34px!important;animation-delay:-.6s!important}
#landingScreen .sceneCrop.crop2{left:28%!important;bottom:32px!important;animation-delay:-1.4s!important}
#landingScreen .sceneCrop.crop3{right:27%!important;bottom:34px!important;animation-delay:-2.1s!important}
#landingScreen .sceneCrop.crop4{right:5%!important;bottom:32px!important;animation-delay:-.9s!important}
@keyframes landingCropBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
#landingScreen .landingSceneCaption{
  position:absolute!important;
  z-index:30!important;
  left:19px!important;
  bottom:18px!important;
  width:210px!important;
  padding:11px 13px!important;
  border:3px solid var(--landing-line)!important;
  background:rgba(255,244,212,.95)!important;
  box-shadow:4px 4px 0 rgba(78,58,37,.20)!important;
}
#landingScreen .landingSceneCaption span,
#landingScreen .landingSceneCaption strong{
  display:block!important;
}
#landingScreen .landingSceneCaption span{
  margin-bottom:3px!important;
  color:#846549!important;
  font-size:8px!important;
}
#landingScreen .landingSceneCaption strong{
  color:#4c6f38!important;
  font-size:13px!important;
  line-height:1.35!important;
}

#landingScreen .landingFeatures{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:18px 0 0!important;
}
#landingScreen .landingFeature{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:12px!important;
  min-height:96px!important;
  padding:14px!important;
  border:3px solid var(--landing-line)!important;
  background:var(--landing-paper)!important;
  box-shadow:5px 5px 0 rgba(78,58,37,.18)!important;
  text-align:left!important;
}
#landingScreen .landingFeatureIcon{
  grid-row:1/3!important;
  width:50px!important;
  height:50px!important;
  object-fit:contain!important;
  margin:0!important;
  filter:none!important;
}
#landingScreen .landingFeature b{
  align-self:end!important;
  margin:0 0 5px!important;
  color:#4b3828!important;
  font-size:12px!important;
  line-height:1.2!important;
}
#landingScreen .landingFeature span{
  align-self:start!important;
  color:#775a3f!important;
  font-size:9px!important;
  line-height:1.6!important;
  word-break:keep-all!important;
}
#landingScreen .landingFooter{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-top:14px!important;
  padding:0 3px!important;
  color:#53663f!important;
  font-size:8px!important;
  line-height:1.4!important;
  text-shadow:1px 1px 0 rgba(255,255,255,.42)!important;
}
#landingScreen .landingFooterNote{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#52663e!important;
}
#landingScreen .landingFooterNote::before{
  content:""!important;
  width:7px!important;
  height:7px!important;
  background:#6f9d50!important;
  border:1px solid #4e6d3a!important;
}
#landingScreen .landingVersion{
  margin:0!important;
  color:#52663e!important;
  font-size:8px!important;
}

/* 로딩 화면도 새 랜딩 톤에 맞춰 연결 */
#loadingScreen{
  background:linear-gradient(#82bdd7 0 61%,#a3c87d 61% 100%)!important;
  color:#3d3022!important;
}
#loadingScreen .loadingBox{
  border:4px solid #6b5137!important;
  background:#fff4d4!important;
  color:#3d3022!important;
  box-shadow:7px 7px 0 rgba(78,58,37,.22)!important;
}
#loadingScreen .loadingTitle{color:#3d3022!important;text-shadow:none!important}
#loadingScreen .loadingBar{border:2px solid #6b5137!important;background:#e2c98f!important}
#loadingScreen .loadingBar i{background:#7da85b!important}
#loadingScreen .loadingText{color:#72583d!important}

@media(max-width:980px){
  #landingScreen.kongalLandingV2{align-items:flex-start!important}
  #landingScreen .landingHero{grid-template-columns:1fr!important}
  #landingScreen .landingIntro{min-height:0!important}
  #landingScreen .landingShowcase{min-height:460px!important}
}
@media(max-width:680px){
  #landingScreen.kongalLandingV2{
    padding:12px!important;
  }
  #landingScreen .landingAmbient .landingSkySun{
    top:28px!important;
    right:18px!important;
    width:58px!important;
  }
  #landingScreen .landingCloud{width:88px!important;opacity:.48!important}
  #landingScreen .landingCard.landingShell{width:100%!important}
  #landingScreen .landingHero{gap:12px!important}
  #landingScreen .landingIntro,
  #landingScreen .landingShowcase{
    border-width:3px!important;
    box-shadow:5px 5px 0 rgba(78,58,37,.19)!important;
  }
  #landingScreen .landingIntro{padding:24px 18px 20px!important}
  #landingScreen .landingIntro::before,
  #landingScreen .landingIntro::after{width:13px!important;height:13px!important;border-width:2px!important}
  #landingScreen .landingEyebrow{margin-bottom:13px!important;font-size:8px!important}
  #landingScreen .landingLogoMark{width:48px!important;height:48px!important;flex-basis:48px!important;box-shadow:3px 3px 0 #c49d59!important}
  #landingScreen .landingLogoIcon{width:37px!important;height:37px!important}
  #landingScreen .landingWordmark strong{font-size:30px!important}
  #landingScreen .landingWordmark small{font-size:8px!important}
  #landingScreen .landingHeadline{margin:23px 0 12px!important;font-size:35px!important;letter-spacing:-1px!important}
  #landingScreen .landingTagline{font-size:10px!important;line-height:1.75!important}
  #landingScreen .landingStatus{width:100%!important;margin:16px 0 12px!important;font-size:9px!important}
  #landingScreen .landingActions{display:block!important}
  #landingScreen #landingStartBtn{width:100%!important;min-width:0!important;min-height:52px!important}
  #landingScreen .landingActionHint{display:block!important;margin-top:10px!important;text-align:center!important}
  #landingScreen .landingSyncBox{margin-top:16px!important;padding:11px!important}
  #landingScreen .landingSyncRow{grid-template-columns:1fr!important}
  #landingScreen .landingSyncBtn{width:100%!important}
  #landingScreen .landingShowcase{min-height:328px!important}
  #landingScreen .landingSceneTopbar{top:10px!important;left:10px!important;right:10px!important}
  #landingScreen .landingSceneBadge,
  #landingScreen .landingSceneMiniLabel{min-height:25px!important;padding:5px 7px!important;font-size:8px!important}
  #landingScreen .landingSceneMiniLabel{display:none!important}
  #landingScreen .sceneCloud{width:58px!important}
  #landingScreen .sceneBarn{width:128px!important;bottom:54px!important}
  #landingScreen .sceneMill{width:94px!important;left:-5px!important;bottom:69px!important}
  #landingScreen .sceneGreenhouse{width:96px!important;right:-8px!important;bottom:70px!important}
  #landingScreen .sceneWell{width:56px!important;right:20%!important;bottom:44px!important}
  #landingScreen .sceneScarecrow{width:61px!important;left:18%!important;bottom:39px!important}
  #landingScreen .sceneField{left:3%!important;right:3%!important;bottom:18px!important;height:62px!important;background:repeating-linear-gradient(90deg,transparent 0 28px,rgba(78,50,29,.30) 28px 31px),repeating-linear-gradient(0deg,#8f6844 0 12px,#a77c4e 12px 16px)!important}
  #landingScreen .sceneCrop{width:39px!important}
  #landingScreen .sceneCrop.crop1{left:4%!important;bottom:20px!important}
  #landingScreen .sceneCrop.crop2{left:30%!important;bottom:19px!important}
  #landingScreen .sceneCrop.crop3{right:28%!important;bottom:20px!important}
  #landingScreen .sceneCrop.crop4{right:3%!important;bottom:19px!important}
  #landingScreen .landingSceneCaption{left:12px!important;bottom:11px!important;width:162px!important;padding:8px 9px!important;border-width:2px!important;box-shadow:3px 3px 0 rgba(78,58,37,.18)!important}
  #landingScreen .landingSceneCaption span{font-size:7px!important}
  #landingScreen .landingSceneCaption strong{font-size:10px!important}
  #landingScreen .landingFeatures{grid-template-columns:1fr!important;gap:10px!important;margin-top:12px!important}
  #landingScreen .landingFeature{min-height:76px!important;grid-template-columns:44px minmax(0,1fr)!important;padding:11px!important;border-width:2px!important;box-shadow:3px 3px 0 rgba(78,58,37,.17)!important}
  #landingScreen .landingFeatureIcon{width:40px!important;height:40px!important}
  #landingScreen .landingFeature b{font-size:10px!important;margin-bottom:3px!important}
  #landingScreen .landingFeature span{font-size:8px!important;line-height:1.5!important}
  #landingScreen .landingFooter{flex-direction:column!important;align-items:flex-start!important;gap:5px!important;margin:12px 0 4px!important}
}
@media(max-height:760px) and (min-width:981px){
  #landingScreen.kongalLandingV2{align-items:flex-start!important;padding-top:18px!important;padding-bottom:18px!important}
  #landingScreen .landingIntro,
  #landingScreen .landingShowcase{min-height:470px!important}
  #landingScreen .landingIntro{padding:27px 34px!important}
  #landingScreen .landingHeadline{margin-top:20px!important;font-size:43px!important}
  #landingScreen .landingStatus{margin-top:14px!important}
  #landingScreen .landingSyncBox{margin-top:13px!important}
  #landingScreen .landingFeature{min-height:86px!important}
}
@media(prefers-reduced-motion:reduce){
  #landingScreen .landingSkySun,
  #landingScreen .landingCloud,
  #landingScreen .sceneCrop,
  #landingScreen .landingStatus::before{animation:none!important}
}




/* ==========================================================
   KONGAL LANDING V2 — FINAL ISOLATION / LAYOUT FIX
   기존 프로젝트의 랜딩 CSS와 충돌 방지
   ========================================================== */
#landingScreen.kongalLandingV2{
  position:fixed!important;
  inset:0!important;
  z-index:30000!important;
  display:block!important;
  min-width:0!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  padding:28px!important;
  overflow:auto!important;
  box-sizing:border-box!important;
}

#landingScreen.kongalLandingV2 > .landingCard.landingShell{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:min(1160px, calc(100vw - 56px))!important;
  max-width:1160px!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}

#landingScreen.kongalLandingV2 .landingHero{
  display:grid!important;
  grid-template-columns:minmax(0, 1.02fr) minmax(420px, .98fr)!important;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  align-items:stretch!important;
}

#landingScreen.kongalLandingV2 .landingIntro,
#landingScreen.kongalLandingV2 .landingShowcase{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:514px!important;
  margin:0!important;
  transform:none!important;
}

#landingScreen.kongalLandingV2 .landingIntro{
  display:flex!important;
  flex-direction:column!important;
  padding:clamp(28px,3.1vw,44px)!important;
}

#landingScreen.kongalLandingV2 .landingShowcase{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
}

#landingScreen.kongalLandingV2 .landingFeatures{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:14px 0 0!important;
}

#landingScreen.kongalLandingV2 .landingFeature{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}

#landingScreen.kongalLandingV2 .landingFooter{
  width:100%!important;
}

/* 새 랜딩 내부의 이미지에 프로젝트 공통 img 크기 규칙이 침범하지 않도록 */
#landingScreen.kongalLandingV2 img{
  max-width:none!important;
}

/* 각 이미지별 원래 크기 재확정 */
#landingScreen.kongalLandingV2 .landingLogoIcon{width:44px!important;height:44px!important}
#landingScreen.kongalLandingV2 .landingSyncIcon{width:28px!important;height:28px!important}
#landingScreen.kongalLandingV2 .landingFeatureIcon{width:48px!important;height:48px!important}
#landingScreen.kongalLandingV2 .landingSkySun{width:clamp(62px,7vw,96px)!important;height:auto!important}
#landingScreen.kongalLandingV2 .landingCloud{width:132px!important;height:auto!important}
#landingScreen.kongalLandingV2 .landingCloud.c2{width:104px!important}
#landingScreen.kongalLandingV2 .landingCloud.c3{width:82px!important}

/* 태블릿 이하에서는 원본 랜딩처럼 한 열 */
@media (max-width: 980px){
  #landingScreen.kongalLandingV2{
    padding:18px!important;
  }
  #landingScreen.kongalLandingV2 > .landingCard.landingShell{
    width:min(760px, calc(100vw - 36px))!important;
  }
  #landingScreen.kongalLandingV2 .landingHero{
    grid-template-columns:1fr!important;
  }
  #landingScreen.kongalLandingV2 .landingIntro,
  #landingScreen.kongalLandingV2 .landingShowcase{
    min-height:0!important;
  }
  #landingScreen.kongalLandingV2 .landingShowcase{
    min-height:460px!important;
  }
}

/* 모바일 */
@media (max-width: 620px){
  #landingScreen.kongalLandingV2{
    padding:12px!important;
  }
  #landingScreen.kongalLandingV2 > .landingCard.landingShell{
    width:100%!important;
  }
  #landingScreen.kongalLandingV2 .landingHero{
    gap:12px!important;
  }
  #landingScreen.kongalLandingV2 .landingIntro{
    padding:24px 18px 20px!important;
  }
  #landingScreen.kongalLandingV2 .landingShowcase{
    min-height:328px!important;
  }
  #landingScreen.kongalLandingV2 .landingFeatures{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #landingScreen.kongalLandingV2 .landingActions{
    display:block!important;
  }
  #landingScreen.kongalLandingV2 #landingStartBtn{
    width:100%!important;
  }
  #landingScreen.kongalLandingV2 .landingSyncRow{
    grid-template-columns:1fr!important;
  }
  #landingScreen.kongalLandingV2 .landingSyncBtn{
    width:100%!important;
  }
}



/* ===== LANDING V2 selector recovery guard ===== */
#landingScreen.kongalLandingV2{
  --landing-ink:#3d3022;
  --landing-ink-soft:#72583d;
  --landing-paper:#fff4d4;
  --landing-paper-2:#f6e3b4;
  --landing-line:#6b5137;
  --landing-line-soft:#a77e4e;
  --landing-green:#7da85b;
  --landing-green-2:#94bc6d;
  --landing-green-dark:#4d6d38;
  --landing-sky:#84bfd9;
  --landing-gold:#f3c953;
}
#landingScreen.kongalLandingV2 .landingIntro{
  background:
    linear-gradient(90deg,rgba(119,88,51,.035) 1px,transparent 1px),
    linear-gradient(rgba(119,88,51,.035) 1px,transparent 1px),
    var(--landing-paper)!important;
  background-size:12px 12px!important;
  border:4px solid var(--landing-line)!important;
  box-shadow:8px 8px 0 rgba(78,58,37,.20)!important;
}
#landingScreen.kongalLandingV2 .landingShowcase{
  border:4px solid var(--landing-line)!important;
  box-shadow:8px 8px 0 rgba(78,58,37,.20)!important;
}
#landingScreen.kongalLandingV2 .landingFeature{
  background:var(--landing-paper-2)!important;
  border:3px solid var(--landing-line)!important;
}
















/* =========================================================
   KONGAL SPECIAL TITLES — SINGLE SOURCE OF TRUTH
   special titles: special first / special cat
   ranking badges: special first / special cat

   RULE A — SETTINGS:
     normal title card geometry 그대로.
     special = color + icon only.

   RULE B — RANKING:
     special = compact badge with border + background + icon.
   ========================================================= */

/* ---------- A. SETTINGS / TITLE LIST ---------- */
/* 일반 카드의 레이아웃을 특별칭호가 바꾸지 못하게 함.
   특별칭호는 grid cell을 그대로 100% 채운다. */
#settingsModal .titleCard:is(.founderTitle,.catPinkTitle),
#settingsPanel .titleCard:is(.founderTitle,.catPinkTitle),
#titleSettings .titleCard:is(.founderTitle,.catPinkTitle),
.titleSettings .titleCard:is(.founderTitle,.catPinkTitle){
  position:relative!important;
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  box-sizing:border-box!important;
  margin:0!important;
  overflow:hidden!important;

  /* 일반 카드의 세로 리듬 유지 + 아이콘 자리만 내부에 확보 */
  padding-top:10px!important;
  padding-right:10px!important;
  padding-bottom:10px!important;
  padding-left:34px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
}

/* 설정 목록에서는 특별칭호 추가 꼬리표를 절대 만들지 않음 */
#settingsModal .titleCard:is(.founderTitle,.catPinkTitle)::after,
#settingsPanel .titleCard:is(.founderTitle,.catPinkTitle)::after,
#titleSettings .titleCard:is(.founderTitle,.catPinkTitle)::after,
.titleSettings .titleCard:is(.founderTitle,.catPinkTitle)::after{
  content:none!important;
  display:none!important;
}

/* 설정 목록 공통 픽셀 아이콘 위치 — 카드 크기에 영향 없음 */
#settingsModal .titleCard:is(.founderTitle,.catPinkTitle)::before,
#settingsPanel .titleCard:is(.founderTitle,.catPinkTitle)::before,
#titleSettings .titleCard:is(.founderTitle,.catPinkTitle)::before,
.titleSettings .titleCard:is(.founderTitle,.catPinkTitle)::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  width:14px!important;
  height:14px!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
  image-rendering:pixelated!important;
}

/* 창립멤버 — 일반 카드 크기 + 골드 색/아이콘 */
#settingsModal .titleCard.founderTitle,
#settingsPanel .titleCard.founderTitle,
#titleSettings .titleCard.founderTitle,
.titleSettings .titleCard.founderTitle{
  border-color:#ad7614!important;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.28) 0 3px,rgba(202,148,35,.09) 3px 6px),
    #f8e5aa!important;
}
#settingsModal .titleCard.founderTitle::before,
#settingsPanel .titleCard.founderTitle::before,
#titleSettings .titleCard.founderTitle::before,
.titleSettings .titleCard.founderTitle::before{
  background:
    linear-gradient(#fff4a7,#fff4a7) 6px 6px/2px 2px no-repeat,
    linear-gradient(#a86f0c,#a86f0c) 6px 0/2px 14px no-repeat,
    linear-gradient(#a86f0c,#a86f0c) 0 6px/14px 2px no-repeat!important;
}

/* 고먐미 — 일반 카드 크기 + 핑크 색/아이콘 */
#settingsModal .titleCard.catPinkTitle,
#settingsPanel .titleCard.catPinkTitle,
#titleSettings .titleCard.catPinkTitle,
.titleSettings .titleCard.catPinkTitle{
  border-color:#c85a8b!important;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.30) 0 3px,rgba(215,84,141,.08) 3px 6px),
    #ffd9e8!important;
}
#settingsModal .titleCard.catPinkTitle::before,
#settingsPanel .titleCard.catPinkTitle::before,
#titleSettings .titleCard.catPinkTitle::before,
.titleSettings .titleCard.catPinkTitle::before{
  background:
    linear-gradient(#fff7fb,#fff7fb) 6px 6px/2px 2px no-repeat,
    linear-gradient(#c94f84,#c94f84) 6px 0/2px 14px no-repeat,
    linear-gradient(#c94f84,#c94f84) 0 6px/14px 2px no-repeat,
    linear-gradient(#f18fb7,#f18fb7) 3px 3px/8px 8px no-repeat!important;
}

/* 특별칭호 텍스트는 일반 titleCard의 크기/배치를 그대로 사용 */
#settingsModal .titleCard:is(.founderTitle,.catPinkTitle) .titleCardName,
#settingsModal .titleCard:is(.founderTitle,.catPinkTitle) .titleCardState,
#settingsPanel .titleCard:is(.founderTitle,.catPinkTitle) .titleCardName,
#settingsPanel .titleCard:is(.founderTitle,.catPinkTitle) .titleCardState,
#titleSettings .titleCard:is(.founderTitle,.catPinkTitle) .titleCardName,
#titleSettings .titleCard:is(.founderTitle,.catPinkTitle) .titleCardState,
.titleSettings .titleCard:is(.founderTitle,.catPinkTitle) .titleCardName,
.titleSettings .titleCard:is(.founderTitle,.catPinkTitle) .titleCardState{
  position:relative!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  white-space:normal!important;
  overflow:visible!important;
}

/* ---------- B. RANKING / SPECIAL BADGE ---------- */
/* 랭킹에서는 특별칭호만 compact badge */
.rankTitle.founderRank,
.rankTitle.catPinkRank{
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 5px 0!important;
  padding:0!important;
  overflow:visible!important;
}

/* 멘트 자체가 테두리/배경/아이콘을 가진 배지 */
.rankTitle.founderRank .rankTitleFlavor,
.rankTitle.catPinkRank .rankTitleFlavor{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  height:22px!important;
  min-height:22px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:2px 8px 2px 22px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-size:12px!important;
  line-height:14px!important;
  font-weight:700!important;
}

/* 창립멤버 랭킹 = 골드 */
.rankTitle.founderRank .rankTitleFlavor{
  color:#73500c!important;
  border:2px solid #ad7614!important;
  background:
    repeating-linear-gradient(0deg,#fff5c8 0 3px,#f4dda0 3px 6px)!important;
  box-shadow:
    inset 0 0 0 1px #fff9df,
    2px 2px 0 rgba(94,62,12,.22)!important;
}
.rankTitle.founderRank .rankTitleFlavor::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:6px!important;
  top:50%!important;
  width:10px!important;
  height:10px!important;
  transform:translateY(-50%)!important;
  background:
    linear-gradient(#fff4a7,#fff4a7) 4px 4px/2px 2px no-repeat,
    linear-gradient(#a86f0c,#a86f0c) 4px 0/2px 10px no-repeat,
    linear-gradient(#a86f0c,#a86f0c) 0 4px/10px 2px no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}

/* 고먐미 랭킹 = 핑크 */
.rankTitle.catPinkRank .rankTitleFlavor{
  color:#8d3b60!important;
  border:2px solid #c85a8b!important;
  background:
    repeating-linear-gradient(0deg,#ffeaf2 0 3px,#ffd2e3 3px 6px)!important;
  box-shadow:
    inset 0 0 0 1px #fff7fb,
    2px 2px 0 rgba(103,42,68,.20)!important;
}
.rankTitle.catPinkRank .rankTitleFlavor::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:6px!important;
  top:50%!important;
  width:10px!important;
  height:10px!important;
  transform:translateY(-50%)!important;
  background:
    linear-gradient(#fff7fb,#fff7fb) 4px 4px/2px 2px no-repeat,
    linear-gradient(#c94f84,#c94f84) 4px 0/2px 10px no-repeat,
    linear-gradient(#c94f84,#c94f84) 0 4px/10px 2px no-repeat,
    linear-gradient(#f18fb7,#f18fb7) 2px 2px/6px 6px no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}

/* 배지 하이라이트는 내부에만 */
.rankTitle.founderRank .rankTitleFlavor::after,
.rankTitle.catPinkRank .rankTitleFlavor::after{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  right:2px!important;
  top:2px!important;
  width:auto!important;
  height:1px!important;
  background:rgba(255,255,255,.78)!important;
  pointer-events:none!important;
}



/* =========================================================
   SPECIAL TITLE RANKING — HARD RESET
   screenshot issue fix:
   founder/cat both compact badges, same geometry
   ========================================================= */
.rankTitle.founderRank,
.rankTitle.catPinkRank{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 4px 0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  line-height:1!important;
  text-align:left!important;
}

.rankTitle.founderRank .rankTitleFlavor,
.rankTitle.catPinkRank .rankTitleFlavor{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:1px 6px 1px 17px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-size:10px!important;
  line-height:14px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-shadow:none!important;
  transform:none!important;
}

/* founder */
.rankTitle.founderRank .rankTitleFlavor{
  color:#75510c!important;
  border:1px solid #ad7614!important;
  background:
    repeating-linear-gradient(0deg,#fff5c8 0 2px,#f5dfa4 2px 4px)!important;
  box-shadow:
    inset 0 0 0 1px #fff9df,
    1px 1px 0 rgba(94,62,12,.22)!important;
}

/* cat */
.rankTitle.catPinkRank .rankTitleFlavor{
  color:#8d3b60!important;
  border:1px solid #c85a8b!important;
  background:
    repeating-linear-gradient(0deg,#ffeaf2 0 2px,#ffd2e3 2px 4px)!important;
  box-shadow:
    inset 0 0 0 1px #fff7fb,
    1px 1px 0 rgba(103,42,68,.20)!important;
}

/* same 8x8 pixel icon slot */
.rankTitle.founderRank .rankTitleFlavor::before,
.rankTitle.catPinkRank .rankTitleFlavor::before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  transform:translateY(-50%)!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
.rankTitle.founderRank .rankTitleFlavor::before{
  background:
    linear-gradient(#fff4a7,#fff4a7) 3px 3px/2px 2px no-repeat,
    linear-gradient(#a86f0c,#a86f0c) 3px 0/2px 8px no-repeat,
    linear-gradient(#a86f0c,#a86f0c) 0 3px/8px 2px no-repeat!important;
}
.rankTitle.catPinkRank .rankTitleFlavor::before{
  background:
    linear-gradient(#fff7fb,#fff7fb) 3px 3px/2px 2px no-repeat,
    linear-gradient(#c94f84,#c94f84) 3px 0/2px 8px no-repeat,
    linear-gradient(#c94f84,#c94f84) 0 3px/8px 2px no-repeat,
    linear-gradient(#f18fb7,#f18fb7) 2px 2px/4px 4px no-repeat!important;
}
.rankTitle.founderRank .rankTitleFlavor::after,
.rankTitle.catPinkRank .rankTitleFlavor::after{
  content:none!important;
  display:none!important;
}

/* 설정 > 칭호 목록은 일반 카드 크기와 동일, 차이는 색/아이콘만 */
#settingsModal .titleCard.founderTitle,
#settingsModal .titleCard.catPinkTitle,
#settingsPanel .titleCard.founderTitle,
#settingsPanel .titleCard.catPinkTitle,
#titleSettings .titleCard.founderTitle,
#titleSettings .titleCard.catPinkTitle,
.titleSettings .titleCard.founderTitle,
.titleSettings .titleCard.catPinkTitle{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  margin:0!important;
  box-sizing:border-box!important;
}



/* =========================================================
   SPECIAL TITLE — SIMPLE CLASS SYSTEM
   공통: .special
   종류: .first / .cat
   ========================================================= */

/* ---------- 랭킹 공통 특별칭호 ---------- */
.rankTitle.special{
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 0 4px 0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.rankTitle.special .rankTitleFlavor{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  width:fit-content!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:1px 6px 1px 17px!important;
  border:1px solid var(--sp-border)!important;
  background:
    repeating-linear-gradient(0deg,var(--sp-bg1) 0 2px,var(--sp-bg2) 2px 4px)!important;
  color:var(--sp-text)!important;
  box-shadow:
    inset 0 0 0 1px var(--sp-inner),
    1px 1px 0 rgba(70,50,40,.20)!important;
  font-size:10px!important;
  line-height:14px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-shadow:none!important;
}
.rankTitle.special .rankTitleFlavor::before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  transform:translateY(-50%)!important;
  border:0!important;
  box-shadow:none!important;
  background:
    linear-gradient(var(--sp-shine),var(--sp-shine)) 3px 3px/2px 2px no-repeat,
    linear-gradient(var(--sp-icon),var(--sp-icon)) 3px 0/2px 8px no-repeat,
    linear-gradient(var(--sp-icon),var(--sp-icon)) 0 3px/8px 2px no-repeat!important;
}
.rankTitle.special .rankTitleFlavor::after{content:none!important;display:none!important}

/* ---------- 설정 > 칭호 목록 공통 ---------- */
/* 특별칭호도 일반 titleCard와 같은 grid/card 크기. 색/아이콘만 변경 */
.titleCard.special{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  margin:0!important;
  padding-left:34px!important;
  border-color:var(--sp-border)!important;
  background:
    repeating-linear-gradient(0deg,var(--sp-card1) 0 3px,var(--sp-card2) 3px 6px)!important;
}
.titleCard.special::before{
  content:""!important;
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  width:14px!important;
  height:14px!important;
  transform:translateY(-50%)!important;
  border:0!important;
  box-shadow:none!important;
  background:
    linear-gradient(var(--sp-shine),var(--sp-shine)) 6px 6px/2px 2px no-repeat,
    linear-gradient(var(--sp-icon),var(--sp-icon)) 6px 0/2px 14px no-repeat,
    linear-gradient(var(--sp-icon),var(--sp-icon)) 0 6px/14px 2px no-repeat!important;
}
.titleCard.special::after{content:none!important;display:none!important}

/* ---------- 색상만 종류별 분리 ---------- */
.special.first{
  --sp-border:#ad7614;
  --sp-bg1:#fff5c8;
  --sp-bg2:#f5dfa4;
  --sp-card1:#fff7d7;
  --sp-card2:#f7e5ac;
  --sp-text:#75510c;
  --sp-icon:#a86f0c;
  --sp-shine:#fff4a7;
  --sp-inner:#fff9df;
}
.special.cat{
  --sp-border:#c85a8b;
  --sp-bg1:#ffeaf2;
  --sp-bg2:#ffd2e3;
  --sp-card1:#fff0f6;
  --sp-card2:#ffd9e8;
  --sp-text:#8d3b60;
  --sp-icon:#c94f84;
  --sp-shine:#fff7fb;
  --sp-inner:#fff7fb;
}



/* =========================================================
   SPECIAL TITLE FINAL — ONLY .special + .first/.cat
   legacy founderRank/catPinkRank/founderTitle/catPinkTitle are ignored
   ========================================================= */

/* 랭킹 */
.rankTitle.special{
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:0 0 4px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.rankTitle.special .rankTitleFlavor{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  width:fit-content!important;
  max-width:100%!important;
  height:18px!important;
  min-height:18px!important;
  padding:1px 6px 1px 17px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:1px solid var(--special-border)!important;
  background:repeating-linear-gradient(
    0deg,
    var(--special-bg1) 0 2px,
    var(--special-bg2) 2px 4px
  )!important;
  color:var(--special-text)!important;
  box-shadow:
    inset 0 0 0 1px var(--special-inner),
    1px 1px 0 rgba(70,50,40,.2)!important;
  font-size:10px!important;
  line-height:14px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  text-shadow:none!important;
}
.rankTitle.special .rankTitleFlavor:before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  transform:translateY(-50%)!important;
  background:
    linear-gradient(var(--special-shine),var(--special-shine)) 3px 3px/2px 2px no-repeat,
    linear-gradient(var(--special-icon),var(--special-icon)) 3px 0/2px 8px no-repeat,
    linear-gradient(var(--special-icon),var(--special-icon)) 0 3px/8px 2px no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}
.rankTitle.special .rankTitleFlavor:after{display:none!important;content:none!important}

/* 설정 > 칭호 목록 */
.titleCard.special{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  margin:0!important;
  padding-left:34px!important;
  border-color:var(--special-border)!important;
  background:repeating-linear-gradient(
    0deg,
    var(--special-card1) 0 3px,
    var(--special-card2) 3px 6px
  )!important;
}
.titleCard.special:before{
  content:""!important;
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  width:14px!important;
  height:14px!important;
  transform:translateY(-50%)!important;
  background:
    linear-gradient(var(--special-shine),var(--special-shine)) 6px 6px/2px 2px no-repeat,
    linear-gradient(var(--special-icon),var(--special-icon)) 6px 0/2px 14px no-repeat,
    linear-gradient(var(--special-icon),var(--special-icon)) 0 6px/14px 2px no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}
.titleCard.special:after{display:none!important;content:none!important}

/* 창립멤버 */
.special.first{
  --special-border:#ad7614;
  --special-bg1:#fff5c8;
  --special-bg2:#f5dfa4;
  --special-card1:#fff7d7;
  --special-card2:#f7e5ac;
  --special-text:#75510c;
  --special-icon:#a86f0c;
  --special-shine:#fff4a7;
  --special-inner:#fff9df;
}

/* 고먐미 */
.special.cat{
  --special-border:#c85a8b;
  --special-bg1:#ffeaf2;
  --special-bg2:#ffd2e3;
  --special-card1:#fff0f6;
  --special-card2:#ffd9e8;
  --special-text:#8d3b60;
  --special-icon:#c94f84;
  --special-shine:#fff7fb;
  --special-inner:#fff7fb;
}

/* legacy 클래스가 혹시 DOM에 남아도 외형을 만들지 못하게 함 */
.rankTitle.founderRank,
.rankTitle.catPinkRank,
.titleCard.founderTitle,
.titleCard.catPinkTitle{
  border-color:inherit!important;
}



/* ===== RANKING PAGE SPECIAL TITLES — ACTUAL FINAL ===== */
.rankTitle.special{
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:0 0 4px 0!important;
  padding:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
.rankTitle.special .rankTitleFlavor{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  width:fit-content!important;
  height:18px!important;
  min-height:18px!important;
  padding:1px 6px 1px 17px!important;
  border:1px solid var(--special-border)!important;
  background:repeating-linear-gradient(0deg,var(--special-bg1) 0 2px,var(--special-bg2) 2px 4px)!important;
  color:var(--special-text)!important;
  box-shadow:inset 0 0 0 1px var(--special-inner),1px 1px 0 rgba(70,50,40,.2)!important;
  font-size:10px!important;
  line-height:14px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.rankTitle.special .rankTitleFlavor::before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  transform:translateY(-50%)!important;
  background:
    linear-gradient(var(--special-shine),var(--special-shine)) 3px 3px/2px 2px no-repeat,
    linear-gradient(var(--special-icon),var(--special-icon)) 3px 0/2px 8px no-repeat,
    linear-gradient(var(--special-icon),var(--special-icon)) 0 3px/8px 2px no-repeat!important;
}
.rankTitle.special .rankTitleFlavor::after{display:none!important;content:none!important}



/* =========================================================
   LANDING RESPONSIVE — TABLET OVERFLOW FIX
   768~1180px 구간에서 가로 넘침 방지
   ========================================================= */
#landingScreen,
#landingScreen *{
  box-sizing:border-box!important;
}

#landingScreen{
  width:100%!important;
  max-width:100vw!important;
  overflow-x:hidden!important;
}

#landingScreen.kongalLandingV2{
  padding-left:clamp(12px,2vw,22px)!important;
  padding-right:clamp(12px,2vw,22px)!important;
}

#landingScreen.kongalLandingV2 > .landingCard.landingShell{
  width:min(100%,1160px)!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#landingScreen.kongalLandingV2 .landingHero{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

#landingScreen.kongalLandingV2 .landingIntro,
#landingScreen.kongalLandingV2 .landingShowcase,
#landingScreen.kongalLandingV2 .landingFeatures,
#landingScreen.kongalLandingV2 .landingFeature{
  min-width:0!important;
  max-width:100%!important;
}

#landingScreen.kongalLandingV2 img,
#landingScreen.kongalLandingV2 svg,
#landingScreen.kongalLandingV2 canvas{
  max-width:100%!important;
}

/* 태블릿: 2열은 유지하되 우측이 밀리지 않도록 비율 완화 */
@media (min-width: 769px) and (max-width: 1180px){
  #landingScreen.kongalLandingV2{
    padding:16px!important;
  }

  #landingScreen.kongalLandingV2 > .landingCard.landingShell{
    width:100%!important;
    max-width:100%!important;
  }

  #landingScreen.kongalLandingV2 .landingHero{
    display:grid!important;
    grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr)!important;
    gap:14px!important;
    align-items:stretch!important;
  }

  #landingScreen.kongalLandingV2 .landingIntro{
    padding:clamp(20px,2.5vw,30px)!important;
  }

  #landingScreen.kongalLandingV2 .landingTitle,
  #landingScreen.kongalLandingV2 h1{
    font-size:clamp(34px,5vw,54px)!important;
  }

  #landingScreen.kongalLandingV2 .landingShowcase{
    min-width:0!important;
    overflow:hidden!important;
  }

  #landingScreen.kongalLandingV2 .landingFeatures{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }

  #landingScreen.kongalLandingV2 .landingSyncRow{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }

  #landingScreen.kongalLandingV2 .landingSyncRow input{
    min-width:0!important;
    width:100%!important;
  }

  #landingScreen.kongalLandingV2 .landingSyncBtn{
    width:auto!important;
    min-width:132px!important;
  }
}

/* 작은 태블릿: 아예 1열로 전환해서 가로 넘침 원천 차단 */
@media (min-width: 621px) and (max-width: 900px){
  #landingScreen.kongalLandingV2{
    padding:14px!important;
  }

  #landingScreen.kongalLandingV2 .landingHero{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  #landingScreen.kongalLandingV2 .landingIntro,
  #landingScreen.kongalLandingV2 .landingShowcase{
    width:100%!important;
    max-width:100%!important;
  }

  #landingScreen.kongalLandingV2 .landingShowcase{
    min-height:420px!important;
  }

  #landingScreen.kongalLandingV2 .landingFeatures{
    grid-template-columns:1fr 1fr!important;
  }

  #landingScreen.kongalLandingV2 .landingFeature:last-child{
    grid-column:1 / -1!important;
  }
}

/* 모바일 */
@media (max-width: 620px){
  #landingScreen.kongalLandingV2{
    padding:10px!important;
  }

  #landingScreen.kongalLandingV2 .landingFeatures{
    grid-template-columns:1fr!important;
  }

  #landingScreen.kongalLandingV2 .landingFeature:last-child{
    grid-column:auto!important;
  }

  #landingScreen.kongalLandingV2 .landingSyncRow{
    grid-template-columns:1fr!important;
  }

  #landingScreen.kongalLandingV2 .landingSyncBtn{
    width:100%!important;
    min-width:0!important;
  }
}



/* ===== 랭킹 네임플레이트 ===== */
.nameplateShopTitle{margin-top:18px!important}
.nameplateShopIntro{margin:4px 0 9px}
.nameplateShopGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.nameplateShopCard{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;padding:9px;border:2px solid #806344;background:#f6e9c8;box-shadow:inset 0 0 0 1px #fff8e6}
.nameplateShopCard.equipped{outline:2px solid #5c8b4d;outline-offset:-4px}
.nameplatePreview,.rankPlayerName.nameplate{--np-a:#f4e6c2;--np-b:#e5cf9e;--np-border:#765c3f;--np-text:#443322;--np-icon:#8b704a;position:relative;display:inline-flex;align-items:center;gap:5px;box-sizing:border-box;border:2px solid var(--np-border);background:repeating-linear-gradient(0deg,var(--np-a) 0 3px,var(--np-b) 3px 6px);color:var(--np-text)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),2px 2px 0 rgba(65,45,30,.18)}
.nameplatePreview{min-height:31px;padding:5px 8px}
.rankPlayerName.nameplate{width:fit-content;max-width:100%;padding:3px 7px 3px 6px!important;margin:0 0 3px 0!important;font-size:13px!important;line-height:17px!important}
.npIcon{display:inline-block;flex:0 0 auto;width:9px;height:9px;background:var(--np-icon);clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%)}
.np-base{--np-a:#f4e6c2;--np-b:#e5cf9e;--np-border:#765c3f;--np-text:#443322;--np-icon:#8b704a}
.np-sprout{--np-a:#e7f3c9;--np-b:#cfe3a5;--np-border:#64864c;--np-text:#35552d;--np-icon:#6fa84f}
.np-blossom{--np-a:#ffe9ef;--np-b:#f8ccd9;--np-border:#bd718b;--np-text:#7b3f59;--np-icon:#df799c}
.np-ocean{--np-a:#e1f3f6;--np-b:#badde7;--np-border:#4f8fa4;--np-text:#28596b;--np-icon:#54a9c0}
.np-starlight{--np-a:#3e496b;--np-b:#303b5c;--np-border:#9d8ac6;--np-text:#fff1b8;--np-icon:#f1d76d;text-shadow:1px 1px 0 #1d2541}
.np-royal{--np-a:#fff0a9;--np-b:#e9c45e;--np-border:#9a6713;--np-text:#694407;--np-icon:#c98b14}
.np-prism{--np-a:#ffe1ed;--np-b:#dcecff;--np-border:#9b72bd;--np-text:#60436f;--np-icon:#fff;animation:npPrism 2.5s steps(4,end) infinite}
@keyframes npPrism{0%{--np-border:#bd6f9d}33%{--np-border:#6e9fbd}66%{--np-border:#7fac72}100%{--np-border:#bd6f9d}}
@media(max-width:900px){.nameplateShopGrid{grid-template-columns:1fr}.nameplateShopCard{grid-template-columns:minmax(120px,.8fr) minmax(0,1fr) auto}}
@media(max-width:560px){.nameplateShopCard{grid-template-columns:1fr auto}.nameplatePreview{grid-column:1/-1}.nameplateShopInfo{min-width:0}}



/* ===== 네임플레이트 = 랭킹 최상위 카드 ===== */
/* 이름 자체에는 네임플레이트 박스를 만들지 않음 */
.rankRow .rankPlayerName{
  display:block!important;
  width:fit-content!important;
  padding:0!important;
  margin:0 0 3px 0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:inherit!important;
}
.rankRow.nameplate{
  --np-a:#f4e6c2;--np-b:#e5cf9e;--np-border:#765c3f;--np-text:#443322;--np-icon:#8b704a;
  position:relative!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border:2px solid var(--np-border)!important;
  background:
    repeating-linear-gradient(0deg,var(--np-a) 0 3px,var(--np-b) 3px 6px)!important;
  color:var(--np-text)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.62),
    2px 2px 0 rgba(65,45,30,.18)!important;
}
/* 카드 모서리 픽셀 장식 */
.rankRow.nameplate:not(.np-base)::before{
  content:""!important;
  position:absolute!important;
  right:8px!important;
  top:7px!important;
  width:9px!important;
  height:9px!important;
  background:var(--np-icon)!important;
  clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%)!important;
  opacity:.82!important;
  pointer-events:none!important;
}
.rankRow.nameplate .rankNo,
.rankRow.nameplate .rankFarmer,
.rankRow.nameplate .rankScore{position:relative;z-index:1}
.rankRow.nameplate .rankPlayerName{color:var(--np-text)!important}
.rankRow.np-starlight .rankPlayerName,
.rankRow.np-starlight .rankFarmer>span,
.rankRow.np-starlight .rankScore{color:#fff1b8!important}



/* =========================================================
   NAMEPLATE SKINS — shared variables on the skin class itself
   preview / ranking outer card use exactly the same skin
   ========================================================= */
.np-base{
  --np-a:#f4e6c2;--np-b:#e5cf9e;--np-border:#765c3f;
  --np-text:#443322;--np-icon:#8b704a;--np-glow:rgba(118,92,63,.18);
}
.np-sprout{
  --np-a:#e7f3c9;--np-b:#cfe3a5;--np-border:#64864c;
  --np-text:#35552d;--np-icon:#6fa84f;--np-glow:rgba(100,134,76,.22);
}
.np-blossom{
  --np-a:#ffe9ef;--np-b:#f8ccd9;--np-border:#bd718b;
  --np-text:#7b3f59;--np-icon:#df799c;--np-glow:rgba(189,113,139,.22);
}
.np-ocean{
  --np-a:#e1f3f6;--np-b:#badde7;--np-border:#4f8fa4;
  --np-text:#28596b;--np-icon:#54a9c0;--np-glow:rgba(79,143,164,.22);
}
.np-starlight{
  --np-a:#3e496b;--np-b:#303b5c;--np-border:#9d8ac6;
  --np-text:#fff1b8;--np-icon:#f1d76d;--np-glow:rgba(157,138,198,.30);
}
.np-royal{
  --np-a:#fff0a9;--np-b:#e9c45e;--np-border:#9a6713;
  --np-text:#694407;--np-icon:#c98b14;--np-glow:rgba(201,139,20,.28);
}
.np-prism{
  --np-a:#ffe1ed;--np-b:#dcecff;--np-border:#9b72bd;
  --np-text:#60436f;--np-icon:#fff;--np-glow:rgba(155,114,189,.28);
}

/* 랭킹 최상위 박스가 선택된 스킨 변수를 실제 사용 */
.rankRow.nameplate[class*="np-"]{
  border:2px solid var(--np-border)!important;
  background:
    repeating-linear-gradient(0deg,var(--np-a) 0 3px,var(--np-b) 3px 6px)!important;
  color:var(--np-text)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.62),
    2px 2px 0 var(--np-glow)!important;
}
.rankRow.nameplate[class*="np-"] .rankPlayerName,
.rankRow.nameplate[class*="np-"] .rankNo,
.rankRow.nameplate[class*="np-"] .rankScore b{
  color:var(--np-text)!important;
}

/* 스킨별 장식 */
.rankRow.nameplate.np-sprout::after{content:"✦";color:#6fa84f}
.rankRow.nameplate.np-blossom::after{content:"✿";color:#df799c}
.rankRow.nameplate.np-ocean::after{content:"≈";color:#54a9c0}
.rankRow.nameplate.np-starlight::after{content:"★";color:#f1d76d}
.rankRow.nameplate.np-royal::after{content:"♛";color:#c98b14}
.rankRow.nameplate.np-prism::after{content:"✦";color:#9b72bd}
.rankRow.nameplate:not(.np-base)::after{
  position:absolute!important;
  right:22px!important;
  top:5px!important;
  z-index:0!important;
  font-size:12px!important;
  line-height:1!important;
  opacity:.8!important;
  pointer-events:none!important;
}

/* 프리즘은 카드 전체 테두리/배경이 움직이게 */
.rankRow.nameplate.np-prism,
.nameplatePreview.np-prism{
  animation:npRankPrism 2.4s steps(4,end) infinite!important;
}
@keyframes npRankPrism{
  0%{--np-a:#ffe1ed;--np-b:#dcecff;--np-border:#bd6f9d}
  33%{--np-a:#dff4ff;--np-b:#e6ddff;--np-border:#6e9fbd}
  66%{--np-a:#e7f5d9;--np-b:#fff0c9;--np-border:#7fac72}
  100%{--np-a:#ffe1ed;--np-b:#dcecff;--np-border:#bd6f9d}
}

/* 상점 미리보기도 동일 변수 사용 */
.nameplatePreview[class*="np-"]{
  border-color:var(--np-border)!important;
  background:repeating-linear-gradient(0deg,var(--np-a) 0 3px,var(--np-b) 3px 6px)!important;
  color:var(--np-text)!important;
}



/* ===== 명성 레벨 보상 네임플레이트 ===== */
.np-fame1{--np-a:#edf5d5;--np-b:#d8e8b5;--np-border:#789451;--np-text:#40572c;--np-icon:#82a957;--np-glow:rgba(120,148,81,.2)}
.np-fame2{--np-a:#fff0d0;--np-b:#ead6a8;--np-border:#9c7548;--np-text:#654a2e;--np-icon:#b88a52;--np-glow:rgba(156,117,72,.2)}
.np-fame3{--np-a:#e3f1ff;--np-b:#bfd9ee;--np-border:#5e86aa;--np-text:#365b78;--np-icon:#6b9bc5;--np-glow:rgba(94,134,170,.22)}
.np-fame4{--np-a:#f6e4ff;--np-b:#dcc2eb;--np-border:#8e69a7;--np-text:#624576;--np-icon:#a27abb;--np-glow:rgba(142,105,167,.23)}
.np-fame5{--np-a:#fff0a6;--np-b:#dfb956;--np-border:#8e5d13;--np-text:#63400a;--np-icon:#d49a22;--np-glow:rgba(212,154,34,.27)}
.np-fame6{--np-a:#dff2e6;--np-b:#acd4bb;--np-border:#4f8a65;--np-text:#2f6043;--np-icon:#63a77a;--np-glow:rgba(79,138,101,.25)}
.np-fame7{--np-a:#eadfff;--np-b:#bda7e5;--np-border:#674b9d;--np-text:#493376;--np-icon:#8669bd;--np-glow:rgba(103,75,157,.28)}
.np-fame8{--np-a:#fff4b8;--np-b:#e5b83d;--np-border:#a66c08;--np-text:#704805;--np-icon:#e2a91e;--np-glow:rgba(226,169,30,.32)}
.np-fame9{--np-a:#303b65;--np-b:#20294e;--np-border:#8295d6;--np-text:#fff0a5;--np-icon:#f3d96b;--np-glow:rgba(130,149,214,.34)}
.np-fame10{--np-a:#ffe2f5;--np-b:#cfdcff;--np-border:#b178ca;--np-text:#633e78;--np-icon:#fff4a6;--np-glow:rgba(177,120,202,.38)}
.rankRow.nameplate.np-fame5::after{content:"★";color:#d49a22}
.rankRow.nameplate.np-fame7::after{content:"♛";color:#8669bd}
.rankRow.nameplate.np-fame8::after{content:"✦";color:#e2a91e}
.rankRow.nameplate.np-fame9::after{content:"★";color:#f3d96b}
.rankRow.nameplate.np-fame10::after{content:"✦";color:#b178ca}
.rankRow.nameplate[class*="np-fame"]::after{
  position:absolute;right:22px;top:5px;z-index:0;font-size:12px;line-height:1;opacity:.86;pointer-events:none
}



/* =========================================================
   NAMEPLATE DISTINCT REDESIGN
   색만 바꾸지 않고 패턴/테두리/장식까지 스킨별 차별화
   ========================================================= */

/* 상점 판매 스킨 */
.np-sprout{
 --np-a:#edf6cf;--np-b:#d3e8aa;--np-border:#5d8a43;--np-text:#345426;--np-icon:#6aa34b;--np-glow:rgba(93,138,67,.25);
}
.rankRow.np-sprout,.nameplatePreview.np-sprout{
 background:
   linear-gradient(135deg,transparent 0 44%,rgba(105,161,75,.16) 45% 54%,transparent 55%) 0 0/12px 12px,
   linear-gradient(#edf6cf,#d3e8aa)!important;
 border-style:solid!important;
}

.np-blossom{
 --np-a:#fff0f5;--np-b:#f7cddd;--np-border:#c56d91;--np-text:#82445f;--np-icon:#e27ca4;--np-glow:rgba(197,109,145,.28);
}
.rankRow.np-blossom,.nameplatePreview.np-blossom{
 background:
   radial-gradient(circle at 8px 7px,#fff7fb 0 2px,transparent 2.5px) 0 0/22px 18px,
   radial-gradient(circle at 13px 11px,#e994b5 0 1.5px,transparent 2px) 0 0/22px 18px,
   linear-gradient(#fff0f5,#f7cddd)!important;
 border-radius:5px!important;
}

.np-ocean{
 --np-a:#dff5fa;--np-b:#abdbe7;--np-border:#397f99;--np-text:#24576b;--np-icon:#4aa5bd;--np-glow:rgba(57,127,153,.3);
}
.rankRow.np-ocean,.nameplatePreview.np-ocean{
 background:
   repeating-radial-gradient(ellipse at 0 100%,transparent 0 7px,rgba(255,255,255,.46) 8px 9px,transparent 10px 15px),
   linear-gradient(#dff5fa,#abdbe7)!important;
 border-bottom-width:4px!important;
}

.np-starlight{
 --np-a:#30395f;--np-b:#1f284d;--np-border:#8d83c7;--np-text:#fff0ad;--np-icon:#f4d967;--np-glow:rgba(126,113,194,.4);
}
.rankRow.np-starlight,.nameplatePreview.np-starlight{
 background:
   radial-gradient(circle at 12% 25%,#fff2a4 0 1px,transparent 1.5px),
   radial-gradient(circle at 75% 65%,#cbd7ff 0 1px,transparent 1.5px),
   radial-gradient(circle at 45% 15%,#fff 0 1px,transparent 1.5px),
   linear-gradient(135deg,#30395f,#171f40)!important;
 border-style:double!important;border-width:3px!important;
}

.np-royal{
 --np-a:#fff2a6;--np-b:#dca93d;--np-border:#87540a;--np-text:#603b05;--np-icon:#c98910;--np-glow:rgba(201,137,16,.4);
}
.rankRow.np-royal,.nameplatePreview.np-royal{
 background:
   linear-gradient(45deg,rgba(255,255,255,.35) 25%,transparent 25% 75%,rgba(126,76,0,.10) 75%) 0 0/12px 12px,
   linear-gradient(#fff2a6,#dca93d)!important;
 border-width:3px!important;
 box-shadow:inset 0 0 0 2px #fff3b8,2px 2px 0 #8d611c!important;
}

.rankRow.np-prism,.nameplatePreview.np-prism{
 background:
   repeating-linear-gradient(135deg,#ffdce9 0 12px,#dceaff 12px 24px,#ddf4d7 24px 36px,#fff1c8 36px 48px)!important;
 border:3px solid #9d6dbb!important;
 box-shadow:inset 0 0 0 2px rgba(255,255,255,.72),0 0 5px rgba(157,109,187,.45)!important;
}

/* 명성 보상: 레벨마다 테마 자체를 다르게 */
.rankRow.np-fame1,.nameplatePreview.np-fame1{
 background:repeating-linear-gradient(90deg,#edf5d5 0 7px,#d8e8b5 7px 9px)!important;
 border-left:5px solid #789451!important;
}
.rankRow.np-fame2,.nameplatePreview.np-fame2{
 background:
   linear-gradient(90deg,transparent 0 48%,rgba(133,91,48,.13) 49% 51%,transparent 52%) 0 0/16px 100%,
   #f5dfb8!important;
 border-style:dashed!important;
}
.rankRow.np-fame3,.nameplatePreview.np-fame3{
 background:
   repeating-linear-gradient(-45deg,#e6f3ff 0 7px,#c7dfef 7px 9px)!important;
 border-bottom:4px solid #5e86aa!important;
}
.rankRow.np-fame4,.nameplatePreview.np-fame4{
 background:
   radial-gradient(circle,#fff 0 1px,transparent 1.5px) 0 0/12px 12px,
   linear-gradient(#f5e7ff,#d8bde8)!important;
 border-radius:7px!important;
}
.rankRow.np-fame5,.nameplatePreview.np-fame5{
 background:
   linear-gradient(135deg,rgba(255,255,255,.42) 0 12%,transparent 12% 50%,rgba(151,95,0,.12) 50% 62%,transparent 62%) 0 0/18px 18px,
   linear-gradient(#fff3a5,#d9ad42)!important;
 border:3px double #8e5d13!important;
}
.rankRow.np-fame6,.nameplatePreview.np-fame6{
 background:
   repeating-linear-gradient(0deg,#def2e5 0 5px,#b4d8bf 5px 7px)!important;
 border-left:6px solid #4f8a65!important;
 border-right:6px solid #4f8a65!important;
}
.rankRow.np-fame7,.nameplatePreview.np-fame7{
 background:
   linear-gradient(45deg,rgba(255,255,255,.24) 25%,transparent 25% 75%,rgba(73,51,118,.13) 75%) 0 0/14px 14px,
   #cbb7ed!important;
 border:3px ridge #674b9d!important;
}
.rankRow.np-fame8,.nameplatePreview.np-fame8{
 background:
   repeating-linear-gradient(90deg,#fff5b5 0 10px,#e2b63b 10px 12px,#f9d768 12px 20px)!important;
 border:3px solid #a66c08!important;
 box-shadow:inset 0 0 0 2px #fff5bd,2px 2px 0 #95610b!important;
}
.rankRow.np-fame9,.nameplatePreview.np-fame9{
 background:
   radial-gradient(circle at 10% 25%,#ffe878 0 1px,transparent 2px),
   radial-gradient(circle at 55% 70%,#fff 0 1px,transparent 2px),
   radial-gradient(circle at 85% 20%,#9eb4ff 0 1px,transparent 2px),
   linear-gradient(135deg,#34406f,#171d3b)!important;
 border:3px double #8295d6!important;
}
.rankRow.np-fame10,.nameplatePreview.np-fame10{
 background:
   repeating-linear-gradient(135deg,#ffe0f2 0 10px,#d8ddff 10px 20px,#e1f6d6 20px 30px,#fff0bd 30px 40px)!important;
 border:3px solid #a767c1!important;
 box-shadow:inset 0 0 0 2px rgba(255,255,255,.8),0 0 6px rgba(177,120,202,.5)!important;
 animation:fameMythic 2.8s steps(4,end) infinite!important;
}
@keyframes fameMythic{
  0%{filter:none}
  50%{filter:brightness(1.08)}
  100%{filter:none}
}

/* 랭킹 우측 장식도 스킨마다 다른 심볼 */
.rankRow.np-sprout::after{content:"♣"!important}
.rankRow.np-blossom::after{content:"✿"!important}
.rankRow.np-ocean::after{content:"≈"!important}
.rankRow.np-starlight::after{content:"★"!important}
.rankRow.np-royal::after{content:"♛"!important}
.rankRow.np-prism::after{content:"✦"!important}
.rankRow.np-fame1::after{content:"•"!important}
.rankRow.np-fame2::after{content:"◆"!important}
.rankRow.np-fame3::after{content:"▲"!important}
.rankRow.np-fame4::after{content:"✦"!important}
.rankRow.np-fame5::after{content:"★"!important}
.rankRow.np-fame6::after{content:"❖"!important}
.rankRow.np-fame7::after{content:"♛"!important}
.rankRow.np-fame8::after{content:"✦"!important}
.rankRow.np-fame9::after{content:"★"!important}
.rankRow.np-fame10::after{content:"✧"!important}



/* =========================================================
   NAMEPLATE FINAL SYNC
   상점 미리보기와 랭킹 최상위 박스가 동일한 스킨 정의를 사용
   ========================================================= */
.nameplatePreview[class*="np-"],
.rankRow.nameplate[class*="np-"]{
  box-sizing:border-box!important;
  border-width:var(--np-bw,2px)!important;
  border-style:var(--np-bs,solid)!important;
  border-color:var(--np-border)!important;
  border-radius:var(--np-radius,0)!important;
  background:var(--np-bg)!important;
  color:var(--np-text)!important;
  box-shadow:var(--np-shadow,inset 0 0 0 1px rgba(255,255,255,.62),2px 2px 0 var(--np-glow))!important;
}

/* 상점 스킨 */
.np-base{
 --np-border:#765c3f;--np-text:#443322;--np-icon:#8b704a;--np-glow:rgba(118,92,63,.18);
 --np-bg:repeating-linear-gradient(0deg,#f4e6c2 0 3px,#e5cf9e 3px 6px);
}
.np-sprout{
 --np-border:#5d8a43;--np-text:#345426;--np-icon:#6aa34b;--np-glow:rgba(93,138,67,.25);
 --np-bg:linear-gradient(135deg,transparent 0 44%,rgba(105,161,75,.16) 45% 54%,transparent 55%) 0 0/12px 12px,linear-gradient(#edf6cf,#d3e8aa);
}
.np-blossom{
 --np-border:#c56d91;--np-text:#82445f;--np-icon:#e27ca4;--np-glow:rgba(197,109,145,.28);--np-radius:5px;
 --np-bg:radial-gradient(circle at 8px 7px,#fff7fb 0 2px,transparent 2.5px) 0 0/22px 18px,radial-gradient(circle at 13px 11px,#e994b5 0 1.5px,transparent 2px) 0 0/22px 18px,linear-gradient(#fff0f5,#f7cddd);
}
.np-ocean{
 --np-border:#397f99;--np-text:#24576b;--np-icon:#4aa5bd;--np-glow:rgba(57,127,153,.3);--np-bw:2px 2px 4px;
 --np-bg:repeating-radial-gradient(ellipse at 0 100%,transparent 0 7px,rgba(255,255,255,.46) 8px 9px,transparent 10px 15px),linear-gradient(#dff5fa,#abdbe7);
}
.np-starlight{
 --np-border:#8d83c7;--np-text:#fff0ad;--np-icon:#f4d967;--np-glow:rgba(126,113,194,.4);--np-bw:3px;--np-bs:double;
 --np-bg:radial-gradient(circle at 12% 25%,#fff2a4 0 1px,transparent 1.5px),radial-gradient(circle at 75% 65%,#cbd7ff 0 1px,transparent 1.5px),radial-gradient(circle at 45% 15%,#fff 0 1px,transparent 1.5px),linear-gradient(135deg,#30395f,#171f40);
}
.np-royal{
 --np-border:#87540a;--np-text:#603b05;--np-icon:#c98910;--np-glow:rgba(201,137,16,.4);--np-bw:3px;
 --np-bg:linear-gradient(45deg,rgba(255,255,255,.35) 25%,transparent 25% 75%,rgba(126,76,0,.10) 75%) 0 0/12px 12px,linear-gradient(#fff2a6,#dca93d);
 --np-shadow:inset 0 0 0 2px #fff3b8,2px 2px 0 #8d611c;
}
.np-prism{
 --np-border:#9d6dbb;--np-text:#60436f;--np-icon:#fff;--np-glow:rgba(157,109,187,.45);--np-bw:3px;
 --np-bg:repeating-linear-gradient(135deg,#ffdce9 0 12px,#dceaff 12px 24px,#ddf4d7 24px 36px,#fff1c8 36px 48px);
 --np-shadow:inset 0 0 0 2px rgba(255,255,255,.72),0 0 5px rgba(157,109,187,.45);
}

/* 명성 1~9 */
.np-fame1{--np-border:#789451;--np-text:#40572c;--np-icon:#82a957;--np-glow:rgba(120,148,81,.2);--np-bw:2px 2px 2px 5px;--np-bg:repeating-linear-gradient(90deg,#edf5d5 0 7px,#d8e8b5 7px 9px)}
.np-fame2{--np-border:#9c7548;--np-text:#654a2e;--np-icon:#b88a52;--np-glow:rgba(156,117,72,.2);--np-bs:dashed;--np-bg:linear-gradient(90deg,transparent 0 48%,rgba(133,91,48,.13) 49% 51%,transparent 52%) 0 0/16px 100%,#f5dfb8}
.np-fame3{--np-border:#5e86aa;--np-text:#365b78;--np-icon:#6b9bc5;--np-glow:rgba(94,134,170,.22);--np-bw:2px 2px 4px;--np-bg:repeating-linear-gradient(-45deg,#e6f3ff 0 7px,#c7dfef 7px 9px)}
.np-fame4{--np-border:#8e69a7;--np-text:#624576;--np-icon:#a27abb;--np-glow:rgba(142,105,167,.23);--np-radius:7px;--np-bg:radial-gradient(circle,#fff 0 1px,transparent 1.5px) 0 0/12px 12px,linear-gradient(#f5e7ff,#d8bde8)}
.np-fame5{--np-border:#8e5d13;--np-text:#63400a;--np-icon:#d49a22;--np-glow:rgba(212,154,34,.27);--np-bw:3px;--np-bs:double;--np-bg:linear-gradient(135deg,rgba(255,255,255,.42) 0 12%,transparent 12% 50%,rgba(151,95,0,.12) 50% 62%,transparent 62%) 0 0/18px 18px,linear-gradient(#fff3a5,#d9ad42)}
.np-fame6{--np-border:#4f8a65;--np-text:#2f6043;--np-icon:#63a77a;--np-glow:rgba(79,138,101,.25);--np-bw:2px 6px;--np-bg:repeating-linear-gradient(0deg,#def2e5 0 5px,#b4d8bf 5px 7px)}
.np-fame7{--np-border:#674b9d;--np-text:#493376;--np-icon:#8669bd;--np-glow:rgba(103,75,157,.28);--np-bw:3px;--np-bs:ridge;--np-bg:linear-gradient(45deg,rgba(255,255,255,.24) 25%,transparent 25% 75%,rgba(73,51,118,.13) 75%) 0 0/14px 14px,#cbb7ed}
.np-fame8{--np-border:#a66c08;--np-text:#704805;--np-icon:#e2a91e;--np-glow:rgba(226,169,30,.32);--np-bw:3px;--np-bg:repeating-linear-gradient(90deg,#fff5b5 0 10px,#e2b63b 10px 12px,#f9d768 12px 20px);--np-shadow:inset 0 0 0 2px #fff5bd,2px 2px 0 #95610b}
.np-fame9{--np-border:#8295d6;--np-text:#fff0a5;--np-icon:#f3d96b;--np-glow:rgba(130,149,214,.34);--np-bw:3px;--np-bs:double;--np-bg:radial-gradient(circle at 10% 25%,#ffe878 0 1px,transparent 2px),radial-gradient(circle at 55% 70%,#fff 0 1px,transparent 2px),radial-gradient(circle at 85% 20%,#9eb4ff 0 1px,transparent 2px),linear-gradient(135deg,#34406f,#171d3b)}

/* Lv.10 신화: 프리즘과 완전히 분리 — 흑요석 석판 + 청록 룬 + 금빛 코어 */
.np-fame10{
 --np-border:#b89a4a;--np-text:#f8e9ad;--np-icon:#66e1cf;--np-glow:rgba(77,213,195,.38);--np-bw:3px;--np-radius:2px;
 --np-bg:
   linear-gradient(90deg,transparent 0 46%,rgba(102,225,207,.20) 47% 53%,transparent 54%) 0 0/24px 100%,
   linear-gradient(0deg,transparent 0 46%,rgba(184,154,74,.13) 47% 53%,transparent 54%) 0 0/100% 18px,
   linear-gradient(135deg,#26383a,#142326 52%,#1d3030);
 --np-shadow:inset 0 0 0 2px #3d5c59,inset 0 0 0 3px rgba(184,154,74,.45),0 0 6px rgba(77,213,195,.30);
}
.rankRow.np-fame10::before,
.nameplatePreview.np-fame10::before{
 content:"◆"!important;
 color:#66e1cf!important;
 text-shadow:8px 0 0 #b89a4a,-8px 0 0 #b89a4a!important;
}

/* 동일 스킨은 동일 애니메이션 */
.rankRow.np-prism,.nameplatePreview.np-prism{animation:npPrismUnified 2.4s steps(4,end) infinite!important}
@keyframes npPrismUnified{0%,100%{filter:none}50%{filter:brightness(1.08) saturate(1.08)}}
.rankRow.np-fame10,.nameplatePreview.np-fame10{animation:fameRunePulse 2.8s steps(3,end) infinite!important}
@keyframes fameRunePulse{0%,100%{filter:none}50%{filter:brightness(1.10)}}



/* =========================================================
   NAMEPLATE PATCH — 별빛밤/별빛명성 차별화 + 고유 글자색 고정
   ========================================================= */

/* 별빛 밤(상점): 보라빛 밤하늘 + 노란 별 */
.np-starlight{
  --np-border:#8174bd!important;
  --np-text:#ffe991!important;
  --np-icon:#f5d85f!important;
  --np-glow:rgba(126,113,194,.42)!important;
  --np-bw:3px!important;
  --np-bs:double!important;
  --np-bg:
    radial-gradient(circle at 13% 26%,#ffe57a 0 1px,transparent 1.6px),
    radial-gradient(circle at 43% 67%,#fff4ba 0 1px,transparent 1.6px),
    radial-gradient(circle at 78% 22%,#d7c9ff 0 1px,transparent 1.6px),
    linear-gradient(135deg,#453b72,#201d48)!important;
}

/* 별빛 명성(Lv.9): 상점 별빛밤과 완전히 다른 '은하/빙하 청색' */
.np-fame9{
  --np-border:#65b9d0!important;
  --np-text:#dffcff!important;
  --np-icon:#8fe9f0!important;
  --np-glow:rgba(101,185,208,.38)!important;
  --np-bw:3px!important;
  --np-bs:solid!important;
  --np-radius:2px!important;
  --np-bg:
    linear-gradient(115deg,transparent 0 24%,rgba(116,226,235,.23) 25% 31%,transparent 32% 58%,rgba(191,225,255,.16) 59% 64%,transparent 65%),
    radial-gradient(ellipse at 75% 35%,rgba(157,235,241,.32) 0 8%,transparent 9%),
    linear-gradient(135deg,#17394a,#245d70 48%,#142d42)!important;
  --np-shadow:
    inset 0 0 0 1px #9be3e8,
    inset 0 0 0 3px rgba(26,79,94,.55),
    0 0 5px rgba(101,185,208,.32)!important;
}

/* 네임플레이트 내부 텍스트는 각 스킨의 --np-text로 강제 고정.
   랭킹의 순위/닉네임/설명/점수와 상점 미리보기 모두 동일하게 적용 */
.rankRow.nameplate[class*="np-"],
.rankRow.nameplate[class*="np-"] .rankNo,
.rankRow.nameplate[class*="np-"] .rankFarmer,
.rankRow.nameplate[class*="np-"] .rankFarmer > span,
.rankRow.nameplate[class*="np-"] .rankPlayerName,
.rankRow.nameplate[class*="np-"] .rankScore,
.rankRow.nameplate[class*="np-"] .rankScore b,
.rankRow.nameplate[class*="np-"] .rankScore span,
.nameplatePreview[class*="np-"],
.nameplatePreview[class*="np-"] b,
.nameplatePreview[class*="np-"] span{
  color:var(--np-text)!important;
}

/* 특별칭호는 자기 고유 스타일을 유지해야 하므로 네임플레이트 글자색 강제에서 제외 */
.rankRow.nameplate .rankTitle,
.rankRow.nameplate .rankTitle *,
.rankRow.nameplate .special,
.rankRow.nameplate .special *{
  color:revert-layer;
}

/* 별빛 명성 전용 장식: 별 대신 청록 다이아/오로라 */
.rankRow.np-fame9::after{content:"◆"!important;color:#8fe9f0!important;text-shadow:7px 3px 0 rgba(201,248,255,.55)!important}
.nameplatePreview.np-fame9 .npIcon{
  background:#8fe9f0!important;
  transform:rotate(45deg)!important;
  clip-path:none!important;
  width:7px!important;height:7px!important;
}

/* 별빛 밤은 노란 별 장식 유지 */
.rankRow.np-starlight::after{content:"★"!important;color:#f5d85f!important;text-shadow:none!important}



/* =========================================================
   BRIGHT TEXT LOCK
   별빛 밤 / 별빛 명성패 / 신화 명성패는 랭킹 내부 일반 텍스트를
   항상 밝은 색으로 고정한다.
   ========================================================= */
.np-starlight{--np-text:#fff1a8!important;}
.np-fame9{--np-text:#e8fdff!important;}
.np-fame10{--np-text:#fff3bd!important;}

.rankRow.nameplate.np-starlight,
.rankRow.nameplate.np-starlight .rankNo,
.rankRow.nameplate.np-starlight .rankFarmer,
.rankRow.nameplate.np-starlight .rankFarmer > span,
.rankRow.nameplate.np-starlight .rankPlayerName,
.rankRow.nameplate.np-starlight .rankScore,
.rankRow.nameplate.np-starlight .rankScore b,
.rankRow.nameplate.np-starlight .rankScore span{
  color:#fff1a8!important;
  text-shadow:1px 1px 0 rgba(30,24,66,.78)!important;
}

.rankRow.nameplate.np-fame9,
.rankRow.nameplate.np-fame9 .rankNo,
.rankRow.nameplate.np-fame9 .rankFarmer,
.rankRow.nameplate.np-fame9 .rankFarmer > span,
.rankRow.nameplate.np-fame9 .rankPlayerName,
.rankRow.nameplate.np-fame9 .rankScore,
.rankRow.nameplate.np-fame9 .rankScore b,
.rankRow.nameplate.np-fame9 .rankScore span{
  color:#e8fdff!important;
  text-shadow:1px 1px 0 rgba(7,38,51,.82)!important;
}

.rankRow.nameplate.np-fame10,
.rankRow.nameplate.np-fame10 .rankNo,
.rankRow.nameplate.np-fame10 .rankFarmer,
.rankRow.nameplate.np-fame10 .rankFarmer > span,
.rankRow.nameplate.np-fame10 .rankPlayerName,
.rankRow.nameplate.np-fame10 .rankScore,
.rankRow.nameplate.np-fame10 .rankScore b,
.rankRow.nameplate.np-fame10 .rankScore span{
  color:#fff3bd!important;
  text-shadow:1px 1px 0 rgba(10,31,31,.88)!important;
}

/* 상점 미리보기 역시 실제 랭킹과 같은 밝은 고유색 */
.nameplatePreview.np-starlight,
.nameplatePreview.np-starlight b,
.nameplatePreview.np-starlight span{color:#fff1a8!important;text-shadow:1px 1px 0 rgba(30,24,66,.78)!important;}

.nameplatePreview.np-fame9,
.nameplatePreview.np-fame9 b,
.nameplatePreview.np-fame9 span{color:#e8fdff!important;text-shadow:1px 1px 0 rgba(7,38,51,.82)!important;}

.nameplatePreview.np-fame10,
.nameplatePreview.np-fame10 b,
.nameplatePreview.np-fame10 span{color:#fff3bd!important;text-shadow:1px 1px 0 rgba(10,31,31,.88)!important;}

/* 특별칭호의 자체 색상은 건드리지 않음 */
.rankRow.nameplate.np-starlight .rankTitle *,
.rankRow.nameplate.np-fame9 .rankTitle *,
.rankRow.nameplate.np-fame10 .rankTitle *,
.rankRow.nameplate.np-starlight .special *,
.rankRow.nameplate.np-fame9 .special *,
.rankRow.nameplate.np-fame10 .special *{
  text-shadow:inherit;
}



/* ===== SHOP NAMEPLATE BRIGHT TEXT LOCK ===== */
/* 별빛 밤 */
.nameplateShopCard.np-starlight,
.nameplateShopCard.np-starlight .nameplateShopInfo,
.nameplateShopCard.np-starlight .nameplateShopInfo b,
.nameplateShopCard.np-starlight .nameplateShopInfo .tiny,
.nameplateShopCard.np-starlight .themeTag{
  color:#fff1a8!important;
}
/* 별빛 명성패 */
.nameplateShopCard.np-fame9,
.nameplateShopCard.np-fame9 .nameplateShopInfo,
.nameplateShopCard.np-fame9 .nameplateShopInfo b,
.nameplateShopCard.np-fame9 .nameplateShopInfo .tiny,
.nameplateShopCard.np-fame9 .themeTag{
  color:#e8fdff!important;
}
/* 신화 명성패 */
.nameplateShopCard.np-fame10,
.nameplateShopCard.np-fame10 .nameplateShopInfo,
.nameplateShopCard.np-fame10 .nameplateShopInfo b,
.nameplateShopCard.np-fame10 .nameplateShopInfo .tiny,
.nameplateShopCard.np-fame10 .themeTag{
  color:#fff3bd!important;
}

/* 상점의 실제 네임플레이트 미리보기는 랭킹과 동일하게 완전 고정 */
.nameplateShopCard .nameplatePreview.np-starlight,
.nameplateShopCard .nameplatePreview.np-starlight *{
  color:#fff1a8!important;
  text-shadow:1px 1px 0 rgba(30,24,66,.78)!important;
}
.nameplateShopCard .nameplatePreview.np-fame9,
.nameplateShopCard .nameplatePreview.np-fame9 *{
  color:#e8fdff!important;
  text-shadow:1px 1px 0 rgba(7,38,51,.82)!important;
}
.nameplateShopCard .nameplatePreview.np-fame10,
.nameplateShopCard .nameplatePreview.np-fame10 *{
  color:#fff3bd!important;
  text-shadow:1px 1px 0 rgba(10,31,31,.88)!important;
}



/* ===== DARK NAMEPLATE PREVIEW TEXT FIX =====
   상점 네임플레이트 샘플(콩알농부) + 랭킹 실제 표시를 동일하게 밝게 고정
*/
.nameplatePreview.np-starlight,
.nameplatePreview.np-starlight *,
.rankRow.nameplate.np-starlight .rankNo,
.rankRow.nameplate.np-starlight .rankPlayerName,
.rankRow.nameplate.np-starlight .rankFarmer > span,
.rankRow.nameplate.np-starlight .rankScore,
.rankRow.nameplate.np-starlight .rankScore *{
  color:#fff4b8!important;
  -webkit-text-fill-color:#fff4b8!important;
}

.nameplatePreview.np-fame9,
.nameplatePreview.np-fame9 *,
.rankRow.nameplate.np-fame9 .rankNo,
.rankRow.nameplate.np-fame9 .rankPlayerName,
.rankRow.nameplate.np-fame9 .rankFarmer > span,
.rankRow.nameplate.np-fame9 .rankScore,
.rankRow.nameplate.np-fame9 .rankScore *{
  color:#eaffff!important;
  -webkit-text-fill-color:#eaffff!important;
}

.nameplatePreview.np-fame10,
.nameplatePreview.np-fame10 *,
.rankRow.nameplate.np-fame10 .rankNo,
.rankRow.nameplate.np-fame10 .rankPlayerName,
.rankRow.nameplate.np-fame10 .rankFarmer > span,
.rankRow.nameplate.np-fame10 .rankScore,
.rankRow.nameplate.np-fame10 .rankScore *{
  color:#fff5c9!important;
  -webkit-text-fill-color:#fff5c9!important;
}

/* 특별칭호는 네임플레이트 글자색의 대상이 아님 */
.rankRow.nameplate .rankTitle *,
.rankRow.nameplate .special *{
  -webkit-text-fill-color:currentColor!important;
}



/* ===== 7일 기상예보 ===== */
.weatherForecastBox{max-width:720px!important}
.weatherForecastList{display:grid;grid-template-columns:1fr;gap:7px;margin-top:9px}
.forecastDay{display:grid;grid-template-columns:112px minmax(0,1fr) 110px;gap:10px;align-items:center;padding:9px 10px;border:2px solid #9b7b57;background:#fff4d9;box-shadow:inset 0 0 0 1px rgba(255,255,255,.58),2px 2px 0 rgba(77,57,39,.16)}
.forecastDay.today{outline:2px solid #6d9857;outline-offset:-5px}
.forecastDate{display:flex;flex-direction:column;gap:2px}
.forecastDate b{font-size:13px}.forecastDate span{font-size:9px;opacity:.78}
.forecastWeather{display:flex;align-items:center;gap:8px;min-width:0}
.forecastIcon{flex:0 0 auto;font-size:24px;line-height:1}
.forecastWeather>div{display:flex;flex-direction:column;min-width:0}
.forecastWeather b{font-size:12px}.forecastWeather span{font-size:9px;line-height:1.35;opacity:.82}
.forecastEffect{text-align:right;display:flex;flex-direction:column;gap:2px}
.forecastEffect b{font-size:10px}.forecastEffect span{font-size:9px;opacity:.78}
.forecastDay.weather-rainbow{background:repeating-linear-gradient(135deg,#fff1f5 0 12px,#fff5c9 12px 24px,#e1f3dc 24px 36px,#e5efff 36px 48px)}
.forecastDay.weather-rain{background:#e7f1f7}.forecastDay.weather-cloud{background:#eef0e8}.forecastDay.weather-wind{background:#eef5df}
.weatherForecastNote{margin-top:8px!important}
@media(max-width:620px){
 .forecastDay{grid-template-columns:74px minmax(0,1fr);gap:7px}
 .forecastEffect{grid-column:1/-1;display:flex;flex-direction:row;justify-content:flex-end;gap:8px}
 .topUtilityBtns{white-space:normal!important}
}





/* 예보 weather.id와 동일한 농장 화면 이펙트 */
#weatherFx.weatherFx-rain{background:linear-gradient(rgba(70,105,135,.10),rgba(55,90,120,.15))}
.weatherWindLeaf{position:absolute;width:5px;height:3px;background:#d8c46a;image-rendering:pixelated;animation:weatherWindMove 2.3s steps(8,end) infinite;opacity:.72}
@keyframes weatherWindMove{0%{transform:translate(-15vw,-4px)}100%{transform:translate(110vw,24px)}}
.weatherRainbowArc{position:absolute;width:180px;height:90px;right:5%;top:7%;border-radius:180px 180px 0 0;border:8px solid rgba(255,218,111,.55);border-bottom:0;box-shadow:0 -6px 0 rgba(239,139,156,.42),0 -12px 0 rgba(139,183,238,.40),0 -18px 0 rgba(128,203,151,.38);opacity:.72}
.weatherRainbowSpark{position:absolute;width:4px;height:4px;background:#fff7cf;box-shadow:4px 0 #fff7cf,-4px 0 #fff7cf,0 4px #fff7cf,0 -4px #fff7cf;animation:weatherRainbowBlink 1.3s steps(2,end) infinite}
@keyframes weatherRainbowBlink{50%{opacity:.25}}



/* 랜딩 풍경도 7일 예보 '오늘' 날씨에 동기화 */
#landingWeatherScene{position:relative;overflow:hidden}
#landingWeatherScene.landing-weather-rain:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:8;
  background:
    repeating-linear-gradient(105deg,transparent 0 18px,rgba(225,242,255,.58) 18px 20px,transparent 20px 34px),
    rgba(85,125,155,.10);
  animation:landingRainShift .55s steps(3,end) infinite;
}
@keyframes landingRainShift{to{background-position:-28px 36px,0 0}}
#landingWeatherScene.landing-weather-cloud{filter:saturate(.88) brightness(.96)}
#landingWeatherScene.landing-weather-wind:after{
  content:"🍃  ·   🍃   ·  🍃";position:absolute;left:-20%;top:24%;z-index:8;
  width:140%;font-size:18px;letter-spacing:34px;opacity:.60;pointer-events:none;
  animation:landingWindFx 3.2s linear infinite;
}
@keyframes landingWindFx{to{transform:translateX(28%)}}
#landingWeatherScene.landing-weather-rainbow:after{
  content:"🌈";position:absolute;right:7%;top:8%;z-index:8;font-size:72px;opacity:.74;
  pointer-events:none;filter:none;
}


/* v22.05 — weatherFx 헤더/본문 분리
   헤더 내부: 하늘(0) < 날씨 FX(10) < 텍스트·버튼 UI(20+)
   헤더 외부: 기존 전역 weatherFx가 헤더 아래 영역에서만 작동 */
#app{z-index:auto!important;}
#mainHeader{
  /* 기존 fixed 헤더 동작 유지. ID 선택자가 .bar의 fixed를 덮어쓰지 않도록 명시 */
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:auto!important;
  z-index:220!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
#mainHeader > .headerSky{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
}
#headerWeatherFx{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  z-index:10!important;
  pointer-events:none!important;
}
/* 본문용 날씨 FX는 JS가 헤더 하단 위치를 계산해 top을 지정한다. */
#weatherFx{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:0;
  overflow:hidden!important;
  z-index:90!important;
  pointer-events:none!important;
}
#seasonFx{z-index:50!important;pointer-events:none!important;}
/* 헤더의 실제 인터페이스는 헤더 내부 FX보다 항상 위 */
#mainHeader > .barLeft,
#mainHeader > .barRight{
  position:relative!important;
  z-index:20!important;
}
#mainHeader .topUtilityBtns,
#mainHeader .topUtilityBtn,
#mainHeader .title,
#mainHeader .small,
#mainHeader .tiny,
#mainHeader .communityStats,
#mainHeader .coinIcon,
#mainHeader #money,
#mainHeader #level,
#mainHeader #headerFameLevel,
#mainHeader #headerFameTier,
#mainHeader .skyClock{
  position:relative!important;
  z-index:21!important;
}
/* headerSky 안의 모든 장식은 가장 아래 */
#mainHeader .skyStars,
#mainHeader .skySunMoon,
#mainHeader .skyClouds,
#mainHeader .skySpecialFx,
#mainHeader .skyRainbow,
#mainHeader .skyAurora,
#mainHeader .skyRain,
#mainHeader .skyWind{
  z-index:1!important;
  pointer-events:none!important;
}
/* 헤더 전용 FX도 본문 FX와 동일한 비주얼 규칙 사용 */
#headerWeatherFx.weatherFx-rain{background:linear-gradient(rgba(70,105,135,.10),rgba(55,90,120,.15));}
#headerWeatherFx .rainDrop,
#headerWeatherFx .weatherWindLeaf,
#headerWeatherFx .weatherRainbowArc,
#headerWeatherFx .weatherRainbowSpark{position:absolute;}
/* v22.06 — 헤더 무지개는 ../icon/src_037.png 리소스를 사용.
   이미지 자체의 여백까지 활용해 헤더 배경처럼 은은하게 보이도록 한다. */
#headerWeatherFx .weatherRainbowArc{
  width:230px!important;
  height:150px!important;
  right:2%!important;
  top:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background-image:url('../icon/src_037.png')!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:230px 230px!important;
  opacity:.40!important;
  filter:none!important;
}

/* v22.07 — 무지개 날씨 헤더 비주얼 재조정
   참고 화면처럼 오른쪽 아래에서 크게 올라오는 아치로 배치하고
   오른쪽 약 30%는 헤더 밖으로 잘리게 한다. */
#headerWeatherFx .weatherRainbowArc{
  width:330px!important;
  height:220px!important;
  right:-100px!important;
  left:auto!important;
  top:auto!important;
  bottom:-92px!important;
  background-position:center bottom!important;
  background-size:330px 330px!important;
  opacity:.40!important;
}

/* v22.07 — 헤더 구름 디테일 업: 흰 픽셀 본체 + 하늘색/라일락 음영 */
#mainHeader .skyCloud{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  image-rendering:pixelated;
}
#mainHeader .skyCloud:before{
  background:#f8fbff!important;
}
#mainHeader .skyCloud:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  border-radius:0!important;
  border:0!important;
  background:#dcecf7!important;
  opacity:.95!important;
}
#mainHeader .skyCloud.c1{width:72px!important;height:42px!important;top:11px!important;opacity:.92!important}
#mainHeader .skyCloud.c1:before{
  left:10px!important;top:9px!important;width:44px!important;height:16px!important;
  box-shadow:-10px 8px 0 #f8fbff,0 8px 0 #f8fbff,11px 8px 0 #f8fbff,22px 8px 0 #f8fbff,33px 8px 0 #f8fbff,44px 8px 0 #f8fbff,11px -8px 0 #f8fbff,22px -16px 0 #f8fbff,33px -8px 0 #f8fbff!important;
}
#mainHeader .skyCloud.c1:after{
  left:10px!important;top:25px!important;width:55px!important;height:7px!important;
  box-shadow:11px -7px 0 #e7f1fb,22px -7px 0 #e7f1fb,33px -7px 0 #e7f1fb,11px 7px 0 #cfdff0,33px 7px 0 #d9d7ef!important;
}
#mainHeader .skyCloud.c2{width:58px!important;height:36px!important;top:38px!important;opacity:.78!important}
#mainHeader .skyCloud.c2:before{
  left:8px!important;top:10px!important;width:34px!important;height:14px!important;
  box-shadow:-8px 7px 0 #f8fbff,0 7px 0 #f8fbff,9px 7px 0 #f8fbff,18px 7px 0 #f8fbff,27px 7px 0 #f8fbff,9px -7px 0 #f8fbff,18px -14px 0 #f8fbff,27px -7px 0 #f8fbff!important;
}
#mainHeader .skyCloud.c2:after{
  left:8px!important;top:24px!important;width:43px!important;height:6px!important;
  box-shadow:9px -6px 0 #e7f1fb,18px -6px 0 #e7f1fb,27px 6px 0 #d9d7ef!important;
}
#mainHeader .skyCloud.c3{width:64px!important;height:38px!important;top:18px!important;opacity:.70!important}
#mainHeader .skyCloud.c3:before{
  left:8px!important;top:10px!important;width:40px!important;height:14px!important;
  box-shadow:-8px 7px 0 #f8fbff,0 7px 0 #f8fbff,10px 7px 0 #f8fbff,20px 7px 0 #f8fbff,30px 7px 0 #f8fbff,40px 7px 0 #f8fbff,10px -7px 0 #f8fbff,20px -14px 0 #f8fbff,30px -7px 0 #f8fbff!important;
}
#mainHeader .skyCloud.c3:after{
  left:8px!important;top:24px!important;width:50px!important;height:6px!important;
  box-shadow:10px -6px 0 #e7f1fb,20px -6px 0 #e7f1fb,30px 6px 0 #cfdff0,40px 6px 0 #d9d7ef!important;
}

/* v22.08 — 헤더 무지개: 아래로 약 10% 이동 + 투명도 그라데이션 */
#headerWeatherFx .weatherRainbowArc{
  bottom:-114px!important;
  opacity:.48!important;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.18) 0%,rgba(0,0,0,.58) 32%,rgba(0,0,0,1) 72%,rgba(0,0,0,.88) 100%)!important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.18) 0%,rgba(0,0,0,.58) 32%,rgba(0,0,0,1) 72%,rgba(0,0,0,.88) 100%)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:100% 100%!important;
  mask-size:100% 100%!important;
}

/* v22.09 — 무지개 날씨 반짝임: 파스텔 컬러 + 부드러운 깜빡임 */
.weatherRainbowSpark{
  opacity:.7!important;
  width:4px!important;
  height:4px!important;
  image-rendering:pixelated;
  animation:weatherRainbowPastelBlink 1.45s steps(3,end) infinite!important;
  filter:none!important;
}
@keyframes weatherRainbowPastelBlink{
  0%,100%{transform:scale(1);opacity:.7}
  45%{transform:scale(1.15);opacity:.7}
  70%{transform:scale(.88);opacity:.3}
}

/* v22.10 — 헤더 무지개를 추가로 약 10% 아래 이동 */
#headerWeatherFx .weatherRainbowArc{bottom:-136px!important;}


/* BETA v1 — 창고 전체 판매 확인 모달 */
.storageSellConfirmBox{max-width:390px!important}
.storageSellConfirmBody{text-align:center;padding:7px 3px 2px}
.storageSellConfirmIcon{font-size:30px;line-height:1;margin:2px 0 8px}
.storageSellConfirmText{font-size:12px;font-weight:700;color:#392c21;margin-bottom:10px}
.storageSellConfirmSummary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 auto 9px}
.storageSellConfirmSummary>div{padding:9px 6px;background:#fff8e8;border:2px solid #b49369;display:flex;flex-direction:column;gap:4px}
.storageSellConfirmSummary span{font-size:9px;color:#806a50}
.storageSellConfirmSummary b{font-size:14px;color:#3f2d20;-webkit-text-fill-color:#3f2d20!important}
#storageSellAllGain{color:#47702e!important;-webkit-text-fill-color:#47702e!important}
.storageSellConfirmNote{line-height:1.55;color:#745d45;margin-bottom:11px}
.storageSellConfirmActions{display:grid;grid-template-columns:1fr 1.25fr;gap:7px}
.storageSellConfirmActions button{min-height:36px;border:2px solid #75583e;font:inherit;font-size:11px;font-weight:700;cursor:pointer;box-shadow:2px 2px 0 rgba(0,0,0,.18)}
.storageSellConfirmCancel{background:#fff8e8;color:#4b3829;-webkit-text-fill-color:#4b3829!important}
.storageSellConfirmOk{background:#e6bd69;color:#352513;-webkit-text-fill-color:#352513!important}
.storageSellConfirmActions button:active{transform:translateY(1px);box-shadow:none}
body.theme-night .storageSellConfirmBox{background:#263850!important;border-color:#7b91ab!important}
body.theme-night .storageSellConfirmText{color:#fff1d5!important;-webkit-text-fill-color:#fff1d5!important}
body.theme-night .storageSellConfirmSummary>div{background:#324a67!important;border-color:#7b91ab!important}
body.theme-night .storageSellConfirmSummary span{color:#c6d4e3!important;-webkit-text-fill-color:#c6d4e3!important}
body.theme-night .storageSellConfirmSummary b{color:#fff1d5!important;-webkit-text-fill-color:#fff1d5!important}
body.theme-night #storageSellAllGain{color:#c8e6a9!important;-webkit-text-fill-color:#c8e6a9!important}
body.theme-night .storageSellConfirmNote{color:#c6d4e3!important;-webkit-text-fill-color:#c6d4e3!important}
@media(max-width:420px){.storageSellConfirmSummary{grid-template-columns:1fr}.storageSellConfirmBox{width:92%!important}}

/* BETA v1.1 hotfix — sell-all confirm modal must always sit above game/weather/header UI */
#storageSellAllModal{z-index:60000!important}
#storageSellAllModal.open{display:block!important}
#storageSellAllModal .infoModalBox{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}
