:root{
  --win-bg:#1e1e28;--win-bg-d:#15151f;--win-bg-dd:#0e0e16;
  --win-border:#8B6914;--win-border-l:#B8922E;
  --win-glow:rgba(139,105,20,0.15);
  --gold:#E7B84C;--gold-d:#9B7A20;
  --red:#C84A3A;--red-d:#A83020;
  --green:#4ade80;--green-d:#2d6a30;
  --blue:#3b82f6;--purple:#9333ea;
  --txt:#e0d8c8;--txt-dim:#8a8070;--txt-dark:#1a1a24;
  --slot-bg:#13131d;--slot-border:#5a4a20;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:#111;overflow:hidden;font-family:'Press Start 2P','Segoe UI',Arial,sans-serif;touch-action:none;user-select:none;-webkit-user-select:none}
#hit-vignette{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:19;box-shadow:inset 0 0 50px rgba(201,74,58,0);transition:box-shadow .08s ease-out}
#game-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}
canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges}

/* === TOP BAR === */
#top-bar{position:fixed;top:8px;right:6px;z-index:20;pointer-events:none;display:flex;align-items:flex-end;gap:clamp(3px,1vw,8px)}
#top-bar>*{pointer-events:auto}
#top-bar #btn-settings{align-self:center}
@media (max-width:480px){
  #top-bar{flex-direction:column;align-items:flex-end;gap:4px}
  #top-bar #btn-settings{position:absolute;top:0;right:0;align-self:auto}
  #top-bar .currency{order:1}
  #top-bar #btn-farm{order:2}
  #top-bar .currency{margin-right:34px}
  #top-bar .currency .val-bg{min-width:62px;max-width:96px}
  #top-bar .currency .val-bg span{font-size:10px}
  #top-bar .currency .coin-icon{font-size:14px}
  #top-bar .currency .plus-btn{font-size:11px}
}
#player-info{position:fixed;top:8px;left:8px;z-index:20;display:flex;align-items:center;gap:clamp(3px,0.8vw,8px);padding:clamp(2px,0.4vh,5px) clamp(3px,0.8vw,7px);border-radius:8px;transition:all .15s;background:var(--win-bg);border:2px solid var(--slot-border);box-shadow:0 2px 8px rgba(0,0,0,0.5);pointer-events:auto;max-width:clamp(160px,50vw,240px);overflow:visible}
#player-info:hover{border-color:var(--win-border)}
#btn-settings{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;opacity:0.8;border-radius:6px;background:var(--win-bg);border:1.5px solid var(--slot-border)}
#btn-settings:hover{opacity:1;border-color:var(--win-border)}
#pi-avatar{width:clamp(31px,7.7vw,53px);height:clamp(31px,7.7vw,53px);border-radius:8px;overflow:hidden;border:2px solid var(--win-border);box-shadow:0 2px 6px rgba(0,0,0,0.5);flex-shrink:0;cursor:pointer}
#pi-avatar img{width:100%;height:100%;object-fit:cover}
#pi-details{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
#pi-name-row{display:flex;align-items:center;gap:4px}
#pi-name{font-size:clamp(8px,2.5vw,12px);font-weight:700;color:var(--txt);text-shadow:1px 1px 0 #000}
#pi-level{font-size:clamp(6px,1.8vw,9px);color:var(--gold);font-weight:600}
#pi-hp-bar{width:100%;height:clamp(8px,1.8vh,14px);background:rgba(0,0,0,0.5);border-radius:7px;overflow:hidden;position:relative;box-shadow:inset 1px 1px 3px rgba(0,0,0,0.5)}
#pi-hp-fill{height:100%;background:linear-gradient(180deg,#ef4444,#b91c1c);border-radius:7px;transition:width .3s;width:100%}
#pi-hp-fill.low{background:linear-gradient(180deg,#f87171,#991b1b)}
#pi-hp-text{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:clamp(5px,1.2vw,7px);color:#fff;font-weight:700;text-shadow:0 0 3px #000}
#pi-sub-row{display:flex;gap:3px;flex-wrap:nowrap;overflow:visible;align-items:center;width:100%}
#pi-bm{color:var(--gold);font-weight:700;text-shadow:1px 1px 0 #000;background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.2);border-radius:6px;padding:1px 4px;font-size:8px;display:inline-block;text-align:center;white-space:nowrap;flex:0 0 auto;letter-spacing:-0.3px}
#pi-vip{font-size:8px;flex:0 0 auto}
#pi-vip{color:#c084fc;font-weight:700;text-shadow:1px 1px 0 #000;cursor:pointer;background:rgba(168,85,247,0.15);border:1px solid rgba(168,85,247,0.3);border-radius:6px;padding:1px 4px;display:inline-block;text-align:center;white-space:nowrap;flex-shrink:0;transition:all .15s}
#pi-vip:hover{background:rgba(168,85,247,0.25);border-color:rgba(168,85,247,0.5)}
#pi-vip{position:relative}
#pi-vip-dot{position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:#ff3b30;border:1px solid #fff;display:none;box-shadow:0 0 3px rgba(255,59,48,0.8)}
#pi-vip-dot.on{display:block;animation:vipDotPulse 1.2s ease-in-out infinite}
@keyframes vipDotPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}

#vip-daily-section{margin-top:6px;padding:5px 6px;border:1px solid rgba(231,184,76,0.35);border-radius:6px;background:rgba(231,184,76,0.05);display:flex;align-items:center;gap:6px}
.vip-daily-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}
#vip-daily-content{flex:1 1 auto;font-size:8px;color:var(--txt);line-height:1.25;min-height:12px;text-align:left}
#vip-daily-content .vd-line{display:block}
#vip-daily-claim-btn{flex:0 0 auto;padding:4px 10px;background:linear-gradient(180deg,#3a8a3a,#1f5f1f);color:#fff;font-size:9px;font-weight:700;border:1px solid #5a5;border-radius:5px;cursor:pointer;text-shadow:1px 1px 0 #000;white-space:nowrap}
#vip-daily-claim-btn:hover:not(:disabled){background:linear-gradient(180deg,#4aaa4a,#2f7f2f)}
#vip-daily-claim-btn:disabled{opacity:0.5;cursor:not-allowed;background:#3a3a3a;border-color:#555}
.ico-crown{vertical-align:middle;margin-right:4px}

#vip-claim-result-popup{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:10000;display:none;align-items:center;justify-content:center}
#vip-claim-result-popup.visible{display:flex}
#vip-claim-result-window{background:linear-gradient(180deg,#2a1a08,#1a0e04);border:2px solid #c8960a;border-radius:10px;padding:14px 18px;min-width:240px;max-width:320px;box-shadow:0 0 24px rgba(231,184,76,0.4)}
#vip-claim-result-title{font-size:13px;color:#7FFF7F;font-weight:700;text-align:center;margin-bottom:10px;text-shadow:1px 1px 0 #000}
#vip-claim-result-list{font-size:10px;color:var(--txt);text-align:center;line-height:1.6;margin-bottom:12px}
#vip-claim-result-list .vcr-item{display:block;padding:2px 0}
#vip-claim-result-list .vcr-amt{color:#f0c040;font-weight:700}
#vip-claim-result-ok{display:block;margin:0 auto;padding:6px 24px;background:linear-gradient(180deg,#3a8a3a,#1f5f1f);color:#fff;font-size:10px;font-weight:700;border:1px solid #5a5;border-radius:5px;cursor:pointer;text-shadow:1px 1px 0 #000}
#vip-claim-result-ok:hover{background:linear-gradient(180deg,#4aaa4a,#2f7f2f)}

#vip-preview-nav{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:0 4px}
.vip-nav-btn{width:24px;height:24px;background:rgba(168,85,247,0.15);border:1px solid rgba(168,85,247,0.4);color:#c084fc;font-size:14px;font-weight:700;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.vip-nav-btn:hover:not(:disabled){background:rgba(168,85,247,0.3)}
.vip-nav-btn:disabled{opacity:0.3;cursor:not-allowed}
#vip-preview-title{font-size:11px;font-weight:700;color:#E7B84C;text-shadow:1px 1px 0 #000}
.vip-preview-current{color:#7FFF7F !important}

.currency{display:flex;align-items:center;gap:clamp(2px,0.5vw,4px);font-size:clamp(8px,2.2vw,11px);font-weight:700;text-shadow:1px 1px 0 #000}
.currency.gold{color:var(--gold)}
.currency.farm{color:#c084fc;cursor:pointer;gap:0}
.currency.farm .coin-icon{margin-right:clamp(2px,0.4vw,4px)}
.currency .coin-icon{font-size:clamp(13px,4vw,17px);display:flex;align-items:center}
/* gold val-bg uses same dimensions as base .currency .val-bg */
.currency .val-bg{background:var(--win-bg);border:1.5px solid var(--slot-border);border-radius:4px;padding:2px clamp(3px,1vw,6px);display:flex;align-items:center;justify-content:center;min-width:clamp(36px,10vw,52px);max-width:clamp(52px,14vw,76px);overflow:hidden}
.currency.farm .val-bg{border-radius:4px 0 0 4px;border-right:none}
.currency .val-bg span{display:inline-block;text-align:center;width:100%;font-size:clamp(7px,1.8vw,9px);font-variant-numeric:tabular-nums;letter-spacing:-0.3px}
.currency .plus-btn{font-size:clamp(10px,3vw,13px);background:var(--win-bg);border:1.5px solid var(--slot-border);border-radius:0 4px 4px 0;
  width:clamp(16px,4.5vw,22px);height:clamp(14px,4vw,18px);display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;color:#c084fc;font-weight:700}
.currency .plus-btn:hover{background:var(--win-bg-d);color:#e9d5ff;border-color:var(--win-border)}
.curr-icon{width:clamp(14px,4vw,18px);height:clamp(14px,4vw,18px);object-fit:contain;image-rendering:pixelated;vertical-align:middle}
.curr-icon-sm{width:clamp(10px,3vw,13px);height:clamp(10px,3vw,13px);object-fit:contain;image-rendering:pixelated;vertical-align:middle}
.pkg-icon .curr-icon{width:24px;height:24px}
#talent-currency .curr-icon{width:15px;height:15px}
#talent-currency .curr-icon-sm{width:12px;height:12px}

img[src*="enh_"],img[src*="skill_"],img[src*="stat_"],img[src*="icon_"],img[src*="menu_"]{
    filter:drop-shadow(0 0 1px rgba(0,0,0,0.9)) drop-shadow(0 0 1px rgba(0,0,0,0.6))
}
.sb-icon-glow img[src*="enh_"]{filter:drop-shadow(0 0 6px rgba(239,68,68,0.4)) drop-shadow(0 0 1px rgba(0,0,0,0.9))}
.sb-icon-glow.glow-purple img[src*="enh_"]{filter:drop-shadow(0 0 6px rgba(147,51,234,0.4)) drop-shadow(0 0 1px rgba(0,0,0,0.9))}
img[src*="currency_"]{filter:drop-shadow(0 0 1px rgba(0,0,0,0.8))}

/* === SEASON POOL BTN (left side) === */
#season-pool-btn{position:fixed;left:0;top:42%;transform:translateY(-50%);z-index:30;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:var(--win-bg);border:2px solid var(--slot-border);border-left:none;padding:8px 8px 8px 6px;border-radius:0 8px 8px 0;box-shadow:2px 2px 8px rgba(0,0,0,0.5);
  width:50px;height:54px}
#season-pool-btn:hover{border-color:var(--win-border);box-shadow:0 0 12px rgba(231,184,76,0.3)}
.spb-emoji{font-size:20px}
.spb-amount{font-size:8px;color:var(--gold);font-weight:700;text-shadow:1px 1px 1px #000}
@keyframes season-flash{
  0%,60%{box-shadow:0 2px 8px rgba(0,0,0,0.4)}
  63%{box-shadow:0 0 10px 3px rgba(239,68,68,0.6)}
  65%{box-shadow:0 2px 8px rgba(0,0,0,0.4)}
  68%{box-shadow:0 0 10px 3px rgba(239,68,68,0.6)}
  70%{box-shadow:0 2px 8px rgba(0,0,0,0.4)}
  73%{box-shadow:0 0 10px 3px rgba(239,68,68,0.6)}
  75%{box-shadow:0 2px 8px rgba(0,0,0,0.4)}
  100%{box-shadow:0 2px 8px rgba(0,0,0,0.4)}
}
#season-pool-btn.season-alert{animation:season-flash 5s infinite}
#season-pool-btn.season-alert:hover{animation:none}

/* === STATS POPUP === */
#stats-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);z-index:100;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#stats-popup.visible{display:flex}
#stats-window{width:92vw;max-width:340px;
  background:var(--win-bg);
  border:3px solid var(--win-border);
  box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.7);overflow:hidden;position:relative}
#stats-window::before{content:'';position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid rgba(255,200,100,0.1);pointer-events:none;z-index:1}
.stats-top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:2px solid #3a3520;
  background:linear-gradient(180deg,var(--win-bg-d),#101018);position:relative;z-index:2}
#stats-avatar{width:50px;height:50px;border-radius:8px;overflow:hidden;border:2px solid var(--win-border);box-shadow:0 2px 4px rgba(0,0,0,0.3);flex-shrink:0}
#stats-avatar img{width:100%;height:100%;object-fit:cover}
#stats-info{flex:1}
#stats-name{font-size:13px;font-weight:700;color:var(--gold);text-shadow:0 1px 3px #000}
#stats-level{font-size:9px;color:var(--txt-dim);margin-top:2px}
#stats-grid{padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;max-height:50vh;overflow-y:auto}
.st-item{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;
  background:rgba(0,0,0,0.2);border:1px solid #3a3520;border-radius:4px}
.st-item.full{grid-column:1/-1}
.st-label{font-size:8px;color:var(--txt-dim)}
.st-val{font-size:9px;color:var(--txt);font-weight:700}
.st-val.green{color:var(--green)}
.st-val.gold{color:var(--gold)}
.st-val.blue{color:var(--blue)}
.st-val.purple{color:#c084fc}

/* === TOUCH JOYSTICK === */
#joystick-zone{position:fixed;bottom:90px;left:10%;width:80%;height:180px;z-index:25;pointer-events:auto}
#joystick-base{width:100px;height:100px;background:rgba(255,255,255,0.08);border:2px solid rgba(255,255,255,0.15);border-radius:50%;position:absolute;display:none;transform:translate(-50%,-50%)}
#joystick-thumb{width:40px;height:40px;background:rgba(255,255,255,0.2);border:2px solid rgba(255,255,255,0.3);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}

/* wave panel styles moved to bottom */

#bottom-area{position:fixed;bottom:0;left:0;right:0;z-index:20;pointer-events:none;display:flex;flex-direction:column}

/* AutoFight - above quest */
#btn-autofight{position:fixed;bottom:230px;left:12px;width:40px;height:40px;background:var(--win-bg);border:2px solid var(--slot-border);border-radius:50%;color:var(--txt);font-size:7px;font-weight:700;cursor:pointer;touch-action:none;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;letter-spacing:0.3px;z-index:22;box-shadow:0 2px 6px rgba(0,0,0,0.4)}
#btn-autofight .af-icon{font-size:16px;margin-bottom:1px}
#btn-autofight.active{background:linear-gradient(180deg,#1a4a2a,#0e3020);border-color:rgba(74,180,100,0.6);color:var(--green);box-shadow:inset 0 0 12px rgba(74,180,100,0.15),0 0 14px rgba(74,180,100,0.3)}

/* Daily kill cap — thin bar above the quest panel.
   Compact, readable, fully opaque background so it doesn't blend with map. */
#daily-kill-cap-panel{position:fixed;bottom:166px;left:12px;width:130px;z-index:26;
  background:#1a1a22;border:1px solid var(--slot-border);
  border-radius:4px;padding:3px 6px;
  font-family:inherit;
  cursor:pointer;
  box-shadow:0 2px 4px rgba(0,0,0,0.5)}
#daily-kill-cap-panel:hover{border-color:var(--gold)}
#daily-kill-cap-info-icon{position:absolute;top:1px;right:3px;font-size:7px;font-weight:800;
  color:#f0c040;font-style:italic;line-height:1;opacity:.8;pointer-events:none;
  text-shadow:0 1px 1px #000}
#daily-kill-cap-num{font-size:6px;color:var(--txt);font-weight:700;letter-spacing:.4px;
  text-align:center;line-height:1;margin-bottom:3px;text-shadow:0 1px 1px #000}
#daily-kill-cap-bar{width:100%;height:3px;background:#0a0a0e;border-radius:2px;overflow:hidden}
#daily-kill-cap-fill{height:100%;width:0%;background:linear-gradient(90deg,#fbbf24,#f59e0b);transition:width .3s, background .2s;border-radius:2px}
#daily-kill-cap-panel.full #daily-kill-cap-fill{background:linear-gradient(90deg,#ef4444,#b91c1c)}
#daily-kill-cap-panel.full #daily-kill-cap-num{color:#fbbf24;font-size:5px;letter-spacing:.3px;line-height:1.2}

/* Quest panel */
#quest-panel{position:fixed;bottom:105px;left:12px;width:130px;min-height:56px;max-height:56px;padding:6px 8px;z-index:26;cursor:pointer;transition:all .3s;
  background:var(--win-bg);border:2px solid var(--win-border);
  box-shadow:0 0 12px var(--win-glow),0 3px 10px rgba(0,0,0,0.5);overflow:hidden}
#quest-panel.complete{box-shadow:0 0 12px var(--win-glow),0 0 12px rgba(74,222,128,0.3);border-color:var(--green)}
#quest-title{font-size:7px;color:var(--txt);font-weight:600;line-height:1.3;margin-bottom:4px;min-height:18px;max-height:18px;overflow:hidden;text-shadow:0 1px 2px #000}
#quest-panel.complete #quest-title{color:var(--green)}
#quest-bar{width:100%;height:6px;background:rgba(0,0,0,0.3);border-radius:3px;overflow:hidden}
#quest-fill{height:100%;background:var(--txt-dim);border-radius:3px;transition:width .3s,background .3s;width:0%}
#quest-panel.complete #quest-fill{background:linear-gradient(90deg,#2d6a30,var(--green))}
#quest-progress{font-size:7px;color:var(--txt-dim);margin-top:2px;text-align:right}
#quest-panel.complete #quest-progress{color:var(--green);font-weight:700}
/* Claim API in flight: subtle pulse + cursor:wait + dim title shimmer */
#quest-panel.claiming{cursor:wait;animation:quest-claiming-pulse 1s ease-in-out infinite}
#quest-panel.claiming #quest-title{color:#fde68a;letter-spacing:0.4px;animation:quest-claim-text 1s ease-in-out infinite}
@keyframes quest-claiming-pulse{0%,100%{box-shadow:0 0 12px var(--win-glow),0 0 8px rgba(251,191,36,0.4)}50%{box-shadow:0 0 18px var(--win-glow),0 0 16px rgba(251,191,36,0.7)}}
@keyframes quest-claim-text{0%,100%{opacity:0.85}50%{opacity:1}}

/* EXP bar */
#exp-bar-container{width:100%;height:20px;background:var(--win-bg-d);position:relative;border-top:1px solid var(--slot-border);pointer-events:auto;box-shadow:inset 0 2px 4px rgba(0,0,0,0.4)}
#exp-fill{height:100%;background:linear-gradient(180deg,#C9A020,#8B6914);transition:width .5s ease;width:0%;position:relative;overflow:hidden}
#exp-fill::after{content:'';position:absolute;top:0;left:0;right:0;height:45%;background:linear-gradient(180deg,rgba(255,255,255,0.2),rgba(255,255,255,0))}
#exp-text{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:700;text-shadow:1px 1px 2px #000;letter-spacing:0.5px}

/* Bottom bar */
#bottom-bar{display:flex;align-items:center;justify-content:center;padding:6px 10px 8px;background:linear-gradient(180deg,#1a1a24,var(--win-bg-d));border-top:1px solid var(--slot-border);pointer-events:auto;gap:5px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.03)}
#bottom-bar>*{pointer-events:auto}

/* Menu icons */
#menu-icons{display:flex;align-items:center;gap:4px;justify-content:center;width:100%}
.menu-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--win-bg);border:2px solid var(--slot-border);
  border-radius:8px;cursor:pointer;touch-action:none;
  /* 2026-05-20: transition:all .15s → transition:border-color,box-shadow .15s.
     all-transition ловил каждый reflow рядом (boost-timer textContent тик)
     и провоцировал мигание на старых GPU. Сужаем до тех свойств, которые
     реально меняются у этого элемента. */
  transition:border-color .15s, box-shadow .15s;
  position:relative;box-shadow:0 2px 5px rgba(0,0,0,0.35);padding:4px 2px 2px;height:52px}
/* Icon scales with the button width so the label always fits below it. */
.menu-btn svg{width:clamp(16px,5vw,24px);height:clamp(16px,5vw,24px);flex-shrink:0}
.menu-btn span{font-size:clamp(5px,1.5vw,6px);margin-top:2px;letter-spacing:0;font-weight:600;color:var(--txt-dim);text-shadow:0 1px 2px #000;line-height:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block;text-align:center}
.menu-btn:hover{border-color:var(--win-border-l);box-shadow:0 0 10px var(--win-glow),0 4px 10px rgba(0,0,0,0.4)}
.menu-btn:active{box-shadow:inset 1px 2px 4px rgba(0,0,0,0.3);transform:translateY(0)}
.menu-btn.active{border-color:var(--win-border);box-shadow:0 0 10px var(--win-glow),0 0 12px rgba(231,184,76,0.3)}
.menu-btn.active span{color:var(--gold)}
#extra-icons{display:none;align-items:center;gap:5px}
#extra-icons.visible{display:flex}

/* === GAME WINDOWS === */
.game-window{position:fixed;bottom:66px;left:0;right:0;height:48vh;z-index:50;display:none;overflow:hidden;
  background:var(--win-bg);
  border-top:3px solid var(--win-border);
  border-bottom:3px solid var(--win-border);
  box-shadow:0 -4px 32px rgba(0,0,0,0.7),inset 0 0 20px rgba(0,0,0,0.3)}
/* Market window: full-screen popup (covers menu, larger working area) */
#window-market-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:199;display:none}
#window-market.game-window.visible ~ #window-market-backdrop,
body.market-open #window-market-backdrop{display:block}
#window-market.game-window{top:20px;bottom:20px;left:10px;right:10px;height:auto;z-index:200;
  border:3px solid var(--win-border);border-radius:14px;
  display:none;flex-direction:column;
  box-shadow:0 0 40px rgba(0,0,0,0.85),inset 0 0 20px rgba(0,0,0,0.3)}
#window-market.game-window.visible{display:flex}
#window-market .win-body{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:20px}
#window-market::before{display:none}
.game-window.visible{display:block}
.game-window::before{content:'';position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid rgba(255,200,100,0.1);pointer-events:none;z-index:1}
.win-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;
  background:linear-gradient(180deg,#1a1a24,#12121a);
  border-bottom:2px solid #3a3520;
  box-shadow:0 1px 0 rgba(0,0,0,0.3);
  position:relative;z-index:2}
.win-title{font-size:13px;font-weight:700;color:var(--gold);letter-spacing:0.3px;text-shadow:0 1px 3px #000;flex:1;text-align:center}
.win-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--txt);font-size:14px;cursor:pointer;
  background:rgba(0,0,0,0.2);
  border:2px solid var(--slot-border);
  border-radius:3px;transition:all .15s}
.win-close:hover{background:linear-gradient(180deg,#D85A4A,#A83020);color:#fff;border-color:#8B2E1F;box-shadow:0 0 6px rgba(200,74,58,0.3)}
.win-close:active{box-shadow:inset 1px 2px 3px rgba(0,0,0,0.4)}
.win-body{padding:10px 12px;overflow-y:auto;overflow-x:hidden;height:calc(100% - 50px);position:relative;z-index:2;-webkit-overflow-scrolling:touch}

/* === INVENTORY WINDOW === */
/* Inventory top: 2 left slots | hero portrait | 2 right slots; remaining 4 below in a row. */
#inv-top{display:grid;grid-template-columns:auto 1fr auto;gap:6px;margin-bottom:0;padding:2px 6px 0;align-items:center}
.inv-side-col{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.inv-side-col .equip-slot{width:54px;height:54px;font-size:14px}
#inv-bottom-row{display:flex;justify-content:space-between;gap:6px;padding:1px 6px 3px;margin-bottom:4px;background:rgba(0,0,0,0.25);border:2px solid #3a3520;border-top:0;border-radius:0 0 6px 6px}
.equip-slot-row{flex:1;max-width:62px;height:58px;font-size:14px;width:auto}
#inv-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0}
#inv-hero #inv-player-name{font-size:11px;color:var(--gold);font-weight:700;text-shadow:0 1px 2px #000;letter-spacing:.4px;margin-bottom:-14px}
#inv-hero-img{width:140px;height:140px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.5))}
#inv-hero-img img{max-width:100%;max-height:100%;width:auto;height:auto;image-rendering:pixelated}
#inv-hero #inv-player-line{margin-top:-14px}
#inv-hero #inv-player-line{font-size:8px;color:var(--txt-dim);letter-spacing:.3px}
#inv-hero #inv-player-line span{color:var(--txt)}
/* Background panel for the top region. */
#inv-top{background:rgba(0,0,0,0.25);border:2px solid #3a3520;border-bottom:0;border-radius:6px 6px 0 0}
#inv-quick-stats{display:flex;flex-direction:column;gap:3px;flex:1}

/* Tier-colored backgrounds for inv-grid slots holding crafted items */
.inv-slot.inv-slot-tier-0  { background: linear-gradient(180deg, rgba(156,163,175,0.18), rgba(156,163,175,0.05)); }
.inv-slot.inv-slot-tier-1  { background: linear-gradient(180deg, rgba(176,176,176,0.22), rgba(176,176,176,0.06)); }
.inv-slot.inv-slot-tier-2  { background: linear-gradient(180deg, rgba(74,222,128,0.20), rgba(74,222,128,0.05)); }
.inv-slot.inv-slot-tier-3  { background: linear-gradient(180deg, rgba(110,231,160,0.22), rgba(110,231,160,0.06)); }
.inv-slot.inv-slot-tier-4  { background: linear-gradient(180deg, rgba(96,165,250,0.22), rgba(96,165,250,0.05)); }
.inv-slot.inv-slot-tier-5  { background: linear-gradient(180deg, rgba(125,184,252,0.24), rgba(125,184,252,0.06)); }
.inv-slot.inv-slot-tier-6  { background: linear-gradient(180deg, rgba(244,114,182,0.25), rgba(244,114,182,0.07)); }
.inv-slot.inv-slot-tier-7  { background: linear-gradient(180deg, rgba(249,168,212,0.27), rgba(249,168,212,0.08)); }
.inv-slot.inv-slot-tier-8  { background: linear-gradient(180deg, rgba(168,85,247,0.27), rgba(168,85,247,0.08)); }
.inv-slot.inv-slot-tier-9  { background: linear-gradient(180deg, rgba(192,132,252,0.30), rgba(192,132,252,0.10)); }
.inv-slot.inv-slot-tier-10 { background: linear-gradient(180deg, rgba(251,191,36,0.30), rgba(251,191,36,0.10)); }
.inv-slot.inv-slot-tier-11 { background: linear-gradient(180deg, rgba(254,240,138,0.32), rgba(254,240,138,0.10)); }
/* Clockwise running spark on tier-B+ inventory cells (replaces old pulse). */
.inv-slot.inv-slot-shiny { position: relative; box-shadow: 0 0 6px var(--tier-glow, #fff); }
.inv-slot.inv-slot-tier-6.inv-slot-shiny  { --tier-glow: #f472b6; }
.inv-slot.inv-slot-tier-7.inv-slot-shiny  { --tier-glow: #f9a8d4; }
.inv-slot.inv-slot-tier-8.inv-slot-shiny  { --tier-glow: #a855f7; }
.inv-slot.inv-slot-tier-9.inv-slot-shiny  { --tier-glow: #c084fc; }
.inv-slot.inv-slot-tier-10.inv-slot-shiny { --tier-glow: #fbbf24; }
.inv-slot.inv-slot-tier-11.inv-slot-shiny { --tier-glow: #fde047; }
/* Use ::before so the existing .inv-slot::after inner border is preserved. */
.inv-slot.inv-slot-shiny::before {
    content: ''; position: absolute; inset: -1px;
    border-radius: inherit;
    padding: 2px;
    background: conic-gradient(from var(--cr-runner-angle, 0deg),
        transparent 0deg,
        var(--tier-glow, #fbbf24) 18deg,
        rgba(255,255,255,0.95) 28deg,
        var(--tier-glow, #fbbf24) 38deg,
        transparent 56deg,
        transparent 360deg);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    animation: cr-runner-spin 2.6s linear infinite;
    z-index: 1;
}
.inv-slot.inv-slot-shiny > * { position: relative; z-index: 2; }
.equip-slot.filled.tier-shiny-equip {
    --tier-glow: #fbbf24;
    box-shadow: 0 0 6px var(--tier-glow);
}
.equip-slot.filled.tier-shiny-equip::before {
    content: ''; position: absolute; inset: -1px;
    border-radius: inherit;
    padding: 2px;
    background: conic-gradient(from var(--cr-runner-angle, 0deg),
        transparent 0deg,
        var(--tier-glow) 18deg,
        rgba(255,255,255,0.95) 28deg,
        var(--tier-glow) 38deg,
        transparent 56deg,
        transparent 360deg);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    animation: cr-runner-spin 2.6s linear infinite;
    z-index: 1;
}
.equip-slot.filled.tier-shiny-equip > * { position: relative; z-index: 2; }
/* @property + keyframes defined in craft.css; reused across all .tier-shiny* selectors. */

/* === CRAFT ITEM MODAL === */
.cim-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.78);
    z-index: 9200;
    display: flex; align-items: center; justify-content: center;
    padding: 16px;
}
.cim-card {
    background: linear-gradient(180deg, #1a1a22, #14141a);
    border: 2px solid #3a3520;
    border-radius: 10px;
    width: 100%; max-width: 320px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.7);
    overflow: hidden;
    font-family: inherit;
    position: relative;
}
.cim-card.tier-2  { border-color: #4ade80; }
.cim-card.tier-3  { border-color: #6ee7a0; }
.cim-card.tier-4  { border-color: #60a5fa; }
.cim-card.tier-5  { border-color: #7db8fc; }
.cim-card.tier-6  { border-color: #f472b6; }
.cim-card.tier-7  { border-color: #f9a8d4; }
.cim-card.tier-8  { border-color: #a855f7; }
.cim-card.tier-9  { border-color: #c084fc; }
.cim-card.tier-10 { border-color: #fbbf24; }
.cim-card.tier-11 { border-color: #fde047; }
.cim-card.tier-shiny-mod { box-shadow: 0 12px 40px rgba(0,0,0,0.7), 0 0 18px var(--tier-glow, #fbbf24); }
.cim-card.tier-6.tier-shiny-mod  { --tier-glow: #f472b6; }
.cim-card.tier-7.tier-shiny-mod  { --tier-glow: #f9a8d4; }
.cim-card.tier-8.tier-shiny-mod  { --tier-glow: #a855f7; }
.cim-card.tier-9.tier-shiny-mod  { --tier-glow: #c084fc; }
.cim-card.tier-10.tier-shiny-mod { --tier-glow: #fbbf24; }
.cim-card.tier-11.tier-shiny-mod { --tier-glow: #fde047; }
.cim-card.tier-shiny-mod::after {
    content: ''; position: absolute; inset: 0;
    border-radius: inherit;
    padding: 2px;
    background: conic-gradient(from var(--cr-runner-angle, 0deg),
        transparent 0deg,
        var(--tier-glow, #fbbf24) 24deg,
        rgba(255,255,255,0.95) 36deg,
        var(--tier-glow, #fbbf24) 48deg,
        transparent 72deg,
        transparent 360deg);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    animation: cr-runner-spin 3s linear infinite;
}
.cim-head {
    padding: 10px 12px;
    border-bottom: 2px solid #3a3520;
    display: flex; justify-content: space-between; align-items: center;
    gap: 8px;
    background: rgba(0,0,0,0.3);
}
.cim-name {
    font-size: 10px; font-weight: 700;
    letter-spacing: .3px;
    line-height: 1.3;
    text-shadow: 0 1px 2px #000;
    flex: 1;
}
.cim-close {
    background: transparent; border: none; color: #888;
    font-size: 16px; cursor: pointer; padding: 0 4px;
    font-family: inherit;
}
.cim-close:hover { color: #ff7766; }
.cim-body {
    padding: 14px;
    display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.cim-icon {
    width: 96px; height: 96px;
    border: 2px solid #3a3520;
    border-radius: 10px;
    background: rgba(255,255,255,0.04);
    display: flex; align-items: center; justify-content: center;
}
.cim-stats {
    width: 100%;
    display: flex; flex-direction: column; gap: 4px;
    background: rgba(0,0,0,0.25);
    border: 1px solid #3a3520;
    border-radius: 6px;
    padding: 8px 10px;
}
.cim-stat-row {
    display: flex; justify-content: space-between;
    font-size: 9px; letter-spacing: .3px;
}
.cim-stat-k { color: #aaa; }
.cim-stat-v { color: #5dd66b; font-weight: 700; }
.cim-equipped-badge {
    color: #5dd66b; font-size: 8px; font-weight: 700;
    letter-spacing: .4px; text-transform: uppercase;
}
.cim-actions {
    display: flex; gap: 6px;
    padding: 10px 12px 12px;
    border-top: 1px solid #2a2a35;
}
.cim-btn {
    flex: 1; padding: 9px 6px;
    border: none; border-radius: 6px;
    cursor: pointer;
    font-size: 9px; font-weight: 700;
    font-family: inherit;
    letter-spacing: .4px;
    color: #fff;
    transition: transform .1s, box-shadow .15s;
    text-transform: uppercase;
}
.cim-btn-equip { background: linear-gradient(135deg, #2bbf3d, #1a8c2a); }
.cim-btn-unequip { background: linear-gradient(135deg, #4a3aa8, #6b4ad8); }
.cim-btn-sell { background: linear-gradient(135deg, #b03030, #7a1f1f); }
.cim-btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
.cim-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.inv-divider{height:2px;background:#3a3520;margin:10px 0;box-shadow:0 1px 0 rgba(231,184,76,0.1)}

#inv-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;margin-top:4px;
  width:100%;max-width:100%;box-sizing:border-box;padding:0 2px;overflow:hidden}
#window-inventory .win-body{box-sizing:border-box;overflow-x:hidden;overflow-y:auto}
#window-inventory .win-body > *{box-sizing:border-box;max-width:100%}
.inv-slot{aspect-ratio:1;
  background:var(--slot-bg);
  border:2px solid var(--slot-border);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;position:relative;transition:all .15s;min-height:32px;
  box-shadow:inset 1px 2px 4px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.3);
  border-radius:3px}
.inv-slot::after{content:'';position:absolute;top:1px;left:1px;right:1px;bottom:1px;border:1px solid rgba(255,200,100,0.06);border-radius:2px;pointer-events:none}
#inv-add-slots{aspect-ratio:1;min-height:32px;
  background:rgba(192,132,252,0.08);border:2px dashed rgba(192,132,252,0.3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;border-radius:3px;font-size:8px;color:#c084fc;font-weight:700;
  text-align:center;line-height:1.2;transition:all .15s}
#inv-add-slots:hover{background:rgba(192,132,252,0.15);border-color:rgba(192,132,252,0.5)}
.inv-slot:hover{border-color:var(--win-border-l);box-shadow:0 0 8px rgba(139,105,20,0.3)}
.inv-slot.has-item{border-color:#7a6a30}
.inv-slot .item-icon{font-size:14px;line-height:1}
.inv-slot .item-count{position:absolute;bottom:1px;right:2px;font-size:7px;color:var(--txt);font-weight:700;text-shadow:1px 1px 1px #000}
.inv-slot .item-rarity{position:absolute;top:0;left:0;right:0;height:2px;border-radius:1px}
.inv-divider{height:2px;background:#3a3520;margin:10px 0;box-shadow:0 1px 0 rgba(231,184,76,0.1)}

/* Item tooltip */
#item-tooltip{position:fixed;z-index:60;
  background:var(--win-bg);
  border:2px solid var(--win-border);
  padding:10px 12px;min-width:150px;max-width:210px;display:none;
  box-shadow:0 0 12px var(--win-glow),0 6px 24px rgba(0,0,0,0.6)}
#item-tooltip.visible{display:block}
#item-tooltip .tt-name{font-size:13px;font-weight:700;margin-bottom:4px;color:var(--txt);text-shadow:0 1px 1px #000}
#item-tooltip .tt-desc{font-size:10px;color:var(--txt-dim);line-height:1.4;margin-bottom:5px}
#item-tooltip .tt-stats{font-size:10px;color:var(--green);line-height:1.5}
#item-tooltip .tt-price{font-size:10px;color:var(--gold);margin-top:4px}
#item-tooltip .tt-actions{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}
#item-tooltip .tt-btn{padding:4px 10px;font-size:10px;cursor:pointer;border:1.5px solid var(--slot-border);background:rgba(0,0,0,0.2);color:var(--txt);font-weight:600;font-family:inherit;transition:all .15s}
#item-tooltip .tt-btn:hover{background:rgba(255,255,255,0.08)}
#item-tooltip .tt-btn.use{border-color:rgba(74,222,128,0.5);color:var(--green)}
#item-tooltip .tt-btn.equip{border-color:rgba(96,165,250,0.5);color:#60a5fa}
#item-tooltip .tt-btn.drop{border-color:var(--red);color:var(--red)}

.rarity-common{color:#bbb}
.rarity-uncommon{color:var(--green)}
.rarity-rare{color:#60a5fa}
.rarity-epic{color:#c084fc}
.rarity-legendary{color:var(--gold)}

/* === EQUIP SLOTS === */
#equip-layout{display:flex;flex-direction:column;align-items:center;gap:10px}
#equip-slots{display:flex;flex-direction:column;align-items:center;gap:6px}
.equip-row{display:flex;gap:6px}
.equip-slot{width:44px;height:44px;
  background:var(--slot-bg);
  border:2px solid var(--slot-border);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;font-size:18px;position:relative;transition:all .15s;
  box-shadow:inset 1px 2px 4px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.3);
  border-radius:4px}
.equip-icon-wrap{width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.equip-icon-wrap img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.equip-slot::after{content:'';position:absolute;top:1px;left:1px;right:1px;bottom:1px;border:1px solid rgba(255,200,100,0.06);border-radius:2px;pointer-events:none}
.equip-slot:hover{border-color:var(--win-border-l);box-shadow:0 0 8px rgba(139,105,20,0.25)}
.equip-slot.filled{border-color:var(--win-border);box-shadow:0 0 8px rgba(231,184,76,0.2)}
.equip-slot .slot-label{font-size:7px;color:var(--txt-dim);position:absolute;bottom:2px;text-transform:uppercase;letter-spacing:0.3px}

/* === DONATE POPUP === */
#donate-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);z-index:100;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#donate-overlay.visible{display:flex}
#donate-window{background:var(--win-bg);border:2px solid var(--win-border);padding:0;max-width:340px;overflow:hidden;box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.6)}
#donate-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:2px solid #3a3520;background:var(--win-bg-d)}
#donate-header h3{font-size:15px;color:#c084fc;font-weight:700;letter-spacing:0.3px;text-shadow:0 1px 3px #000}
#donate-body{padding:12px 16px}
.donate-package{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:rgba(192,132,252,0.06);border:1.5px solid rgba(192,132,252,0.15);margin-bottom:8px;cursor:pointer;transition:all .15s;border-radius:4px}
.donate-package:hover{background:rgba(192,132,252,0.12);border-color:rgba(192,132,252,0.3)}
.donate-package .pkg-info{display:flex;align-items:center;gap:10px}
.donate-package .pkg-icon{font-size:22px}
.donate-package .pkg-amount{font-size:14px;color:#c084fc;font-weight:700}
.donate-package .pkg-bonus{font-size:9px;color:#a855f7}
.donate-package .pkg-price{font-size:13px;color:var(--txt);font-weight:600;background:rgba(192,132,252,0.15);padding:5px 12px;border:1.5px solid rgba(192,132,252,0.2);border-radius:4px}
#donate-current{font-size:11px;color:var(--txt-dim);text-align:center;padding:8px;border-top:1px solid #3a3520;margin-top:6px}
#donate-current span{color:#c084fc;font-weight:700}

/* === SETTINGS POPUP (modal in game style) === */
#settings-popup{position:fixed;inset:0;background:rgba(0,0,0,0.82);z-index:160;display:none;align-items:center;justify-content:center;backdrop-filter:blur(3px);padding:14px}
#settings-popup.visible{display:flex}
#settings-window{background:var(--win-bg);border:3px solid var(--win-border);width:92vw;max-width:360px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 0 24px var(--win-glow),0 8px 32px rgba(0,0,0,0.6);border-radius:8px;overflow:hidden}
#settings-body{padding:8px 0 0;overflow-y:auto}

.settings-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:12px;color:var(--txt);border-bottom:1px solid rgba(107,79,16,0.25)}
.settings-row:last-of-type{border-bottom:none}
.settings-row .toggle{width:36px;height:20px;border-radius:10px;background:rgba(255,255,255,0.15);position:relative;transition:background .2s;flex-shrink:0;cursor:pointer}
.settings-row .toggle.on{background:rgba(74,180,100,0.55)}
.settings-row .toggle::after{content:'';width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:left .2s}
.settings-row .toggle.on::after{left:18px}

/* Language flag buttons — 11 locales wrap onto multi-row grid */
.settings-row-lang{cursor:default;flex-wrap:wrap;align-items:flex-start}
.settings-row-lang > span{flex:0 0 100%;margin-bottom:6px}
.lang-flags{display:flex;flex-wrap:wrap;gap:4px;max-width:100%}
.lang-flag{display:flex;align-items:center;gap:3px;padding:4px 7px;background:rgba(0,0,0,0.35);border:1.5px solid #4a3818;border-radius:6px;color:var(--txt-dim);font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.4px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.lang-flag span{font-size:10px;line-height:1}
.lang-flag:hover{border-color:#6b4f10;color:var(--txt)}
.lang-flag.active{background:linear-gradient(180deg,rgba(240,192,64,0.18),rgba(240,192,64,0.06));border-color:#f0c040;color:#f0c040;box-shadow:0 0 8px rgba(240,192,64,0.25)}

/* Promocode block */
#settings-promo-block{margin:14px 14px 0;padding:14px 14px 12px;background:linear-gradient(180deg,rgba(240,192,64,0.10),rgba(240,192,64,0.02));border:1.5px solid #6b4f10;border-radius:10px}
.settings-promo-label{font-size:13px;color:#f0c040;font-weight:800;letter-spacing:.6px;margin-bottom:10px;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,0.4)}
.settings-promo-form{display:flex;gap:6px;align-items:stretch}
#settings-promo-block #promo-input{flex:1 1 auto;min-width:0;box-sizing:border-box;background:#0a0703;border:1.5px solid #6b4f10;border-radius:8px;color:#f0c040;padding:11px 14px;font-family:inherit;font-size:14px;text-align:center;letter-spacing:1.5px;text-transform:uppercase;outline:none;transition:border-color .15s,box-shadow .15s}
#settings-promo-block #promo-input::placeholder{color:#6b4f10;letter-spacing:.5px;text-transform:none;font-weight:400}
#settings-promo-block #promo-input:focus{border-color:#f0c040;box-shadow:0 0 0 2px rgba(240,192,64,0.15)}
#settings-promo-block #promo-submit{flex:0 0 auto;background:linear-gradient(180deg,#f0c040,#c89b1a);color:#1a1408;border:1.5px solid #6b4f10;border-radius:8px;padding:6px 10px;font-family:inherit;font-weight:800;font-size:11px;letter-spacing:.3px;cursor:pointer;box-shadow:0 2px 0 #6b4f10;transition:transform .05s,box-shadow .05s;white-space:nowrap}
#settings-promo-block #promo-submit:active{transform:translateY(1px);box-shadow:0 1px 0 #6b4f10}
#settings-promo-block #promo-submit:disabled{opacity:.6;cursor:default;transform:none;box-shadow:0 2px 0 #6b4f10}
#settings-promo-block #promo-error{color:#ef4444;font-size:11px;min-height:14px;margin-top:8px;text-align:center}

/* Footer with the small Privacy link */
#settings-footer{padding:10px 16px 12px;text-align:right;border-top:1px solid rgba(107,79,16,0.25);margin-top:14px}
#settings-privacy-link{font-size:10px;color:var(--txt-dim);text-decoration:underline;text-decoration-color:rgba(255,255,255,0.2);text-underline-offset:2px;letter-spacing:.3px;cursor:pointer}
#settings-privacy-link:hover{color:#f0c040;text-decoration-color:#f0c040}

/* === SHOP === */
#shop-stabs{display:flex;gap:0;margin-bottom:10px;border:2px solid #3a3520;overflow:hidden;border-radius:4px}
.shop-stab{flex:1;padding:7px 2px;text-align:center;font-size:8px;font-weight:700;color:var(--txt-dim);cursor:pointer;
  position:relative;
  background:#2a2a35;transition:all .15s;font-family:inherit}
.shop-stab.active{color:var(--gold);background:var(--win-bg);box-shadow:inset 0 -2px 0 var(--win-border)}
.shop-stab-panel{display:none;max-height:calc(100% - 50px);overflow-y:auto}
.shop-stab-panel:first-of-type{display:block}
.soon-placeholder{text-align:center;color:var(--txt-dim);padding:30px 10px;font-size:11px}

.summon-banner{display:flex;gap:8px;padding:8px;margin-bottom:6px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;border-radius:6px;position:relative}
.summon-banner .sb-left{width:70px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:4px}
.summon-banner .sb-left .sb-level-bar{width:100%;height:4px;background:rgba(0,0,0,0.3);border-radius:2px;overflow:hidden}
.summon-banner .sb-left .sb-lvl-fill{height:100%;background:linear-gradient(90deg,#2d6a30,var(--green));transition:width .3s;width:0%}
.summon-banner .sb-left .sb-lvl-prog{font-size:6px;color:var(--txt-dim);opacity:0.7;text-align:center;width:100%;display:flex;align-items:center;justify-content:center;gap:3px}
.sb-icon-glow{width:48px;height:48px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:6px;
  background:radial-gradient(circle,rgba(239,68,68,0.15) 0%,transparent 70%)}
.sb-icon-glow.glow-purple{background:radial-gradient(circle,rgba(147,51,234,0.15) 0%,transparent 70%)}
.sb-item-icon{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}
.sb-icon-glow .sb-item-icon{filter:drop-shadow(0 0 6px rgba(239,68,68,0.4)) drop-shadow(0 0 1px rgba(0,0,0,0.9))}
.sb-icon-glow.glow-purple .sb-item-icon{filter:drop-shadow(0 0 6px rgba(147,51,234,0.4)) drop-shadow(0 0 1px rgba(0,0,0,0.9))}
.summon-banner .sb-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;justify-content:center}
.summon-banner .sb-right .sb-name{font-size:10px;color:var(--txt);font-weight:700}
.sb-lvl-text{font-size:8px;color:var(--gold);font-weight:400}
.sb-btns{display:flex;gap:3px}
.sb-summon-btn{flex:1;padding:5px 2px;font-size:9px;font-weight:700;cursor:pointer;border:1.5px solid #6B4F10;
  background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;font-family:inherit;border-radius:4px;
  text-shadow:0 1px 2px #000;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:2px}
.sb-summon-btn:hover{background:linear-gradient(180deg,#D4B030,#9B7A20)}
.sb-summon-btn:disabled{opacity:0.3;cursor:default}
.sb-price{font-size:7px;opacity:0.85;display:flex;align-items:center;gap:2px}
.sb-price .curr-icon-sm{width:10px;height:10px}
.sb-info{cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center}
.sb-info:hover svg circle{stroke:var(--gold)}

#summon-currency-strip{display:flex;justify-content:space-around;align-items:center;padding:8px 4px;margin-top:6px;
  background:rgba(0,0,0,0.15);border:1px solid #3a3520;border-radius:4px;font-size:10px;color:var(--txt-dim);gap:4px}
#summon-currency-strip .curr-icon-sm{width:clamp(14px,4vw,18px);height:clamp(14px,4vw,18px)}
#summon-currency-strip span{display:inline-flex;align-items:center;gap:3px}

/* Summon Info Popup */
#summon-info-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);z-index:120;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#summon-info-popup.visible{display:flex}
#summon-info-window{background:var(--win-bg);border:3px solid var(--win-border);width:88vw;max-width:300px;
  box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.7);overflow:hidden}
.siw-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--win-bg-d);border-bottom:2px solid #3a3520}
.siw-title{font-size:11px;color:var(--gold);font-weight:700}
#siw-body{padding:10px 12px}
.siw-rate-row{display:flex;justify-content:space-between;padding:4px 6px;font-size:9px;color:var(--txt);border-bottom:1px solid #2a2a35}
.siw-rate-row:last-child{border-bottom:none}
.siw-tier{font-weight:700}
.siw-rate{color:var(--gold)}

#expand-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);z-index:100;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#expand-popup.visible{display:flex}
#expand-window{background:var(--win-bg);border:3px solid var(--win-border);padding:0;max-width:280px;width:85vw;overflow:hidden;box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.6)}
#expand-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:2px solid #3a3520;background:var(--win-bg-d);font-size:12px;color:var(--gold);font-weight:700}
#expand-body{padding:14px 16px}
#market-rates{display:flex;justify-content:center;padding:8px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;margin-bottom:12px;border-radius:4px}
.market-rate{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--txt);font-weight:600}
#market-actions{display:flex;flex-direction:column;gap:10px}
.market-section{
  background:rgba(0,0,0,0.15);border:2px solid #3a3520;padding:10px;border-radius:4px}
.market-label{font-size:10px;color:var(--txt-dim);margin-bottom:6px;font-weight:600}
.market-row{display:flex;gap:6px;align-items:center}
.market-row input{flex:1;background:rgba(0,0,0,0.3);border:2px solid var(--slot-border);padding:6px 8px;color:var(--txt);font-size:12px;font-family:inherit;outline:none;width:60px;border-radius:3px}
.market-row input:focus{border-color:var(--win-border)}
.market-btn{padding:6px 14px;font-size:10px;font-weight:700;cursor:pointer;border:2px solid rgba(74,222,128,0.5);background:rgba(74,222,128,0.1);color:var(--green);transition:all .15s;font-family:inherit;border-radius:3px}
.market-btn:hover{background:rgba(74,222,128,0.2)}
.market-btn.sell{border-color:rgba(200,74,58,0.5);background:rgba(200,74,58,0.1);color:var(--red)}
.market-btn.sell:hover{background:rgba(200,74,58,0.2)}

/* === RESPONSIVE === */
@media(min-width:800px){
  #joystick-zone{display:none}
  #btn-autofight{display:none}
}

/* === ENHANCE === */
#enhance-main-tabs{display:flex;gap:0;margin-bottom:10px;border:2px solid #3a3520;overflow:hidden;border-radius:4px}
.enhance-main-tab{flex:1;padding:8px 0;text-align:center;font-size:10px;font-weight:700;color:var(--txt-dim);cursor:pointer;
  background:#2a2a35;transition:all .15s;font-family:inherit}
.enhance-main-tab.active{color:var(--gold);background:var(--win-bg);box-shadow:inset 0 -2px 0 var(--win-border)}
.em-panel{max-height:calc(100% - 80px);overflow-y:auto}
#enhance-tabs{display:flex;gap:3px;margin-bottom:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
#enhance-tabs::-webkit-scrollbar{display:none}
.enhance-tab{flex:0 0 auto;min-width:50px;text-align:center;padding:5px 6px;font-size:10px;cursor:pointer;scroll-snap-align:start;
  background:#2a2a35;border:2px solid #3a3a45;color:var(--txt-dim);transition:all .15s;border-radius:4px 4px 0 0;display:flex;align-items:center;justify-content:center}
.enhance-tab img.tab-enh-icon{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}
.tab-enh-label{font-size:7px;font-weight:700;letter-spacing:0;text-transform:uppercase;line-height:1.2;white-space:nowrap;text-align:center}
.enhance-tab:hover{opacity:0.7}
.enhance-tab.active{color:var(--gold);border-color:var(--win-border);font-weight:700;border-bottom-color:transparent;box-shadow:inset 0 -2px 0 var(--win-border);background:var(--win-bg)}
#enhance-slot-bonus{
  background:rgba(231,184,76,0.06);border:2px solid rgba(231,184,76,0.2);padding:8px 10px;margin-bottom:8px;
  display:flex;flex-direction:column;gap:5px;font-size:9px;color:var(--txt);border-radius:4px}
.esb-info{display:flex;align-items:center;justify-content:space-between}
.esb-bar{width:100%;height:8px;background:rgba(0,0,0,0.3);overflow:hidden;border-radius:4px}
.esb-bar-fill{height:100%;background:linear-gradient(90deg,#2d6a30,var(--green));transition:width .3s}
.enhance-merge-all{width:100%;padding:6px;
  background:linear-gradient(180deg,#C9A020,#8B6914);
  border:2px solid #6B4F10;color:#fff;font-size:9px;font-weight:700;
  cursor:pointer;margin-bottom:8px;font-family:inherit;transition:all .15s;
  box-shadow:inset 1px 1px 0 rgba(255,255,200,0.3),0 2px 4px rgba(0,0,0,0.2);border-radius:4px;text-shadow:0 1px 2px #000}
.enhance-merge-all:hover{background:linear-gradient(180deg,#D4B030,#9B7A20)}
.enhance-merge-all:active{box-shadow:inset 1px 2px 3px rgba(0,0,0,0.3)}
#enhance-grid{overflow-y:auto;padding-right:2px}
.enhance-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.enhance-card{aspect-ratio:1;
  background:var(--slot-bg);border:2px solid var(--slot-border);position:relative;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:3px 2px 2px;overflow:hidden;
  transition:all .15s;
  box-shadow:inset 1px 2px 4px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.3);
  border-radius:4px}
.enhance-card:hover{border-color:var(--win-border-l)}
.enhance-card.unlocked{background:#161622}
.enhance-card.best{border-color:var(--win-border);box-shadow:0 0 8px rgba(231,184,76,0.2)}
.enhance-card.locked-tier{opacity:0.35}
.ec-icon{flex:1;min-height:0;width:85%;display:flex;align-items:center;justify-content:center}
.ec-icon img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;transform:scale(1.25)}
.edc-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.edc-icon img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.ec-grade{position:absolute;top:2px;right:3px;font-size:7px;font-weight:700;text-shadow:1px 1px 0 #000}
.ec-locked-lv{font-size:6px;color:var(--txt);opacity:0.4;flex-shrink:0;padding-bottom:1px}
.ec-data{width:100%;flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:1px;padding:0 1px 0}
.ec-data-top{display:flex;align-items:center;justify-content:space-between;line-height:1}
.ec-level{font-size:6px;color:var(--txt);font-weight:600;text-shadow:0 0 2px #000}
.ec-bonus-val{font-size:6px;color:var(--gold);font-weight:700;text-shadow:0 0 2px #000}
.ec-status{position:absolute;top:2px;left:2px;font-size:6px;font-weight:700;padding:1px 3px;border-radius:2px;line-height:1;z-index:2}
.ec-status.equipped{background:rgba(74,222,128,0.85);color:#0a1f0c;border:1px solid rgba(255,255,255,0.4);text-shadow:none}
.ec-status.passive{background:rgba(148,163,184,0.7);color:#1a1f24;border:1px solid rgba(255,255,255,0.25);text-shadow:none}
.ec-bar{width:100%;height:6px;background:rgba(0,0,0,0.3);margin:1px 0 0;position:relative;overflow:hidden;display:flex;align-items:center;border-radius:2px}
.ec-bar-fill{height:100%;background:linear-gradient(90deg,#2d6a30,var(--green));transition:width .3s;position:absolute;top:0;left:0}
.ec-bar-text{position:relative;z-index:1;width:100%;text-align:center;font-size:5px;color:var(--txt);font-weight:700;text-shadow:0 0 2px #000}

/* Enhance Detail Popup */
#enhance-detail-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);z-index:110;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#enhance-detail-popup.visible{display:flex}
#enhance-detail-card{
  background:var(--win-bg);border:3px solid var(--win-border);padding:16px 20px;min-width:240px;max-width:85vw;position:relative;
  box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.5)}
#enhance-detail-card::before{content:'';position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid rgba(255,200,100,0.1);pointer-events:none}
.edc-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.edc-info{display:flex;flex-direction:column;gap:2px}
.edc-tier{font-size:14px;font-weight:700;color:var(--gold);text-shadow:0 1px 3px #000}
.edc-level{font-size:10px;color:var(--txt-dim)}
.edc-count{font-size:10px;color:var(--txt-dim)}
.edc-stats{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:8px 10px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;border-radius:4px}
.edc-current{font-size:11px;color:var(--txt);font-weight:600}
.edc-next{font-size:10px;color:var(--green)}
.edc-actions{display:flex;gap:8px}
.edc-btn{flex:1;padding:8px 0;font-size:10px;font-weight:700;cursor:pointer;border:2px solid;font-family:inherit;transition:all .15s;text-align:center;border-radius:4px}
.edc-merge{background:linear-gradient(180deg,#C9A020,#8B6914);border-color:#6B4F10;color:#fff;text-shadow:0 1px 2px #000}
.edc-merge:hover:not(:disabled){background:linear-gradient(180deg,#D4B030,#9B7A20)}
.edc-lvlup{background:rgba(192,132,252,0.15);color:#c084fc;border-color:rgba(147,51,234,0.4)}
.edc-lvlup:hover:not(:disabled){background:rgba(192,132,252,0.25)}
.edc-btn:disabled{opacity:0.35;cursor:default}
.edc-close{position:absolute;top:8px;right:10px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--txt);font-size:14px;cursor:pointer;
  background:rgba(0,0,0,0.2);border:2px solid var(--slot-border);border-radius:3px;z-index:3}
.edc-close:hover{background:linear-gradient(180deg,#D85A4A,#A83020);color:#fff;border-color:#8B2E1F}

/* Soon popup */
#soon-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);z-index:100;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#soon-popup.visible{display:flex}
#soon-window{
  background:var(--win-bg);border:3px solid var(--win-border);padding:20px 30px;text-align:center;
  box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.5)}
#soon-header{font-size:14px;color:var(--gold);font-weight:700;margin-bottom:8px;text-shadow:0 1px 3px #000;display:flex;align-items:center;justify-content:space-between}
#soon-close{width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--txt);font-size:14px;cursor:pointer;background:rgba(0,0,0,0.2);border:2px solid var(--slot-border);border-radius:3px;transition:all .15s;flex-shrink:0}
#soon-close:hover{background:linear-gradient(180deg,#D85A4A,#A83020);color:#fff;border-color:#8B2E1F}
#soon-body{font-size:11px;color:var(--txt-dim)}

/* === SEASON POOL BTN === */
#season-pool-btn:hover{border-color:var(--win-border);box-shadow:0 0 12px rgba(231,184,76,0.3)}

/* === SEASON WINDOW — NORMAL PHASE === */
#season-normal-view{display:flex;flex-direction:column;gap:8px}
#season-pool-section{text-align:center;padding:12px 10px 10px;
  background:rgba(231,184,76,0.07);border:2px solid rgba(231,184,76,0.25);border-radius:6px}
#season-pool-label{font-size:10px;color:var(--txt-dim);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}
#season-pool-value{font-size:26px;color:var(--gold);font-weight:900;text-shadow:0 2px 6px rgba(231,184,76,0.4);line-height:1}
#season-timer{font-size:11px;color:var(--txt-dim);font-weight:600;margin-top:5px}
#season-breakdown{display:flex;gap:10px;align-items:center;padding:8px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;border-radius:5px}
#season-pie{width:64px;height:64px;border-radius:50%;flex-shrink:0;border:2px solid var(--slot-border)}
#season-pie-legend{flex:1;display:flex;flex-direction:column;gap:4px}
.pie-legend-row{display:flex;align-items:center;gap:6px;cursor:pointer;padding:2px 4px;transition:background .15s;border-radius:3px}
.pie-legend-row:hover{background:rgba(255,255,255,0.05)}
.plr-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.plr-label{font-size:9px;color:var(--txt)}
.plr-pct{color:var(--txt-dim);margin-left:4px}
#season-pie-tooltip{position:fixed;bottom:50%;left:50%;transform:translateX(-50%);
  background:var(--win-bg);border:2px solid var(--win-border);
  padding:8px 12px;font-size:9px;color:var(--txt);z-index:120;display:none;max-width:250px;text-align:center;
  box-shadow:0 4px 16px rgba(0,0,0,0.5)}
#season-pie-tooltip.visible{display:block}
/* coins hero block */
#season-coins-hero{text-align:center;padding:12px 10px;
  background:rgba(0,0,0,0.25);border:2px solid #3a3520;border-radius:6px}
#sch-label{font-size:10px;color:var(--txt-dim);display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:4px}
#sch-val{font-size:32px;font-weight:900;color:#fff;line-height:1;text-shadow:0 2px 8px rgba(255,255,255,0.15)}
#sch-sub{font-size:9px;color:var(--txt-dim);margin-top:5px}
/* pool sources block */
#season-pool-sources{padding:7px 10px;background:rgba(0,0,0,0.18);border:1px solid #3a3520;border-radius:5px}
.sps-title{font-size:8px;color:var(--txt-dim);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-weight:700}
.sps-row{font-size:9px;color:var(--txt);line-height:1.6}
.sps-pct{color:var(--gold);font-weight:800;min-width:34px;display:inline-block}
.sps-note{font-size:8px;color:var(--txt-dim);margin-top:5px;line-height:1.4;border-top:1px solid #3a3520;padding-top:5px}
/* how-to block */
#season-how-block{display:flex;flex-direction:column;gap:5px;padding:8px 10px;
  background:rgba(0,0,0,0.15);border-left:3px solid var(--win-border);border-radius:0 4px 4px 0}
.shb-title{font-size:8px;color:var(--txt-dim);letter-spacing:1px;text-transform:uppercase;font-weight:700;margin-bottom:2px}
.shb-row{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:var(--txt);line-height:1.4}
.shb-icon{font-size:13px;flex-shrink:0;line-height:1}
/* card info block */
#season-card-info{padding:8px 10px;background:rgba(212,160,23,0.07);border:1px solid rgba(212,160,23,0.25);border-radius:5px;display:flex;flex-direction:column;gap:5px}
.sci-title{font-size:9px;color:var(--gold);font-weight:800;letter-spacing:0.5px}
.sci-step{display:flex;align-items:flex-start;gap:7px;font-size:9px;color:var(--txt);line-height:1.5}
.sci-num{min-width:16px;height:16px;border-radius:50%;background:rgba(212,160,23,0.3);border:1px solid rgba(212,160,23,0.5);color:var(--gold);font-size:8px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
#season-nav-btns{display:flex;gap:6px}
.sn-btn{flex:1;padding:9px 6px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;color:var(--txt);font-size:10px;font-weight:700;
  cursor:pointer;font-family:inherit;transition:all .15s;border-radius:4px}
.sn-btn:hover{border-color:var(--win-border);background:rgba(255,255,255,0.04)}

/* === SEASON WINDOW — REWARD PHASE === */
#season-reward-view{display:flex;flex-direction:column;gap:10px}
#srv-header{position:relative;text-align:center;padding:14px 10px 10px;overflow:hidden;
  background:rgba(74,222,128,0.07);border:2px solid rgba(74,222,128,0.3);border-radius:6px}
#srv-glow{position:absolute;top:-20px;left:50%;transform:translateX(-50%);
  width:120px;height:60px;background:radial-gradient(ellipse,rgba(74,222,128,0.35),transparent 70%);pointer-events:none}
#srv-title{font-size:18px;font-weight:900;color:#4ade80;text-shadow:0 0 16px rgba(74,222,128,0.6);letter-spacing:.5px}
#srv-sub{font-size:10px;color:var(--txt-dim);margin-top:4px}
#srv-timer-row{margin-top:6px}
#srv-timer{font-size:15px;font-weight:900;color:var(--gold);letter-spacing:1px;font-variant-numeric:tabular-nums}
#srv-coins-row{display:flex;align-items:center;justify-content:center;gap:8px;
  padding:10px;background:rgba(0,0,0,0.25);border:2px solid #3a3520;border-radius:6px}
#srv-coins{font-size:28px;font-weight:900;color:#fff;line-height:1}
#srv-coins-label{font-size:10px;color:var(--txt-dim)}
/* choice tabs */
#srv-claimed-msg{}
.srv-claimed-ok{color:#4ade80;font-size:12px;font-weight:700;text-align:center;padding:12px;
  background:rgba(74,222,128,0.08);border:1px solid rgba(74,222,128,0.25);border-radius:6px}
#srv-choice-wrap{display:flex;flex-direction:column;gap:10px;min-width:0}
#srv-choice-label{font-size:8px;color:#cbd5e1;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;text-align:center}
#srv-choice-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}
.srv-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 9px;cursor:pointer;
  background:linear-gradient(180deg,rgba(0,0,0,0.45),rgba(0,0,0,0.25));
  border:1.5px solid #3a3520;border-radius:10px;font-family:inherit;
  transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;
  color:var(--txt-dim);line-height:1;min-width:0;overflow:hidden;text-align:center}
.srv-tab:hover{border-color:#6b5a2a;background:linear-gradient(180deg,rgba(58,42,13,0.45),rgba(0,0,0,0.3));color:var(--txt)}
.srv-tab.active{border-color:var(--gold);background:linear-gradient(180deg,rgba(212,160,23,0.22),rgba(58,42,13,0.5));color:var(--gold);
  box-shadow:0 0 14px rgba(212,160,23,0.4),inset 0 1px 0 rgba(212,160,23,0.3);transform:translateY(-1px)}
.srv-tab-icon{font-size:18px;line-height:1;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.6))}
.srv-tab-name{font-size:9px;font-weight:800;letter-spacing:0.2px;text-align:center;display:block;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.srv-tab-val{font-size:8px;font-weight:700;color:#4ade80;text-align:center;display:block;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 2px;text-shadow:0 1px 1px rgba(0,0,0,0.6)}
.srv-tab.active .srv-tab-val{color:#86efac;text-shadow:0 1px 2px rgba(0,0,0,0.8)}
/* detail panel */
#srv-choice-detail{border:1.5px solid #3a3520;border-radius:6px;overflow:hidden;background:rgba(0,0,0,0.25)}
.srv-detail-empty{padding:12px 10px;font-size:9px;color:var(--txt-dim);text-align:center;line-height:1.6}
.srv-detail-cards{display:flex;gap:10px;align-items:flex-start;padding:10px 10px 0}
.srv-detail-card-img{width:52px;height:auto;flex-shrink:0;image-rendering:pixelated;border-radius:5px;
  border:1.5px solid rgba(212,160,23,0.4);object-fit:contain}
.srv-detail-right{flex:1;min-width:0}
.srv-detail-title{font-size:11px;font-weight:800;color:var(--gold);margin-bottom:5px}
.srv-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:9px;margin-bottom:3px}
.srv-detail-row-label{color:var(--txt-dim)}
.srv-detail-row-val{color:var(--txt);font-weight:700}
.srv-detail-row-val.green{color:#4ade80}
.srv-detail-perks{display:flex;flex-direction:column;gap:1px;margin-top:4px;padding-top:4px;border-top:1px solid #3a3520}
.srv-detail-perk{font-size:8px;color:#86efac}
.srv-detail-farm,.srv-detail-keep{padding:10px 10px 4px}
.srv-detail-keep .srv-detail-val{font-size:14px;font-weight:800;color:#fde68a;text-align:center;padding:6px 0 8px;text-shadow:0 1px 2px #000}
.srv-detail-hint{font-size:9px;color:#cbd5e1;padding:6px 10px 8px;line-height:1.5;border-top:1px solid rgba(255,255,255,0.04)}
.srv-confirm-btn{width:100%;padding:10px;font-size:11px;font-weight:800;cursor:pointer;border:none;
  font-family:inherit;letter-spacing:0.5px;transition:all .15s;text-transform:uppercase}
.srv-confirm-btn:disabled{opacity:.4;cursor:default}
.srv-confirm-btn.cards{background:linear-gradient(180deg,#3b82f6,#1d4ed8);color:#fff}
.srv-confirm-btn.cards:not(:disabled):hover{filter:brightness(1.15)}
.srv-confirm-btn.farm{background:linear-gradient(180deg,#a855f7,#7c3aed);color:#fff}
.srv-confirm-btn.farm:not(:disabled):hover{filter:brightness(1.15)}
.srv-confirm-btn.keep{background:linear-gradient(180deg,#3b82f6,#1d4ed8);color:#fff;border-top:1px solid #1e40af}
.srv-confirm-btn.keep:not(:disabled):hover{filter:brightness(1.15)}

/* === CARD MARKET === */
#cm-tabs{display:flex;gap:3px;margin-bottom:8px}
.cm-tab{flex:1;text-align:center;padding:6px 0;font-size:10px;font-weight:700;cursor:pointer;
  background:#2a2a35;border:2px solid #3a3a45;color:var(--txt-dim);transition:all .15s;border-radius:4px 4px 0 0}
.cm-tab.active{color:var(--gold);border-color:var(--win-border);background:var(--win-bg)}
#cm-filters{display:flex;gap:6px;margin-bottom:8px}
#cm-sort{flex:1;background:rgba(0,0,0,0.3);border:2px solid var(--slot-border);padding:4px 6px;color:var(--txt);font-size:9px;font-family:inherit;border-radius:3px}
.cm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.cm-card{
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;padding:8px;display:flex;flex-direction:column;gap:3px;position:relative;border-radius:4px}
.cm-card.owned{border-color:rgba(74,222,128,0.5)}
.cmc-top{display:flex;justify-content:space-between;align-items:center}
.cmc-icon{font-size:22px}
.cmc-season{font-size:8px;color:var(--txt-dim);background:rgba(0,0,0,0.2);padding:2px 6px;font-weight:700}
.cmc-level{font-size:11px;color:var(--txt);font-weight:700;text-align:center}
.cmc-perks{font-size:7px;color:var(--txt-dim);display:flex;flex-direction:column;gap:1px}
.cmc-price{font-size:13px;font-weight:700;text-align:center;padding:3px 0;color:var(--txt)}
.cmc-seller{font-size:7px;color:var(--txt-dim);text-align:center}
.cmc-buy{width:100%;padding:6px;
  background:linear-gradient(180deg,#C9A020,#8B6914);
  border:2px solid #6B4F10;color:#fff;font-size:9px;font-weight:700;
  cursor:pointer;font-family:inherit;transition:all .15s;border-radius:4px;text-shadow:0 1px 2px #000}
.cmc-buy:hover:not(:disabled){background:linear-gradient(180deg,#D4B030,#9B7A20)}
.cmc-buy:disabled{opacity:0.3;cursor:default}
.cmc-instant{font-size:8px;color:var(--green);text-align:center;background:rgba(74,222,128,0.08);padding:2px 4px;border-radius:3px}
.cmc-actions{display:flex;gap:4px;flex-wrap:wrap}
.cmc-act-btn{flex:1;min-width:50px;padding:5px 4px;font-size:7px;font-weight:700;cursor:pointer;border:2px solid;font-family:inherit;transition:all .15s;text-align:center;border-radius:3px}
.cmc-act-btn.instant{background:rgba(74,222,128,0.1);color:var(--green);border-color:rgba(74,222,128,0.3)}
.cmc-act-btn.sell{background:rgba(231,184,76,0.1);color:var(--gold-d);border-color:rgba(231,184,76,0.3)}
.cmc-act-btn.upgrade{background:rgba(192,132,252,0.1);color:#c084fc;border-color:rgba(147,51,234,0.3)}
.cmc-act-btn:disabled{opacity:0.3;cursor:default}
.cm-order-row{
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;padding:8px 10px;margin-bottom:6px;border-radius:4px}
.cmor-info{display:flex;justify-content:space-between;font-size:10px;color:var(--txt);font-weight:600;margin-bottom:3px}
.cmor-meta{font-size:8px;color:var(--txt-dim);margin-bottom:6px}
.cmor-cancel{padding:5px 12px;
  background:rgba(200,74,58,0.1);border:2px solid rgba(200,74,58,0.5);color:var(--red);font-size:8px;font-weight:700;
  cursor:pointer;font-family:inherit;border-radius:3px}
.cmor-cancel:hover{background:rgba(200,74,58,0.2)}
.cm-panel{max-height:calc(100% - 80px);overflow-y:auto}

/* === SELL POPUP === */
#sell-card-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);z-index:120;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#sell-card-popup.visible{display:flex}
#sell-card-window{
  background:var(--win-bg);border:3px solid var(--win-border);padding:16px 20px;width:85vw;max-width:300px;
  box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.5);position:relative}
#sell-card-window::before{content:'';position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid rgba(255,200,100,0.1);pointer-events:none}
.sell-header{font-size:13px;color:var(--gold);font-weight:700;margin-bottom:10px;text-align:center;text-shadow:0 1px 3px #000}
#sell-card-info{font-size:11px;color:var(--txt);text-align:center;margin-bottom:10px;padding:6px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;border-radius:4px}
.sell-price-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:10px;color:var(--txt-dim)}
.sell-price-row input{width:100px;
  background:rgba(0,0,0,0.3);border:2px solid var(--slot-border);padding:5px 8px;color:var(--txt);font-size:12px;font-family:inherit;text-align:right;border-radius:3px}
#sell-commission,#sell-net{font-size:9px;color:var(--txt-dim);margin-bottom:3px}
#sell-net{color:var(--green);font-weight:600;margin-bottom:10px}
.sell-actions{display:flex;gap:8px}
.sell-btn{flex:1;padding:8px;font-size:10px;font-weight:700;cursor:pointer;border:2px solid;font-family:inherit;transition:all .15s;border-radius:4px}
.sell-btn.confirm{background:linear-gradient(180deg,#C9A020,#8B6914);border-color:#6B4F10;color:#fff;text-shadow:0 1px 2px #000}
.sell-btn.confirm:hover{background:linear-gradient(180deg,#D4B030,#9B7A20)}
.sell-btn.cancel{background:rgba(0,0,0,0.15);color:var(--txt-dim);border-color:#3a3520}

/* === SKILLS WINDOW === */
#skill-slots-section{margin-bottom:8px}
#skill-tc-bar{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:var(--gold);background:rgba(0,0,0,0.25);border-radius:6px;padding:4px 8px;margin-bottom:8px;justify-content:center}
#skill-slots-label,#skill-all-label{font-size:9px;color:var(--txt-dim);font-weight:700;margin-bottom:6px;letter-spacing:0.5px}
#skill-active-slots{display:flex;gap:6px;justify-content:center}
#gc-active-slots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:8px}
.gc-inv-card{display:flex;gap:6px;align-items:center;background:rgba(0,0,0,0.25);border-radius:6px;padding:6px;cursor:pointer;border:1px solid var(--slot-border)}
.gc-inv-card:hover{border-color:var(--gold);background:rgba(231,184,76,0.08)}
.skill-slot{width:44px;height:44px;
  background:var(--slot-bg);border:2px solid var(--slot-border);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;position:relative;transition:all .2s;
  box-shadow:inset 1px 2px 4px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.3);
  border-radius:4px}
.skill-slot::after{content:'';position:absolute;top:1px;left:1px;right:1px;bottom:1px;border:1px solid rgba(255,200,100,0.06);border-radius:2px;pointer-events:none}
.skill-slot.locked{opacity:0.5;cursor:default;border-style:dashed}
.skill-slot.locked.buyable{opacity:0.85;border-color:#C9A020;box-shadow:0 0 6px rgba(231,184,76,0.4);cursor:pointer}
.skill-slot.locked.buyable:hover{opacity:1;box-shadow:0 0 10px rgba(231,184,76,0.7)}
.skill-slot .ss-wave img.curr-icon-sm{width:8px;height:8px;margin-left:2px}
.skill-slot.filled{border-color:var(--win-border);box-shadow:0 0 8px rgba(231,184,76,0.25)}
.skill-slot .ss-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}
.ss-icon img.skill-icon-img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.skill-slot .ss-cd-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;font-size:8px;color:var(--gold);font-weight:700;border-radius:3px}
.skill-slot .ss-lock{font-size:12px;color:var(--txt-dim)}
.skill-slot .ss-cost{font-size:6px;color:#f59e0b;display:flex;align-items:center;gap:1px;margin-top:1px;line-height:1}
.skill-slot .ss-label{display:none}
.skill-slot.filled .ss-icon{width:38px;height:38px}
.skill-slot.filled .ss-icon img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.skill-slot .ss-unequip{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:linear-gradient(180deg,#ef4444,#991b1b);border:1px solid #7f1d1d;border-radius:50%;color:#fff;font-size:10px;line-height:14px;text-align:center;font-weight:700;cursor:pointer;z-index:5;box-shadow:0 1px 3px rgba(0,0,0,0.6)}
.skill-slot .ss-unequip:hover{background:linear-gradient(180deg,#dc2626,#7f1d1d);transform:scale(1.1)}
.skill-slot .ss-wave{font-size:6px;color:var(--txt-dim);margin-top:1px}
.skill-divider{height:2px;background:#3a3520;margin:10px 0;box-shadow:0 1px 0 rgba(231,184,76,0.1)}
#skill-all-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.skill-col{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 6px;border-right:1px solid rgba(231,184,76,0.18)}
.skill-col:last-child{border-right:none}
.skill-col-head{font-size:7px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:0.5px;text-align:center;padding-bottom:2px;border-bottom:1px solid rgba(231,184,76,0.15);width:100%}
.skill-card{
  background:none;border:none;padding:2px;
  display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;
  transition:all .15s;position:relative;
  border-radius:4px}
.skill-card:hover{transform:scale(1.05)}
.skill-card.equipped .sc-icon-wrap{box-shadow:0 0 8px rgba(74,222,128,0.4);border-color:rgba(74,222,128,0.5)}
.skill-card.locked{opacity:0.35}
.skill-card .sc-name{font-size:6px;color:var(--txt);font-weight:600;text-align:center;line-height:1.1;overflow:hidden;text-overflow:ellipsis;width:100%;max-width:52px;white-space:nowrap}
.sc-icon-wrap{width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  background:var(--slot-bg);border:2px solid var(--slot-border);border-radius:6px;
  box-shadow:inset 1px 2px 4px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.3)}
.sc-icon-wrap img.skill-icon-img{width:80%;height:80%;object-fit:contain;image-rendering:pixelated}
.sc-bar{width:52px;height:8px;background:rgba(0,0,0,0.4);border-radius:4px;position:relative;overflow:hidden;display:flex;align-items:center}
.sc-bar-fill{height:100%;background:linear-gradient(90deg,#2d6a30,var(--green));position:absolute;top:0;left:0;border-radius:4px}
.sc-bar-text{position:relative;z-index:1;width:100%;text-align:center;font-size:6px;color:var(--txt);font-weight:700;text-shadow:0 0 2px #000}
.skill-card .sc-eq-badge{position:absolute;top:2px;right:6px;font-size:8px}

/* === SKILL DETAIL POPUP === */
#skill-detail-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);z-index:120;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#skill-detail-popup.visible{display:flex}
#skill-detail-card{
  background:var(--win-bg);border:3px solid var(--win-border);padding:16px 18px;width:88vw;max-width:320px;
  box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.5);position:relative}
#skill-detail-card::before{content:'';position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid rgba(255,200,100,0.1);pointer-events:none}
.skd-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;position:relative}
.skd-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,0.2);border:2px solid var(--slot-border);border-radius:4px}
.skd-icon img.skill-icon-img{width:80%;height:80%;object-fit:contain;image-rendering:pixelated}
.skd-info{flex:1}
.skd-name{font-size:12px;color:var(--gold);font-weight:700;text-shadow:0 1px 3px #000}
.skd-level{font-size:9px;color:var(--txt-dim);margin-top:2px}
.skd-close{width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--txt);font-size:14px;cursor:pointer;
  background:rgba(0,0,0,0.2);border:2px solid var(--slot-border);border-radius:3px;z-index:3}
.skd-close:hover{background:linear-gradient(180deg,#D85A4A,#A83020);color:#fff;border-color:#8B2E1F}
.skd-desc{font-size:9px;color:var(--txt-dim);line-height:1.5;margin-bottom:10px;padding:6px 8px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;border-radius:4px}
.skd-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-bottom:10px}
.skd-stat{font-size:8px;color:var(--txt);display:flex;justify-content:space-between}
.skd-stat .label{color:var(--txt-dim)}
.skd-stat .val{font-weight:700}
.skd-stat .val.green{color:var(--green)}
.skd-progress{margin-bottom:12px}
.skd-cards{font-size:8px;color:var(--txt-dim);margin-bottom:4px;display:flex;justify-content:space-between}
.skd-merge-bar{height:6px;background:rgba(0,0,0,0.3);overflow:hidden;border-radius:3px}
.skd-merge-fill{height:100%;background:linear-gradient(90deg,#2d6a30,var(--green));transition:width .3s}
.skd-actions{display:flex;gap:6px}
.skd-btn{flex:1;padding:8px 4px;font-size:9px;font-weight:700;cursor:pointer;border:2px solid;font-family:inherit;transition:all .15s;text-align:center;border-radius:4px;
  background:rgba(0,0,0,0.2);color:var(--txt)}
.skd-btn.skd-equip{background:rgba(74,222,128,0.1);color:var(--green);border-color:rgba(74,222,128,0.3)}
.skd-btn.skd-equip:hover{background:rgba(74,222,128,0.2)}
.skd-btn.skd-equip.unequip{background:rgba(200,74,58,0.1);color:var(--red);border-color:rgba(200,74,58,0.3)}
.skd-btn.skd-lvlup{background:rgba(59,130,246,0.1);color:var(--blue);border-color:rgba(59,130,246,0.3)}
.skd-btn.skd-lvlup:hover{background:rgba(59,130,246,0.2)}
.skd-btn.skd-merge{background:rgba(192,132,252,0.1);color:#c084fc;border-color:rgba(147,51,234,0.3)}
.skd-btn.skd-merge:hover{background:rgba(192,132,252,0.2)}
.skd-btn:disabled{opacity:0.3;cursor:default}

/* === VIP POPUP === */
#vip-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);z-index:100;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#vip-popup.visible{display:flex}
#vip-window{background:var(--win-bg);border:3px solid var(--win-border);width:88vw;max-width:320px;
  box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.7);overflow:hidden;position:relative}
#vip-window::before{content:'';position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid rgba(255,200,100,0.1);pointer-events:none}
.vip-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(180deg,var(--win-bg-d),#101018);border-bottom:2px solid #3a3520}
.vip-header .win-title{color:var(--gold)}
#vip-level-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px}
#vip-level-display{font-size:22px;font-weight:700;color:var(--gold);text-shadow:0 2px 6px rgba(231,184,76,0.5)}
#vip-level-next{font-size:8px;color:var(--txt-dim)}
#vip-xp-wrap{padding:0 16px 10px}
#vip-xp-bar{width:100%;height:10px;background:rgba(0,0,0,0.4);border-radius:5px;overflow:hidden;border:1px solid #3a3520}
#vip-xp-fill{height:100%;background:linear-gradient(90deg,#9333ea,#c084fc);border-radius:5px;transition:width .4s}
#vip-xp-text{font-size:8px;color:var(--txt-dim);text-align:center;margin-top:4px}
#vip-xp-row{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}
#vip-xp-row #vip-xp-text{margin-top:0}
#vip-howto-btn{font:inherit;font-size:6px;font-weight:700;letter-spacing:.3px;line-height:1;
  padding:3px 7px;border-radius:8px;cursor:pointer;
  background:linear-gradient(135deg,#4a3aa8,#6b4ad8);color:#fbbf24;border:1px solid #fbbf24;
  text-shadow:0 1px 1px #000;box-shadow:0 1px 3px rgba(0,0,0,0.4);text-transform:uppercase}
#vip-howto-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(74,58,168,.6)}
#vip-earn-hint{font-size:7px;color:var(--txt-dim);text-align:center;padding:0 16px 8px;line-height:1.5}
#vip-bonuses{padding:6px 14px 14px}
.vip-bonus-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;
  background:rgba(0,0,0,0.2);border:1px solid #3a3520;border-radius:4px;margin-bottom:4px}

/* === PRIVACY POPUP === */
#privacy-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.8);z-index:150;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#privacy-popup.visible{display:flex}
#privacy-window{background:var(--win-bg);border:3px solid var(--win-border);width:90vw;max-width:360px;max-height:80vh;display:flex;flex-direction:column;
  box-shadow:0 0 20px var(--win-glow),0 8px 32px rgba(0,0,0,0.7)}
#privacy-body{padding:14px 16px;overflow-y:auto;font-size:8px;color:var(--txt);line-height:1.7;flex:1}
#privacy-body h4{color:var(--gold);font-size:9px;margin:10px 0 4px}
#privacy-body p{color:var(--txt-dim);margin-bottom:6px}

/* === GROWTH WINDOW === */
#growth-tabs{display:flex;gap:0;margin-bottom:10px;border:2px solid #3a3520;overflow:hidden;border-radius:4px}
.growth-tab{flex:1;padding:7px 0;text-align:center;font-size:9px;font-weight:700;color:var(--txt-dim);cursor:pointer;
  background:#2a2a35;transition:all .15s;font-family:inherit}
.growth-tab.active{color:var(--gold);
  background:var(--win-bg);
  box-shadow:inset 0 -2px 0 var(--win-border)}
.growth-tab.locked{color:#6b7280;opacity:.65;cursor:not-allowed;font-size:8px;letter-spacing:.3px}
.growth-panel{max-height:calc(100% - 50px);overflow-y:auto}
.gr-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;margin-bottom:8px;border-radius:6px}
.gr-header{display:flex;align-items:center;gap:8px}
.gr-stat-icon{width:24px;height:24px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.gr-stat-name{font-size:13px;color:var(--txt);font-weight:700}
.gr-stat-meta{font-size:9px;color:var(--txt-dim);margin-left:4px}
.gr-body{display:flex;align-items:center;gap:10px;padding:4px 0}
.gr-cur{font-size:13px;color:var(--txt-dim);font-weight:600;flex:1;text-align:center}
.gr-arrow{font-size:14px;color:var(--green);font-weight:700}
.gr-next{font-size:13px;color:var(--green);font-weight:700;flex:1;text-align:center}
.gr-btn{padding:8px 14px;font-size:10px;font-weight:700;cursor:pointer;border:2px solid;font-family:inherit;transition:all .15s;
  background:linear-gradient(180deg,#C9A020,#8B6914);border-color:#6B4F10;color:#fff;border-radius:4px;text-shadow:0 1px 2px #000;white-space:nowrap;
  display:flex;align-items:center;gap:5px;flex-shrink:0}
.gr-btn:hover{background:linear-gradient(180deg,#D4B030,#9B7A20)}
.gr-btn:disabled{opacity:0.3;cursor:default}
.gr-btn.maxed{background:rgba(0,0,0,0.2);color:var(--txt-dim);border-color:#3a3520;text-shadow:none}
.gr-mul-bar{display:flex;justify-content:flex-end;gap:4px;margin-bottom:8px;padding:4px 0}
.gr-mul-btn{padding:5px 10px;font-size:10px;font-weight:700;cursor:pointer;border:1.5px solid #3a3520;
  background:rgba(0,0,0,0.25);color:var(--txt-dim);font-family:inherit;border-radius:4px;transition:all .15s}
.gr-mul-btn:hover{background:rgba(0,0,0,0.4);color:var(--txt)}
.gr-mul-btn.active{background:linear-gradient(180deg,#C9A020,#8B6914);border-color:#6B4F10;color:#fff;text-shadow:0 1px 2px #000}

#talent-currency{display:flex;align-items:center;gap:6px;padding:8px 10px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;margin-bottom:8px;font-size:10px;color:var(--txt);font-weight:700;border-radius:4px}
#talent-coins-val{color:var(--gold)}
.talent-buy-btn{margin-left:auto;padding:4px 8px;font-size:7px;font-weight:700;cursor:pointer;border:2px solid rgba(147,51,234,0.3);
  background:rgba(192,132,252,0.1);color:#c084fc;font-family:inherit;border-radius:3px}
.talent-buy-btn:hover{background:rgba(192,132,252,0.2)}
#talent-grid{display:grid;grid-template-columns:1fr;gap:5px}
.tl-row{display:flex;align-items:center;gap:10px;padding:12px 10px;
  background:rgba(0,0,0,0.2);border:2px solid #3a3520;margin-bottom:8px;border-radius:6px}
.tl-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tl-icon img.stat-icon-img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}
.tl-info{flex:1;min-width:0}
.tl-name{font-size:11px;color:var(--txt);font-weight:700}
.tl-level{font-size:8px;color:var(--txt-dim);margin-top:2px}
.tl-bonus{font-size:10px;color:var(--green);font-weight:600;margin-top:3px}
.tl-cost{font-size:9px;color:var(--txt);font-weight:600;white-space:nowrap}
.tl-btn{padding:8px 14px;font-size:9px;font-weight:700;cursor:pointer;border:2px solid;font-family:inherit;transition:all .15s;
  background:linear-gradient(180deg,#C9A020,#8B6914);border-color:#6B4F10;color:#fff;border-radius:4px;text-shadow:0 1px 2px #000;white-space:nowrap}
.tl-btn:hover{background:linear-gradient(180deg,#D4B030,#9B7A20)}
.tl-btn:disabled{opacity:0.3;cursor:default}
.tl-btn.maxed{background:rgba(0,0,0,0.2);color:var(--txt-dim);border-color:#3a3520;text-shadow:none}

/* === BOOST X2 BUTTON === */
#btn-boost{position:fixed;right:10px;bottom:167px;z-index:25;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:8px 6px;background:var(--win-bg);border:2px solid var(--slot-border);border-radius:8px;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,0.5)}
#btn-boost:hover{border-color:var(--win-border)}
#btn-boost.active{border-color:#f59e0b;box-shadow:0 0 12px rgba(245,158,11,0.3)}
.boost-icon{font-size:14px;font-weight:900;color:#f59e0b;text-shadow:0 0 8px rgba(245,158,11,0.5)}
.boost-label{font-size:7px;color:var(--txt-dim)}
#btn-boost.active .boost-icon{animation:boost-pulse 1s infinite}
@keyframes boost-pulse{0%,100%{text-shadow:0 0 8px rgba(245,158,11,0.5)}50%{text-shadow:0 0 20px rgba(245,158,11,0.9)}}

/* === WAVE-CAPTCHA MODAL (2026-05-20 v4) === */
/* Compact centered modal — math captcha used on fast new max_wave climbs
   past wave 56. Designed to be quick and unobtrusive: appears, gets
   answered in 2-3s, dismisses. Heavy backdrop so the player focuses on
   the math, not the chaotic battlefield behind. */
#wave-captcha-modal{position:fixed;inset:0;z-index:120;
  display:none;align-items:center;justify-content:center;
  background:rgba(0,0,0,0.62);backdrop-filter:blur(4px);
  animation:wcap-fade .18s ease-out}
.wcap-card{position:relative;width:min(320px,90vw);
  background:linear-gradient(180deg,#2b1d08,#15100a);
  border:2px solid #b87b2a;border-radius:14px;
  padding:18px 18px 14px;
  box-shadow:0 12px 40px rgba(0,0,0,0.7),0 0 0 1px rgba(184,123,42,0.25),
             inset 0 1px 0 rgba(255,219,143,0.18);
  text-align:center;color:#f3d99a;
  animation:wcap-pop .25s cubic-bezier(.18,.89,.32,1.28)}
.wcap-glow{position:absolute;inset:-2px;border-radius:14px;
  background:radial-gradient(circle at 50% 0%,rgba(251,191,36,0.22),transparent 60%);
  pointer-events:none;z-index:0}
.wcap-title{position:relative;font-size:14px;font-weight:700;
  color:#fbbf24;letter-spacing:.3px;margin-bottom:2px;z-index:1}
.wcap-sub{position:relative;font-size:11px;color:#caa56a;
  margin-bottom:14px;z-index:1}
.wcap-problem{position:relative;font-size:28px;font-weight:800;
  font-variant-numeric:tabular-nums;color:#fff5d6;
  letter-spacing:1px;margin-bottom:14px;z-index:1;
  text-shadow:0 2px 8px rgba(0,0,0,0.5),0 0 12px rgba(251,191,36,0.18)}
.wcap-choices{position:relative;display:flex;gap:8px;justify-content:center;z-index:1}
.wcap-btn{flex:1;max-width:90px;
  background:linear-gradient(180deg,#3a2810,#241608);
  border:1.5px solid #b87b2a;border-radius:10px;
  padding:10px 8px;font:inherit;font-size:18px;font-weight:700;
  color:#fbbf24;cursor:pointer;
  font-variant-numeric:tabular-nums;
  transition:transform .08s ease-out,background .15s,border-color .15s,box-shadow .15s;
  box-shadow:inset 0 1px 0 rgba(255,219,143,0.18),0 2px 6px rgba(0,0,0,0.35)}
.wcap-btn:hover{background:linear-gradient(180deg,#4a3414,#301c0a);
  border-color:#f59e0b;
  box-shadow:inset 0 1px 0 rgba(255,219,143,0.28),
             0 4px 12px rgba(251,191,36,0.2)}
.wcap-btn:active{transform:translateY(1px)}
.wcap-btn.wcap-picked{background:linear-gradient(180deg,#7c4f1c,#3a2810);
  border-color:#fbbf24;color:#fff;
  box-shadow:0 0 14px rgba(251,191,36,0.5)}
#wave-captcha-modal.wcap-shake .wcap-card{animation:wcap-shake .45s cubic-bezier(.36,.07,.19,.97)}
@keyframes wcap-fade{from{opacity:0}to{opacity:1}}
@keyframes wcap-pop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@keyframes wcap-shake{
  10%,90%{transform:translateX(-2px)}
  20%,80%{transform:translateX(3px)}
  30%,50%,70%{transform:translateX(-5px)}
  40%,60%{transform:translateX(5px)}
}

/* === BOOST POPUP === */
#boost-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);z-index:100;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#boost-popup.visible{display:flex}
#boost-window{width:280px;background:var(--win-bg);border:2px solid var(--win-border);border-radius:10px;padding:16px;box-shadow:0 4px 24px rgba(0,0,0,0.7)}
.boost-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.boost-title{font-size:13px;color:var(--gold);font-weight:700}
.boost-desc{font-size:9px;color:var(--txt);line-height:1.8;margin-bottom:14px;text-align:center}
.boost-timer{font-size:16px;color:#f59e0b;font-weight:900;text-align:center;margin-bottom:12px;text-shadow:0 0 10px rgba(245,158,11,0.5)}
.boost-watch-btn{width:100%;padding:10px;font-size:11px;font-weight:700;cursor:pointer;border:2px solid #6B4F10;
  background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;font-family:inherit;border-radius:4px;text-shadow:0 1px 2px #000}
.boost-watch-btn:disabled{opacity:0.4;cursor:default}

/* === HUD SIDE ROW (Market + Earn pills + collapse toggle) === */
#hud-side-row{position:fixed;right:8px;top:clamp(36px,8vh,56px);z-index:25;display:flex;align-items:flex-start;gap:6px;
  transform:scale(0.92);transform-origin:top right;transition:transform 0.28s ease, opacity 0.28s ease}
#hud-side-row.collapsed{transform:scale(0.92) translateX(calc(100% - 22px))}
#hud-toggle{width:20px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:linear-gradient(180deg,#3a2a0d,#1c1208);
  border:1.5px solid #d4a017;border-radius:9px 0 0 9px;
  box-shadow:0 2px 10px rgba(0,0,0,0.5),0 0 6px rgba(212,160,23,0.35),inset 0 1px 0 rgba(253,230,138,0.2);
  align-self:center;flex-shrink:0;transition:background 0.18s}
#hud-toggle:hover{background:linear-gradient(180deg,rgba(80,56,22,1),rgba(30,20,10,1))}
#hud-toggle-svg{transition:transform 0.28s ease}
/* open → arrow points left (‹); collapsed → arrow points right (›) */
#hud-side-row.collapsed #hud-toggle-svg{transform:rotate(180deg)}

.hud-pill{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;
  width:50px;padding:5px 4px 4px;border-radius:10px;
  background:linear-gradient(160deg,rgba(60,42,16,0.55) 0%,rgba(20,12,5,0.75) 100%);
  border:1.5px solid rgba(212,160,23,0.55);
  box-shadow:0 2px 10px rgba(0,0,0,0.45),inset 0 1px 0 rgba(253,230,138,0.18);
  backdrop-filter:blur(2px);transition:transform 0.12s,border-color 0.18s,box-shadow 0.18s}
.hud-pill:hover{transform:translateY(-1px);border-color:#fde68a;box-shadow:0 4px 14px rgba(241,196,15,0.5),inset 0 1px 0 rgba(253,230,138,0.3)}
.hud-pill-inner{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;
  background:radial-gradient(circle at 50% 35%,rgba(253,230,138,0.18),rgba(0,0,0,0.25) 70%);
  position:relative}
.hud-pill-inner svg{filter:drop-shadow(0 0 3px rgba(0,0,0,0.6))}
.hud-pill-label{font-size:7px;font-weight:800;letter-spacing:0.5px;line-height:1}
.hud-pill.market{border-color:#d4a017;animation:hud-mk-glow 3s ease-in-out infinite}
.hud-pill.market .hud-pill-label{color:#fde68a;text-shadow:0 0 4px rgba(212,160,23,0.7)}
.hud-pill.market .hud-pill-inner{background:radial-gradient(circle at 50% 35%,rgba(253,230,138,0.32),rgba(80,52,16,0.2) 70%)}
.hud-pill.earn{border-color:rgba(150,180,220,0.65)}
.hud-pill.earn .hud-pill-label{color:#e0e7ff;text-shadow:0 0 3px rgba(96,128,180,0.5)}
.hud-pill.earn .hud-pill-inner{background:radial-gradient(circle at 50% 35%,rgba(150,180,220,0.22),rgba(20,30,50,0.25) 70%)}
@keyframes hud-mk-glow{
  0%,100%{box-shadow:0 2px 10px rgba(212,160,23,0.45),inset 0 1px 0 rgba(253,230,138,0.2)}
  50%{box-shadow:0 2px 14px rgba(241,196,15,0.75),inset 0 1px 0 rgba(253,230,138,0.35)}
}
/* Narrow viewports — Market/Earn/SeasonPass pills shrink so they don't crowd
   the canvas on small phones. The rest of the HUD already adapts; these were
   the only elements stuck at desktop size. */
@media (max-width: 480px){
  #hud-side-row{right:6px;gap:4px;transform:scale(0.86);transform-origin:top right}
  .hud-pill{width:42px;padding:4px 3px 3px;border-radius:9px}
  .hud-pill-inner{width:30px;height:30px;border-radius:7px}
  .hud-pill-inner svg{width:22px;height:22px}
  .hud-pill-label{font-size:6.5px;letter-spacing:0.3px}
  #hud-toggle{width:18px;height:46px}
}
@media (max-width: 380px){
  #hud-side-row{transform:scale(0.78);gap:3px}
  .hud-pill{width:38px}
  .hud-pill-inner{width:26px;height:26px}
  .hud-pill-inner svg{width:19px;height:19px}
  .hud-pill-label{font-size:6px}
}

/* === RED DOT === */
.red-dot{position:absolute;top:-3px;right:-3px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:1.5px solid var(--win-bg);
  box-shadow:0 0 4px rgba(239,68,68,0.6);pointer-events:none}

/* === EARN WINDOW === */
#earn-tabs{display:flex;gap:4px;margin-bottom:10px}
.earn-tab{flex:1;text-align:center;padding:7px 4px;font-size:9px;font-weight:700;cursor:pointer;
  background:#2a2a35;border:1px solid transparent;border-radius:6px;color:var(--txt-dim);
  transition:all .15s;position:relative}
.earn-tab.active{color:var(--gold);border-color:var(--win-border);background:var(--win-bg-d)}
.earn-tab:hover{color:var(--txt)}
.earn-panel{max-height:calc(80vh - 120px);overflow-y:auto;padding-right:4px}

/* === TASKS === */
.task-card{background:rgba(0,0,0,0.2);border:2px solid #3a3520;border-radius:8px;padding:12px;margin-bottom:8px}
.task-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.task-name{font-size:10px;color:var(--txt);font-weight:700}
.task-reward{font-size:9px;color:var(--gold);font-weight:600}
.task-desc{font-size:8px;color:var(--txt-dim);margin-bottom:8px;line-height:1.5}
.task-btn{width:100%;padding:7px;font-size:9px;font-weight:700;cursor:pointer;border:2px solid #6B4F10;
  background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;font-family:inherit;border-radius:4px;text-shadow:0 1px 2px #000}
.task-btn:disabled{opacity:0.4;cursor:default}
.task-btn.check{background:linear-gradient(180deg,#2563eb,#1d4ed8);border-color:#1e40af}
.task-btn.claim{background:linear-gradient(180deg,#16a34a,#15803d);border-color:#166534}
.task-btn.processing{background:linear-gradient(180deg,#4b5563,#374151);border-color:#1f2937;color:#cbd5e1;cursor:wait;letter-spacing:.3px}

/* Season pass farm-boost pill + column header chips. Compact: ~8px icon. */
.sch-boost-pill{display:inline-flex;align-items:center;gap:2px;
  margin-left:6px;padding:2px 6px;
  background:linear-gradient(135deg,#4a3aa8,#6b4ad8);
  border:1px solid #fbbf24;border-radius:8px;
  font:inherit;font-size:7px;font-weight:700;color:#fff;
  cursor:pointer;letter-spacing:.3px;
  transition:transform .1s,box-shadow .15s;
  box-shadow:0 1px 3px rgba(0,0,0,.5);
  vertical-align:middle;line-height:1}
.sch-boost-pill:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(74,58,168,.6)}
.sch-boost-pill.active{background:linear-gradient(135deg,#fbbf24,#ef4444);border-color:#fff;color:#1a1a22;text-shadow:none}
.sch-boost-ico{width:9px!important;height:9px!important;object-fit:contain;image-rendering:pixelated;
  vertical-align:middle;display:inline-block;flex:0 0 9px}

/* ×1 / ×2 / ×4 farm-boost plate inside the column TITLE cells (FREE / FARM PASS / STARS PASS).
   Pinned top-right corner. Active multiplier highlighted gold-red. */
.sp-col-label{position:relative;overflow:visible}
.sp-col-mult{position:absolute;top:-7px;right:-4px;
  display:inline-flex;align-items:center;
  padding:2px 7px;border-radius:9px;
  background:linear-gradient(135deg,#4a3aa8,#2a2a35);
  border:1px solid #fbbf24;
  color:#fbbf24;font:inherit;font-size:7px;font-weight:700;letter-spacing:.3px;
  text-shadow:0 1px 1px #000;
  box-shadow:0 2px 6px rgba(0,0,0,0.6);
  z-index:3;line-height:1}
.sp-col-mult.active{background:linear-gradient(135deg,#fbbf24,#ef4444);
  color:#1a1a22;border-color:#fff;text-shadow:none}
.task-btn.done{background:rgba(0,0,0,0.15);border-color:#555;color:var(--txt-dim);cursor:default;opacity:0.6}
/* CPA adsgram-task web component */
.cpa-task-card{padding:10px 8px}
.cpa-ads-el{
  display:block;
  --adsgram-task-font-size:11px;
  --adsgram-task-icon-size:28px;
  --adsgram-task-icon-title-gap:5px;
  --adsgram-task-button-width:64px;
  --adsgram-task-icon-border-radius:4px;
  margin-top:6px;
  border-radius:6px;
  background:rgba(5,3,1,0.55);
  color:#e0c87a;
  border:1px solid #4a3a18;
  box-sizing:border-box;
  width:100%;
}
/* slot buttons */
.cpa-btn{display:block;width:100%;box-sizing:border-box;padding:4px 2px;font-size:8px;font-weight:700;
  font-family:inherit;border-radius:4px;border:none;text-align:center;cursor:pointer;
  line-height:1.2;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.9);white-space:normal;word-break:break-word}
.cpa-go      {background:linear-gradient(180deg,#C9A020,#8B6914)}
.cpa-claim   {background:linear-gradient(180deg,#4f46e5,#3730a3)}
.cpa-done    {background:rgba(255,255,255,0.08);color:var(--gold);border:1px solid #6B4F10}
.cpa-rewarded{background:linear-gradient(180deg,#16a34a,#15803d)}
.cpa-rew{font-size:8px;color:var(--gold);font-weight:600;display:block;margin-top:2px}
.cpa-loader{margin-top:6px;padding:14px 10px;background:rgba(5,3,1,0.55);border:1px solid #4a3a18;border-radius:6px}
.cpa-loader-text{font-size:11px;color:var(--gold);text-align:center;margin-bottom:8px;line-height:1.3}
.cpa-loader-sec{font-weight:700;color:#fff;display:inline-block;min-width:18px}
.cpa-loader-bar{height:6px;background:rgba(0,0,0,0.45);border-radius:3px;overflow:hidden;border:1px solid #2a1f0a}
.cpa-loader-fill{height:100%;background:linear-gradient(90deg,#8B6914,#C9A020,#e0c87a);width:0%;transition:width 0.1s linear;box-shadow:0 0 6px rgba(201,160,32,0.5)}
.cpa-no-task{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0 4px}
.cpa-no-task span{font-size:8px;color:var(--txt-dim);flex:1}
.cpa-retry{padding:5px 8px;width:auto}

/* === REFERRAL === */
.ref-desc{font-size:9px;color:var(--txt);line-height:1.7;margin-bottom:10px;padding:8px;background:rgba(0,0,0,0.2);border-radius:6px;border:1px solid #3a3520}
.ref-conditions-link{display:block;font-size:9px;color:#60a5fa;text-decoration:underline;margin-bottom:8px;cursor:pointer}
.ref-cond-block{background:rgba(0,0,0,0.3);border:1px solid #3a3520;border-radius:6px;padding:8px;margin-bottom:12px}
.ref-cond-row{display:flex;justify-content:space-between;font-size:8px;color:var(--txt-dim);padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.05)}
.ref-cond-row:last-child{border-bottom:none}
.ref-cond-row.total{color:var(--gold);font-weight:700;border-top:1px solid var(--win-border);margin-top:4px;padding-top:8px}
.ref-cond-row.ambassador{color:#c084fc;font-weight:600}
.ref-cond-note{font-size:8px;color:var(--txt-dim);font-style:italic;padding:6px 2px 0;line-height:1.4}

/* ── Influencer panel ── */
.inf-lvl-row{display:flex;align-items:center;gap:8px;padding:10px 8px;background:linear-gradient(180deg,rgba(212,160,23,0.12),rgba(0,0,0,0.4));border:1.5px solid #6b4f10;border-radius:8px;margin-bottom:10px}
.inf-lvl-badge{font-size:11px;font-weight:800;color:#f0c040;flex-shrink:0;text-shadow:0 1px 2px #000}
.inf-bar-wrap{flex:1;min-width:0}
.inf-bar{width:100%;height:10px;background:rgba(0,0,0,0.5);border-radius:5px;overflow:hidden;border:1px solid #3a3520}
.inf-bar-fill{height:100%;background:linear-gradient(90deg,#f0c040,#f97316);border-radius:5px;transition:width .4s}
.inf-bar-text{font-size:8px;color:var(--txt-dim);text-align:center;margin-top:3px}
.inf-lvlup-btn{padding:6px 12px;font-size:10px;font-weight:800;background:linear-gradient(180deg,#22c55e,#15803d);color:#fff;border:1px solid #166534;border-radius:6px;cursor:pointer;font-family:inherit;letter-spacing:.3px;text-shadow:0 1px 1px #000;flex-shrink:0}
.inf-lvlup-btn:disabled{opacity:.4;cursor:default;background:linear-gradient(180deg,#475569,#1e293b);border-color:#1e293b}
.inf-lvlup-btn:not(:disabled):hover{filter:brightness(1.15);box-shadow:0 0 12px rgba(34,197,94,0.5)}
.inf-btn-row{display:flex;gap:6px;margin-bottom:12px}
.inf-btn-row .inf-leaderboard-btn,.inf-btn-row .inf-rewards-btn{margin-bottom:0;flex:1}
.inf-leaderboard-btn{display:block;width:100%;padding:8px;font-size:10px;font-weight:700;background:rgba(168,85,247,0.15);color:#c084fc;border:1px solid #6d28d9;border-radius:6px;cursor:pointer;font-family:inherit;margin-bottom:12px}
.inf-leaderboard-btn:hover{background:rgba(168,85,247,0.25)}
.inf-rewards-btn{display:block;width:100%;padding:8px;font-size:10px;font-weight:700;background:rgba(245,158,11,0.15);color:#fbbf24;border:1px solid #b45309;border-radius:6px;cursor:pointer;font-family:inherit;margin-bottom:12px}
.inf-rewards-btn:hover{background:rgba(245,158,11,0.25)}
.inf-rewards-row{display:grid;grid-template-columns:42px 1fr 1fr 1fr;gap:6px;align-items:center;padding:5px 6px;font-size:9px;border-bottom:1px solid rgba(255,255,255,0.04)}
.inf-rewards-row.cur{background:rgba(240,192,64,0.08);border-left:2px solid #f0c040}
.inf-rewards-row.head{font-weight:800;color:#f0c040;background:rgba(0,0,0,0.4);position:sticky;top:0;font-size:8px;text-transform:uppercase;letter-spacing:0}
.inf-rewards-row.head b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.inf-rewards-row b{color:#f0c040}
.inf-rewards-row .col-farm{color:#86efac}
.inf-rewards-row .col-daily{color:#fbbf24}
.inf-rewards-row .col-pct{color:#c084fc}
.inf-totals{background:rgba(0,0,0,0.3);border:1px solid #3a3520;border-radius:6px;padding:8px;margin-bottom:14px}
.inf-total-row{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--txt-dim);padding:3px 0}
.inf-total-row b{color:var(--gold);font-weight:700}
.inf-share-hint{font-size:8px;color:var(--txt-dim);margin-top:6px;border-top:1px solid rgba(255,255,255,0.05);padding-top:6px}
.inf-share-val{font-size:11px;color:#86efac;font-weight:800;text-align:center;padding:2px 0}
.inf-section-title{font-size:9px;color:#f0c040;font-weight:800;text-transform:uppercase;letter-spacing:0.5px;padding:8px 2px 4px}
.inf-daily-block{display:flex;align-items:center;gap:10px;padding:10px;background:linear-gradient(180deg,rgba(34,197,94,0.08),rgba(0,0,0,0.3));border:1px solid rgba(34,197,94,0.4);border-radius:6px;margin-bottom:8px}
.inf-daily-info{flex:1;font-size:11px;color:#86efac;font-weight:700;display:flex;align-items:center;gap:4px}
.inf-claim-btn{padding:7px 14px;font-size:10px;font-weight:800;background:linear-gradient(180deg,#3b82f6,#1d4ed8);color:#fff;border:1px solid #1e40af;border-radius:6px;cursor:pointer;font-family:inherit;text-shadow:0 1px 1px #000;flex-shrink:0}
.inf-claim-btn:disabled{opacity:.4;cursor:default;background:linear-gradient(180deg,#475569,#1e293b);border-color:#1e293b}
.inf-claim-btn:not(:disabled):hover{filter:brightness(1.15)}
.inf-income-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.inf-income-cell{padding:10px 8px;background:rgba(0,0,0,0.35);border:1px solid #3a3520;border-radius:6px;text-align:center;display:flex;flex-direction:column;gap:5px;align-items:center}
.inf-income-label{font-size:9px;color:var(--txt-dim);font-weight:700;letter-spacing:0.5px}
.inf-income-val{font-size:14px;color:#86efac;font-weight:800;text-shadow:0 1px 2px #000}
.inf-post-row{display:flex;gap:6px;margin-bottom:4px}
.inf-post-row input{flex:1;background:#0a0703;border:1.5px solid #3a3520;border-radius:6px;color:#fde68a;padding:7px 8px;font-family:inherit;font-size:11px}
.inf-post-row input:focus{outline:none;border-color:var(--gold)}
.inf-post-row button{padding:7px 14px;font-size:10px;font-weight:800;background:linear-gradient(180deg,#f0c040,#c89b1a);color:#1a1408;border:1px solid #6b4f10;border-radius:6px;cursor:pointer;font-family:inherit}
.inf-post-row button:hover{filter:brightness(1.1)}
.inf-post-hint{font-size:8px;color:var(--txt-dim);text-align:right;padding:0 4px}
.inf-lv10-hint{font-size:8px;color:#c084fc;text-align:right;padding:0 2px 2px;font-weight:700}
.inf-lv10-badge{display:inline-block;font-size:7px;background:rgba(192,132,252,0.15);color:#c084fc;border:1px solid rgba(192,132,252,0.4);border-radius:4px;padding:1px 4px;margin-left:4px;font-weight:700;vertical-align:middle}
#inf-refs-list{max-height:200px;overflow-y:auto}
.inf-ref-row{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:10px;border-bottom:1px solid rgba(255,255,255,0.04)}
.inf-ref-row:last-child{border-bottom:none}
.inf-ref-rank{font-weight:800;color:var(--gold);min-width:18px}
.inf-ref-name{flex:1;color:#e0c87a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inf-ref-lvl{color:var(--txt-dim);font-size:9px}
.inf-ref-usd{color:#86efac;font-weight:700}
.inf-leaderboard-row{display:flex;align-items:center;gap:8px;padding:7px 8px;font-size:10px;border-bottom:1px solid rgba(255,255,255,0.04)}
.inf-leaderboard-row:last-child{border-bottom:none}
.inf-leaderboard-row b{color:#f0c040;font-weight:800}
/* New leaderboard table (2026-05-11) — pixel font, income-sorted */
.inf-lb-row{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:10px;
  font-family:inherit;color:#e0c87a;border-bottom:1px solid rgba(255,255,255,0.04);letter-spacing:.4px}
.inf-lb-row:last-child{border-bottom:none}
.inf-lb-row.inf-lb-head{font-size:8px;color:#aa9870;text-transform:uppercase;letter-spacing:.8px;
  border-bottom:1px solid #4a3308;background:rgba(75,53,8,.22);padding:7px 10px}
.inf-lb-rank{min-width:22px;font-weight:800;color:#f0c040;text-align:center;font-size:11px}
.inf-lb-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e0c87a;font-weight:700}
.inf-lb-lvl{min-width:30px;text-align:right;color:#c084fc;font-weight:800}
.inf-lb-income{min-width:62px;text-align:right;color:#86efac;font-weight:800;text-shadow:0 1px 1px #000}
.inf-lb-head .inf-lb-rank,.inf-lb-head .inf-lb-name,.inf-lb-head .inf-lb-lvl,.inf-lb-head .inf-lb-income{
  color:#aa9870;font-weight:700;text-shadow:none}
.ref-link-section{margin-bottom:14px}
.ref-link-label{font-size:8px;color:var(--txt-dim);margin-bottom:4px}
.ref-link-row{display:flex;gap:6px}
.ref-link-row input{flex:1;background:#0e0e16;border:1px solid #3a3520;border-radius:4px;padding:6px 8px;
  font-size:8px;color:var(--txt);font-family:inherit;outline:none}
.ref-copy-btn{padding:6px 10px;background:var(--win-bg-d);border:1px solid #3a3520;border-radius:4px;
  cursor:pointer;font-size:12px;color:var(--txt)}
.ref-copy-btn:hover{background:var(--win-bg)}
.ref-friends-label{font-size:9px;color:var(--txt);font-weight:700;margin-bottom:6px}
.ref-friend-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;
  background:rgba(0,0,0,0.15);border:1px solid #2a2a35;border-radius:4px;margin-bottom:4px;font-size:8px}
.ref-friend-name{color:var(--txt)}
.ref-friend-reward{color:var(--gold);font-weight:600}

/* === AMBASSADOR === */
.amb-code-section{text-align:center;margin-bottom:14px}
.amb-code-label{font-size:9px;color:var(--txt-dim);margin-bottom:6px}
.amb-code-display{display:inline-block;padding:8px 20px;font-size:18px;font-weight:900;letter-spacing:4px;
  color:var(--gold);background:var(--win-bg-d);border:2px solid var(--win-border);border-radius:8px;
  cursor:pointer;user-select:all;transition:all .2s}
.amb-code-display:hover{background:var(--win-bg);box-shadow:0 0 12px rgba(231,184,76,0.2)}
.amb-code-display.copied{color:#4ade80;border-color:#4ade80}
.amb-code-hint{font-size:7px;color:var(--txt-dim);margin-top:4px}
.amb-bank{text-align:center;padding:12px;background:rgba(139,105,20,0.1);border:1px solid var(--win-border);
  border-radius:8px;margin-bottom:14px}
.amb-bank-label{font-size:8px;color:var(--txt-dim);margin-bottom:4px}
.amb-bank-value{font-size:16px;color:var(--gold);font-weight:900}
.amb-steps{display:flex;flex-direction:column;gap:10px}
.amb-step{display:flex;gap:10px;align-items:flex-start;padding:10px;background:rgba(0,0,0,0.2);
  border:1px solid #3a3520;border-radius:6px}
.amb-step-num{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;font-size:10px;font-weight:900;
  border-radius:50%;text-shadow:0 1px 2px #000}
.amb-step-text{font-size:8px;color:var(--txt);line-height:1.6}
.amb-step-code{font-weight:900;color:var(--gold);background:var(--win-bg-d);padding:1px 6px;border-radius:3px;border:1px solid var(--win-border)}
.amb-form-link{color:#60a5fa;text-decoration:underline}

/* Ambassador actions + modals */
.amb-actions{display:flex;gap:8px;margin-top:14px}
.amb-btn{flex:1;padding:10px;font-size:10px;font-weight:700;border-radius:6px;cursor:pointer;font-family:inherit;border:1.5px solid;letter-spacing:.04em}
.amb-btn-primary{background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;border-color:#C9A020;text-shadow:0 1px 2px #000}
.amb-btn-primary:hover{background:linear-gradient(180deg,#D4B030,#9B7A20)}
.amb-btn-secondary{background:rgba(255,255,255,0.05);color:var(--txt);border-color:#3a3520}
.amb-btn-secondary:hover{background:rgba(255,255,255,0.10)}
.amb-banned{margin-top:14px;padding:14px;background:rgba(220,38,38,0.10);border:1.5px solid #b91c1c;border-radius:6px;text-align:center}
.amb-banned-title{font-size:11px;font-weight:900;color:#fca5a5;margin-bottom:6px;letter-spacing:.05em;text-transform:uppercase}
.amb-banned-reason{font-size:9px;color:#fecaca;line-height:1.5}

.amb-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.75);display:flex;align-items:center;justify-content:center;padding:16px}
.amb-modal-window{width:100%;max-width:380px;max-height:90vh;display:flex;flex-direction:column;background:var(--win-bg);border:2px solid var(--win-border);border-radius:10px;overflow:hidden}
.amb-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--win-bg-d);border-bottom:1px solid var(--win-border)}
.amb-modal-title{font-size:11px;font-weight:900;color:var(--gold);letter-spacing:.05em;text-transform:uppercase}
.amb-modal-close{cursor:pointer;color:var(--txt-dim);font-size:14px;padding:0 4px}
.amb-modal-close:hover{color:#fff}
.amb-modal-body{padding:14px;overflow-y:auto;flex:1}
.amb-modal-label{display:block;font-size:9px;color:var(--txt-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.amb-modal-input{width:100%;padding:8px 10px;background:var(--win-bg-d);border:1.5px solid #3a3520;border-radius:6px;color:var(--txt);font-size:10px;font-family:inherit}
.amb-modal-input:focus{outline:none;border-color:var(--gold)}
.amb-modal-hint{font-size:7px;color:var(--txt-dim);margin-top:4px;margin-bottom:14px}
.amb-check-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;font-size:9px;color:var(--txt);line-height:1.5;cursor:pointer}
.amb-check-row input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin-top:1px;cursor:pointer;accent-color:#C9A020}
.amb-add-link-btn{background:rgba(255,255,255,0.05);border:1px dashed #3a3520;color:var(--txt-dim);font-size:9px;padding:5px 10px;border-radius:5px;cursor:pointer;font-family:inherit;width:100%;margin-bottom:6px}
.amb-add-link-btn:hover{background:rgba(255,255,255,0.10);color:var(--txt);border-color:var(--gold)}
.amb-modal-error{margin-top:10px;padding:8px 10px;background:rgba(220,38,38,0.10);border:1px solid #b91c1c;border-radius:4px;color:#fca5a5;font-size:9px}
.amb-modal-footer{display:flex;gap:8px;padding:12px 14px;background:var(--win-bg-d);border-top:1px solid var(--win-border)}

/* Ambassador history list */
.amb-h-item{padding:10px;background:rgba(0,0,0,0.2);border:1px solid #3a3520;border-radius:6px;margin-bottom:8px}
.amb-h-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}
.amb-h-link{flex:1;min-width:0;font-size:9px;color:#60a5fa;text-decoration:none;word-break:break-all}
.amb-h-link:hover{text-decoration:underline}
.amb-h-status{font-size:8px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}
.amb-h-status.pending{background:rgba(251,191,36,0.15);color:#fbbf24;border:1px solid rgba(251,191,36,0.3)}
.amb-h-status.approved{background:rgba(34,197,94,0.15);color:#4ade80;border:1px solid rgba(34,197,94,0.3)}
.amb-h-status.rejected{background:rgba(239,68,68,0.15);color:#f87171;border:1px solid rgba(239,68,68,0.3)}
.amb-h-reward{margin-left:6px;color:#4ade80;font-weight:700}
.amb-h-reason{margin-top:6px;font-size:8px;color:#fca5a5;line-height:1.4}

/* === SHOP PACKAGES === */
#pkg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-items:stretch}
.pkg-inline-contents{display:flex;flex-direction:column;gap:4px;padding:2px 0}
.pic-row{display:flex;align-items:center;gap:5px;font-size:8px;color:var(--txt);line-height:1.3}
.pic-icon{width:14px;height:14px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.pkg-card{background:rgba(0,0,0,0.2);border:2px solid #3a3520;border-radius:8px;overflow:visible;position:relative;display:flex;flex-direction:column}
.pkg-card-header{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--win-bg-d);border-bottom:1px solid #3a3520;position:relative;overflow:visible}
.pkg-card-icon{font-size:14px}
.pkg-card-title{font-size:8px;color:var(--gold);font-weight:700}
.pkg-card-body{padding:6px 8px;flex:1}
.pkg-card-desc{font-size:7px;color:var(--txt);line-height:1.4;margin-bottom:2px}
.pkg-card-desc2{font-size:6px;color:var(--txt-dim)}
.pkg-contents-btn{width:100%;padding:4px;font-size:7px;font-weight:600;cursor:pointer;border:1px solid #3a3520;
  background:rgba(255,255,255,0.05);color:var(--txt-dim);font-family:inherit;border-radius:3px;text-align:center}
.pkg-contents-btn:hover{background:rgba(255,255,255,0.1);color:var(--txt)}
.pkg-card-footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;background:rgba(0,0,0,0.15);border-top:1px solid #2a2a35}
.pkg-card-price{font-size:10px;color:var(--gold);font-weight:900;text-align:center}
.pkg-star{font-size:12px}
.pkg-buy-btn{padding:5px 10px;font-size:7px;font-weight:700;cursor:pointer;border:1.5px solid #6B4F10;
  background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;font-family:inherit;border-radius:3px;text-shadow:0 1px 2px #000}
.pkg-buy-btn:disabled{opacity:0.4;cursor:default}
.pkg-card-limit{font-size:6px;color:var(--txt-dim);text-align:center;padding:3px 0;background:rgba(0,0,0,0.1)}
.pkg-card-timer{font-size:7px;color:var(--txt-dim);text-align:center;padding:4px 0}

/* === STARTER CONTENTS POPUP === */
#starter-contents-popup, .pkg-contents-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);z-index:130;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#starter-contents-popup.visible, .pkg-contents-popup.visible{display:flex}
#starter-contents-window, .pkg-contents-window{width:260px;background:var(--win-bg);border:2px solid var(--win-border);border-radius:8px;padding:12px;box-shadow:0 4px 24px rgba(0,0,0,0.7)}
.scw-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px;color:var(--gold);font-weight:700}
.scw-body{display:flex;flex-direction:column;gap:6px}
.scw-row{font-size:8px;color:var(--txt);padding:4px 8px;background:rgba(0,0,0,0.2);border-radius:3px}

/* === SCREEN OVERLAY === */
#screen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.85);z-index:150;display:none;align-items:center;justify-content:center;pointer-events:none}
#screen-overlay.visible{display:flex}
#overlay-text{font-size:20px;font-weight:900;color:#ef4444;text-shadow:0 0 20px rgba(239,68,68,0.5);font-family:'Press Start 2P',monospace;text-align:center}
#overlay-text.wave-text{color:var(--gold);text-shadow:0 0 20px rgba(231,184,76,0.5)}

/* === WAVE PANEL === */
#wave-panel{position:fixed;right:10px;bottom:105px;z-index:25;width:110px;display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:6px 8px;background:var(--win-bg);border:2px solid var(--slot-border);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.5);min-height:48px}
#wave-bar{width:100%;height:6px;background:rgba(0,0,0,0.3);border-radius:3px;overflow:hidden}
#wave-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:3px;transition:width .3s;width:0%}
#wave-label{font-size:7px;color:var(--txt);font-weight:600;text-align:center;line-height:1.4}
#wave-sub{font-size:6px;color:var(--txt-dim);text-align:center}
#btn-next-wave{width:100%;padding:8px 4px;font-size:8px;font-weight:700;cursor:pointer;border:2px solid #6B4F10;
  background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;font-family:inherit;border-radius:4px;text-shadow:0 1px 2px #000;text-align:center}
#btn-next-wave:disabled{opacity:0.4;cursor:default}

/* === AFK REWARD POPUP === */
#afk-reward-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.8);z-index:200;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#afk-reward-popup.visible{display:flex}
#afk-reward-window{width:300px;background:var(--win-bg);border:2px solid var(--win-border);border-radius:10px;padding:16px;box-shadow:0 4px 24px rgba(0,0,0,0.7)}
.afk-header{display:flex;justify-content:center;align-items:center;margin-bottom:10px}
.afk-title{font-size:13px;color:var(--gold);font-weight:700}
.afk-body{text-align:center}
.afk-time{font-size:10px;color:var(--txt-dim);margin-bottom:6px}
.afk-subtitle{font-size:9px;color:var(--txt);margin-bottom:10px;font-weight:600}
#afk-rewards-list{text-align:left;max-height:220px;overflow-y:auto}
.afk-reward-row{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;margin-bottom:4px;background:rgba(0,0,0,0.2);border:1px solid #3a3520;border-radius:4px;font-size:9px}
.afk-reward-name{color:var(--txt)}
.afk-reward-val{color:var(--gold);font-weight:700}
.afk-btns{display:flex;gap:8px;margin-top:12px}
.afk-btn{flex:1;padding:9px 4px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:opacity .15s}
.afk-btn:disabled{opacity:0.5;cursor:default}
.afk-btn-claim{background:#1e3a1e;color:#4ade80;border:1px solid #166534}
.afk-btn-double{background:linear-gradient(135deg,#5b21b6,#7c3aed);color:#fff;border:1px solid #7c3aed}

/* === AFK CONGRATS POPUP (after claim) === */
#afk-congrats-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.85);z-index:201;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
#afk-congrats-popup.visible{display:flex;animation:afk-congrats-fade-in .25s ease-out}
#afk-congrats-window{width:300px;max-width:calc(100vw - 24px);box-sizing:border-box;background:var(--win-bg);border:2px solid #4ade80;border-radius:10px;padding:16px;box-shadow:0 0 32px rgba(74,222,128,0.35)}
#afk-congrats-popup .afk-title{color:#4ade80;font-size:14px}
#afk-congrats-list{text-align:left;max-height:240px;overflow-y:auto}
/* Gold row: 2-line layout to fit narrow popup width.
   Top row: "Золото" left, "+delta" right (bold green).
   Bottom row: "before ▶ after" centered, smaller dim.  */
.afk-gold-row{display:flex;flex-direction:column;gap:3px;padding:8px 10px;margin-bottom:4px;background:rgba(74,222,128,0.08);border:1px solid #166534;border-radius:4px;font-size:10px;overflow:hidden}
.afk-gold-top{display:flex;justify-content:space-between;align-items:center;gap:6px;min-width:0}
.afk-gold-top .afk-reward-name{display:flex;align-items:center;gap:4px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.afk-gold-delta{color:#4ade80;font-weight:800;font-size:11px;white-space:nowrap;flex-shrink:0}
.afk-gold-bottom{display:flex;justify-content:center;align-items:center;gap:6px;font-size:9px;color:var(--txt-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.afk-gold-before{text-decoration:line-through}
.afk-gold-arrow{color:#4ade80;font-size:10px}
.afk-gold-after{color:var(--gold);font-weight:700}
@keyframes afk-congrats-fade-in{
  from{opacity:0;transform:scale(0.9)}
  to{opacity:1;transform:scale(1)}
}
@keyframes afk-gold-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.15)}
}
.afk-gold-arrow{animation:afk-gold-pulse 1s ease-in-out infinite}

/* === DONATE TABS (Stars / USDT) === */
#donate-tabs{display:flex;gap:4px;margin:6px 0 8px 0;border-bottom:1px solid #3a3520}
.donate-tab{flex:1;padding:6px 4px;font-size:8px;font-weight:700;color:var(--txt-dim);text-align:center;cursor:pointer;
  border:1px solid #3a3520;border-bottom:none;border-radius:4px 4px 0 0;background:rgba(0,0,0,0.2)}
.donate-tab.active{color:var(--gold);background:var(--win-bg-d);border-color:var(--gold)}
.donate-pane{display:block}
#donate-packs-stars,#donate-packs-usdt,#donate-packs-ton{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.donate-pack-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;
  background:rgba(0,0,0,0.25);border:1px solid #3a3520;border-radius:5px;color:var(--txt);gap:6px}
.donate-pack-farm{display:flex;flex-direction:column;gap:1px;flex:1}
.donate-pack-top{display:flex;align-items:baseline;gap:5px}
.donate-pack-total{color:var(--gold);font-weight:800;font-size:13px;line-height:1.1}
.donate-pack-bonus-badge{color:#5cd66b;font-size:7px;font-weight:700;white-space:nowrap}
.donate-pack-base{text-decoration:line-through;opacity:0.45;font-size:8px;color:var(--txt-dim)}
.donate-pack-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.donate-pack-price-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.donate-pack-sale{color:#5cd66b;font-size:6px;font-weight:700;line-height:1}
.donate-pack-price{font-size:7px;color:var(--txt-dim);white-space:nowrap;text-align:right;line-height:1}
.donate-pack-buy{padding:5px 10px;font-size:7px;font-weight:700;cursor:pointer;border:1.5px solid #6B4F10;
  background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;font-family:inherit;border-radius:3px;text-shadow:0 1px 2px #000;white-space:nowrap}
.donate-pack-buy:hover{filter:brightness(1.1)}
.donate-pack-buy:disabled{opacity:0.4;cursor:default}

/* === TON CONNECT SECTION (shared styles for USDT + TON tabs) === */
#ton-connect-section,#ton-connect-section-ton{padding:8px;background:rgba(0,0,0,0.2);border:1px solid #3a3520;border-radius:5px;margin-bottom:8px}
#ton-connect-status,#ton-connect-status-ton{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}
#ton-connect-label,#ton-connect-label-ton{font-size:8px;color:var(--txt-dim)}
#btn-ton-connect,#btn-ton-disconnect,#btn-ton-connect-ton,#btn-ton-disconnect-ton{padding:4px 8px;font-size:7px;font-weight:700;cursor:pointer;border:1px solid #2563eb;
  background:linear-gradient(180deg,#3b82f6,#1e40af);color:#fff;font-family:inherit;border-radius:3px}
#btn-ton-disconnect,#btn-ton-disconnect-ton{border-color:#7f1d1d;background:linear-gradient(180deg,#ef4444,#7f1d1d)}
#ton-wallet-display{font-size:7px;color:var(--gold);margin-top:4px;word-break:break-all;font-family:monospace}
#usdt-payment-instructions{padding:8px;background:rgba(0,0,0,0.3);border:1px solid var(--gold);border-radius:5px;margin-top:6px}
.upi-step{font-size:8px;color:var(--txt);margin-bottom:4px}
.upi-addr{font-size:8px;color:var(--gold);font-family:monospace;padding:4px 6px;background:rgba(0,0,0,0.4);
  border-radius:3px;margin-bottom:6px;word-break:break-all;cursor:pointer}
#upi-tx{width:100%;padding:5px 6px;font-size:8px;background:rgba(0,0,0,0.4);border:1px solid #3a3520;
  color:var(--txt);font-family:monospace;border-radius:3px;margin-bottom:6px}
#upi-confirm{width:100%;padding:6px;font-size:8px;font-weight:700;cursor:pointer;border:1.5px solid #166534;
  background:linear-gradient(180deg,#22c55e,#15803d);color:#fff;font-family:inherit;border-radius:3px;text-shadow:0 1px 2px #000}
#upi-confirm:hover{filter:brightness(1.1)}
#upi-confirm:disabled{opacity:0.4;cursor:default}

/* === MARKET WINDOW === */
#window-market{display:none}
#window-market.visible{display:block;background:linear-gradient(180deg,#1a1208 0%,#0f0a05 100%);border-color:#d4a017}
#window-market .win-header{background:linear-gradient(180deg,#3a2a0d,#1c1208);border-bottom:2px solid #d4a017}
#window-market .win-title{color:#fde68a;text-shadow:0 0 6px rgba(212,160,23,0.5);font-size:11px;letter-spacing:0.5px}

/* === PLAYER HEADER (avatar / balance / deposit-withdraw) === */
#mk-player-header{display:flex;align-items:center;gap:8px;padding:8px;margin-bottom:8px;min-width:0;
  background:linear-gradient(135deg,rgba(212,160,23,0.12),rgba(0,0,0,0.4));
  border:1.5px solid #d4a017;border-radius:8px;box-shadow:inset 0 1px 0 rgba(253,230,138,0.15)}
#mk-avatar{position:relative;width:42px;height:42px;border-radius:50%;cursor:pointer;
  border:2px solid #d4a017;overflow:hidden;background:#1c1208;flex-shrink:0;
  box-shadow:0 0 8px rgba(212,160,23,0.4)}
#mk-avatar img{width:100%;height:100%;object-fit:cover}
#mk-avatar:hover{border-color:#fde68a;box-shadow:0 0 12px rgba(253,230,138,0.6)}
.mk-avatar-hint{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;
  background:#d4a017;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:8px;border:1.5px solid #1c1208}
#mk-balance-block{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}
.mk-balance-label{font-size:7px;color:#a87f10;letter-spacing:1.2px;font-weight:700;line-height:1}
.mk-balance-value{font-size:13px;color:#fde68a;font-weight:800;text-shadow:0 0 8px rgba(212,160,23,0.6);line-height:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-balance-value::after{content:' USDT';font-size:8px;color:#d4a017;letter-spacing:0.5px;margin-left:3px}
#mk-actions-row{display:flex;flex-direction:column;gap:4px;flex-shrink:0}
#mk-ton-row{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:3px 5px;background:rgba(59,130,246,0.1);border:1px solid rgba(59,130,246,0.25);border-radius:4px}
#mk-ton-label{font-size:7px;color:var(--txt-dim);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mk-ton-connect-btn,#mk-ton-disconnect-btn{padding:2px 6px;font-size:6px;font-weight:700;cursor:pointer;border-radius:3px;font-family:inherit;flex-shrink:0;white-space:nowrap}
#mk-ton-connect-btn{border:1px solid #2563eb;background:linear-gradient(180deg,#3b82f6,#1e40af);color:#fff}
#mk-ton-disconnect-btn{border:1px solid #7f1d1d;background:linear-gradient(180deg,#ef4444,#7f1d1d);color:#fff}
#mk-btns-row{display:flex;gap:3px}
#mk-btns-row .mk-act-btn{flex:1;min-width:0}
.mk-act-btn{padding:5px 6px;font-size:7px;font-weight:800;cursor:pointer;font-family:inherit;
  border-radius:4px;letter-spacing:0.3px;text-shadow:0 1px 1px #000;min-width:0;white-space:nowrap}
#mk-actions-row{max-width:50%}
#mk-player-header{flex-wrap:wrap;row-gap:4px}
@media (max-width:380px){
  #mk-actions-row{max-width:100%;width:100%;flex-basis:100%}
  .mk-balance-value{font-size:11px}
}
.mk-act-btn.deposit{border:1px solid #166534;background:linear-gradient(180deg,#22c55e,#15803d);color:#fff}
.mk-act-btn.withdraw{border:1px solid #6B4F10;background:linear-gradient(180deg,#d4a017,#8B6914);color:#fff}
.mk-act-btn:hover{filter:brightness(1.15)}
.mk-act-btn:disabled{opacity:0.4;cursor:default}

/* === TOP TABS === */
#market-tabs{display:flex;gap:4px;margin-bottom:8px;border-bottom:1px solid #3a3520}
.market-tab{flex:1;padding:7px;font-size:9px;font-weight:700;color:var(--txt-dim);text-align:center;cursor:pointer;
  border:1px solid #3a3520;border-bottom:none;border-radius:5px 5px 0 0;background:rgba(0,0,0,0.25)}
.market-tab.active{color:#fde68a;background:linear-gradient(180deg,#3a2a0d,#1c1208);border-color:#d4a017;text-shadow:0 0 4px rgba(212,160,23,0.6)}
.market-pane{display:block}

/* === CATEGORIES (All / Cards) === */
#mk-categories{display:flex;gap:4px;margin-bottom:6px}
.mk-cat{padding:5px 12px;font-size:8px;font-weight:700;color:var(--txt-dim);cursor:pointer;
  border:1px solid #3a3520;border-radius:14px;background:rgba(0,0,0,0.25)}
.mk-cat.active{color:#fde68a;border-color:#d4a017;background:linear-gradient(180deg,#3a2a0d,#1c1208);box-shadow:0 0 6px rgba(212,160,23,0.3)}
.mk-cat:hover{color:#fff}

/* === FILTERS === */
#market-filters{display:flex;gap:4px;margin-bottom:5px;align-items:center}
#market-filters input,#market-filters select{padding:5px 6px;font-size:8px;background:rgba(0,0,0,0.4);
  border:1px solid #3a3520;color:var(--txt);font-family:inherit;border-radius:3px}
#mk-search{flex:1;min-width:60px}
#market-filters button{padding:5px 9px;font-size:9px;background:linear-gradient(180deg,#C9A020,#8B6914);
  color:#fff;border:1px solid #6B4F10;font-family:inherit;border-radius:3px;cursor:pointer;font-weight:700}
#mk-price-row{display:flex;gap:4px;align-items:center;margin-bottom:8px;font-size:7px;color:var(--txt-dim)}
#mk-price-row input{flex:1;padding:5px 6px;font-size:8px;background:rgba(0,0,0,0.4);border:1px solid #3a3520;color:var(--txt);font-family:inherit;border-radius:3px}
.mk-dash{color:#d4a017;font-weight:700}
.mk-currency{color:#d4a017;font-weight:700;letter-spacing:0.5px;font-size:7px}

/* === ITEM GRID === */
.mk-grid{display:grid;grid-template-columns:repeat(2,130px);
  gap:6px;max-height:300px;overflow-y:auto;padding:4px;align-content:start;justify-content:center}
.mk-item{position:relative;display:flex;flex-direction:column;background:linear-gradient(160deg,rgba(212,160,23,0.08),rgba(0,0,0,0.45));
  border:1.5px solid #3a3520;border-radius:6px;overflow:hidden;cursor:pointer;
  transition:transform 0.12s,border-color 0.12s,box-shadow 0.12s}
.mk-item:hover{border-color:#d4a017;transform:translateY(-1px);box-shadow:0 4px 10px rgba(212,160,23,0.35)}
.mk-item-img{height:90px;display:flex;align-items:center;justify-content:center;padding:6px;position:relative;
  background:radial-gradient(circle at 50% 40%,rgba(212,160,23,0.12),transparent 60%);overflow:hidden}
.mk-item-img img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5));cursor:pointer}
.mk-item-name{padding:2px 4px;font-size:7px;color:#fde68a;font-weight:700;text-align:center;
  background:rgba(0,0,0,0.4);border-bottom:1px solid #3a3520;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-item-price-btn{padding:5px 4px;font-size:9px;font-weight:800;color:#fff;text-align:center;
  background:linear-gradient(180deg,#22c55e,#15803d);border:none;border-top:1px solid #166534;cursor:pointer;
  font-family:inherit;letter-spacing:0.3px;text-shadow:0 1px 1px #000}
.mk-item-price-btn:hover{filter:brightness(1.15)}
.mk-item-price-btn:disabled{opacity:0.4;cursor:default;background:linear-gradient(180deg,#475569,#1e293b);border-top-color:#1e293b}
.mk-item-price-btn.cancel{background:linear-gradient(180deg,#ef4444,#7f1d1d);border-top-color:#7f1d1d}
.mk-item-price-btn.list{background:linear-gradient(180deg,#3b82f6,#1e40af);border-top-color:#1e40af}
.mk-item-qty{position:absolute;bottom:32px;left:4px;min-width:18px;height:18px;padding:0 4px;
  background:rgba(212,160,23,0.95);color:#1c1208;font-size:8px;font-weight:800;border-radius:9px;
  display:flex;align-items:center;justify-content:center;border:1.5px solid #1c1208;text-shadow:none}
.mk-item-listed-tag{position:absolute;top:4px;right:4px;font-size:9px;background:rgba(212,160,23,0.95);
  color:#1c1208;padding:2px 5px;border-radius:8px;font-weight:800}
.mk-item-meta{position:absolute;top:4px;left:4px;font-size:6px;background:rgba(0,0,0,0.7);
  color:#fde68a;padding:2px 4px;border-radius:3px;font-weight:700}

/* Game card tile (standardized — same skeleton as .mk-item) */
.gc-tile{position:relative;display:flex;flex-direction:column;background:linear-gradient(160deg,rgba(212,160,23,0.08),rgba(0,0,0,0.45));
  border:1.5px solid #3a3520;border-radius:6px;overflow:hidden;width:130px}
.gc-tile-name{padding:4px 6px;font-size:8.5px;color:#fde68a;font-weight:800;text-align:center;
  background:linear-gradient(180deg,rgba(58,42,13,0.85),rgba(0,0,0,0.6));border-bottom:1px solid #3a3520;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;
  letter-spacing:0.1px;text-shadow:0 1px 2px #000}
/* Image fills the full tile width (aspect 1:1) — no empty side gutters. */
.gc-tile-img{position:relative;width:100%;aspect-ratio:1/1;display:block;padding:0;
  background:radial-gradient(circle at 50% 40%,rgba(212,160,23,0.18),transparent 65%);
  border-bottom:1px solid #3a3520;overflow:hidden}
.gc-tile-img img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:auto}
.gc-tile-img img.pixel{image-rendering:pixelated}
.gc-tile-buffs{padding:4px 5px;background:rgba(0,0,0,0.35);border-top:1px solid rgba(58,53,32,0.6);
  min-height:48px;max-height:48px;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;gap:1px}
.gc-tile-buff{font-size:8px;line-height:1.25;color:#fde68a;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  display:flex;align-items:center;gap:3px;text-shadow:0 1px 1px rgba(0,0,0,0.6);max-width:100%}
.gc-tile-buff .gc-buff-icon{flex-shrink:0;font-size:9px}
/* Badge sits INSIDE the image, top-left — never overlaps the title row. */
.gc-tile-badge{position:absolute;top:4px;left:4px;z-index:2;
  font-size:8px;font-weight:800;color:#1c1208;background:rgba(212,160,23,0.95);
  padding:2px 6px;border-radius:8px;letter-spacing:0.3px;
  box-shadow:0 1px 3px rgba(0,0,0,0.5);border:1px solid #6b4f10}
.gc-tile-buff .gc-buff-icon{flex-shrink:0;font-size:9px}
.gc-tile-actions{display:flex;gap:0;border-top:1px solid #3a3520}
.gc-tile-btn{flex:1;padding:5px 2px;font-size:9px;font-weight:800;color:#fff;text-align:center;
  background:linear-gradient(180deg,#C9A020,#8B6914);border:none;cursor:pointer;font-family:inherit;letter-spacing:0.3px;text-shadow:0 1px 1px #000}
.gc-tile-btn:not(:last-child){border-right:1px solid #1c1208}
.gc-tile-btn:hover{filter:brightness(1.15)}
.gc-tile-btn.sell{background:linear-gradient(180deg,#16a34a,#15803d)}
.gc-tile-btn.cancel{background:linear-gradient(180deg,#ef4444,#991b1b)}
.gc-tile-btn.unslot{background:linear-gradient(180deg,#ef4444,#991b1b)}

/* Generic popup overlay (was missing) */
.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.78);z-index:9998;display:none;align-items:center;justify-content:center}
.popup-overlay.visible{display:flex}
.popup-overlay .popup-box{background:#0f172a;border:2px solid #1e293b;border-radius:14px;padding:18px 20px;text-align:center;max-width:320px;width:90%;box-shadow:0 0 40px rgba(0,0,0,0.6)}
.popup-overlay .popup-title{color:#fde68a;font-weight:700;font-size:14px;margin-bottom:10px;letter-spacing:0.3px}
.popup-overlay .popup-btn{display:block;width:100%;padding:8px 12px;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(180deg,#C9A020,#8B6914);border:1px solid #6B4F10;border-radius:6px;cursor:pointer;font-family:inherit;letter-spacing:0.3px;text-shadow:0 1px 1px #000;margin-top:6px}
.popup-overlay .popup-btn:hover{filter:brightness(1.15)}
.popup-overlay .popup-btn:disabled{opacity:0.4;cursor:default}

/* === STORAGE TABS (On Sale / Storage) === */
#mk-storage-tabs{display:flex;gap:4px;margin-bottom:8px}
.mk-storage-tab{flex:1;padding:6px;font-size:8px;font-weight:700;color:var(--txt-dim);cursor:pointer;
  border:1px solid #3a3520;border-radius:4px;background:rgba(0,0,0,0.25);text-align:center}
.mk-storage-tab.active{color:#fde68a;border-color:#d4a017;background:linear-gradient(180deg,#3a2a0d,#1c1208)}
.mk-stg-count{display:inline-block;margin-left:4px;min-width:16px;padding:0 4px;
  background:rgba(212,160,23,0.85);color:#1c1208;border-radius:8px;font-size:7px}

/* === POPUPS === */
.mk-popup{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:300;display:none;
  align-items:center;justify-content:center;padding:20px}
.mk-popup.visible{display:flex}
.mk-popup-card{background:linear-gradient(180deg,#1c1208,#0f0a05);border:2px solid #d4a017;border-radius:10px;
  width:100%;max-width:280px;box-shadow:0 8px 30px rgba(0,0,0,0.7),0 0 20px rgba(212,160,23,0.3)}
.mk-popup-card.wide{max-width:340px}
.mk-popup-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;
  background:linear-gradient(180deg,#3a2a0d,#1c1208);border-bottom:1.5px solid #d4a017;border-radius:8px 8px 0 0}
.mk-popup-title{color:#fde68a;font-weight:800;font-size:10px;text-shadow:0 0 6px rgba(212,160,23,0.5)}
.mk-popup-close{cursor:pointer;color:#d4a017;font-size:14px;line-height:1;padding:2px 6px;font-weight:700}
.mk-popup-close:hover{color:#fff}
.mk-popup-body{padding:12px}
.mk-popup-desc{font-size:8px;color:var(--txt-dim);margin-bottom:10px;line-height:1.4}
.mk-deposit-row{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}
.mk-deposit-row label{font-size:7px;color:#a87f10;font-weight:700;letter-spacing:0.5px}
.mk-deposit-row input{padding:6px 8px;font-size:10px;background:rgba(0,0,0,0.5);
  border:1px solid #3a3520;color:#fde68a;font-family:inherit;border-radius:4px;font-weight:700}
.mk-deposit-row input:focus{outline:none;border-color:#d4a017}
.mk-deposit-info{font-size:7px;color:var(--txt-dim);margin:8px 0;line-height:1.5}
.mk-deposit-info b{color:#fde68a}
.mk-popup-btn{width:100%;padding:8px;font-size:9px;font-weight:800;cursor:pointer;font-family:inherit;
  border-radius:5px;letter-spacing:0.5px;text-shadow:0 1px 1px #000;margin-top:4px}
.mk-popup-btn.primary{border:1px solid #166534;background:linear-gradient(180deg,#22c55e,#15803d);color:#fff}
.mk-popup-btn:hover{filter:brightness(1.15)}
.mk-popup-btn:disabled{opacity:0.5;cursor:default}
.mk-popup-status{font-size:8px;color:#d4a017;margin-top:8px;text-align:center;min-height:10px}
.mk-popup-status.error{color:#ef4444}
.mk-popup-status.success{color:#22c55e}

/* === HISTORY === */
#mk-history-tabs{display:flex;gap:3px;margin-bottom:8px}
.mk-hist-tab{flex:1;padding:5px 4px;font-size:7px;font-weight:700;color:var(--txt-dim);cursor:pointer;
  border:1px solid #3a3520;border-radius:4px;background:rgba(0,0,0,0.25);text-align:center}
.mk-hist-tab.active{color:#fde68a;border-color:#d4a017;background:linear-gradient(180deg,#3a2a0d,#1c1208)}
#mk-history-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}
.mk-hist-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;
  background:rgba(0,0,0,0.3);border:1px solid #3a3520;border-radius:4px;font-size:8px}
.mk-hist-left{display:flex;flex-direction:column;gap:2px}
.mk-hist-op{color:#fde68a;font-weight:700;font-size:8px}
.mk-hist-time{color:var(--txt-dim);font-size:6px}
.mk-hist-status{font-size:7px;font-weight:700;margin-top:2px}
.mk-hist-amount{font-weight:800;font-size:9px}
.mk-hist-amount.pos{color:#22c55e}
.mk-hist-amount.neg{color:#ef4444}

/* === MY CARDS HEADER === */
#my-cards-header{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;margin-bottom:6px;
  background:rgba(0,0,0,0.2);border:1px solid #3a3520;border-radius:4px}
.mch-title{font-size:9px;color:var(--gold);font-weight:700}
.mch-market-btn{padding:5px 10px;font-size:7px;font-weight:700;cursor:pointer;border:1.5px solid #6B4F10;
  background:linear-gradient(180deg,#C9A020,#8B6914);color:#fff;font-family:inherit;border-radius:3px;text-shadow:0 1px 2px #000}
.mch-market-btn:hover{filter:brightness(1.1)}
/* === MY CARDS GRID (Enhance > Cards) === */
#my-cards-grid{display:grid;grid-template-columns:repeat(3,100px);gap:8px;max-height:380px;overflow-y:auto;padding:4px;justify-content:center}
.my-card{display:flex;flex-direction:column;align-items:center;gap:0;padding:0;
  background:linear-gradient(160deg,rgba(212,160,23,0.09),rgba(0,0,0,0.5));
  border:1.5px solid #3a3520;border-radius:8px;font-size:7px;color:var(--txt);position:relative;overflow:hidden}
.my-card:hover{border-color:#d4a017}
.my-card.listed{border-color:#d4a017;box-shadow:0 0 8px rgba(212,160,23,0.3)}
.my-card-badge{width:100%;padding:4px 6px;background:linear-gradient(180deg,rgba(212,160,23,0.25),rgba(0,0,0,0.2));
  color:#fde68a;font-weight:800;font-size:8px;text-align:center;border-bottom:1px solid rgba(212,160,23,0.2)}
.my-card-img-wrap{width:100%;padding:6px 8px;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 40%,rgba(212,160,23,0.12),transparent 65%)}
.my-card-img-wrap img{width:100%;max-width:80px;height:80px;object-fit:contain;image-rendering:pixelated;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,0.6))}
.my-card-stats{width:100%;padding:4px 6px 2px;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(212,160,23,0.12)}
.my-card-stat{font-size:7px;color:#a0cfb0;font-weight:600;text-align:center}
.my-card-listed-tag{position:absolute;top:4px;right:4px;font-size:8px;background:rgba(212,160,23,0.9);
  color:#1c1208;padding:1px 5px;border-radius:8px;font-weight:800}
.my-card-actions{display:flex;gap:4px;padding:5px 6px;width:100%;box-sizing:border-box}
.my-card-btn{flex:1;padding:5px 4px;font-size:7px;font-weight:800;cursor:pointer;
  border:1px solid #3a3520;color:#fff;font-family:inherit;border-radius:4px;text-align:center;line-height:1.2}
.my-card-btn.upgrade{border-color:#1e40af;background:linear-gradient(180deg,#3b82f6,#1e40af)}
.my-card-btn.sell{border-color:#92400e;background:linear-gradient(180deg,#f59e0b,#b45309)}
.my-card-btn.cancel{border-color:#7f1d1d;background:linear-gradient(180deg,#ef4444,#7f1d1d)}
.my-card-btn:hover{filter:brightness(1.12)}
.my-card-btn:disabled{opacity:0.4;cursor:default}

/* === CARD MODAL (upgrade / sell-success / market-detail) === */
.card-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.78);z-index:200;display:none;
  align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px)}
.card-modal-overlay.visible{display:flex}
.card-modal{background:linear-gradient(180deg,#1c1208,#0f0a05);border:2px solid #d4a017;border-radius:12px;
  width:100%;max-width:260px;box-shadow:0 12px 40px rgba(0,0,0,0.8),0 0 24px rgba(212,160,23,0.3);overflow:hidden}
.card-modal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;
  background:linear-gradient(180deg,#3a2a0d,#1c1208);border-bottom:1.5px solid #d4a017;
  color:#fde68a;font-weight:800;font-size:10px;text-shadow:0 0 5px rgba(212,160,23,0.5)}
.card-modal-close{cursor:pointer;color:#d4a017;font-size:16px;padding:0 4px;font-weight:700}
.card-modal-close:hover{color:#fff}
.card-modal-body{padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px}
.cup-card-img{width:110px;height:110px;object-fit:contain;image-rendering:pixelated;
  border:2px solid rgba(212,160,23,0.4);border-radius:6px;padding:4px;
  background:radial-gradient(circle at 50% 40%,rgba(212,160,23,0.1),rgba(0,0,0,0.4))}
.cup-title{color:#fde68a;font-weight:800;font-size:10px;text-align:center}
.cup-perks-block{width:100%;background:rgba(0,0,0,0.3);border:1px solid #3a3520;border-radius:6px;padding:6px 8px}
.cup-perks-label{font-size:7px;color:#a87f10;font-weight:700;letter-spacing:0.5px;margin-bottom:4px}
.cup-perk-row{font-size:8px;color:#a0cfb0;font-weight:600;padding:2px 0;border-bottom:1px dashed rgba(60,53,32,0.8)}
.cup-perk-row:last-child{border-bottom:none}
.cup-perk-row.gain{color:#4ade80;font-weight:700}
.cup-gain-block{width:100%;background:rgba(34,197,94,0.08);border:1px solid rgba(34,197,94,0.3);border-radius:6px;padding:6px 8px;font-size:8px;color:#4ade80;font-weight:700}
.cup-cost-row{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--txt-dim);font-weight:700}
.cup-cost-row b{color:#fde68a;font-size:11px}
.cup-balance-row{font-size:8px;color:var(--txt-dim);text-align:center}
.cup-balance-row b{color:#fde68a}
.cup-btn{width:100%;padding:9px;font-size:10px;font-weight:800;cursor:pointer;font-family:inherit;
  border:1.5px solid #6B4F10;border-radius:6px;background:linear-gradient(180deg,#C9A020,#8B6914);
  color:#fff;text-shadow:0 1px 2px #000;letter-spacing:0.5px}
.cup-btn:hover{filter:brightness(1.12)}
.cup-btn:disabled{opacity:0.5;cursor:default}
.cup-status{font-size:8px;min-height:12px;text-align:center;color:#d4a017}
.cup-status.err{color:#ef4444}
.cup-status.ok{color:#22c55e}

/* sell success */
.card-modal.sell-success{text-align:center;padding:20px 16px;gap:10px;display:flex;flex-direction:column;align-items:center}
.css-fireworks{font-size:40px;line-height:1;animation:pop 0.4s ease}
.css-title{font-size:18px;font-weight:800;color:#fde68a;text-shadow:0 0 10px rgba(212,160,23,0.6)}
.css-sub{font-size:10px;color:#4ade80;font-weight:700}
.css-balance-row{font-size:9px;color:var(--txt-dim)}
.css-balance-row b{color:#fde68a}
@keyframes pop{0%{transform:scale(0.5)}70%{transform:scale(1.2)}100%{transform:scale(1)}}

/* ===== SEASON PASS ===== */
.hud-pill.seasonpass{border-color:rgba(212,160,23,0.85)}
.hud-pill.seasonpass .hud-pill-label{color:#fde68a;text-shadow:0 0 4px rgba(212,160,23,0.7)}
.hud-pill.seasonpass .hud-pill-inner{background:radial-gradient(circle at 50% 35%,rgba(253,230,138,0.32),rgba(80,52,16,0.2) 70%)}
#sp-popup{position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:9000;display:flex;align-items:center;justify-content:center;padding:10px}
#sp-popup-card{background:linear-gradient(180deg,#1a1a24,#0a0a12);border:2px solid var(--win-border);border-radius:14px;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 0 50px rgba(0,0,0,0.8)}
#sp-popup-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(180deg,#1a1a24,#12121a);border-bottom:2px solid #3a3520;border-radius:12px 12px 0 0}
#sp-popup-title{font-size:14px;font-weight:700;color:var(--gold);text-shadow:0 1px 3px #000}
#sp-popup-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#fde68a;font-size:14px;cursor:pointer;background:rgba(0,0,0,0.3);border:1px solid #3a3520;border-radius:5px}
#sp-popup-close:hover{background:rgba(220,38,38,0.3);border-color:#ef4444}
#sp-popup-subheader{display:flex;justify-content:space-between;padding:6px 16px;font-size:11px;color:#fde68a;background:rgba(0,0,0,0.3);border-bottom:1px solid #3a3520}
#sp-popup-body{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:8px}
#sp-cols-header{display:grid;grid-template-columns:48px 1fr 1fr 1fr;gap:6px;padding:0 4px 6px}
.sp-col-label{font-size:10px;font-weight:800;text-align:center;padding:6px 4px;border-radius:6px;letter-spacing:0.5px;text-shadow:0 1px 2px #000}
.sp-col-free{background:linear-gradient(180deg,#475569,#1e293b);color:#cbd5e1;border:1px solid #334155}
.sp-col-farm{background:linear-gradient(180deg,#22c55e,#15803d);color:#fff;border:1px solid #14532d}
.sp-col-stars{background:linear-gradient(180deg,#a855f7,#6b21a8);color:#fff;border:1px solid #581c87}
#sp-buy-row{display:grid;grid-template-columns:48px 1fr 1fr 1fr;gap:6px;padding:0 4px 8px;align-items:stretch}
.sp-buy-btn{position:relative;width:100%;padding:10px 4px 8px;font-size:11px;font-weight:800;border-radius:7px;cursor:pointer;font-family:inherit;text-shadow:0 1px 1px #000;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-sizing:border-box;min-height:54px}
.sp-buy-btn .sp-buy-icon{width:13px;height:13px;object-fit:contain;vertical-align:middle;margin-right:2px;display:inline-block}
.sp-buy-btn .sp-buy-price{font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}
.sp-buy-btn .sp-profit-tag{position:absolute;top:-7px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,#fbbf24,#d4a017);color:#1c1208;font-size:8px;font-weight:800;padding:2px 6px;border-radius:8px;border:1px solid #7a5712;text-shadow:none;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,0.5);z-index:2}
.sp-owned-tag{box-sizing:border-box;width:100%;min-height:54px;display:flex;align-items:center;justify-content:center}
@media (max-width:420px){
  #sp-popup-card{max-width:100%}
  #sp-popup-title{font-size:12px}
  .sp-col-label{font-size:9px;padding:5px 2px}
  .sp-buy-btn{font-size:10px;padding:9px 2px 7px;min-height:52px}
  .sp-buy-btn .sp-buy-price{font-size:12px}
  .sp-day-label{font-size:8px;width:36px}
  .sp-cell{min-height:48px;padding:4px 2px}
  .sp-cell-icon img{width:24px;height:24px}
  .sp-cell-amt{font-size:10px}
  #sp-popup-subheader{padding:5px 10px;font-size:10px}
  #sp-cols-header,#sp-buy-row{grid-template-columns:36px 1fr 1fr 1fr;padding-left:2px;padding-right:2px}
}
.sp-buy-btn.farm{background:linear-gradient(180deg,#16a34a,#15803d);color:#fff;border:1.5px solid #14532d}
.sp-buy-btn.stars{background:linear-gradient(180deg,#a855f7,#6b21a8);color:#fff;border:1.5px solid #581c87}
.sp-buy-btn:hover{filter:brightness(1.15)}
.sp-buy-btn:disabled{opacity:0.5;cursor:default}
.sp-owned-tag{padding:8px 6px;text-align:center;font-size:10px;font-weight:800;color:#86efac;background:rgba(22,163,74,0.15);border:1.5px solid #15803d;border-radius:6px}
#sp-track-scroll{flex:1;overflow-y:auto;border:1px solid #3a3520;border-radius:6px;background:rgba(0,0,0,0.3)}
#sp-track{width:100%;border-collapse:collapse}
#sp-track tr{border-bottom:1px solid #1e293b}
#sp-track tr:last-child{border-bottom:none}
#sp-track td{padding:6px 4px;vertical-align:middle}
.sp-day-label{font-size:9px;font-weight:700;color:#94a3b8;text-align:center;width:48px}
.sp-day-label.today{color:#fbbf24;text-shadow:0 0 6px rgba(251,191,36,0.5)}
.sp-cell{position:relative;background:rgba(0,0,0,0.4);border:1.5px solid #334155;border-radius:8px;padding:5px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:54px;text-align:center}
.sp-cell.locked{opacity:0.35;border-style:dashed}
.sp-cell.claimed{border-color:#15803d;background:rgba(22,163,74,0.12)}
.sp-cell.claimed::after{content:'✓';position:absolute;top:2px;right:4px;font-size:11px;color:#86efac;font-weight:800}
.sp-cell.available{border-color:#fbbf24;cursor:pointer;animation:sp-pulse 1.2s ease-in-out infinite}
.sp-cell.available::before{content:'';position:absolute;inset:-2px;border-radius:9px;background:linear-gradient(45deg,#fbbf24,transparent,#fbbf24);background-size:200% 200%;animation:sp-shine 2s linear infinite;z-index:-1;opacity:0.6}
@keyframes sp-pulse{0%,100%{box-shadow:0 0 6px rgba(251,191,36,0.5)}50%{box-shadow:0 0 14px rgba(251,191,36,0.9)}}
@keyframes sp-shine{0%{background-position:0% 0%}100%{background-position:200% 200%}}
.sp-cell-icon{font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;height:32px}
.sp-cell-icon img{width:30px;height:30px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.6))}
.sp-cell-amt{font-size:11px;font-weight:800;color:#fde68a;line-height:1;text-shadow:0 1px 2px #000}
.sp-cell.locked .sp-cell-amt{color:#475569}
.sp-cell-card{padding:3px 4px}
.sp-cell-card-img{width:48px;height:48px;border:2px solid #fbbf24;border-radius:6px;overflow:hidden;box-shadow:0 0 12px rgba(251,191,36,0.6)}
.sp-cell-card-img img{width:100%;height:100%;object-fit:cover}
.sp-cell.locked .sp-cell-card-img{border-color:#475569;box-shadow:none}
.sp-newcard-badge{position:absolute;top:-7px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,#fbbf24,#d4a017);color:#1c1208;font-size:8px;font-weight:800;padding:2px 6px;border-radius:8px;border:1px solid #7a5712;letter-spacing:0.4px;text-shadow:none;box-shadow:0 2px 4px rgba(0,0,0,0.5);white-space:nowrap;z-index:2}
#sp-claim-all-btn{margin-top:8px;padding:10px;font-size:12px;font-weight:800;color:#1c1208;background:linear-gradient(180deg,#fbbf24,#d4a017);border:1.5px solid #7a5712;border-radius:8px;cursor:pointer;font-family:inherit;letter-spacing:0.5px;text-shadow:0 1px 1px rgba(255,255,255,0.4)}
#sp-claim-all-btn:hover{filter:brightness(1.1)}
#sp-claim-all-btn:disabled{opacity:0.4;cursor:default;background:linear-gradient(180deg,#475569,#1e293b);color:#94a3b8;text-shadow:none}

/* ===== REWARD POPUP ===== */
#reward-popup{position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:9500;display:flex;align-items:center;justify-content:center;padding:10px}
#reward-popup-card{background:linear-gradient(180deg,#1a1a24,#0a0a12);border:2px solid #fbbf24;border-radius:14px;width:100%;max-width:380px;display:flex;flex-direction:column;box-shadow:0 0 60px rgba(251,191,36,0.4);animation:rwd-in 0.25s ease}
@keyframes rwd-in{from{transform:scale(0.85);opacity:0}to{transform:scale(1);opacity:1}}
#reward-popup-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(180deg,rgba(251,191,36,0.15),rgba(212,160,23,0.05));border-bottom:1px solid #3a3520;border-radius:12px 12px 0 0}
#reward-popup-title{font-size:16px;font-weight:800;color:#fbbf24;text-shadow:0 0 12px rgba(251,191,36,0.6)}
#reward-popup-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#fde68a;font-size:14px;cursor:pointer;background:rgba(0,0,0,0.3);border:1px solid #3a3520;border-radius:5px}
#reward-popup-subtitle{padding:10px 16px 4px;font-size:11px;color:#94a3b8;text-align:center}
#reward-popup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 16px 16px;max-height:50vh;overflow-y:auto}
.rwd-item{background:rgba(0,0,0,0.4);border:1.5px solid #fbbf24;border-radius:8px;padding:10px 4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 0 8px rgba(251,191,36,0.2);animation:rwd-pop 0.4s ease both}
@keyframes rwd-pop{0%{transform:scale(0.5);opacity:0}70%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
.rwd-item-icon{font-size:24px;line-height:1;height:42px;display:flex;align-items:center;justify-content:center}
.rwd-item-icon img{width:38px;height:38px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.6))}
.rwd-item.has-card .rwd-item-icon{height:60px}
.rwd-item.has-card .rwd-item-icon img{width:54px;height:54px;object-fit:cover;border-radius:6px;border:2px solid #fbbf24;box-shadow:0 0 12px rgba(251,191,36,0.6)}
.rwd-item-amt{font-size:13px;font-weight:800;color:#fde68a;line-height:1;text-shadow:0 1px 2px #000}
.rwd-newcard-badge{position:absolute;top:-7px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,#fbbf24,#d4a017);color:#1c1208;font-size:9px;font-weight:800;padding:2px 8px;border-radius:8px;border:1px solid #7a5712;letter-spacing:0.5px;box-shadow:0 2px 4px rgba(0,0,0,0.5);white-space:nowrap;z-index:2}
.rwd-item{position:relative}
.rwd-item-name{font-size:8px;font-weight:600;color:#fff;line-height:1.15;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-shadow:0 1px 2px #000;margin-top:1px}
#reward-popup-continue{margin:0 16px 16px;padding:10px;font-size:12px;font-weight:800;color:#1c1208;background:linear-gradient(180deg,#fbbf24,#d4a017);border:1.5px solid #7a5712;border-radius:8px;cursor:pointer;font-family:inherit;letter-spacing:0.5px}
#reward-popup-continue:hover{filter:brightness(1.1)}
/* ── Tutorial ── */
/* z-index 12000+ — must sit ABOVE all popups (highest is #ba-load-overlay@11000)
   so the tutorial isn't buried by Season Pass / LO / AFK / etc. popups that
   might auto-open during the first 3s window before the user dismisses them. */
#tut-overlay{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:12000;display:none;pointer-events:none}
#tut-overlay.visible{display:block;pointer-events:auto}
body.tut-active #window-market-backdrop{display:none!important}
/* While tutorial is active, suppress popups that would steal focus visually.
   LO auto-popups are also gated behind tut_done in JS, but this is a CSS
   safety net for any popup we forgot. */
body.tut-active #lo-unlocked-popup,
body.tut-active #lo-popup,
body.tut-active #afk-reward-popup,
body.tut-active #reward-popup,
body.tut-active #sp-popup{display:none!important}
#tut-panel{position:fixed;left:50%;transform:translateX(-50%);width:min(86vw,300px);background:linear-gradient(160deg,#1a1f35,#0f1220);border:1.5px solid #7c3aed;border-radius:13px;padding:12px 14px 10px;box-shadow:0 4px 28px rgba(124,58,237,0.5),0 0 0 1px rgba(124,58,237,0.15);pointer-events:auto;z-index:12002}
#tut-panel.pos-top{top:58px}
#tut-panel.pos-center{top:50%;transform:translate(-50%,-50%)}
#tut-panel.pos-bottom{bottom:80px}
#tut-text{font-size:10.5px;color:#e2d9c8;line-height:1.55;font-weight:500}
#tut-text b{color:#c084fc}
#tut-text .tut-title{font-size:12px;font-weight:800;color:#f0e6d3;margin-bottom:6px;display:block;letter-spacing:0.2px}
#tut-btns{display:flex;gap:6px;margin-top:10px}
#tut-skip{flex:1;padding:5px 6px;border:1.5px solid #475569;background:transparent;border-radius:8px;color:#94a3b8;font-size:9px;font-weight:700;cursor:pointer;font-family:inherit}
#tut-next{flex:2;padding:6px 10px;border:none;background:linear-gradient(180deg,#7c3aed,#5b21b6);border-radius:8px;color:#e9d5ff;font-size:10px;font-weight:800;cursor:pointer;font-family:inherit}
#tut-skip:active{opacity:0.7}
#tut-next:active{filter:brightness(0.9)}
#tut-dots{display:flex;justify-content:center;gap:4px;margin-top:8px}
.tut-dot{width:5px;height:5px;border-radius:50%;background:#334155;transition:background 0.2s}
.tut-dot.active{background:#7c3aed}
/* ── Toast ── */
#ui-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(12px);background:#1a1f2e;border:1.5px solid #334155;border-radius:10px;padding:8px 18px;font-size:11px;font-weight:700;color:#e2d9c8;pointer-events:none;opacity:0;transition:opacity 0.2s,transform 0.2s;z-index:9999;white-space:pre-wrap;max-width:78vw;text-align:center;line-height:1.4}
#ui-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#ui-toast.toast-ok{border-color:#22c55e;color:#86efac;background:#0f1f14}
#ui-toast.toast-err{border-color:#ef4444;color:#fca5a5;background:#1f0f0f}
/* ── Confirm popup ── */
#ui-confirm-popup{position:fixed;inset:0;background:rgba(0,0,0,0.65);display:flex;align-items:center;justify-content:center;z-index:9998;opacity:0;pointer-events:none;transition:opacity 0.2s}
#ui-confirm-popup.visible{opacity:1;pointer-events:auto}
#ui-confirm-card{background:var(--win-bg);border:1.5px solid var(--slot-border);border-radius:14px;padding:20px 16px 14px;min-width:220px;max-width:82vw;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 32px rgba(0,0,0,0.75)}
#ui-confirm-msg{font-size:12px;color:#e2d9c8;text-align:center;line-height:1.55;font-weight:600}
#ui-confirm-btns{display:flex;gap:8px}
#ui-confirm-cancel{flex:1;padding:8px;border:1.5px solid #475569;background:transparent;border-radius:8px;color:#94a3b8;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
#ui-confirm-ok{flex:1;padding:8px;border:none;background:linear-gradient(180deg,#7c3aed,#5b21b6);border-radius:8px;color:#e9d5ff;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
#ui-confirm-cancel:active{opacity:0.7}
#ui-confirm-ok:active{filter:brightness(0.9)}
/* ── Currency Shop ── */
.curr-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}
.curr-shop-cell{background:var(--win-bg);border:1.5px solid var(--slot-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;padding:10px 6px 8px;gap:4px;position:relative}
.csc-icon-wrap{position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center}
.csc-icon-wrap::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:44px;height:18px;border-radius:50%;filter:blur(8px);opacity:0.55;pointer-events:none}
.csc-icon-wrap.glow-gold::after{background:radial-gradient(ellipse,#fbbf24,transparent 70%)}
.csc-icon-wrap.glow-blue::after{background:radial-gradient(ellipse,#60a5fa,transparent 70%)}
.csc-icon-wrap.glow-purple::after{background:radial-gradient(ellipse,#a78bfa,transparent 70%)}
.csc-icon-wrap.glow-green::after{background:radial-gradient(ellipse,#4ade80,transparent 70%)}
.csc-icon-wrap img{width:44px;height:44px;object-fit:contain;image-rendering:pixelated;position:relative;z-index:1}
.csc-qty{font-size:11px;font-weight:800;color:#e2d9c8;line-height:1;text-align:center}
.csc-name{font-size:9px;color:#9ca3af;text-align:center;line-height:1.2}
.csc-buy{margin-top:4px;width:100%;padding:5px 4px;border:none;border-radius:7px;background:linear-gradient(180deg,#7c3aed,#5b21b6);color:#e9d5ff;font-size:10px;font-weight:800;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:3px;letter-spacing:0.3px}
.csc-buy:active{filter:brightness(0.9)}
.csc-buy img{width:12px;height:12px;object-fit:contain;image-rendering:pixelated}

/* ── Small "OR ⟁" hint pinned bottom-right inside Stars-buy buttons ── */
.pkg-buy-btn { position: relative; }
.pkg-buy-or { display: none; }
.pkg-buy-or-disabled-orig {
    position: absolute;
    right: 5px;
    bottom: 2px;
    font-size: 6px;
    line-height: 1;
    color: #fde68a;
    opacity: 0.75;
    font-weight: 700;
    letter-spacing: 0.5px;
    pointer-events: none;
    text-shadow: 0 1px 0 rgba(0,0,0,0.5);
}

/* TonConnect UI 2.x renders its modal inside a <tc-root> custom element
   appended to <body>. Its default z-index sits well below our payment
   popup overlay (99000), so without this override the wallet picker
   would open behind our overlay — and on mobile TG WebApp users
   reported the modal being clipped below the visible viewport. */
tc-root { z-index: 999999 !important; position: relative; }

/* ── Payment-method popup ── */
.pmp-overlay {
    position: fixed; inset: 0;
    background: rgba(5, 5, 12, 0.82);
    z-index: 99000;
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
    font-family: 'Rubik', system-ui, sans-serif;
}
.pmp-card {
    background: linear-gradient(180deg, #1d1d2c 0%, #14141f 100%);
    border: 1px solid #c9a84c66;
    border-radius: 10px;
    width: 100%;
    max-width: 360px;
    padding: 16px 14px 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.6), 0 0 0 1px rgba(201,168,76,0.15);
    position: relative;
    color: #e9e9f0;
}
.pmp-close {
    position: absolute; top: 8px; right: 10px;
    background: transparent; border: none; color: #c9a84c;
    font-size: 22px; line-height: 1; cursor: pointer;
    padding: 4px 8px; opacity: 0.8;
}
.pmp-close:hover { opacity: 1; }
.pmp-title {
    font-size: 13px; font-weight: 700;
    color: #c9a84c; text-align: center;
    text-shadow: 0 0 6px #c9a84c66;
    margin-bottom: 4px;
}
.pmp-subtitle {
    font-size: 10px; text-align: center;
    color: #aaa; margin-bottom: 12px;
}
.pmp-wallet {
    display: flex; align-items: center; justify-content: space-between;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    padding: 6px 10px;
    margin-bottom: 12px;
    font-size: 9px;
}
.pmp-wallet-label { color: #cbd5e1; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pmp-wallet-label.connected { color: #7be08a; font-family: monospace; font-size: 8px; }
.pmp-wallet-btn {
    background: linear-gradient(180deg, #1e3a8a, #1e40af);
    border: 1px solid #3b82f6;
    color: #fff;
    font-size: 9px; font-weight: 700;
    padding: 4px 10px; border-radius: 4px; cursor: pointer;
    white-space: nowrap;
}
.pmp-wallet-btn:hover { filter: brightness(1.1); }
.pmp-wallet-btn.disconnect {
    background: linear-gradient(180deg, #7f1d1d, #991b1b);
    border-color: #ef4444;
}

.pmp-methods { display: flex; flex-direction: column; gap: 8px; }
.pmp-method {
    display: flex; align-items: center; justify-content: space-between;
    background: linear-gradient(180deg, #2a2a3e, #1f1f2e);
    border: 1px solid rgba(201,168,76,0.3);
    border-radius: 6px;
    padding: 10px 12px;
    color: #fff;
    font-family: inherit;
    cursor: pointer;
    transition: transform 0.08s, filter 0.08s, border-color 0.08s;
}
.pmp-method:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.1); border-color: #c9a84c; }
.pmp-method:active:not(:disabled) { transform: translateY(0); }
.pmp-method:disabled { opacity: 0.4; cursor: not-allowed; filter: grayscale(0.5); }

.pmp-m-left { display: flex; align-items: center; gap: 8px; }
.pmp-m-icon { font-size: 16px; }
.pmp-m-name { font-size: 11px; font-weight: 600; }
.pmp-m-right { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.pmp-m-price { font-size: 11px; font-weight: 700; color: #fde68a; }
.pmp-m-discount { font-size: 8px; color: #888; }
.pmp-m-discount.pmp-bonus { color: #7be08a; }

#pmp-m-stars { border-color: rgba(167, 139, 250, 0.35); }
#pmp-m-stars .pmp-m-icon { color: #c084fc; }
#pmp-m-ton { border-color: rgba(96, 165, 250, 0.35); }
#pmp-m-ton .pmp-m-icon { color: #60a5fa; }
#pmp-m-usdt { border-color: rgba(34, 197, 94, 0.35); }
#pmp-m-usdt .pmp-m-icon { color: #22c55e; }
#pmp-m-balance { border-color: rgba(245, 158, 11, 0.35); }
#pmp-m-balance .pmp-m-icon { color: #f59e0b; }

.pmp-status {
    margin-top: 12px;
    padding: 8px 10px;
    border-radius: 5px;
    font-size: 10px;
    line-height: 1.4;
    text-align: center;
}
.pmp-status.info { background: rgba(59,130,246,0.15); border: 1px solid #3b82f6; color: #cfe2ff; }
.pmp-status.ok   { background: rgba(34,197,94,0.15); border: 1px solid #22c55e; color: #bbf7d0; }
.pmp-status.err  { background: rgba(239,68,68,0.15); border: 1px solid #ef4444; color: #fecaca; }
