/* ═══════════════════════════════════════════════════
   MELLSTROY CLICKER v3 — FULL STYLES
   Creative dark streamer aesthetic + drum machine UI
   ═══════════════════════════════════════════════════ */

:root {
  --c-bg:      #080810;
  --c-bg2:     #0e0e1a;
  --c-bg3:     #14141f;
  --c-bg4:     #1c1c2e;
  --c-border:  #252535;
  --c-border2: #353550;
  --c-accent:  #ff3c00;
  --c-accent2: #ff7a00;
  --c-gold:    #ffd700;
  --c-gold2:   #ffaa00;
  --c-purple:  #7c3aed;
  --c-purple2: #a78bfa;
  --c-green:   #16a34a;
  --c-green2:  #4ade80;
  --c-red:     #dc2626;
  --c-cyan:    #06b6d4;
  --c-text:    #eeeef5;
  --c-text2:   #8888aa;
  --c-text3:   #44445a;
  --font-head: 'Bebas Neue','Russo One',sans-serif;
  --font-body: 'Montserrat',sans-serif;
  --drum-w:    200px;
  --drum-h:    200px;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

html,body {
  width:100%; height:100%;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--font-body);
  overflow:hidden;
}

/* scrollbar */
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--c-bg2); }
::-webkit-scrollbar-thumb { background:var(--c-border2); border-radius:2px; }

/* ─── PRELOADER ─────────────────────────────────── */
#preloader {
  position:fixed; inset:0; z-index:10000;
  background:var(--c-bg);
  display:flex; align-items:center; justify-content:center;
}
.preloader-inner { text-align:center; }
.preloader-drum {
  font-size:64px;
  display:block; margin-bottom:20px;
  animation:drumBounce 0.5s ease-in-out infinite alternate;
}
@keyframes drumBounce { from{transform:scaleY(1)} to{transform:scaleY(0.85) translateY(4px)} }
.preloader-bar {
  width:200px; height:3px;
  background:var(--c-bg3); border-radius:2px; overflow:hidden;
  margin:0 auto 12px;
}
#preloader-fill {
  height:100%; width:0%;
  background:linear-gradient(90deg,var(--c-accent),var(--c-gold));
  border-radius:2px;
  transition:width 0.1s;
}
.preloader-text {
  font-family:var(--font-head); letter-spacing:4px; font-size:13px;
  color:var(--c-text3);
}

/* ─── AGE GATE ───────────────────────────────────── */
#age-gate {
  position:fixed; inset:0; z-index:9999;
  background:#000;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.ag-noise {
  position:absolute; inset:0; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  background-size:160px;
  animation:noiseShift 0.1s steps(1) infinite;
}
@keyframes noiseShift { 0%,100%{background-position:0 0}50%{background-position:60px -40px} }
.ag-scanlines {
  position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,0.1) 3px,rgba(0,0,0,0.1) 4px);
}

.ag-content {
  position:relative; z-index:1; text-align:center;
  padding:60px 90px;
}

/* GLITCH TITLE */
.ag-glitch {
  font-family:var(--font-head);
  font-size:88px; line-height:1;
  color:#fff; letter-spacing:6px;
  position:relative;
}
.ag-glitch::before,.ag-glitch::after {
  content:attr(data-text);
  position:absolute; top:0; left:0; width:100%;
  font-family:var(--font-head); font-size:88px; letter-spacing:6px;
}
.ag-glitch::before {
  color:#ff3c00; clip-path:polygon(0 30%,100% 30%,100% 50%,0 50%);
  transform:translateX(-3px);
  animation:glitch1 2.5s steps(1) infinite;
}
.ag-glitch::after {
  color:#00cfff; clip-path:polygon(0 60%,100% 60%,100% 75%,0 75%);
  transform:translateX(3px);
  animation:glitch2 2.5s steps(1) infinite 0.3s;
}
@keyframes glitch1 { 0%,94%,100%{opacity:0} 95%,98%{opacity:1;transform:translateX(-6px) skewX(-3deg)} 96%{transform:translateX(4px)} }
@keyframes glitch2 { 0%,90%,100%{opacity:0} 91%,96%{opacity:1;transform:translateX(5px)} 93%{transform:translateX(-4px) skewX(2deg)} }

.ag-subtitle {
  font-family:var(--font-head);
  font-size:36px; letter-spacing:16px;
  color:var(--c-accent); margin-top:4px; margin-bottom:16px;
}
.ag-divider {
  width:80px; height:2px;
  background:linear-gradient(90deg,transparent,var(--c-accent),transparent);
  margin:0 auto 20px;
}
.ag-warning { font-size:17px; letter-spacing:5px; color:var(--c-accent); font-weight:700; margin-bottom:12px; }
.ag-text { color:var(--c-text2); font-size:14px; line-height:1.9; margin-bottom:36px; }

.ag-buttons { display:flex; gap:16px; justify-content:center; }

#ag-yes {
  position:relative; overflow:hidden;
  padding:0; border:none; cursor:pointer;
  background:none;
}
.ag-btn-inner {
  display:block; padding:14px 48px;
  font-family:var(--font-head); font-size:22px; letter-spacing:3px;
  background:var(--c-accent); color:#fff;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:background 0.15s, transform 0.1s;
}
#ag-yes:hover .ag-btn-inner { background:#ff5200; transform:scale(1.04); }
.ag-btn-glow {
  position:absolute; inset:0;
  background:radial-gradient(ellipse, rgba(255,80,0,0.4), transparent 70%);
  animation:glowPulse 1.5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes glowPulse { 0%,100%{opacity:0.5} 50%{opacity:1} }

#ag-no {
  padding:14px 32px;
  font-family:var(--font-head); font-size:18px; letter-spacing:2px;
  background:transparent; color:var(--c-text3);
  border:1px solid var(--c-border); cursor:pointer;
  transition:all 0.15s;
}
#ag-no:hover { color:var(--c-text2); border-color:var(--c-border2); }

/* ─── MEME LAYER ─────────────────────────────────── */
#meme-layer {
  position:fixed; inset:0; z-index:8500;
  pointer-events:none; overflow:hidden;
}
.meme-pop {
  position:absolute;
  animation:memePop 3.5s ease-out forwards;
  pointer-events:none; user-select:none;
}
.meme-pop.type-emoji { font-size:48px; }
.meme-pop.type-text {
  background:#fff; color:#111;
  font-family:var(--font-head); font-size:16px; letter-spacing:1px;
  padding:8px 16px; border-radius:6px; border:3px solid #111;
  box-shadow:3px 3px 0 #111; white-space:nowrap;
}
.meme-pop.type-image { width:80px; height:80px; object-fit:contain; border-radius:8px; }
@keyframes memePop {
  0%  { opacity:0; transform:scale(0.3) translateY(20px) rotate(-8deg); }
  12% { opacity:1; transform:scale(1.15) translateY(0) rotate(4deg); }
  30% { transform:scale(1) translateY(-20px) rotate(-2deg); }
  70% { opacity:1; transform:scale(0.95) translateY(-70px) rotate(3deg); }
  100%{ opacity:0; transform:scale(0.7) translateY(-140px) rotate(-6deg); }
}

/* ─── SCREEN FLASH ───────────────────────────────── */
#screen-flash {
  position:fixed; inset:0; z-index:8000;
  pointer-events:none; background:#fff; opacity:0;
}

/* ─── BACKGROUND ─────────────────────────────────── */
.bg-grid {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,60,0,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,60,0,0.025) 1px, transparent 1px);
  background-size:50px 50px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
}
.bg-vignette {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(ellipse 100% 100% at 50% 50%, transparent 25%, rgba(0,0,0,0.92) 100%);
}
#particles-canvas { position:fixed; inset:0; z-index:1; pointer-events:none; }

/* ─── HEADER ─────────────────────────────────────── */
#header {
  position:relative; z-index:10;
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 20px; height:58px;
  border-bottom:1px solid var(--c-border);
  background:rgba(8,8,16,0.97);
  backdrop-filter:blur(12px);
}

.header-logo {
  font-family:var(--font-head);
  font-size:26px; letter-spacing:2px;
  display:flex; align-items:baseline; gap:0;
}
.logo-mel { color:#fff; }
.logo-l { color:var(--c-accent); font-size:30px; }
.logo-stroy { color:#fff; }
.logo-clicker {
  font-size:12px; letter-spacing:4px; color:var(--c-accent);
  margin-left:8px; align-self:center;
  border:1px solid rgba(255,60,0,0.4); padding:2px 6px; border-radius:2px;
}

.header-center-stats { display:flex; align-items:center; gap:14px; justify-content:center; }
.hstat { text-align:center; min-width:52px; }
.hstat-val { display:block; font-family:var(--font-head); font-size:20px; color:var(--c-gold); line-height:1; }
.hstat-mult { color:var(--c-accent2) !important; animation:multPulse 1s ease-in-out infinite; }
@keyframes multPulse { 0%,100%{text-shadow:none} 50%{text-shadow:0 0 12px var(--c-accent2)} }
.hstat-label { font-size:8px; letter-spacing:2px; color:var(--c-text3); text-transform:uppercase; }
.hstat-sep { width:1px; height:26px; background:var(--c-border); }

.header-actions { display:flex; align-items:center; gap:6px; justify-content:flex-end; }
.header-nick { font-family:var(--font-head); font-size:15px; color:var(--c-gold); letter-spacing:1px; margin:0 6px; }

.hbtn {
  padding:5px 12px; cursor:pointer; border-radius:3px; font-size:12px;
  font-family:var(--font-head); letter-spacing:1px; transition:all 0.12s;
  background:transparent; border:1px solid var(--c-border); color:var(--c-text2);
}
.hbtn:hover { color:var(--c-text); border-color:var(--c-border2); }
.hbtn-icon { border:none; font-size:18px; padding:4px 8px; }
.hbtn-accent { color:var(--c-accent); border-color:rgba(255,60,0,0.5); }
.hbtn-accent:hover { background:rgba(255,60,0,0.1); color:var(--c-accent); }
.hbtn-outline { color:var(--c-text2); }
.hbtn-ghost { border-color:transparent; color:var(--c-text3); }
.hbtn-ghost:hover { color:var(--c-cyan); border-color:var(--c-cyan); }
.hbtn-withdraw { color:var(--c-gold2); border-color:rgba(255,170,0,0.4); }
.hbtn-withdraw:hover { background:rgba(255,170,0,0.08); }
.hbtn-danger { color:var(--c-text3); }
.hbtn-danger:hover { color:var(--c-red); border-color:var(--c-red); }

/* ─── LAYOUT ─────────────────────────────────────── */
#game-layout {
  position:relative; z-index:5;
  display:grid;
  grid-template-columns:270px 1fr 250px;
  height:calc(100vh - 58px);
  overflow:hidden;
}

/* ─── SIDE PANELS ────────────────────────────────── */
#panel-left,#panel-right {
  background:rgba(8,8,16,0.92);
  overflow-y:auto; padding:16px 12px;
}
#panel-left { border-right:1px solid var(--c-border); }
#panel-right { border-left:1px solid var(--c-border); }

.panel-title {
  font-family:var(--font-head); font-size:13px; letter-spacing:3px; color:var(--c-accent);
  padding-bottom:8px; border-bottom:1px solid var(--c-border); margin-bottom:10px;
  display:flex; align-items:center; gap:6px;
}
.pt-icon { font-size:14px; }
.pt-icon img {width: 30px;}
/* ─── UPGRADE CARDS ──────────────────────────────── */
.upgrade-card {
  background:var(--c-bg3); border:1px solid var(--c-border);
  border-radius:6px; padding:10px; margin-bottom:5px;
  cursor:pointer; transition:all 0.12s; position:relative; overflow:hidden;
}
.upgrade-card::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--c-accent); transform:scaleY(0); transition:transform 0.15s;
}
.upgrade-card:hover:not(.locked):not(.bought)::before { transform:scaleY(1); }
.upgrade-card:hover:not(.locked):not(.bought) {
  border-color:var(--c-border2); background:rgba(255,60,0,0.04);
  transform:translateX(3px);
}
.upgrade-card.locked { opacity:0.3; cursor:not-allowed; pointer-events:none; }
.upgrade-card.bought { opacity:0.45; cursor:default; border-color:var(--c-green); }
.upgrade-card.bought::before { background:var(--c-green); transform:scaleY(1); }
.upgrade-card.can-afford { border-color:rgba(255,215,0,0.25); }

.upg-row { display:flex; align-items:center; gap:8px; }
.upg-icon { font-size:22px; width:30px; text-align:center; flex-shrink:0; }
.upg-info { flex:1; min-width:0; }
.upg-name { font-size:11px; font-weight:700; color:var(--c-text); text-transform:uppercase; letter-spacing:0.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.upg-desc { font-size:10px; color:var(--c-text2); margin-top:2px; }
.upg-footer { display:flex; align-items:center; justify-content:space-between; margin-top:6px; }
.upg-cost { font-family:var(--font-head); font-size:13px; color:var(--c-gold); }
.upg-cost.dim { color:var(--c-text3); }
.upg-bonus { font-size:10px; color:var(--c-accent2); }
.upg-done { font-size:10px; color:var(--c-green); font-weight:700; letter-spacing:1px; }

/* ─── CENTER PANEL ───────────────────────────────── */
#panel-center {
  display:flex; flex-direction:column;
  align-items:center; padding:12px 24px 12px;
  overflow-y:auto; position:relative;
}

/* SCORE */
#score-block { text-align:center; margin-bottom:12px; width:100%; }
.score-label-row {
  display:flex; align-items:center; justify-content:center; gap:6px;
  font-family:var(--font-head); font-size:12px; letter-spacing:5px; color:var(--c-text3);
}
.score-rub { color:var(--c-gold2); }
#score-value-wrap { display:flex; justify-content:center; }
#score-value {
  font-family:var(--font-head); font-size:54px; line-height:1.05;
  color:var(--c-gold);
  text-shadow:0 0 40px rgba(255,215,0,0.35);
  transition:transform 0.07s;
}
#score-cps-row {
  font-size:11px; color:var(--c-text3); margin-top:2px;
  display:flex; align-items:center; justify-content:center; gap:10px;
}
#click-power-badge {
  background:var(--c-bg3); border:1px solid var(--c-border);
  padding:2px 8px; border-radius:10px;
  font-size:11px; color:var(--c-accent2);
}

/* ─── CLICK ZONE ─────────────────────────────────── */
#click-zone {
  position:relative; display:flex; flex-direction:column;
  align-items:center; margin-bottom:12px;
}

#click-aura {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,60,0,0.12) 0%, transparent 70%);
  pointer-events:none;
  animation:auraPulse 2s ease-in-out infinite;
}
@keyframes auraPulse { 0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.7} 50%{transform:translate(-50%,-50%) scale(1.15);opacity:1} }

#click-ring-1, #click-ring-2 {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%); border-radius:50%;
  pointer-events:none; border:1px solid rgba(255,60,0,0.2);
}
#click-ring-1 { width:180px; height:180px; animation:ringPulse 2s ease-in-out infinite; }
#click-ring-2 { width:210px; height:210px; animation:ringPulse 2s ease-in-out infinite 0.3s; }
@keyframes ringPulse { 0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.4} 50%{transform:translate(-50%,-50%) scale(1.05);opacity:.8} }

#click-btn {
  position:relative; z-index:2;
  width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #2a1a0a, #0f0a0a);
  border:2px solid var(--c-accent); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:transform 0.07s, box-shadow 0.07s; outline:none; overflow:hidden;
  box-shadow:0 0 20px rgba(255,60,0,0.3), inset 0 0 30px rgba(0,0,0,0.5);
}
#click-btn::after {
  content:''; position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at 40% 30%, rgba(255,255,255,0.08), transparent 60%);
  pointer-events:none;
}
#click-btn:hover { box-shadow:0 0 40px rgba(255,60,0,0.5), 0 0 80px rgba(255,60,0,0.2), inset 0 0 30px rgba(0,0,0,0.5); border-color:var(--c-accent2); }
#click-btn:active { transform:scale(0.92); box-shadow:0 0 10px rgba(255,60,0,0.3), inset 0 0 30px rgba(0,0,0,0.5); }
#click-btn.clicked { animation:clickFlash 0.15s ease; }
@keyframes clickFlash { 0%{box-shadow:0 0 60px rgba(255,180,0,0.8),0 0 100px rgba(255,60,0,0.4)} 100%{box-shadow:0 0 20px rgba(255,60,0,0.3)} }

.avatar-face { font-size:70px; line-height:1; transition:transform 0.1s; user-select:none; }
/* .avatar-face>img {width: 150px; height: 150px; object-fit: fill;} */
#click-btn:active .avatar-face { transform:scale(0.9) rotate(-5deg); }

#click-crown {
  position:absolute; top:-8px; left:50%; transform:translateX(-50%);
  font-size:22px; display:none;
  animation:crownFloat 3s ease-in-out infinite;
}
@keyframes crownFloat { 0%,100%{transform:translateX(-50%) translateY(0) rotate(-5deg)} 50%{transform:translateX(-50%) translateY(-4px) rotate(5deg)} }

#click-label {
  margin-top:10px; font-family:var(--font-head);
  font-size:14px; letter-spacing:2px; color:var(--c-text2);
}

/* COMBO BAR */
#combo-zone { width:100%; max-width:300px; margin-bottom:10px; }
#combo-bar-wrap { height:4px; background:var(--c-bg3); border-radius:2px; overflow:hidden; margin-bottom:4px; }
#combo-bar { height:100%; background:linear-gradient(90deg,var(--c-accent),var(--c-accent2)); border-radius:2px; width:0%; transition:width 0.1s; }
#combo-text { font-family:var(--font-head); font-size:13px; letter-spacing:2px; color:var(--c-text3); text-align:right; transition:color 0.2s; }
#combo-text.active { color:var(--c-accent2); }
#combo-text.hot { color:var(--c-gold); text-shadow:0 0 8px var(--c-gold2); }

/* ─── QUOTE TICKER ───────────────────────────────── */
#quote-ticker {
  width:100%; max-width:380px;
  background:var(--c-bg3);
  border:1px solid var(--c-border);
  border-left:3px solid var(--c-accent);
  padding:8px 14px;
  border-radius:0 4px 4px 0;
  margin-bottom:12px;
  min-height:40px;
  overflow:hidden;
}
#qt-inner { display:flex; align-items:center; gap:8px; }
.qt-mic { font-size:14px; flex-shrink:0; }
#qt-text {
  font-size:12px; font-style:italic; color:var(--c-text2);
  animation:tickerSlide 0.5s ease;
}
@keyframes tickerSlide { from{opacity:0;transform:translateX(-8px)} to{opacity:1;transform:none} }

/* ─── ACHIEVEMENTS ───────────────────────────────── */
#achievements-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(54px,1fr));
  gap:6px; width:100%; max-width:380px;
}
.ach-item {
  width:54px; height:54px;
  background:var(--c-bg3); border:1px solid var(--c-border);
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; position:relative; cursor:default;
  transition:all 0.2s;
}
.ach-item.locked { filter:grayscale(1) brightness(0.4); }
.ach-item.done { border-color:var(--c-gold); box-shadow:0 0 10px rgba(255,215,0,0.25); }
.ach-item.just-unlocked { animation:achPop 0.5s cubic-bezier(0.17,0.89,0.32,1.27); }
@keyframes achPop { 0%{transform:scale(0.3)} 70%{transform:scale(1.25)} 100%{transform:scale(1)} }
.ach-tip {
  position:absolute; bottom:calc(100% + 6px); left:50%;
  transform:translateX(-50%); background:#000; border:1px solid var(--c-border2);
  padding:4px 10px; border-radius:3px; font-size:10px; color:var(--c-text);
  white-space:nowrap; pointer-events:none; opacity:0; transition:opacity 0.15s;
  z-index:100;
}
.ach-item:hover .ach-tip { opacity:1; }

/* ─── RIGHT STATS ────────────────────────────────── */
.stat-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px solid rgba(255,255,255,0.03); font-size:11px; }
.stat-k { color:var(--c-text2); }
.stat-v { font-family:var(--font-head); font-size:13px; color:var(--c-text); }
.passive-row { display:flex; align-items:center; gap:8px; padding:5px 2px; font-size:11px; border-bottom:1px solid rgba(255,255,255,0.02); }
.passive-ico { font-size:15px; width:18px; text-align:center; }
.passive-nm { color:var(--c-text2); flex:1; }
.passive-vl { color:var(--c-green2); font-weight:700; font-family:var(--font-head); font-size:12px; }

/* SKINS */
.skin-card { background:var(--c-bg3); border:1px solid var(--c-border); border-radius:5px; padding:8px; margin-bottom:5px; cursor:pointer; display:flex; align-items:center; gap:8px; transition:all 0.12s; }
.skin-card:hover:not(.locked) { border-color:var(--c-purple); }
.skin-card.active { border-color:var(--c-purple2); background:rgba(124,58,237,0.08); }
.skin-card.locked { opacity:0.3; cursor:not-allowed; pointer-events:none; }
.skin-ico {display: flex; height: 64px; width: 64px; font-size: 26px;
}
.skin-nm { font-size:11px; font-weight:700; color:var(--c-text); text-transform:uppercase; letter-spacing:0.5px; }
.skin-req { font-size:10px; color:var(--c-text3); margin-top:1px; }
.skin-active-dot { width:6px; height:6px; border-radius:50%; background:var(--c-purple2); box-shadow:0 0 6px var(--c-purple); margin-left:auto; }

/* ─── FLOAT TEXTS ────────────────────────────────── */
.ft {
  position:fixed; z-index:7000; pointer-events:none;
  font-family:var(--font-head);
  animation:ftRise 1.1s ease-out forwards;
}
.ft-normal { font-size:20px; color:var(--c-gold); text-shadow:0 0 8px rgba(255,215,0,0.5); }
.ft-combo  { font-size:26px; color:var(--c-accent2); text-shadow:0 0 12px rgba(255,122,0,0.6); }
.ft-mega   { font-size:34px; color:var(--c-red); text-shadow:0 0 16px rgba(220,38,38,0.7); }
@keyframes ftRise { 0%{opacity:1;transform:translateY(0) scale(1)} 25%{transform:translateY(-22px) scale(1.15)} 100%{opacity:0;transform:translateY(-90px) scale(0.7)} }

/* ─── NOTIF STACK ────────────────────────────────── */
#notif-stack { font-size: 17px; position:fixed; bottom:20px; right:20px; z-index:6000; display:flex; flex-direction:column-reverse; gap:6px; }
.notif {
  background:var(--c-bg2); border:1px solid var(--c-border2);
  border-left:3px solid var(--c-accent);
  padding:9px 14px; border-radius:4px;
  font-size:32px; color:var(--c-text); max-width:260px;
  animation:notifIn 0.25s ease; transition:opacity 0.4s;
}
@keyframes notifIn { from{opacity:0;transform:translateX(16px)} to{opacity:1;transform:none} }
.notif.ok  { border-left-color:var(--c-green2); }
.notif.gold{ border-left-color:var(--c-gold); }
.notif.info{ border-left-color:var(--c-cyan); }
.notif.err { border-left-color:var(--c-red); }

/* ─── ACH BANNER ─────────────────────────────────── */
#ach-banner {
  position:fixed; top:68px; left:50%; transform:translateX(-50%);
  z-index:6500;
  display:flex; align-items:center; gap:14px;
  padding:12px 28px;
  background:linear-gradient(135deg, #160f00, #0e0800);
  border:2px solid var(--c-gold);
  border-radius:4px;
  clip-path:polygon(14px 0%,100% 0%,calc(100% - 14px) 100%,0% 100%);
  box-shadow:0 0 50px rgba(255,215,0,0.35);
  animation:bannerIn 0.4s cubic-bezier(0.17,0.89,0.32,1.27);
}
#ach-banner.hidden { display:none; }
@keyframes bannerIn { from{opacity:0;transform:translateX(-50%) translateY(-24px) scale(0.8)} to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)} }
#ach-banner-icon { font-size:32px; }
.ach-banner-label { font-family:var(--font-head); font-size:9px; letter-spacing:4px; color:var(--c-gold2); }
#ach-banner-name  { font-family:var(--font-head); font-size:18px; letter-spacing:2px; color:var(--c-gold); }

/* ─── MODAL BASE ─────────────────────────────────── */
#modal-backdrop {
  position:fixed; inset:0; z-index:9000;
  background:rgba(0,0,0,0.85); backdrop-filter:blur(8px);
}
.modal {
  position:fixed; top:50%; left:50%;
  transform:translate(-50%,-50%);
  z-index:9001;
  background:var(--c-bg2);
  border:1px solid var(--c-border2);
  border-radius:8px; padding:36px 40px;
  width:calc(100% - 32px); max-width:420px;
  box-shadow:0 24px 80px rgba(0,0,0,0.9), 0 0 0 1px rgba(255,255,255,0.04);
  animation:modalIn 0.32s cubic-bezier(0.17,0.89,0.32,1.27);
}
.modal.modal-wide { max-width:500px; }
.modal.hidden { display:none; }
@keyframes modalIn { from{opacity:0;transform:translate(-50%,-50%) scale(0.88) translateY(12px)} to{opacity:1;transform:translate(-50%,-50%) scale(1) translateY(0)} }

.modal-x {
  position:absolute; top:14px; right:16px;
  background:none; border:none; color:var(--c-text3);
  font-size:20px; cursor:pointer; line-height:1; transition:color 0.1s;
}
.modal-x:hover { color:var(--c-text); }
.modal-title {
  font-family:var(--font-head); font-size:22px; letter-spacing:3px;
  color:var(--c-text); margin-bottom:20px;
}

/* TABS */
.modal-tabs { display:flex; margin-bottom:24px; border-bottom:1px solid var(--c-border); }
.mtab {
  flex:1; padding:10px; background:none; border:none;
  border-bottom:2px solid transparent; margin-bottom:-1px;
  font-family:var(--font-head); font-size:15px; letter-spacing:2px;
  color:var(--c-text3); cursor:pointer; transition:all 0.15s;
}
.mtab:hover { color:var(--c-text2); }
.mtab.active { color:var(--c-accent); border-bottom-color:var(--c-accent); }

/* FORM */
.fg { margin-bottom:15px; }
.flabel {
  display:block; font-size:9px; letter-spacing:2.5px; color:var(--c-text3);
  font-weight:700; text-transform:uppercase; margin-bottom:6px;
}
.flabel-sub { color:var(--c-text3); font-size:9px; letter-spacing:1px; }
.finput {
  width:100%; padding:10px 14px;
  background:var(--c-bg3); border:1px solid var(--c-border);
  color:var(--c-text); font-family:var(--font-body); font-size:14px;
  border-radius:4px; outline:none; transition:border-color 0.15s;
}
.finput:focus { border-color:var(--c-accent); box-shadow:0 0 0 2px rgba(255,60,0,0.1); }
.finput::placeholder { color:var(--c-text3); }
.finput[readonly] { cursor:not-allowed; opacity:0.5; }
.pw-wrap { position:relative; }
.pw-wrap .finput { padding-right:40px; }
.pw-eye {
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  background:none; border:none; cursor:pointer; font-size:16px; color:var(--c-text3);
  transition:color 0.1s; padding:2px;
}
.pw-eye:hover { color:var(--c-text); }

/* Password strength */
#pw-strength-bar { height:3px; background:var(--c-bg3); border-radius:2px; margin-top:6px; overflow:hidden; }
#pw-strength-fill { height:100%; width:0; border-radius:2px; transition:width 0.3s, background 0.3s; }
#pw-strength-label { font-size:10px; color:var(--c-text3); margin-top:3px; height:14px; }

.fg-check { display:flex; align-items:center; gap:8px; }
.fcheck-label { font-size:12px; color:var(--c-text2); cursor:pointer; }
.fbtn {
  width:100%; padding:12px; margin-top:6px;
  font-family:var(--font-head); font-size:16px; letter-spacing:3px;
  background:var(--c-accent); color:#fff; border:none;
  border-radius:4px; cursor:pointer; transition:all 0.12s;
  display:block;
}
.fbtn:hover { background:#ff5200; transform:translateY(-1px); box-shadow:0 4px 20px rgba(255,60,0,0.3); }
.fbtn:active { transform:translateY(0); }
.ferr {
  font-size:12px; color:var(--c-red); margin-bottom:10px;
  padding:8px 12px; background:rgba(220,38,38,0.08);
  border:1px solid rgba(220,38,38,0.25); border-radius:4px;
}
.fhint { text-align:center; font-size:12px; color:var(--c-text3); margin-top:14px; }
.flink { color:var(--c-accent); cursor:pointer; }
.flink:hover { text-decoration:underline; }

/* LEADERBOARD */
.lb-tabs { display:flex; gap:4px; margin-bottom:14px; }
.lbtab {
  flex:1; padding:8px; background:var(--c-bg3); border:1px solid var(--c-border);
  color:var(--c-text3); font-family:var(--font-head); font-size:12px; letter-spacing:1px;
  cursor:pointer; transition:all 0.12s; border-radius:3px;
}
.lbtab:hover { color:var(--c-text2); border-color:var(--c-border2); }
.lbtab.active { color:var(--c-accent); border-color:var(--c-accent); background:rgba(255,60,0,0.06); }

.lb-placeholder { text-align:center; padding:30px; color:var(--c-text3); font-size:13px; }
#lb-rows { display:flex; flex-direction:column; gap:3px; max-height:300px; overflow-y:auto; }
.lb-row {
  display:flex; align-items:center; gap:10px;
  padding:8px 12px; background:var(--c-bg3); border:1px solid var(--c-border);
  border-radius:4px; font-size:13px;
}
.lb-row.lb-me { border-color:rgba(255,215,0,0.4); background:rgba(255,215,0,0.04); }
.lb-row.top1 { border-color:var(--c-gold); }
.lb-row.top2 { border-color:#c0c0c0; }
.lb-row.top3 { border-color:#cd7f32; }
.lb-rank { font-family:var(--font-head); font-size:18px; color:var(--c-text3); width:28px; text-align:center; flex-shrink:0; }
.lb-nick { flex:1; font-weight:600; color:var(--c-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lb-val-gold { font-family:var(--font-head); font-size:16px; color:var(--c-gold); }
.lb-self {
  display:flex; align-items:center; gap:10px;
  padding:8px 12px; background:rgba(255,215,0,0.05);
  border:1px solid rgba(255,215,0,0.3); border-radius:4px; margin-top:10px;
  font-size:12px;
}
.lb-self-label { font-family:var(--font-head); font-size:11px; color:var(--c-gold2); letter-spacing:2px; }
.lb-guest { text-align:center; padding:16px; color:var(--c-text3); font-size:13px; }

/* WITHDRAW */
.withdraw-body { }
.withdraw-balance { font-family:var(--font-head); font-size:16px; color:var(--c-text2); }
.withdraw-balance strong { color:var(--c-gold); }
.withdraw-disclaimer {
  background:rgba(220,38,38,0.06); border:1px solid rgba(220,38,38,0.2);
  padding:10px 14px; border-radius:4px; font-size:11px; line-height:1.8;
  color:var(--c-text2); margin-bottom:14px; margin-top:6px;
}

.auth-remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 2px 0 12px;
  color: var(--c-text2);
  font-size: 12px;
}

.auth-remember input {
  width: 16px;
  height: 16px;
  accent-color: var(--c-gold);
}

.global-goal-message {
  margin: 8px 0 6px;
  color: var(--px-yellow);
  font-family: var(--font-pixel);
  font-size: 9px;
  line-height: 1.35;
  text-shadow: 2px 2px 0 #000;
}

.admin-notice {
  width: 100%;
  margin: 10px 0 18px;
  padding: 11px 12px;
  border: 3px solid #233553;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(28,44,72,.96), rgba(13,22,38,.96));
  color: #eaf1ff;
  font-family: var(--font-pixel);
  font-size: 10px;
  line-height: 1.45;
  text-shadow: 2px 2px 0 #000;
  box-shadow: inset 0 0 0 1px rgba(104, 172, 255, .14), 0 8px 0 rgba(0,0,0,.18);
  overflow-wrap: anywhere;
}

.admin-notice::before {
  content: "НОВОСТЬ";
  display: block;
  margin-bottom: 7px;
  color: var(--px-cyan);
  font-size: 9px;
}

/* ─── AD MODAL ────────────────────────────────────── */
.modal-ad { max-width:380px; text-align:center; }
.ad-header {
  font-family:var(--font-head); font-size:11px; letter-spacing:4px;
  color:var(--c-text3); margin-bottom:16px;
  border-bottom:1px solid var(--c-border); padding-bottom:8px;
}
#ad-skip-countdown {
  display:flex; justify-content:center; margin-bottom:14px;
}
#ad-timer-ring {
  position:relative; width:48px; height:48px;
}
#ad-timer-ring svg { position:absolute; inset:0; transform:rotate(-90deg); }
#ad-ring-circle {
  fill:none; stroke:var(--c-accent); stroke-width:3;
  stroke-dasharray:100; stroke-dashoffset:0;
  transition:stroke-dashoffset 1s linear;
}
#ad-countdown-val {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-size:20px; color:var(--c-accent);
}
#ad-video-placeholder {
  background:var(--c-bg3); border:1px solid var(--c-border);
  border-radius:6px; padding:24px; margin-bottom:14px;
  min-height:140px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
}
#ad-fake-progress-wrap { width:100%; height:3px; background:var(--c-bg); border-radius:2px; overflow:hidden; }
#ad-fake-progress { height:100%; width:0%; background:var(--c-accent); transition:width 0.3s; }
#ad-duration-label { font-size:11px; color:var(--c-text3); font-family:var(--font-head); letter-spacing:1px; }
#ad-title-label { font-size:13px; color:var(--c-text); line-height:1.6; }
#ad-loading-dots { font-size:18px; color:var(--c-accent); animation:dotsBounce 1.2s ease-in-out infinite; }
@keyframes dotsBounce { 0%,100%{opacity:0.4} 50%{opacity:1} }
#ad-skip-btn {
  padding:8px 24px; font-family:var(--font-head); font-size:14px; letter-spacing:2px;
  background:var(--c-bg3); border:1px solid var(--c-border2); color:var(--c-text);
  cursor:pointer; border-radius:3px; margin-bottom:10px; transition:all 0.1s;
}
#ad-skip-btn:hover { background:var(--c-bg4); border-color:var(--c-accent); }
.ad-offer-title {
  font-family: var(--font-head);
  font-size: 28px;
  color: var(--c-gold);
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.ad-offer-text {
  color: var(--c-text2);
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 18px;
}
.ad-offer-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ad-offer-actions button {
  min-height: 42px;
  border: 1px solid var(--c-border2);
  border-radius: 5px;
  background: var(--c-bg3);
  color: var(--c-text);
  font-family: var(--font-head);
  font-size: 18px;
  letter-spacing: 2px;
  cursor: pointer;
}
#ad-yes-btn {
  background: linear-gradient(180deg, var(--c-gold), var(--c-gold2));
  color: #241500;
  border-color: var(--c-gold2);
}
#ad-no-btn:hover,
#ad-yes-btn:hover {
  filter: brightness(1.08);
}
#ad-google-label {
  font-family: var(--font-head);
  letter-spacing: 3px;
  font-size: 11px;
  color: #8ab4f8;
}

.fbtn-telegram {
  margin-top: 10px;
  background: linear-gradient(180deg, #37b8ff, #1584d8);
  color: #fff;
}

.social-login-grid {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
}
.ad-subtext { font-size:10px; color:var(--c-text3); letter-spacing:1px; }

/* ─── SECRET REWARD ──────────────────────────────── */
#secret-reward-screen {
  position:fixed; inset:0; z-index:99999;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  background:#000; overflow:hidden;
}
#sr-bg-anim {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%, rgba(255,60,0,0.15), transparent 70%);
  animation:srPulse 1s ease-in-out infinite;
}
@keyframes srPulse { 0%,100%{opacity:0.7} 50%{opacity:1;transform:scale(1.05)} }
#sr-emoji { font-size:120px; animation:srBounce 0.8s ease-in-out infinite alternate; }
@keyframes srBounce { from{transform:scale(0.95) rotate(-3deg)} to{transform:scale(1.05) rotate(3deg)} }
#sr-text-block { text-align:center; margin-top:24px; position:relative; z-index:1; }
#sr-title {
  font-family:var(--font-head); font-size:64px; letter-spacing:8px; color:#fff;
  text-shadow:0 0 40px var(--c-accent), 0 0 80px rgba(255,60,0,0.4);
  animation:srGlitch 3s steps(1) infinite;
}
#sr-subtitle { font-family:var(--font-head); font-size:24px; letter-spacing:6px; color:var(--c-accent); margin-top:6px; }
#sr-desc { font-size:16px; color:var(--c-text2); margin-top:14px; line-height:1.8; }
@keyframes srGlitch { 0%,97%,100%{text-shadow:0 0 40px var(--c-accent)} 98%{text-shadow:-4px 0 #00ffff, 4px 0 #ff00ff, 0 0 40px var(--c-accent)} }

/* ─── EVENT POPUP ────────────────────────────────── */
#event-overlay { position:fixed; inset:0; z-index:8900; background:rgba(0,0,0,0.8); backdrop-filter:blur(5px); }
#event-overlay.hidden { display:none; }
#event-popup {
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:8901; background:var(--c-bg2); border:2px solid var(--c-accent);
  padding:40px; text-align:center; min-width:300px; max-width:380px;
  border-radius:8px;
  box-shadow:0 0 60px rgba(255,60,0,0.35);
  animation:modalIn 0.4s cubic-bezier(0.17,0.89,0.32,1.27);
}
#event-popup.hidden { display:none; }
#ev-icon { font-size:54px; margin-bottom:12px; }
#ev-title { font-family:var(--font-head); font-size:26px; letter-spacing:2px; color:var(--c-accent); margin-bottom:8px; }
#ev-desc { font-size:13px; color:var(--c-text2); line-height:1.7; margin-bottom:22px; }
#ev-btn { font-family:var(--font-head); font-size:17px; letter-spacing:3px; background:var(--c-accent); color:#fff; border:none; padding:12px 40px; cursor:pointer; border-radius:4px; transition:all 0.1s; }
#ev-btn:hover { background:#ff5200; transform:scale(1.04); }

/* ─── UTILS ──────────────────────────────────────── */
.hidden { display:none !important; }
@keyframes screenShake { 0%,100%{transform:none}20%{transform:translateX(-5px) rotate(-0.3deg)}40%{transform:translateX(5px) rotate(0.3deg)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)} }
.shake { animation:screenShake 0.28s ease; }

/* ─── RESPONSIVE ─────────────────────────────────── */
@media (max-width:1100px) {
  #game-layout { grid-template-columns:220px 1fr 200px; }
}
@media (max-width:900px) {
  #game-layout { grid-template-columns:1fr; grid-template-rows:auto 1fr auto; }
  #panel-left {
    grid-row:3; border-right:none; border-top:1px solid var(--c-border);
    max-height:220px; overflow-y:auto;
  }
  #panel-right { grid-row:1; border-left:none; border-bottom:1px solid var(--c-border); max-height:180px; overflow-y:auto; }
  #panel-center { grid-row:2; }
  #header { grid-template-columns:auto 1fr auto; gap:8px; }
  .header-center-stats { display:none; }
  --drum-w:160px; --drum-h:160px;
  #score-value { font-size:40px; }
}
@media (max-width:600px) {
  #header { padding:0 10px; height:50px; }
  .header-logo { font-size:20px; }
  .logo-clicker { display:none; }
  .hbtn { padding:4px 8px; font-size:11px; }
  #header-nick { display:none; }
  .modal { padding:24px 20px; }
  .ag-content { padding:40px 32px; }
  .ag-glitch { font-size:56px; }
  .ag-glitch::before,.ag-glitch::after { font-size:56px; }
  #score-value { font-size:34px; }
  --drum-w:140px; --drum-h:140px;
}

/* ==========================================================================
   v4 visual refresh: compact broadcast desk
   ========================================================================== */
:root {
  --c-bg: #07080b;
  --c-bg2: #101218;
  --c-bg3: #171a22;
  --c-bg4: #202634;
  --c-border: #2d3444;
  --c-border2: #465165;
  --c-accent: #ef3b2d;
  --c-accent2: #ff8a3d;
  --c-gold: #f5c84b;
  --c-gold2: #ffdd78;
  --c-purple: #7d5cff;
  --c-purple2: #b59cff;
  --c-green: #1f9d72;
  --c-green2: #48d597;
  --c-red: #f24c4c;
  --c-cyan: #31c7d8;
  --c-text: #f6f2e9;
  --c-text2: #a7afbd;
  --c-text3: #657084;
}

html, body {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.018) 1px, transparent 1px),
    #07080b;
  background-size: 72px 72px, 72px 72px, auto;
}

body {
  letter-spacing: 0;
}

#main-game {
  min-height: 100vh;
  background:
    linear-gradient(135deg, rgba(239,59,45,0.08), transparent 32%),
    linear-gradient(315deg, rgba(49,199,216,0.07), transparent 34%);
}

.bg-grid {
  background-image:
    linear-gradient(rgba(245,200,75,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(49,199,216,0.04) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: none;
}

.bg-vignette {
  background:
    linear-gradient(180deg, rgba(7,8,11,0.18), rgba(7,8,11,0.72)),
    radial-gradient(ellipse at 50% 42%, transparent 34%, rgba(0,0,0,0.58) 100%);
}

#header {
  height: 70px;
  padding: 0 22px;
  background: rgba(11,13,18,0.88);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 18px 50px rgba(0,0,0,0.28);
}

.header-logo {
  font-size: 28px;
  letter-spacing: 1px;
  filter: drop-shadow(0 8px 22px rgba(239,59,45,0.22));
}

.logo-l,
.logo-clicker {
  color: var(--c-gold);
}

.logo-clicker {
  border-color: rgba(245,200,75,0.42);
  background: rgba(245,200,75,0.08);
  color: var(--c-gold2);
}

.header-center-stats {
  gap: 8px;
  padding: 6px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
}

.hstat {
  min-width: 92px;
}

.hstat-val {
  font-size: 24px;
  color: var(--c-gold);
}

.hstat-label {
  color: var(--c-text3);
}

.hbtn,
.fbtn,
.lbtab,
#ev-btn,
#ad-skip-btn {
  border-radius: 7px;
}

.hbtn {
  min-height: 34px;
  background: rgba(255,255,255,0.035);
  border-color: rgba(255,255,255,0.09);
  color: var(--c-text2);
}

.hbtn:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.18);
}

.hbtn-accent,
.fbtn,
#ev-btn {
  color: #190b08;
  background: var(--c-gold);
  border-color: transparent;
  box-shadow: 0 8px 24px rgba(245,200,75,0.14);
}

.hbtn-accent:hover,
.fbtn:hover,
#ev-btn:hover {
  color: #120805;
  background: var(--c-gold2);
  box-shadow: 0 10px 30px rgba(245,200,75,0.2);
}

.hbtn-outline {
  color: var(--c-cyan);
  border-color: rgba(49,199,216,0.28);
}

.hbtn-withdraw {
  color: var(--c-green2);
  border-color: rgba(72,213,151,0.28);
}

#game-layout {
  height: calc(100vh - 70px);
  grid-template-columns: minmax(252px, 300px) minmax(420px, 1fr) minmax(238px, 286px);
  gap: 14px;
  padding: 14px;
}

#panel-left,
#panel-right,
#panel-center {
  background: rgba(15,18,24,0.82);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  box-shadow: 0 20px 55px rgba(0,0,0,0.26);
}

#panel-left,
#panel-right {
  padding: 14px;
}

#panel-left {
  border-right: 1px solid rgba(255,255,255,0.08);
}

#panel-right {
  border-left: 1px solid rgba(255,255,255,0.08);
}

#panel-center {
  padding: 18px 28px;
  justify-content: flex-start;
}

.panel-title {
  min-height: 32px;
  padding: 0 0 10px;
  margin-bottom: 12px;
  color: var(--c-gold);
  border-bottom-color: rgba(255,255,255,0.08);
}

.pt-icon {
  color: var(--c-cyan);
}

.upgrade-card,
.skin-card,
.modal,
.lb-row,
.lb-self,
#event-popup,
#ad-video-placeholder {
  background: rgba(20,24,32,0.92);
  border-color: rgba(255,255,255,0.08);
  border-radius: 8px;
}

.upgrade-card {
  padding: 11px;
  margin-bottom: 8px;
}

.upgrade-card::before {
  width: 4px;
  background: var(--c-cyan);
}

.upgrade-card.can-afford {
  border-color: rgba(245,200,75,0.36);
  background: rgba(245,200,75,0.055);
}

.upgrade-card:hover:not(.locked):not(.bought) {
  background: rgba(49,199,216,0.065);
  border-color: rgba(49,199,216,0.35);
  transform: translateX(2px);
}

.upgrade-card.bought {
  border-color: rgba(72,213,151,0.38);
  background: rgba(72,213,151,0.055);
  opacity: 0.78;
}

.upg-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255,255,255,0.045);
}

.upg-name,
.skin-nm {
  letter-spacing: 0.4px;
}

.upg-desc,
.skin-req,
.stat-k,
.passive-nm {
  color: var(--c-text2);
}

#score-block {
  margin-bottom: 18px;
}

.score-label-row {
  color: var(--c-cyan);
}

#score-value {
  font-size: clamp(54px, 7vw, 92px);
  color: var(--c-text);
  text-shadow:
    0 1px 0 rgba(245,200,75,0.65),
    0 18px 48px rgba(245,200,75,0.18);
}

#score-cps-row {
  color: var(--c-text2);
}

#click-power-badge {
  border-radius: 999px;
  background: rgba(49,199,216,0.1);
  border-color: rgba(49,199,216,0.28);
  color: var(--c-cyan);
}

#click-zone {
  min-height: 268px;
  justify-content: center;
  margin-bottom: 16px;
}

#click-aura {
  width: 250px;
  height: 250px;
  background:
    repeating-conic-gradient(from 12deg, rgba(245,200,75,0.13) 0deg 8deg, transparent 8deg 18deg);
  opacity: 0.75;
}

#click-ring-1,
#click-ring-2 {
  border-color: rgba(49,199,216,0.24);
}

#click-btn {
  width: 178px;
  height: 178px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.1), transparent 34%),
    linear-gradient(180deg, #273142, #0f1218);
  border: 1px solid rgba(245,200,75,0.72);
  box-shadow:
    0 18px 55px rgba(0,0,0,0.42),
    0 0 0 8px rgba(245,200,75,0.04),
    inset 0 0 34px rgba(0,0,0,0.42);
}

#click-btn:hover {
  border-color: var(--c-gold2);
  box-shadow:
    0 20px 65px rgba(0,0,0,0.5),
    0 0 0 10px rgba(245,200,75,0.075),
    inset 0 0 34px rgba(0,0,0,0.42);
}

.avatar-face img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#click-label {
  color: var(--c-gold2);
}

#combo-zone {
  max-width: 460px;
}

#combo-bar-wrap {
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
}

#combo-bar {
  border-radius: 999px;
  background: linear-gradient(90deg, var(--c-cyan), var(--c-gold), var(--c-accent));
}

#quote-ticker {
  max-width: 620px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
}

#ach-section {
  width: min(620px, 100%);
  margin-top: 14px;
}

#achievements-grid {
  max-width: none;
  grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
}

.ach-item {
  width: auto;
  aspect-ratio: 1;
  height: auto;
  min-height: 52px;
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
}

.stat-row,
.passive-row {
  min-height: 34px;
  border-bottom-color: rgba(255,255,255,0.055);
}

.stat-v,
.passive-vl,
.upg-cost,
.lb-val-gold {
  color: var(--c-gold);
}

.skin-card {
  padding: 9px;
  min-height: 76px;
}

.skin-card.active {
  border-color: rgba(181,156,255,0.55);
  background: rgba(125,92,255,0.1);
}

.skin-ico {
  height: 56px;
  width: 56px;
  min-width: 56px;
  border-radius: 8px;
  background: rgba(255,255,255,0.045);
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.skin-ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.skin-info {
  min-width: 0;
  flex: 1;
}

#notif-stack {
  right: 22px;
  bottom: 22px;
}

.notif {
  border-radius: 8px;
  background: rgba(18,21,28,0.96);
  border-color: rgba(255,255,255,0.1);
  border-left-width: 4px;
}

#ach-banner {
  top: 84px;
  border-radius: 8px;
  clip-path: none;
  background: rgba(22,18,8,0.96);
}

.modal {
  background: rgba(16,19,26,0.98);
  border-color: rgba(255,255,255,0.1);
}

.modal-tabs {
  border-bottom-color: rgba(255,255,255,0.08);
}

.mtab.active {
  color: var(--c-gold);
  border-bottom-color: var(--c-gold);
}

.finput {
  min-height: 42px;
  border-radius: 7px;
  background: rgba(255,255,255,0.045);
  border-color: rgba(255,255,255,0.09);
}

.finput:focus {
  border-color: rgba(49,199,216,0.68);
  box-shadow: 0 0 0 3px rgba(49,199,216,0.12);
}

.lbtab.active {
  color: #091014;
  border-color: transparent;
  background: var(--c-cyan);
}

.lb-row.top1 {
  border-color: rgba(245,200,75,0.62);
}

.lb-row.top2 {
  border-color: rgba(167,175,189,0.55);
}

.lb-row.top3 {
  border-color: rgba(239,59,45,0.48);
}

#event-popup {
  border-color: rgba(245,200,75,0.72);
}

#ev-title {
  color: var(--c-gold);
}

#age-gate {
  background:
    linear-gradient(135deg, rgba(239,59,45,0.16), transparent 35%),
    linear-gradient(315deg, rgba(49,199,216,0.12), transparent 38%),
    #050609;
}

.ag-content {
  width: min(720px, calc(100vw - 32px));
  padding: 56px 42px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  background: rgba(12,14,20,0.82);
  box-shadow: 0 30px 80px rgba(0,0,0,0.38);
}

.ag-glitch,
.ag-glitch::before,
.ag-glitch::after {
  font-size: clamp(54px, 9vw, 96px);
}

.ag-subtitle {
  color: var(--c-gold);
}

.ag-warning {
  color: var(--c-cyan);
}

.ag-text {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 18px;
}

.ag-buttons {
  margin-top: 28px;
}

.ag-btn-inner {
  border-radius: 7px;
  clip-path: none;
  background: var(--c-gold);
  color: #160c04;
}

#ag-yes:hover .ag-btn-inner {
  background: var(--c-gold2);
}

#ag-no {
  border-radius: 7px;
  background: rgba(255,255,255,0.035);
}

@media (max-width: 1100px) {
  #game-layout {
    grid-template-columns: 240px 1fr 220px;
  }

  #score-value {
    font-size: clamp(46px, 6vw, 72px);
  }
}

@media (max-width: 900px) {
  html, body {
    overflow: auto;
  }

  #header {
    height: auto;
    min-height: 64px;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 10px 14px;
  }

  .header-center-stats {
    display: none;
  }

  #game-layout {
    height: auto;
    min-height: calc(100vh - 64px);
    display: flex;
    flex-direction: column;
  }

  #panel-center {
    order: 1;
  }

  #panel-left {
    order: 2;
    max-height: none;
  }

  #panel-right {
    order: 3;
    max-height: none;
  }

  #panel-left,
  #panel-right {
    border: 1px solid rgba(255,255,255,0.08);
  }

  #upgrades-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .upgrade-card {
    margin-bottom: 0;
  }
}

@media (max-width: 640px) {
  #header {
    grid-template-columns: 1fr;
  }

  .header-actions,
  #guest-btns,
  #user-btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 6px;
  }

  #game-layout {
    padding: 10px;
    gap: 10px;
  }

  #panel-center {
    padding: 16px;
  }

  #upgrades-list {
    grid-template-columns: 1fr;
  }

  #click-zone {
    min-height: 224px;
  }

  #click-btn {
    width: 148px;
    height: 148px;
  }

  #click-aura {
    width: 208px;
    height: 208px;
  }

  #click-ring-1 {
    width: 168px;
    height: 168px;
  }

  #click-ring-2 {
    width: 198px;
    height: 198px;
  }

  .modal {
    padding: 26px 18px;
    max-height: calc(100vh - 24px);
    overflow-y: auto;
  }

  .ag-content {
    padding: 36px 20px;
  }

  .ag-buttons {
    flex-direction: column;
  }
}

/* ==========================================================================
   v5 pixel clicker theme
   ========================================================================== */
:root {
  --px-bg: #101725;
  --px-bg-deep: #080d17;
  --px-panel: #151e2f;
  --px-panel-2: #1d2840;
  --px-panel-3: #26344f;
  --px-border: #33445f;
  --px-border-dark: #050812;
  --px-blue: #2fb7ff;
  --px-blue-dark: #126394;
  --px-green: #28d84f;
  --px-green-dark: #10822c;
  --px-yellow: #ffd338;
  --px-orange: #ff9f1c;
  --px-red: #ff4d4d;
  --px-text: #f7fbff;
  --px-muted: #a9b6cc;
  --font-pixel: 'Press Start 2P', 'Russo One', system-ui, sans-serif;
}

body {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.025) 1px, transparent 1px),
    var(--px-bg-deep);
  background-size: 48px 48px;
}

#main-game {
  background: var(--px-bg);
}

#main-game::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 4px);
  mix-blend-mode: screen;
  opacity: .35;
}

.bg-grid,
.bg-vignette {
  display: none;
}

#header {
  height: 104px;
  grid-template-columns: 1fr auto 1.1fr;
  gap: 18px;
  padding: 10px 18px;
  background: linear-gradient(180deg, #1a2438, #101827);
  border: 3px solid var(--px-border-dark);
  border-bottom-color: #2e3f5b;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,0.06),
    0 4px 0 #050812;
}

.header-logo {
  font-family: var(--font-pixel);
  font-size: clamp(18px, 2.1vw, 30px);
  line-height: 1.35;
  display: block;
  color: var(--px-text);
  text-shadow: 3px 3px 0 #000;
}

.logo-mel,
.logo-stroy,
.logo-l {
  color: var(--px-text);
}

.logo-clicker {
  display: block;
  width: max-content;
  margin: 4px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--px-yellow);
  font-size: .82em;
  letter-spacing: 0;
  text-shadow: 3px 3px 0 #000, 0 2px 0 var(--px-orange);
}

.header-center-stats {
  position: relative;
  gap: 14px;
  padding: 10px 20px 10px 76px;
  min-width: 300px;
  background: transparent;
  border: 0;
}

.header-center-stats::before {
  content: '$';
  position: absolute;
  left: 12px;
  top: 50%;
  width: 50px;
  height: 50px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-family: var(--font-pixel);
  color: #9b5b00;
  background:
    radial-gradient(circle at 35% 30%, #fff48a 0 9%, transparent 10%),
    linear-gradient(135deg, #ffe55b, #f8a91d 58%, #b96b05);
  border: 4px solid #7a4300;
  box-shadow: 3px 3px 0 #000;
}

.hstat {
  min-width: 96px;
  text-align: left;
}

.hstat-val {
  font-family: var(--font-pixel);
  font-size: clamp(16px, 1.8vw, 28px);
  color: var(--px-text);
  line-height: 1.25;
  text-shadow: 3px 3px 0 #000;
}

.hstat-label {
  font-family: var(--font-pixel);
  font-size: 9px;
  letter-spacing: 0;
  color: #99ff4d;
}

.hstat-label::before {
  content: '+';
}

.hstat-sep {
  background: #41536d;
}

.header-actions,
#guest-btns,
#user-btns {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.hbtn {
  min-height: 68px;
  min-width: 86px;
  padding: 8px 12px;
  font-family: var(--font-pixel);
  font-size: 10px;
  color: var(--px-text);
  background: linear-gradient(180deg, #202d44, #121a2a);
  border: 3px solid #050812;
  border-radius: 6px;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.06), 0 3px 0 #050812;
  text-shadow: 2px 2px 0 #000;
}

.hbtn img {
    width: 32px;
    height: auto;
    object-fit: contain;
}

.hbtn:hover {
  background: linear-gradient(180deg, #2a3a58, #172238);
  border-color: #050812;
  transform: translateY(-1px);
}

.hbtn-icon {
  min-width: 48px;
  font-size: 18px;
}

.hbtn-accent {
  background: linear-gradient(180deg, #ffe35a, #f6a51d);
  color: #2b1700;
  text-shadow: 1px 1px 0 rgba(255,255,255,.45);
}

.hbtn-outline {
  color: #40d8ff;
}

#game-layout {
  height: calc(100vh - 104px);
  display: grid;
  grid-template-columns: minmax(250px, 310px) minmax(420px, 1fr) minmax(360px, 460px);
  grid-template-areas: "left center right";
  gap: 12px;
  padding: 14px 16px 12px;
  overflow: hidden;
}

#passives-toggle-btn{
  margin-bottom: 10px;
}

#skins-toggle-btn{
  margin-bottom: 10px;
}

#panel-right {
  grid-area: left;
}

#panel-center {
  grid-area: center;
}

#panel-left {
  grid-area: right;
}

#panel-left,
#panel-right,
#panel-center,
.modal,
#event-popup,
#ach-banner {
  border-radius: 6px;
  border: 3px solid #050812;
  background: linear-gradient(180deg, var(--px-panel), #101827);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.055), 0 4px 0 #050812;
}

#panel-left,
#panel-right {
  padding: 12px;
}

#panel-center {
  position: relative;
  padding: 18px;
  justify-content: flex-start;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(20,145,225,.9) 0 46%, transparent 46%),
    linear-gradient(180deg, transparent 0 56%, #3dba46 56% 67%, #85522a 67% 100%),
    var(--px-panel);
}

#panel-center::before {
  content: '';
  position: absolute;
  left: 18px;
  right: 18px;
  top: 18px;
  height: min(58%, 470px);
  border-radius: 4px;
  background:
    linear-gradient(135deg, transparent 0 58%, rgba(255,255,255,.95) 58% 70%, transparent 70%) 9% 30%/96px 48px no-repeat,
    linear-gradient(225deg, transparent 0 58%, rgba(255,255,255,.95) 58% 70%, transparent 70%) 18% 31%/96px 48px no-repeat,
    linear-gradient(135deg, transparent 0 58%, rgba(255,255,255,.95) 58% 70%, transparent 70%) 86% 31%/96px 48px no-repeat,
    linear-gradient(225deg, transparent 0 58%, rgba(255,255,255,.95) 58% 70%, transparent 70%) 76% 33%/96px 48px no-repeat,
    linear-gradient(135deg, transparent 50%, #9ad1e9 51% 72%, transparent 73%) 0 62%/100% 30% no-repeat,
    linear-gradient(135deg, transparent 49%, #4d9fc2 50% 74%, transparent 75%) 0 70%/100% 35% no-repeat,
    linear-gradient(180deg, #1597e3, #56c6ff 55%, #85dfff);
  image-rendering: pixelated;
  box-shadow: inset 0 0 0 3px #050812;
  z-index: -1;
}

#panel-center::after {
  content: '';
  position: absolute;
  left: 18px;
  right: 18px;
  top: calc(min(58%, 470px) - 20px);
  height: 88px;
  background:
    linear-gradient(90deg, #238634 0 12px, #32b849 12px 24px) 0 0/24px 20px repeat-x,
    linear-gradient(90deg, #70421f 0 12px, #8a542a 12px 24px) 0 20px/24px 18px repeat,
    #70421f;
  box-shadow: inset 0 3px 0 #72e05b;
  z-index: -1;
}

.panel-title {
  height: 40px;
  margin: 0 0 12px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  border-bottom: 2px dashed rgba(255,255,255,.08);
  font-family: var(--font-pixel);
  font-size: 13px;
  color: var(--px-blue);
  letter-spacing: 0;
  text-shadow: 2px 2px 0 #000;
}

#panel-left .panel-title {
  justify-content: center;
  color: var(--px-green);
  font-size: 14px;
}

#score-block {
  order: 1;
  width: 100%;
  z-index: 1;
  margin: 0 0 10px;
  padding-top: 6px;
}

.score-label-row {
  font-family: var(--font-pixel);
  font-size: 12px;
  color: var(--px-text);
  text-shadow: 2px 2px 0 #000;
}

.score-label-row::before {
  content: none !important;
}

.score-rub,
#score-value-wrap {
  display: none;
}

.score-label {
  display: inline !important;
}

#score-block {
  min-height: 76px;
}

#score-cps-row {
  width: min(380px, 80%);
  height: 28px;
  margin: 8px auto 0;
  justify-content: center;
  background: linear-gradient(180deg, var(--px-yellow), #ffad20);
  border: 3px solid #050812;
  border-radius: 5px;
  font-family: var(--font-pixel);
  font-size: 10px;
  color: #fff;
  text-shadow: 2px 2px 0 #000;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
}

#click-power-badge {
  display: none;
}

#click-zone {
  order: 2;
  min-height: min(45vh, 390px);
  width: 100%;
  z-index: 1;
  margin: 0;
  justify-content: center;
}

#click-aura {
  width: 330px;
  height: 330px;
  background:
    repeating-conic-gradient(from 0deg, rgba(255,241,117,.72) 0 5deg, transparent 5deg 12deg);
  filter: drop-shadow(0 0 14px rgba(255,221,72,.9));
  animation: auraPulse 1.25s steps(4) infinite;
}

#click-ring-1,
#click-ring-2 {
  border: 0;
}

#click-btn {
  width: clamp(190px, 26vw, 310px);
  height: clamp(190px, 26vw, 310px);
  background: none;
  border: 0 !important;
  border-radius: 50%;
  box-shadow: none;
  overflow: visible;
  image-rendering: pixelated;
}

#click-btn::before {
  content: '';
  position: absolute;
  inset: 5%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 25%, #fff18c 0 8%, transparent 9%),
    radial-gradient(circle at 50% 50%, #ffdf3d 0 48%, #f49a17 49% 67%, #8b4a00 68% 72%, transparent 73%),
    linear-gradient(90deg, #ffd83f, #f5a31e);
  border: 8px solid #6b3a00;
  box-shadow:
    inset -12px -12px 0 rgba(132,72,0,.35),
    inset 10px 10px 0 rgba(255,255,255,.28),
    8px 8px 0 #050812;
}

#click-btn::after {
  content: '$';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--font-pixel);
  font-size: clamp(54px, 8vw, 98px);
  color: #b96b05;
  text-shadow: 4px 4px 0 rgba(255,255,255,.35), -3px -3px 0 rgba(86,42,0,.45);
  background: none;
}

#click-btn:hover {
  transform: translateY(-2px);
}

#click-btn:active {
  transform: scale(.94);
}

.avatar-face,
.avatar-face img,
#click-crown {
  display: none !important;
}

#click-label {
  margin-top: 14px;
  font-family: var(--font-pixel);
  font-size: 15px;
  color: var(--px-text);
  text-shadow: 3px 3px 0 #000;
}

#click-label::after {
  content: '!';
}

#combo-zone {
  order: 3;
  z-index: 1;
  width: min(520px, 86%);
  margin-top: 8px;
}

#combo-bar-wrap {
  height: 14px;
  border: 3px solid #050812;
  background: #26344f;
  border-radius: 4px;
}

#combo-bar {
  background: linear-gradient(180deg, #ffe356, #f59f18);
}

#combo-text {
  font-family: var(--font-pixel);
  font-size: 10px;
  color: var(--px-text);
  text-shadow: 2px 2px 0 #000;
}

#quote-ticker {
  order: 5;
  z-index: 1;
  width: 100%;
  max-width: none;
  min-height: 52px;
  margin-top: auto;
  border: 3px solid #050812;
  border-radius: 5px;
  background: rgba(12,18,30,.88);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.05);
}

#qt-text {
  font-family: var(--font-pixel);
  font-size: 10px;
  color: var(--px-text);
}

#ach-section {
  order: 4;
  z-index: 1;
  width: 100%;
  max-height: 126px;
  margin-top: 10px;
  padding: 10px;
  border: 3px solid #050812;
  border-radius: 5px;
  background: rgba(12,18,30,.86);
}

#ach-section .panel-title {
  height: 26px;
  margin-bottom: 8px !important;
  padding: 0;
  border: 0;
  color: var(--px-blue);
  font-size: 11px;
}

#achievements-grid {
  grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
  gap: 6px;
}

.ach-item {
  min-height: 42px;
  border: 3px solid #050812;
  border-radius: 5px;
  background: linear-gradient(180deg, #24314a, #141d2e);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.05);
  font-size: 20px;
}

#upgrades-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  padding-right: 4px;
}

#panel-left::before {
  content: '▦  ВСЕ   ☝   ⛏   ⚙   🚀';
  display: grid;
  place-items: center;
  min-height: 58px;
  margin-bottom: 12px;
  border: 3px solid #050812;
  border-radius: 5px;
  background: linear-gradient(180deg, #1e2a42, #101827);
  font-family: var(--font-pixel);
  font-size: 13px;
  color: var(--px-text);
  text-shadow: 2px 2px 0 #000;
}

.upgrade-card {
  position: relative;
  min-height: 100px;
  margin: 0;
  padding: 16px 150px 14px 88px;
  border: 3px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #1d2840, #111a2a);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.055), 0 3px 0 #050812;
  opacity: 1;
}

.upgrade-card::before {
  display: none;
}

.upgrade-card.locked {
  opacity: .72;
  pointer-events: none;
  filter: grayscale(.65);
}

.upgrade-card.can-afford {
  border-color: #050812;
  background: linear-gradient(180deg, #22314e, #14223a);
}

.upgrade-card:hover:not(.locked):not(.bought) {
  transform: translateY(-1px);
  background: linear-gradient(180deg, #27395b, #172945);
}

.upgrade-card.bought {
  background: linear-gradient(180deg, #173222, #102318);
  border-color: #050812;
  opacity: .9;
}

.upg-row {
  gap: 14px;
}

.upg-icon {
  position: absolute;
  left: 14px;
  top: 16px;
  width: 58px;
  height: 58px;
  border: 3px solid #050812;
  border-radius: 5px;
  background: #101827;
  font-size: 30px;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06);
}

.upg-name,
.skin-nm {
  font-family: var(--font-pixel);
  font-size: 13px;
  color: var(--px-text);
  line-height: 1.55;
  white-space: normal;
  text-shadow: 2px 2px 0 #000;
}

.upg-desc,
.skin-req {
  font-family: var(--font-pixel);
  font-size: 9px;
  color: var(--px-muted);
  line-height: 1.6;
}

.upg-footer {
  margin: 0;
}

.upg-cost {
  position: absolute;
  right: 12px;
  top: 50%;
  min-width: 122px;
  min-height: 58px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  padding: 8px 10px;
  border: 3px solid #075f1c;
  border-radius: 5px;
  background: linear-gradient(180deg, #28d84f, #10972c);
  color: #fff;
  font-family: var(--font-pixel);
  font-size: 12px;
  text-shadow: 2px 2px 0 #063a13;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.14), 0 3px 0 #050812;
}

.upg-cost::before {
  content: '●';
  color: var(--px-yellow);
  margin-right: 5px;
}

.upg-cost.dim {
  border-color: #050812;
  background: linear-gradient(180deg, #39445b, #20283a);
  color: var(--px-red);
}

.upg-bonus {
  position: absolute;
  left: 88px;
  bottom: 14px;
  font-family: var(--font-pixel);
  font-size: 9px;
  color: #5aff72;
}

.upg-done {
  position: absolute;
  right: 18px;
  bottom: 8px;
  font-family: var(--font-pixel);
  font-size: 9px;
  color: #5aff72;
}

#stats-block,
#passives-list,
#skins-list {
  border: 3px solid #050812;
  border-radius: 5px;
  background: rgba(12,18,30,.66);
  padding: 12px;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.04);
}

.stat-row,
.passive-row {
  min-height: 35px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(255,255,255,.12);
}

.stat-k,
.passive-nm {
  font-family: var(--font-pixel);
  font-size: 9px;
  color: var(--px-muted);
  line-height: 1.45;
}

.stat-v,
.passive-vl {
  font-family: var(--font-pixel);
  font-size: 10px;
  color: var(--px-text);
  text-shadow: 2px 2px 0 #000;
}

#panel-right .panel-title:nth-of-type(2),
#panel-right .panel-title:nth-of-type(3) {
  margin-top: 12px !important;
}

.skin-card {
  min-height: 76px;
  padding: 10px;
  border: 3px solid #050812;
  border-radius: 5px;
  background: linear-gradient(180deg, #1d2840, #111a2a);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.045);
}

.skin-card.active {
  border-color: #050812;
  background: linear-gradient(180deg, #2b2456, #171c38);
  outline: 2px solid #8b72ff;
}

.skin-ico {
  border: 3px solid #050812;
  border-radius: 5px;
  background: #101827;
}

#notif-stack {
  bottom: 18px;
}

.notif {
  border: 3px solid #050812;
  border-left-width: 8px;
  border-radius: 5px;
  background: linear-gradient(180deg, #1d2840, #111a2a);
  font-family: var(--font-pixel);
  font-size: 9px;
  line-height: 1.6;
}

#ach-banner {
  top: 120px;
  background: linear-gradient(180deg, #26344f, #151e2f);
  border-color: #050812;
  outline: 3px solid var(--px-yellow);
  font-family: var(--font-pixel);
  clip-path: none;
}

.ach-banner-label,
#ach-banner-name {
  font-family: var(--font-pixel);
  letter-spacing: 0;
}

.modal {
  background: linear-gradient(180deg, #1d2840, #101827);
}

.modal-title,
.mtab,
.flabel,
.fbtn,
.lbtab {
  font-family: var(--font-pixel);
  letter-spacing: 0;
}

.finput {
  border: 3px solid #050812;
  border-radius: 5px;
  background: #101827;
  font-family: var(--font-pixel);
  font-size: 10px;
}

.fbtn,
.lbtab.active {
  border: 3px solid #050812;
  background: linear-gradient(180deg, #ffe35a, #f6a51d);
  color: #2b1700;
}

#age-gate {
  background: var(--px-bg-deep);
}

.ag-content {
  border: 3px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #1d2840, #101827);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 4px 0 #050812;
}

.ag-glitch,
.ag-glitch::before,
.ag-glitch::after,
.ag-subtitle,
.ag-warning,
.ag-btn-inner,
#ag-no {
  font-family: var(--font-pixel);
  letter-spacing: 0;
}

.ag-glitch,
.ag-glitch::before,
.ag-glitch::after {
  font-size: clamp(28px, 6vw, 58px);
  text-shadow: 4px 4px 0 #000;
}

.ag-subtitle {
  color: var(--px-yellow);
}

.ag-text {
  font-family: var(--font-pixel);
  font-size: 16px;
  line-height: 1.8;
}

.ag-btn-inner,
#ag-no {
  clip-path: none;
  border: 3px solid #050812;
  border-radius: 5px;
  box-shadow: 0 3px 0 #050812;
}

.ag-btn-inner {
  background: linear-gradient(180deg, #ffe35a, #f6a51d);
  color: #2b1700;
}

@media (max-width: 1180px) {
  #game-layout {
    grid-template-columns: 250px minmax(360px, 1fr) 340px;
  }

  .upgrade-card {
    padding-right: 128px;
  }

  .upg-cost {
    min-width: 104px;
    font-size: 10px;
  }
}

@media (max-width: 940px) {
  html,
  body {
    overflow: auto;
  }

  #header {
    height: auto;
    grid-template-columns: 1fr;
  }

  .header-center-stats {
    min-width: 0;
    width: 100%;
  }

  .header-actions,
  #guest-btns,
  #user-btns {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .hbtn {
    min-height: 48px;
    min-width: 72px;
  }

  #game-layout {
    height: auto;
    min-height: calc(100vh - 104px);
    grid-template-columns: 1fr;
    grid-template-areas:
      "center"
      "right"
      "left";
    overflow: visible;
  }

  #panel-center {
    min-height: 680px;
  }

  #panel-left,
  #panel-right {
    max-height: none;
  }

  #upgrades-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .upgrade-card {
    min-height: 154px;
    padding: 78px 12px 14px;
  }

  .upg-icon {
    top: 12px;
  }

  .upg-cost {
    top: 16px;
    transform: none;
  }

  .upg-bonus {
    position: static;
    margin-top: 12px;
  }
}

/* v8.20: real maintenance mode blocks the application for non-whitelisted IPs */
body.maintenance-blocked {
  overflow: hidden !important;
}

body.maintenance-blocked > *:not(#maintenance-overlay):not(.bg-noise):not(.bg-grid):not(.bg-vignette) {
  display: none !important;
}

body.maintenance-blocked #maintenance-overlay {
  display: grid !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  place-items: center !important;
  padding: 18px !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(31, 64, 108, .28), transparent 36%),
    rgba(3, 6, 12, .94) !important;
  backdrop-filter: none !important;
}

body.maintenance-blocked .maintenance-card {
  width: min(720px, calc(100vw - 28px)) !important;
  max-width: none !important;
  padding: clamp(22px, 5vw, 38px) !important;
  text-align: center !important;
}

@media (max-width: 620px) {
  #header,
  #game-layout {
    padding-left: 10px;
    padding-right: 10px;
  }

  .header-logo {
    font-size: 22px;
  }

  .header-center-stats {
    padding-left: 62px;
  }

  .header-center-stats::before {
    width: 42px;
    height: 42px;
  }

  #upgrades-list {
    grid-template-columns: 1fr;
  }

  #panel-center {
    min-height: 600px;
  }

  #click-aura {
    width: 240px;
    height: 240px;
  }

  #quote-ticker {
    min-height: 76px;
  }
}

/* v6.4: stable mobile header grid */
@media (max-width: 620px) {
  #header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: auto;
    min-height: 0;
    padding: 14px 16px 16px;
    gap: 14px;
  }

  .header-logo {
    width: 100%;
  }

  .header-actions {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
  }

  #guest-btns,
  #user-btns {
    display: contents;
  }

  #guest-btns.hidden,
  #user-btns.hidden {
    display: none !important;
  }

  .header-actions .hbtn,
  .header-actions .header-nick {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    height: 58px;
    padding: 0 10px;
    justify-content: center;
    border-radius: 8px;
    font-size: 14px;
  }

  .header-actions .hbtn-icon,
  #btn-daily-guest,
  #btn-lb-guest,
  #btn-daily-user,
  #btn-lb-user {
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
    padding: 0;
    font-size: 26px;
  }

  #sound-toggle { grid-column: 1; grid-row: 1; }
  #header-telegram-link { grid-column: 2; grid-row: 1; }
  #btn-daily-guest, #btn-daily-user { grid-column: 3; grid-row: 1; }
  #btn-lb-guest, #btn-lb-user { grid-column: 4; grid-row: 1; }

  #btn-login {
    grid-column: 1 / 3;
    grid-row: 2;
    height: 58px;
    font-size: 14px;
  }

  #btn-register {
    grid-column: 3 / 5;
    grid-row: 2;
    height: 58px;
    font-size: 13px;
  }

  .header-nick {
    grid-column: 1 / 3;
    grid-row: 2;
    display: inline-flex;
    max-width: none;
  }

  #user-btns .hbtn-ghost,
  #user-btns .hbtn-withdraw,
  #user-btns .hbtn-danger {
    display: none;
  }
}

@media (max-width: 430px) {
  .header-actions {
    gap: 8px;
  }

  .header-actions .hbtn,
  .header-actions .header-nick,
  #btn-login,
  #btn-register {
    min-height: 52px;
    height: 52px;
    font-size: 12px;
  }

  .header-actions .hbtn-icon,
  #btn-daily-guest,
  #btn-lb-guest,
  #btn-daily-user,
  #btn-lb-user {
    height: auto;
  }
}

/* v6.3: mobile readability and click/menu layout polish */
@media (max-width: 940px) {
  #header {
    position: relative;
    z-index: 20;
  }

  #game-layout {
    gap: 12px;
    padding: 12px;
  }

  #panel-center,
  #panel-left,
  #panel-right {
    border-radius: 8px;
  }

  .upg-name,
  .skin-name,
  .panel-title {
    font-size: 18px;
    line-height: 1.25;
  }

  .upg-desc,
  .skin-req,
  .stat-k,
  .stat-v,
  .global-goal,
  .profile-menu-row,
  .profile-menu-btn {
    font-size: 14px;
    line-height: 1.45;
  }

  #click-label {
    font-size: 22px;
  }

  #score-cps-row {
    width: min(520px, 92%);
    height: 42px;
    font-size: 15px;
  }

  #panel-left .upgrade-card {
    min-height: 118px;
  }
}

@media (max-width: 620px) {
  #header {
    padding: 10px;
  }

  .header-actions {
    gap: 8px;
  }

  #panel-center {
    padding: 10px;
  }

  #click-zone {
    min-height: 390px;
  }

  #click-btn {
    width: min(270px, 72vw);
    height: min(270px, 72vw);
  }

  #achievements-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .ach-item {
    min-height: 58px;
    font-size: 26px;
  }

  .profile-menu {
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    min-width: 0;
  }

  #ach-banner {
    left: 12px;
    right: 12px;
    top: 110px;
    width: auto;
  }

  #ach-banner-name,
  .ach-banner-label,
  .notif {
    font-size: 13px;
    line-height: 1.4;
  }

  #notif-stack {
    left: 12px;
    right: 12px;
    bottom: 74px;
  }
}

/* v6.0: compact authenticated header and top Telegram action */
.hbtn-telegram {
  width: 74px;
  min-width: 74px;
  height: 64px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(180deg, #1c2a43, #0e1728);
}

.hbtn-telegram img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  filter: drop-shadow(2px 2px 0 rgba(0,0,0,.45));
}

.hbtn-telegram:hover {
  border-color: #21b8f2;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.07), 0 0 16px rgba(33,184,242,.22), 0 4px 0 #050812;
}

#upgrade-menu-tools .menu-action-btn {
  display: none;
}

#user-btns {
  align-items: center;
}

#user-btns > .hbtn {
  display: none;
}

#user-btns.hidden {
  display: none !important;
}

.profile-trigger {
  width: 160px;
  min-width: 160px;
  max-width: 160px;
  height: 64px;
  min-height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  border: 3px solid #050812;
  border-radius: 7px;
  background:
    radial-gradient(circle at 16% 18%, rgba(141,255,70,.28), transparent 34%),
    linear-gradient(180deg, #233452, #111a2d 66%, #0b111f);
  color: #8dff46;
  font-family: var(--font-pixel);
  font-size: 15px;
  line-height: 1;
  text-shadow: 2px 2px 0 #000;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.07),
    0 4px 0 #050812,
    0 0 18px rgba(141,255,70,.14);
  cursor: pointer;
}

.profile-trigger:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.09),
    0 5px 0 #050812,
    0 0 22px rgba(141,255,70,.22);
}

.profile-trigger::after {
  content: "▾";
  color: #ffd84d;
  font-size: 12px;
}

.profile-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #8dff46;
  box-shadow: 0 0 12px rgba(141,255,70,.72);
  flex: 0 0 auto;
}

.profile-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#modal-cheat-warning {
  max-width: 520px;
  text-align: center;
}

.cheat-warning-title {
  color: #ff4f4f;
  font-size: 22px;
  line-height: 1.45;
  text-shadow: 3px 3px 0 #000, 0 0 18px rgba(255,79,79,.34);
}

.profile-menu {
  min-width: 270px;
}

.profile-menu-actions {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 2px dashed rgba(255,255,255,.12);
}

.profile-menu-btn {
  min-height: 42px;
  border: 2px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #233452, #111a2d);
  color: var(--px-text);
  font-family: var(--font-pixel);
  font-size: 12px;
  text-align: left;
  padding: 0 12px;
  cursor: pointer;
  text-shadow: 2px 2px 0 #000;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.05);
}

.profile-menu-btn:hover {
  transform: translateX(2px);
  border-color: #314462;
}

.profile-menu-btn.danger {
  color: #ff7d7d;
}

@media (max-width: 940px) {
  .hbtn-telegram {
    width: 58px;
    min-width: 58px;
    height: 58px;
  }

  .hbtn-telegram img {
    width: 32px;
    height: 32px;
  }

  .profile-trigger {
    width: 132px;
    min-width: 132px;
    min-height: 54px;
    height: 58px;
    max-width: 132px;
    font-size: 13px;
  }
}

@media (max-width: 620px) {
  .header-actions {
    grid-template-columns: 56px 56px minmax(0, 1fr);
  }

  #guest-btns {
    grid-column: 1 / -1;
  }

  #user-btns {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .profile-trigger {
    width: 100%;
  }
}

/* v5.1: clearer typography, skin coins, mobile upgrades drawer */
:root {
  --font-pixel: 'Russo One', 'Montserrat', system-ui, sans-serif;
}

.header-logo,
.logo-clicker,
.hstat-val,
.hstat-label,
.hbtn,
.panel-title,
.score-label-row,
#score-cps-row,
#click-label,
#combo-text,
#qt-text,
.upg-name,
.upg-desc,
.upg-cost,
.upg-bonus,
.upg-done,
.stat-k,
.stat-v,
.passive-nm,
.passive-vl,
.skin-nm,
.skin-req,
.notif,
.modal-title,
.mtab,
.flabel,
.fbtn,
.lbtab {
  letter-spacing: .02em;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

.upg-name,
.skin-nm,
.stat-v,
.hstat-val,
#click-label {
  text-shadow: 2px 2px 0 #000;
}

.header-nick {
  min-height: 28px;
  max-width: 150px;
  padding: 5px 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 2px solid #050812;
  border-radius: 5px;
  background: #101827;
  color: #8dff46;
  font-family: var(--font-pixel);
  font-size: 11px;
  text-shadow: 2px 2px 0 #000;
}

.header-nick:empty {
  display: none;
}

#click-btn::before {
  background:
    radial-gradient(circle at 32% 25%, rgba(255,255,255,.62) 0 8%, transparent 9%),
    radial-gradient(circle at 50% 50%, #ffdf3d 0 48%, #f49a17 49% 67%, #8b4a00 68% 72%, transparent 73%);
}

#click-btn::after {
  content: '';
  inset: 16%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.55) 0 10%, transparent 11%),
    radial-gradient(circle at center, rgba(255,255,255,.12), transparent 58%);
  pointer-events: none;
}

.avatar-face,
.avatar-face img {
  display: block !important;
}

.avatar-face {
  position: relative;
  z-index: 4;
  width: 58%;
  height: 58%;
  border-radius: 50%;
  overflow: hidden;
  filter: drop-shadow(4px 5px 0 rgba(0,0,0,.42));
}

.avatar-face img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

body[data-skin="default"] #click-btn::before {
  background:
    radial-gradient(circle at 32% 25%, rgba(255,255,255,.65) 0 8%, transparent 9%),
    radial-gradient(circle at 50% 50%, #ffdf3d 0 44%, #f49a17 45% 66%, #8b4a00 67% 72%, transparent 73%);
}

body[data-skin="angry"] #click-btn::before {
  background:
    radial-gradient(circle at 32% 25%, rgba(255,255,255,.65) 0 8%, transparent 9%),
    radial-gradient(circle at 50% 50%, #ff6969 0 44%, #c82424 45% 66%, #5e0707 67% 72%, transparent 73%);
}

body[data-skin="king"] #click-btn::before {
  background:
    radial-gradient(circle at 32% 25%, rgba(255,255,255,.78) 0 8%, transparent 9%),
    radial-gradient(circle at 50% 50%, #fff47a 0 42%, #d8a920 43% 63%, #7b4d00 64% 72%, transparent 73%),
    conic-gradient(from 45deg, #fff4a8, #f2b72b, #fff4a8);
}

body[data-skin="bear"] #click-btn::before {
  background:
    radial-gradient(circle at 32% 25%, rgba(255,255,255,.65) 0 8%, transparent 9%),
    radial-gradient(circle at 50% 50%, #b894ff 0 44%, #6f3ee8 45% 66%, #24104d 67% 72%, transparent 73%);
}

body[data-skin="chad"] #click-btn::before {
  background:
    radial-gradient(circle at 32% 25%, rgba(255,255,255,.65) 0 8%, transparent 9%),
    radial-gradient(circle at 50% 50%, #6de8ff 0 44%, #138ac5 45% 66%, #06334c 67% 72%, transparent 73%);
}

#upgrade-drawer-toggle,
#upgrade-drawer-backdrop,
#upgrade-drawer-close {
  display: none;
}

@media (max-width: 940px) {
  #game-layout {
    display: grid;
  }

  #upgrade-drawer-toggle {
    position: fixed;
    right: 12px;
    bottom: 14px;
    z-index: 9100;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 14px;
    border: 3px solid #050812;
    border-radius: 6px;
    background: linear-gradient(180deg, #ffe35a, #f6a51d);
    color: #2b1700;
    font-family: var(--font-pixel);
    font-size: 13px;
    box-shadow: 0 4px 0 #050812;
  }

  #upgrade-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9000;
    background: rgba(0,0,0,.55);
  }

  body.upgrades-open #upgrade-drawer-backdrop {
    display: block;
  }

  #upgrade-drawer-close {
    display: grid;
    place-items: center;
    position: sticky;
    top: 0;
    margin-left: auto;
    margin-bottom: 10px;
    z-index: 2;
    width: 44px;
    height: 44px;
    border: 3px solid #050812;
    border-radius: 8px;
    background: linear-gradient(180deg, #253653, #111a2d);
    color: #ff6b6b;
    font-family: var(--font-pixel);
    font-size: 18px;
    line-height: 1;
    text-shadow: 2px 2px 0 #000;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.07), 0 4px 0 #050812;
    cursor: pointer;
  }

  #upgrade-drawer-close:active {
    transform: translateY(2px);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.07), 0 2px 0 #050812;
  }

  #panel-left {
    order: initial;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 9050;
    width: min(430px, calc(100vw - 34px));
    max-height: none;
    overflow-y: auto;
    transform: translateX(calc(100% + 20px));
    transition: transform .22s ease;
  }

  body.upgrades-open #panel-left {
    transform: translateX(0);
  }

  body.upgrades-open {
    overflow: hidden;
  }
}

@media (max-width: 620px) {
  #header-nick,
  .header-nick {
    display: inline-flex;
    max-width: 100%;
  }
}

/* v5.2: readability pass, mobile repair, livelier skin scene */
:root {
  --ui-text-sm: 13px;
  --ui-text-md: 15px;
  --ui-text-lg: 18px;
  --scene-accent: #ffd84d;
  --scene-accent-2: #ff8b22;
  --scene-token: "🐾";
  --scene-token-2: "✨";
}

body[data-skin="default"] {
  --scene-accent: #ffd84d;
  --scene-accent-2: #ff8b22;
  --scene-sky-1: #1499e6;
  --scene-sky-2: #72d5ff;
  --scene-hill-1: #3abf61;
  --scene-hill-2: #16834c;
  --scene-ground-1: #45c24b;
  --scene-ground-2: #89532a;
  --scene-glow: rgba(255,216,77,.38);
  --scene-token: "🐾";
  --scene-token-2: "😺";
}

body[data-skin="angry"] {
  --scene-accent: #ff6767;
  --scene-accent-2: #e32626;
  --scene-sky-1: #69151d;
  --scene-sky-2: #e13b3b;
  --scene-hill-1: #7a202a;
  --scene-hill-2: #2b0f17;
  --scene-ground-1: #3a1d24;
  --scene-ground-2: #6e2721;
  --scene-glow: rgba(255,103,103,.42);
  --scene-token: "💢";
  --scene-token-2: "🔥";
}

body[data-skin="king"] {
  --scene-accent: #fff06a;
  --scene-accent-2: #d8a920;
  --scene-sky-1: #2f5fc8;
  --scene-sky-2: #9fd4ff;
  --scene-hill-1: #ddb841;
  --scene-hill-2: #85631d;
  --scene-ground-1: #5bbd4f;
  --scene-ground-2: #9b6a25;
  --scene-glow: rgba(255,240,106,.44);
  --scene-token: "👑";
  --scene-token-2: "✨";
}

body[data-skin="bear"] {
  --scene-accent: #b894ff;
  --scene-accent-2: #6f3ee8;
  --scene-sky-1: #3e1e89;
  --scene-sky-2: #8e62ff;
  --scene-hill-1: #5f3fc1;
  --scene-hill-2: #241046;
  --scene-ground-1: #2f8a62;
  --scene-ground-2: #56357d;
  --scene-glow: rgba(184,148,255,.44);
  --scene-token: "🟣";
  --scene-token-2: "💫";
}

body[data-skin="chad"] {
  --scene-accent: #6de8ff;
  --scene-accent-2: #138ac5;
  --scene-sky-1: #073a58;
  --scene-sky-2: #22c3e6;
  --scene-hill-1: #187e9b;
  --scene-hill-2: #06334c;
  --scene-ground-1: #2aa477;
  --scene-ground-2: #24415b;
  --scene-glow: rgba(109,232,255,.42);
  --scene-token: "💎";
  --scene-token-2: "⚡";
}

body {
  font-size: 16px;
}

.hbtn,
.panel-title,
.score-label-row,
#score-cps-row,
#click-label,
#combo-text,
#qt-text,
.upg-name,
.upg-cost,
.stat-v,
.passive-vl,
.skin-nm,
.notif {
  line-height: 1.35;
  text-shadow: 2px 2px 0 #000, 0 0 7px rgba(0,0,0,.45);
}

.hbtn {
  font-size: var(--ui-text-sm);
}

.hbtn-icon,
.upg-icon,
.skin-ico,
.pt-icon,
.ach-item {
  font-size: 34px;
}

#img-leader{
  width: 30px!important;
}

.panel-title {
  font-size: var(--ui-text-lg);
}

.upg-name,
.skin-nm {
  font-size: var(--ui-text-md);
}

.upg-desc,
.skin-req,
.upg-bonus,
.upg-done,
.stat-k,
.passive-nm {
  font-size: var(--ui-text-sm);
}

.stat-v,
.passive-vl {
  font-size: var(--ui-text-md);
}

#score-cps-row {
  height: 36px;
  font-size: var(--ui-text-md);
}

.score-label-row {
  font-size: var(--ui-text-lg);
}

#click-label {
  font-size: clamp(20px, 2.2vw, 30px);
}

#combo-text,
#qt-text {
  font-size: var(--ui-text-md);
}

.header-nick {
  min-height: 36px;
  max-width: 190px;
  font-size: var(--ui-text-sm);
}

#click-zone {
  isolation: isolate;
  overflow: hidden;
  border-radius: 4px;
}

#click-zone::before,
#click-zone::after {
  position: absolute;
  left: 50%;
  width: min(720px, 130%);
  pointer-events: none;
  user-select: none;
  z-index: 0;
  color: var(--scene-accent);
  text-shadow: 3px 3px 0 rgba(0,0,0,.55), 0 0 16px var(--scene-accent);
}

#click-zone::before {
  content: var(--scene-token) "   " var(--scene-token-2) "   " var(--scene-token) "   " var(--scene-token-2) "   " var(--scene-token);
  top: 20%;
  font-size: clamp(26px, 3.5vw, 48px);
  opacity: .8;
  animation: sceneRun 7s linear infinite;
}

#click-zone::after {
  content: "";
  top: 50%;
  height: min(420px, 52vw);
  border-radius: 50%;
  background:
    repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--scene-accent) 56%, transparent) 0 4deg, transparent 4deg 12deg),
    radial-gradient(circle, color-mix(in srgb, var(--scene-accent) 22%, transparent) 0 32%, transparent 62%);
  transform: translate(-50%, -50%);
  opacity: .58;
  animation: sceneSpin 8s linear infinite;
}

#click-aura,
#click-btn,
#click-label,
#combo-zone {
  z-index: 2;
}

#click-btn {
  filter: drop-shadow(0 0 28px color-mix(in srgb, var(--scene-accent) 54%, transparent));
}

@keyframes sceneRun {
  from { transform: translateX(-92%) translateY(0) rotate(-2deg); }
  to { transform: translateX(16%) translateY(-12px) rotate(2deg); }
}

@keyframes sceneSpin {
  from { transform: translate(-50%, -50%) rotate(0deg) scale(.96); }
  to { transform: translate(-50%, -50%) rotate(360deg) scale(.96); }
}

@media (max-width: 940px) {
  #header {
    gap: 16px;
    padding: 16px 14px;
  }

  .header-logo {
    font-size: clamp(32px, 8vw, 48px);
    line-height: 1;
  }

  .logo-clicker {
    display: block;
    margin-top: 8px;
    font-size: clamp(24px, 6vw, 34px);
  }

  .header-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    justify-content: start;
    gap: 10px;
  }

  #guest-btns,
  #user-btns {
    width: 100%;
    display: grid;
    align-items: center;
    gap: 10px;
  }

  #guest-btns {
    grid-template-columns: 72px minmax(110px, auto) minmax(170px, 1fr);
  }

  #user-btns {
    grid-template-columns: 72px minmax(86px, max-content) minmax(150px, 1fr) minmax(132px, auto) 72px;
  }

  .hbtn {
    min-height: 62px;
    min-width: 62px;
    padding: 10px 12px;
    font-size: var(--ui-text-md);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .hbtn-icon,
  .hbtn-danger {
    font-size: 30px;
  }

  .header-nick {
    min-width: 78px;
    font-size: var(--ui-text-md);
  }

  #game-layout {
    gap: 12px;
  }

  #panel-center {
    min-height: 0;
    padding: 14px;
  }

  #panel-center::before {
    left: 10px;
    right: 10px;
    top: 10px;
    height: 430px;
  }

  #panel-center::after {
    left: 10px;
    right: 10px;
    top: 398px;
    height: 82px;
  }

  #click-zone {
    min-height: 390px;
  }

  #click-aura {
    width: 285px;
    height: 285px;
  }

  #click-btn {
    width: clamp(210px, 54vw, 300px);
    height: clamp(210px, 54vw, 300px);
  }

  #ach-section {
    max-height: none;
    margin-top: 12px;
  }

  #achievements-grid {
    grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
    gap: 10px;
  }

  .ach-item {
    min-height: 60px;
    font-size: 32px;
  }

  #quote-ticker {
    min-height: 70px;
    margin-top: 12px;
  }
}

@media (max-width: 620px) {
  #header,
  #game-layout {
    padding-left: 8px;
    padding-right: 8px;
  }

  .header-actions {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  #guest-btns {
    grid-template-columns: 58px minmax(86px, auto) minmax(128px, 1fr);
  }

  #user-btns {
    grid-template-columns: 58px minmax(76px, max-content) minmax(118px, 1fr) minmax(104px, 1fr) 58px;
  }

  .hbtn {
    min-width: 0;
    font-size: 13px;
  }

  .hbtn-ghost,
  .hbtn-withdraw {
    min-width: 0;
  }

  .header-nick {
    max-width: 92px;
    padding: 7px 8px;
  }

  #panel-center::before {
    height: 405px;
  }

  #panel-center::after {
    top: 376px;
  }

  #score-block {
    margin: 20px;
    min-height: 86px;
  }

  #score-cps-row {
    width: min(420px, 92%);
  }

  #click-zone {
    min-height: 360px;
  }

  #click-zone::before {
    top: 18%;
    font-size: 28px;
  }

  #click-zone::after {
    height: 330px;
  }

  #click-aura {
    width: 258px;
    height: 258px;
  }

  #click-btn {
    width: clamp(210px, 66vw, 270px);
    height: clamp(210px, 66vw, 270px);
  }

  #ach-section {
    padding: 12px;
  }

  #ach-section .panel-title {
    height: auto;
    font-size: 17px;
  }

  #achievements-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  .header-actions {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  #guest-btns {
    grid-template-columns: 54px minmax(74px, auto) minmax(116px, 1fr);
  }

  #user-btns {
    grid-template-columns: 54px minmax(74px, auto) minmax(112px, 1fr);
  }

  #user-btns #btn-withdraw {
    grid-column: 1 / span 2;
  }

  #user-btns #btn-logout {
    grid-column: 3;
  }

  .header-nick {
    max-width: none;
  }

  #click-zone {
    min-height: 340px;
  }

  #click-btn {
    width: min(245px, 72vw);
    height: min(245px, 72vw);
  }

  #achievements-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* v5.3: cleaner header/upgrades and click-only effects */
#btn-login {
  min-width: 112px;
  color: #2b1700;
  text-shadow: 1px 1px 0 rgba(255,255,255,.55);
}

#btn-register {
  min-width: 150px;
}

#click-zone::before,
#click-zone::after {
  content: none !important;
  display: none !important;
}

#click-aura {
  opacity: .42;
  filter: drop-shadow(0 0 16px color-mix(in srgb, var(--scene-accent) 44%, transparent));
}

.click-burst {
  position: fixed;
  z-index: 8200;
  pointer-events: none;
  user-select: none;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin: -17px 0 0 -17px;
  font-size: 28px;
  filter: drop-shadow(3px 3px 0 rgba(0,0,0,.62));
  animation: clickBurstFly 1.08s cubic-bezier(.18,.72,.25,1) forwards;
}

@keyframes clickBurstFly {
  0% {
    opacity: 0;
    transform: translate(0,0) scale(.35) rotate(0deg);
  }
  12% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(var(--burst-x), var(--burst-y)) scale(1.35) rotate(var(--burst-rot));
  }
}

#panel-left .upgrade-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(116px, 132px);
  align-items: center;
  column-gap: 14px;
  min-height: 96px;
  padding: 14px;
}

#panel-left .upg-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

#panel-left .upg-icon {
  position: static;
  width: 58px;
  height: 58px;
}

#panel-left .upg-info {
  min-width: 0;
}

#panel-left .upg-footer {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
}

#panel-left .upg-cost {
  position: static;
  right: auto;
  top: auto;
  min-width: 0;
  width: 100%;
  min-height: 52px;
  transform: none;
  white-space: nowrap;
}

#panel-left .upg-bonus,
#panel-left .upg-done {
  position: static;
  margin: 0;
  text-align: left;
  line-height: 1.35;
}

#panel-left .upgrade-card.bought .upg-cost {
  display: none;
}

#panel-left .upgrade-card.bought .upg-footer {
  align-items: flex-end;
}

#panel-left .upgrade-card.bought .upg-done {
  color: #5aff72;
  font-size: 16px;
  text-align: right;
}

@media (max-width: 940px) {
  #btn-login {
    min-width: 104px;
  }

  #btn-register {
    min-width: 148px;
  }

  #panel-left .upgrade-card {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 12px;
    min-height: auto;
    padding: 14px;
  }

  #panel-left .upg-footer {
    align-items: stretch;
  }

  #panel-left .upgrade-card.bought .upg-footer {
    align-items: flex-start;
  }

  #panel-left .upgrade-card.bought .upg-done {
    text-align: left;
  }
}

@media (max-width: 430px) {
  #btn-login,
  #btn-register {
    min-width: 0;
  }
}

/* v5.4: pixel arena click background */
#panel-center {
  background:
    linear-gradient(180deg, transparent 0 66%, color-mix(in srgb, var(--scene-ground-2) 84%, #101827) 66% 100%),
    var(--px-panel);
}

#panel-center::before {
  left: 18px;
  right: 18px;
  top: 18px;
  height: min(62%, 500px);
  border-radius: 5px;
  background:
    radial-gradient(circle at 50% 48%, var(--scene-glow) 0 13%, transparent 28%),
    radial-gradient(ellipse at 17% 25%, rgba(255,255,255,.94) 0 8%, transparent 8.5%),
    radial-gradient(ellipse at 23% 24%, rgba(255,255,255,.88) 0 6%, transparent 6.5%),
    radial-gradient(ellipse at 79% 25%, rgba(255,255,255,.9) 0 7%, transparent 7.5%),
    radial-gradient(ellipse at 86% 24%, rgba(255,255,255,.82) 0 5.5%, transparent 6%),
    linear-gradient(135deg, transparent 48%, color-mix(in srgb, var(--scene-hill-1) 78%, #fff) 49% 70%, transparent 71%) 0 52%/100% 34% no-repeat,
    linear-gradient(135deg, transparent 48%, var(--scene-hill-2) 49% 74%, transparent 75%) 0 61%/100% 32% no-repeat,
    linear-gradient(180deg, var(--scene-sky-1), var(--scene-sky-2) 72%, color-mix(in srgb, var(--scene-sky-2) 72%, #fff));
  box-shadow:
    inset 0 0 0 3px #050812,
    inset 0 -26px 0 rgba(8,16,28,.16);
  z-index: 0;
}

#panel-center::after {
  left: 18px;
  right: 18px;
  top: calc(min(62%, 500px) - 28px);
  height: 112px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--scene-ground-1) 72%, #0b4f23) 0 12px, var(--scene-ground-1) 12px 24px) 0 0/24px 24px repeat-x,
    linear-gradient(90deg, color-mix(in srgb, var(--scene-ground-2) 78%, #3b200f) 0 12px, var(--scene-ground-2) 12px 24px) 0 24px/24px 22px repeat,
    var(--scene-ground-2);
  box-shadow:
    inset 0 4px 0 color-mix(in srgb, var(--scene-ground-1) 68%, #d7ff6a),
    inset 0 -4px 0 rgba(0,0,0,.22);
  z-index: 0;
}

#score-block,
#click-zone,
#ach-section,
#quote-ticker {
  position: relative;
  z-index: 1;
}

#click-zone {
  min-height: min(46vh, 410px);
  border-radius: 5px;
}

#click-zone::before {
  content: var(--scene-token) "   " var(--scene-token-2) "   " var(--scene-token) "   " var(--scene-token-2) !important;
  display: block !important;
  left: 50%;
  top: 22%;
  width: min(520px, 92%);
  font-size: clamp(21px, 2.2vw, 32px);
  opacity: .42;
  animation: sceneRun 10s linear infinite;
  color: var(--scene-accent);
}

#click-zone::after {
  content: "" !important;
  display: block !important;
  left: 50%;
  top: 51%;
  width: min(400px, 58vw);
  height: min(400px, 58vw);
  border-radius: 50%;
  background:
    radial-gradient(circle, var(--scene-glow) 0 19%, transparent 61%),
    conic-gradient(from 0deg, transparent 0 9deg, color-mix(in srgb, var(--scene-accent) 22%, transparent) 9deg 11deg, transparent 11deg 30deg);
  opacity: .55;
  transform: translate(-50%, -50%);
  animation: sceneSpin 18s linear infinite;
}

#click-btn {
  filter:
    drop-shadow(0 18px 0 rgba(0,0,0,.18))
    drop-shadow(0 0 24px var(--scene-glow));
}

#click-aura {
  background: radial-gradient(circle, var(--scene-glow) 0 18%, transparent 66%) !important;
  opacity: .62;
}

@media (max-width: 940px) {
  #panel-center::before {
    left: 10px;
    right: 10px;
    top: 10px;
    height: 430px;
  }

  #panel-center::after {
    left: 10px;
    right: 10px;
    top: 396px;
  }

  #click-zone {
    min-height: 380px;
  }

  #click-zone::before {
    top: 20%;
    width: 86%;
    font-size: 24px;
  }

  #click-zone::after {
    width: 310px;
    height: 310px;
  }
}

@media (max-width: 620px) {
  #panel-center::before {
    height: 405px;
  }

  #panel-center::after {
    top: 374px;
  }

  #click-zone {
    min-height: 355px;
  }

  #click-zone::before {
    font-size: 22px;
    opacity: .36;
  }

  #click-zone::after {
    width: 282px;
    height: 282px;
  }
}

/* v5.5: adult click arena + skin bonus target */
#panel-center {
  background:
    linear-gradient(180deg, transparent 0 62%, rgba(9,12,18,.18) 62% 100%),
    linear-gradient(180deg, #121a2a, #070a10);
}

#panel-center::before {
  background:
    radial-gradient(ellipse at 50% 44%, var(--scene-glow) 0 10%, transparent 35%),
    linear-gradient(90deg, transparent 0 7%, color-mix(in srgb, var(--scene-accent) 42%, transparent) 7.2% 7.6%, transparent 7.8% 100%) 0 0/92px 100% repeat,
    linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 100%) 0 0/100% 34px repeat,
    linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 100%) 0 0/42px 100% repeat,
    linear-gradient(180deg, color-mix(in srgb, var(--scene-sky-1) 52%, #060912) 0%, #0b1020 54%, #080b12 100%);
  box-shadow:
    inset 0 0 0 3px #050812,
    inset 0 -80px 110px rgba(0,0,0,.46),
    inset 0 0 90px color-mix(in srgb, var(--scene-accent) 18%, transparent);
}

#panel-center::after {
  top: calc(min(62%, 500px) - 18px);
  height: 124px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--scene-accent) 42%, transparent), transparent 5px),
    linear-gradient(90deg, rgba(255,255,255,.035), transparent 18%, rgba(255,255,255,.03) 48%, transparent 76%),
    radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--scene-accent) 22%, transparent), transparent 62%),
    linear-gradient(180deg, #171f2e, #090c12 64%, #05070c);
  border-top: 3px solid color-mix(in srgb, var(--scene-accent) 42%, #050812);
  box-shadow:
    inset 0 3px 0 rgba(255,255,255,.07),
    inset 0 -22px 44px rgba(0,0,0,.5);
}

#click-zone::before {
  content: none !important;
  display: none !important;
}

#click-zone::after {
  width: min(430px, 54vw);
  height: min(430px, 54vw);
  background:
    radial-gradient(circle, var(--scene-glow) 0 16%, transparent 55%),
    conic-gradient(from 0deg, transparent 0 18deg, color-mix(in srgb, var(--scene-accent) 18%, transparent) 18deg 19deg, transparent 19deg 45deg);
  opacity: .42;
  animation-duration: 30s;
}

#click-aura {
  opacity: .48;
}

.skin-bonus-target {
  position: fixed;
  z-index: 8300;
  display: grid;
  place-items: center;
  padding: 0;
  border: 3px solid #050812;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--scene-accent) 36%, #1b2436), #090d16);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.08),
    0 0 22px var(--scene-glow),
    0 6px 0 rgba(0,0,0,.42);
  cursor: pointer;
  overflow: visible;
  transform: translate3d(0,0,0);
  animation: skinTargetFly 8.2s linear forwards;
}

.skin-bonus-target img {
  position: relative;
  z-index: 2;
  width: 82%;
  height: 82%;
  object-fit: contain;
  filter: drop-shadow(3px 4px 0 rgba(0,0,0,.45));
  pointer-events: none;
}

.skin-bonus-trail {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: var(--scene-accent);
  box-shadow: 0 0 14px var(--scene-glow);
  opacity: 0;
  pointer-events: none;
  animation: skinTrailSpark .9s ease-out infinite;
}

.skin-bonus-trail.t1 {
  --trail-x: -34px;
  --trail-y: -16px;
  animation-delay: .05s;
}

.skin-bonus-trail.t2 {
  --trail-x: -48px;
  --trail-y: 6px;
  width: 6px;
  height: 6px;
  animation-delay: .24s;
}

.skin-bonus-trail.t3 {
  --trail-x: -26px;
  --trail-y: 22px;
  width: 5px;
  height: 5px;
  background: #ffd84d;
  animation-delay: .42s;
}

.skin-bonus-target.reverse .skin-bonus-trail.t1 {
  --trail-x: 34px;
}

.skin-bonus-target.reverse .skin-bonus-trail.t2 {
  --trail-x: 48px;
}

.skin-bonus-target.reverse .skin-bonus-trail.t3 {
  --trail-x: 26px;
}

.skin-bonus-target::after {
  content: '+';
  position: absolute;
  z-index: 3;
  right: -4px;
  bottom: -4px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 2px solid #050812;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffe35a, #f5a51d);
  color: #2b1700;
  font-family: var(--font-pixel);
  font-size: 16px;
}

.skin-bonus-target.collected {
  animation: skinTargetCollect .24s ease forwards;
}

@keyframes skinTargetFly {
  0% {
    opacity: 0;
    transform: translate3d(0, 12px, 0) scale(.78) rotate(var(--fly-rot-start, -8deg));
  }
  10% {
    transform: translate3d(var(--fly-x-10, 30px), var(--fly-y-10, 8px), 0) scale(var(--fly-scale, 1)) rotate(var(--fly-rot-start, -8deg));
  }
  46% {
    transform: translate3d(var(--fly-x-46, 160px), var(--fly-y-46, -18px), 0) scale(var(--fly-scale, 1)) rotate(var(--fly-rot-mid, 56deg));
  }
  72% {
    transform: translate3d(var(--fly-x-72, 260px), var(--fly-y-72, 12px), 0) scale(1.04) rotate(var(--fly-rot-mid, 56deg));
  }
  8%, 88% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--fly-x), var(--fly-y, -18px), 0) scale(1.04) rotate(var(--fly-rot-end, 120deg));
  }
}

@keyframes skinTrailSpark {
  0% {
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(.2);
  }
  18% {
    opacity: .9;
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--trail-x), var(--trail-y), 0) scale(1.25);
  }
}

@keyframes skinTargetCollect {
  to {
    opacity: 0;
    transform: scale(1.45) rotate(10deg);
  }
}

@media (max-width: 940px) {
  #panel-center::after {
    top: 386px;
  }
}

@media (max-width: 620px) {
  #panel-center::after {
    top: 366px;
  }

  #click-zone::after {
    width: 286px;
    height: 286px;
  }
}

/* v5.6: footer, social login, skin reward hints */
#game-layout {
  height: calc(100vh - 148px);
}

#game-footer {
  position: relative;
  z-index: 8;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-top: 3px solid #050812;
  background: linear-gradient(180deg, #151d2d, #090d16);
  color: var(--px-muted);
  font-family: var(--font-pixel);
  font-size: 13px;
  text-align: center;
  text-shadow: 2px 2px 0 #000;
}

.social-login {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 2px dashed rgba(255,255,255,.12);
}

.social-login-title {
  margin-bottom: 10px;
  color: var(--px-muted);
  font-family: var(--font-pixel);
  font-size: 12px;
  text-align: center;
  text-shadow: 2px 2px 0 #000;
}

.social-login-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.social-login-btn {
  min-height: 78px;
  display: grid;
  place-items: center;
  border: 3px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #22314e, #101827);
  color: var(--px-text);
  font-family: var(--font-pixel);
  font-size: 15px;
  cursor: pointer;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 3px 0 #050812;
  text-shadow: 2px 2px 0 #000;
}

.social-login-btn:hover {
  transform: translateY(-1px);
  background: linear-gradient(180deg, #2a3b5e, #142039);
}

.telegram-widget-wrap {
  margin-top: 12px;
  padding: 12px;
  border: 2px solid rgba(51, 166, 255, .35);
  border-radius: 8px;
  background: rgba(12, 22, 38, .78);
  text-align: center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.telegram-widget-wrap iframe {
  max-width: 100%;
}

#modal-sso-joke {
  max-width: 360px;
  text-align: center;
}

#modal-sso-joke .modal-title {
  margin: 22px 0 8px;
  color: var(--px-yellow);
  font-size: 22px;
}

.skin-card .skin-req {
  color: #74ff8a;
}

.skin-card.locked .skin-req {
  color: var(--px-muted);
}

@media (max-width: 940px) {
  #game-layout {
    min-height: calc(100vh - 148px);
    height: auto;
  }
}

@media (max-width: 620px) {
  #game-footer {
    min-height: 48px;
    height: auto;
    font-size: 11px;
    line-height: 1.45;
  }
}

/* v5.7: mobile drawer fix, profile menu, daily modal */
.profile-menu {
  position: fixed;
  z-index: 9200;
  width: 250px;
  padding: 12px;
  border: 3px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #1d2840, #101827);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 8px 0 rgba(0,0,0,.35);
  font-family: var(--font-pixel);
}

.profile-menu-close {
  display: none;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 42px;
  height: 42px;
  border: 3px solid #050812;
  border-radius: 8px;
  background: linear-gradient(180deg, #243653, #121f35);
  color: #ff6a6a;
  font-family: var(--font-pixel);
  font-size: 18px;
  line-height: 1;
  text-shadow: 2px 2px 0 #000;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 4px 0 rgba(0,0,0,.25);
}

.profile-menu.hidden {
  display: none;
}

.profile-menu-title {
  margin-bottom: 10px;
  color: #8dff46;
  font-size: 15px;
  text-shadow: 2px 2px 0 #000;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-menu-row {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px dashed rgba(255,255,255,.12);
  color: var(--px-muted);
  font-size: 12px;
}

.profile-menu-row strong {
  color: var(--px-yellow);
  font-size: 14px;
  text-shadow: 2px 2px 0 #000;
}

.header-nick {
  cursor: pointer;
}

.daily-reward-box {
  display: grid;
  gap: 14px;
  text-align: center;
  font-family: var(--font-pixel);
}

#modal-daily {
  max-width: 680px;
}

.daily-reward-streak {
  color: var(--px-muted);
  font-size: 14px;
}

.daily-reward-value {
  color: var(--px-yellow);
  font-size: 34px;
  text-shadow: 3px 3px 0 #000;
}

.daily-days-grid {
  display: grid;
  grid-template-columns: repeat(7, 72px);
  gap: 10px;
  align-items: stretch;
  justify-content: center;
  margin: 6px 0 18px;
}

.daily-day-tile {
  width: 72px;
  min-height: 96px;
  padding: 8px 5px;
  border: 3px solid var(--px-border);
  border-radius: 8px;
  background: linear-gradient(180deg, var(--px-panel-2), var(--px-panel));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  box-shadow: 0 4px 0 #050914;
  overflow: visible;
}

.daily-day-tile.claimed {
  border-color: rgba(34,197,94,.75);
  background: linear-gradient(180deg, rgba(34,197,94,.22), rgba(21,128,61,.18));
}

.daily-day-tile.active {
  border-color: var(--px-yellow);
  box-shadow: 0 0 18px rgba(255,210,63,.3), 0 4px 0 #050914;
}

.daily-day-num {
  font-size: 28px;
  line-height: 1;
  color: var(--px-white);
  text-shadow: 2px 2px 0 #000;
}

.daily-day-label {
  font-size: 12px;
  line-height: 1;
  color: var(--px-muted);
}

.daily-day-amount {
  max-width: 100%;
  font-size: 11px;
  line-height: 1.05;
  color: var(--px-yellow);
  white-space: nowrap;
  text-shadow: 1px 1px 0 #000;
}

.daily-day-skin {
  max-width: 100%;
  margin-top: 1px;
  padding: 2px 4px;
  border-radius: 4px;
  background: rgba(34, 211, 238, .12);
  color: var(--px-cyan);
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
  text-shadow: 1px 1px 0 #000;
}

.daily-reward-extra {
  min-height: 18px;
  color: var(--px-cyan);
  font-size: 13px;
}

@media (max-width: 620px) {
  #age-gate {
    align-items: flex-start;
    overflow-y: auto;
    overflow-x: hidden;
    padding: max(10px, env(safe-area-inset-top)) 10px max(18px, env(safe-area-inset-bottom));
  }

  .ag-content {
    width: min(100%, 520px);
    padding: 18px 18px 20px;
    margin: 0 auto;
  }

  .ag-glitch,
  .ag-glitch::before,
  .ag-glitch::after {
    font-size: clamp(42px, 12vw, 58px);
    letter-spacing: 2px;
  }

  .ag-subtitle {
    font-size: clamp(28px, 9vw, 42px);
    letter-spacing: 2px;
    margin-bottom: 10px;
  }

  .ag-divider {
    margin-bottom: 12px;
  }

  .ag-warning {
    font-size: 16px;
    letter-spacing: 1px;
    margin-bottom: 10px;
  }

  .ag-text {
    max-width: 100%;
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: .2px;
  }

  .ag-buttons {
    margin-top: 14px;
    display: grid;
    gap: 10px;
  }

  #ag-yes,
  #ag-no {
    width: 100%;
    min-height: 56px;
    font-size: 20px;
  }

  #modal-daily {
    width: calc(100vw - 24px);
    max-width: 520px;
    overflow: hidden;
  }

  .daily-reward-box {
    min-width: 0;
  }

  .daily-days-grid {
    display: grid;
    grid-template-columns: repeat(4, 72px);
    gap: 8px;
    width: 100%;
    min-width: 0;
    justify-content: center;
    overflow: visible;
  }

  .daily-day-tile {
    width: 72px;
    min-height: 72px;
    padding: 6px 3px;
    border-width: 3px;
  }

  .daily-day-num {
    font-size: clamp(20px, 7vw, 28px);
  }

  .daily-day-label,
  .daily-day-amount,
  .daily-day-skin {
    max-width: 100%;
    font-size: 10px;
    white-space: nowrap;
  }
}

@media (max-width: 940px) {
  body.upgrades-open {
    overflow: hidden;
    touch-action: none;
  }

  body.upgrades-open #upgrade-drawer-toggle {
    display: none;
  }

  #panel-left {
    height: 100dvh;
    padding-bottom: 28px;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  #upgrades-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 26px;
  }

  #panel-left .upgrade-card {
    cursor: pointer;
    touch-action: manipulation;
  }
}

@media (max-width: 430px) {
  .profile-menu {
    left: 10px !important;
    right: 10px;
    width: auto;
  }
}

@media (max-width: 940px) {
  .profile-menu {
    width: min(560px, calc(100vw - 20px)) !important;
    max-height: calc(100dvh - var(--profile-menu-top, 0px) - 10px) !important;
    padding: 16px 14px 18px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }

  .profile-menu-close {
    display: grid;
    place-items: center;
    top: 8px;
    right: 8px;
    width: 38px;
    height: 38px;
    z-index: 2;
  }

  .profile-menu-title {
    min-height: 44px;
    padding: 4px 54px 8px 0;
    display: flex;
    align-items: center;
  }
}

/* v5.8: weekly goal, Telegram action, stable mobile drawer */
#panel-left::before {
  content: none !important;
  display: none !important;
}

#upgrade-menu-tools {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
  padding: 10px;
  border: 3px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #17243a, #0d1422);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06);
}

#global-balance-tools {
  display: grid;
  gap: 10px;
  margin: -4px 0 14px;
  padding: 10px;
  border: 3px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #17243a, #0d1422);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06);
}

#upgrade-menu-tools.is-empty::after {
  display: none !important;
}

#global-balance-tools.is-empty::after {
  display: none !important;
}

.goals-title #mobile-goals-toggle {
  display: none;
  margin-left: auto;
  min-height: 34px;
  padding: 7px 10px;
  border: 3px solid #050812;
  border-radius: 7px;
  background: linear-gradient(180deg, #213653, #122035);
  color: var(--px-cyan);
  font-family: var(--font-pixel);
  font-size: 8px;
  line-height: 1;
  text-shadow: 2px 2px 0 #000;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(104,172,255,.14), 0 4px 0 rgba(0,0,0,.24);
}

.top-event-ticker {
  position: relative;
  z-index: 8;
  width: min(1200px, calc(100% - 28px));
  margin: 8px auto 0;
  overflow: hidden;
  border: 3px solid #050812;
  border-radius: 7px;
  background: linear-gradient(180deg, #182842, #0c1424);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 4px 0 rgba(0,0,0,.38);
}

.top-event-ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  min-width: max-content;
  padding: 9px 0;
  color: var(--px-text);
  font-family: var(--font-pixel);
  font-size: 10px;
  line-height: 1.4;
  white-space: nowrap;
  text-shadow: 2px 2px 0 #000;
  animation: topEventTickerMove 34s linear infinite;
}

.top-event-ticker:hover .top-event-ticker-track {
  animation-play-state: paused;
}

.top-event-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.top-event-ticker-item b {
  color: var(--px-yellow);
}

.top-event-ticker-dot {
  color: var(--px-cyan);
  opacity: .8;
}

@keyframes topEventTickerMove {
  from { transform: translateX(24px); }
  to { transform: translateX(-50%); }
}

@media (max-width: 940px) {
  .top-event-ticker {
    width: min(100%, calc(100vw - 36px));
    margin-top: 6px;
  }

  .top-event-ticker-track {
    padding: 8px 0;
    font-size: 9px;
    gap: 16px;
    animation-duration: 28s;
  }
}

.menu-action-btn {
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 3px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #1aa5e8, #086895);
  color: #fff;
  font-family: var(--font-pixel);
  font-size: 12px;
  text-decoration: none;
  text-shadow: 2px 2px 0 #000;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.12), 0 3px 0 #050812;
}

.menu-action-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

.global-goal {
  display: grid;
  gap: 8px;
  color: var(--px-text);
  font-family: var(--font-pixel);
  font-size: 10px;
  text-shadow: 2px 2px 0 #000;
}

.global-goal-top,
.global-goal-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.global-goal-top strong {
  color: var(--px-yellow);
  font-size: 12px;
}

.global-goal-bottom {
  color: var(--px-muted);
  line-height: 1.5;
}

.global-goal-bar {
  height: 16px;
  padding: 3px;
  border: 3px solid #050812;
  border-radius: 5px;
  background: #101827;
  overflow: hidden;
}

#global-goal-fill {
  width: 0%;
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #18d55a, #f7d54a);
  box-shadow: 0 0 14px rgba(247,213,74,.45);
  transition: width .3s ease;
}

#global-balance-goal-fill {
  width: 0%;
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #24d7ff, #8dff46);
  box-shadow: 0 0 14px rgba(36,215,255,.35);
  transition: width .3s ease;
}

.global-goal-balance {
  margin-top: 0;
}

.global-goal.is-error #global-goal-fill {
  background: #526073;
  box-shadow: none;
}

.global-goal.is-error #global-balance-goal-fill {
  background: #526073;
  box-shadow: none;
}

.lb-guest-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

#panel-center {
  overflow: hidden auto;
}

#click-zone {
  min-height: clamp(330px, 42vh, 510px);
}

#click-btn {
  width: clamp(190px, 21vw, 280px);
  height: clamp(190px, 21vw, 280px);
}

#ach-section {
  margin-top: 12px;
}

#mobile-goal-slot {
  display: none;
}

.ach-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

#ach-toggle-btn {
  position: relative;
  z-index: 3;
  pointer-events: auto;
  margin-left: auto;
  min-height: 34px;
  padding: 0 12px;
  border: 3px solid #050812;
  border-radius: 6px;
  background: linear-gradient(180deg, #233452, #111a2d);
  color: var(--px-cyan);
  font-family: var(--font-pixel);
  font-size: 10px;
  text-shadow: 2px 2px 0 #000;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 3px 0 #050812;
  cursor: pointer;
}

#ach-toggle-btn:active {
  transform: translateY(2px);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 1px 0 #050812;
}

#ach-section.is-collapsed #achievements-grid {
  display: none !important;
}

.ach-img {
  width: 76%;
  height: 76%;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(2px 2px 0 rgba(0,0,0,.55));
  pointer-events: none;
}

.ach-fallback {
  font-size: 1em;
  line-height: 1;
}

#ach-section .pt-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

@media (max-width: 940px) {
  body.upgrades-open {
    overflow: hidden;
    touch-action: auto;
  }

  body.upgrades-open #game-layout {
    z-index: 9040 !important;
  }

  #upgrade-drawer-backdrop {
    touch-action: none;
  }

  #panel-left {
    display: block !important;
    position: fixed !important;
    top: max(8px, env(safe-area-inset-top)) !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    z-index: 9050 !important;
    width: min(430px, calc(100vw - 16px)) !important;
    height: auto !important;
    max-height: calc(100dvh - 16px) !important;
    padding: 14px 14px 86px !important;
    border: 3px solid #050812 !important;
    border-radius: 8px !important;
    background: #0d1422 !important;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 12px 0 rgba(0,0,0,.34) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    pointer-events: auto;
    transform: translateX(calc(100% + 20px)) !important;
  }

  body.upgrades-open #panel-left {
    transform: translateX(0) !important;
  }

  #panel-left,
  #panel-left * {
    pointer-events: auto;
  }

  #panel-left .upgrade-card.locked,
  #panel-left .upgrade-card.bought {
    pointer-events: auto;
  }

  #upgrades-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
    padding-bottom: 44px;
  }

  #game-layout {
    grid-template-columns: 1fr;
  }

  #panel-center {
    min-width: 0;
  }

  #mobile-goal-slot {
    display: block;
    width: min(100%, calc(100vw - 36px));
    margin: 10px auto 12px;
  }

  #mobile-goal-slot:empty {
    display: none;
  }

  #mobile-goal-slot .global-goal {
    padding: 10px;
    border: 3px solid #050812;
    border-radius: 6px;
    background: linear-gradient(180deg, #17243a, #0d1422);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 4px 0 #050812;
  }

  #mobile-goal-slot #upgrade-drawer-toggle {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    min-height: 52px !important;
    display: inline-flex !important;
    justify-content: center !important;
    margin-top: 10px !important;
  }

  body.upgrades-open #mobile-goal-slot #upgrade-drawer-toggle {
    display: none !important;
  }

  #upgrade-menu-tools.is-empty {
    display: none !important;
  }
}

@media (max-width: 620px) {
  #header {
    padding: 12px;
    gap: 12px;
  }

  .header-logo {
    font-size: clamp(30px, 9vw, 42px);
    line-height: .95;
  }

  .logo-clicker {
    font-size: clamp(20px, 6vw, 28px);
  }

  .header-actions {
    width: 100%;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: stretch;
  }

  #sound-toggle {
    width: 56px;
    min-width: 56px;
    height: 56px;
    grid-row: span 2;
  }

  #guest-btns {
    width: 100%;
    display: grid;
    grid-template-columns: 54px 54px minmax(0, 1fr);
    gap: 8px;
  }

  #guest-btns.hidden {
    display: none !important;
  }

  #btn-daily-guest,
  #btn-lb-guest {
    min-width: 54px;
    width: 54px;
    height: 54px;
    padding: 0;
  }

  #btn-login {
    min-width: 0;
    height: 54px;
    padding: 0 12px;
    font-size: 12px;
  }

  #btn-register {
    grid-column: 1 / -1;
    height: 50px;
    min-width: 0;
    padding: 0 12px;
    font-size: 11px;
  }

  #user-btns {
    width: 100%;
    display: grid;
    grid-template-columns: 54px 54px minmax(0, 1fr);
    gap: 8px;
  }

  #user-btns.hidden {
    display: none !important;
  }

  #user-btns .hbtn {
    min-height: 52px;
  }

  .header-nick {
    min-width: 0;
    max-width: none;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #click-zone {
    min-height: clamp(350px, 58vh, 460px);
  }

  #click-btn {
    width: min(250px, 66vw);
    height: min(250px, 66vw);
  }

  #combo-zone,
  #ach-section,
  #quote-ticker {
    width: min(100%, calc(100vw - 36px));
    margin-left: auto;
    margin-right: auto;
  }
}

/* v6.5: final mobile header/layout override, placed last intentionally */
@media (max-width: 620px) {
  #header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px 16px 16px !important;
    gap: 14px !important;
  }

  .header-logo {
    width: 100% !important;
    font-size: clamp(34px, 9vw, 48px) !important;
    line-height: .95 !important;
  }

  .logo-clicker {
    display: block !important;
    margin-top: 8px !important;
    font-size: clamp(22px, 6vw, 30px) !important;
  }

  .header-actions {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  #guest-btns,
  #user-btns {
    display: contents !important;
  }

  #guest-btns.hidden,
  #user-btns.hidden {
    display: none !important;
  }

  .header-actions .hbtn,
  .header-actions .header-nick {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 58px !important;
    height: 58px !important;
    padding: 0 10px !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }

  .header-actions .hbtn-icon,
  #btn-daily-guest,
  #btn-lb-guest,
  #btn-daily-user,
  #btn-lb-user {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    font-size: 26px !important;
  }

  #sound-toggle { grid-column: 1 !important; grid-row: 1 !important; }
  #header-telegram-link { grid-column: 2 !important; grid-row: 1 !important; }
  #btn-daily-guest, #btn-daily-user { grid-column: 3 !important; grid-row: 1 !important; }
  #btn-lb-guest, #btn-lb-user { grid-column: 4 !important; grid-row: 1 !important; }

  #btn-login {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    height: 58px !important;
    font-size: 14px !important;
  }

  #btn-register {
    grid-column: 3 / 5 !important;
    grid-row: 2 !important;
    height: 58px !important;
    font-size: 13px !important;
  }

  .header-nick {
    grid-column: 1 / 5 !important;
    grid-row: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0 16px !important;
    text-align: center !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  .profile-name {
    flex: 0 1 auto !important;
    max-width: min(260px, calc(100vw - 150px)) !important;
  }

  #user-btns .hbtn-ghost,
  #user-btns .hbtn-withdraw,
  #user-btns .hbtn-danger {
    display: none !important;
  }

  .ach-tip {
    display: none !important;
  }

  #ach-banner {
    top: auto !important;
    left: 12px !important;
    right: 12px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    clip-path: none !important;
    pointer-events: none !important;
    animation: mobileBannerIn .25s ease-out !important;
  }

  #ach-banner.hidden {
    display: none !important;
  }

  #ach-banner-icon {
    font-size: 24px !important;
    flex: 0 0 auto !important;
  }

  .ach-banner-label {
    font-size: 10px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }

  #ach-banner-name {
    font-size: 12px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 430px) {
  .header-actions {
    gap: 8px !important;
  }

  .header-actions .hbtn,
  .header-actions .header-nick,
  #btn-login,
  #btn-register {
    min-height: 52px !important;
    height: 52px !important;
    font-size: 12px !important;
  }
}

@keyframes mobileBannerIn {
  from { opacity: 0; transform: translateY(18px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* v6.6: mobile click area, goal placement and visible economy */
@media (max-width: 940px) {
  .header-center-stats {
    display: none !important;
  }

  #panel-center {
    padding: 12px !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  #score-block {
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
  }

  #score-value-wrap {
    display: flex !important;
  }

  .score-rub {
    display: none !important;
  }

  #score-value {
    display: inline-block !important;
    font-family: var(--font-pixel) !important;
    font-size: clamp(28px, 8vw, 42px) !important;
    color: var(--px-yellow) !important;
    text-shadow: 3px 3px 0 #000 !important;
  }

  #score-cps-row {
    width: min(460px, 92%) !important;
    height: 38px !important;
    font-size: 13px !important;
  }

  #mobile-goal-slot {
    display: grid !important;
    width: min(100%, calc(100vw - 36px)) !important;
    margin: 8px auto 10px !important;
    gap: 10px !important;
    order: initial !important;
    overflow: visible !important;
  }

  #mobile-goal-slot .goals-title {
    margin: 0 !important;
    padding: 0 0 8px !important;
    border-bottom: 3px dashed rgba(82, 110, 150, .45) !important;
    justify-content: flex-start !important;
    text-align: center !important;
    color: var(--px-green) !important;
  }

  #mobile-goal-slot .goals-title #mobile-goals-toggle {
    display: inline-grid;
    place-items: center;
  }

  #mobile-goal-slot .global-goal {
    padding: 10px !important;
    border: 3px solid #050812 !important;
    border-radius: 7px !important;
    background: linear-gradient(180deg, #17243a, #0d1422) !important;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), 0 4px 0 #050812 !important;
  }

  #mobile-goal-slot #global-balance-tools {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.mobile-goals-collapsed #mobile-goal-slot > :not(.goals-title) {
    display: none !important;
  }

  body.mobile-goals-collapsed #mobile-goal-slot .goals-title {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  #mobile-goal-slot .global-goal.goal-tip-wrap::after {
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    top: calc(100% + 8px) !important;
    z-index: 200 !important;
    max-width: calc(100vw - 40px) !important;
    font-size: 11px !important;
  }

  #click-zone {
    order: 2 !important;
    min-height: clamp(330px, 48vh, 440px) !important;
    margin: 0 !important;
    justify-content: center !important;
  }

  #click-btn {
    width: min(250px, 64vw) !important;
    height: min(250px, 64vw) !important;
  }

  #combo-zone {
    order: 4 !important;
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }

  #quote-ticker {
    order: 5 !important;
  }

  #ach-section {
    order: 6 !important;
  }

  #upgrade-drawer-toggle {
    position: fixed !important;
    right: 12px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    z-index: 9100 !important;
    display: inline-flex !important;
    width: auto !important;
    min-height: 46px !important;
    margin: 0 !important;
  }

  body.upgrades-open #upgrade-drawer-toggle {
    display: none !important;
  }
}

@media (max-width: 620px) {
  .header-center-stats {
    display: none !important;
  }
}

/* v6.7: align mobile header icons and lift coin */
@media (max-width: 940px) {
  .header-actions .hbtn-icon,
  #sound-toggle,
  #header-telegram-link,
  #btn-daily-guest,
  #btn-lb-guest,
  #btn-daily-user,
  #btn-lb-user {
    aspect-ratio: auto !important;
    height: 58px !important;
    min-height: 58px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #header-telegram-link img {
    width: 34px !important;
    height: 34px !important;
  }

  #click-zone {
    min-height: clamp(320px, 45vh, 405px) !important;
    padding-bottom: 22px !important;
    justify-content: center !important;
  }

  #click-btn {
    transform: translateY(-34px) !important;
  }

  #click-btn:hover {
    transform: translateY(-36px) !important;
  }

  #click-btn:active {
    transform: translateY(-34px) scale(.94) !important;
  }

  #click-label {
    margin-top: -14px !important;
  }

  #combo-zone {
    margin-top: -6px !important;
  }
}

@media (max-width: 430px) {
  .header-actions .hbtn-icon,
  #sound-toggle,
  #header-telegram-link,
  #btn-daily-guest,
  #btn-lb-guest,
  #btn-daily-user,
  #btn-lb-user {
    height: 52px !important;
    min-height: 52px !important;
  }

  #click-btn {
    transform: translateY(-28px) !important;
  }

  #click-btn:hover {
    transform: translateY(-30px) !important;
  }

  #click-btn:active {
    transform: translateY(-28px) scale(.94) !important;
  }

  #click-zone {
    min-height: clamp(300px, 43vh, 375px) !important;
    padding-bottom: 18px !important;
  }
}

/* v6.8: keep the mobile profile block aligned to the header button grid */
@media (max-width: 940px) {
  #user-btns {
    display: contents !important;
  }

  #user-btns.hidden {
    display: none !important;
  }

  .header-actions .header-nick,
  .header-actions .profile-trigger,
  #header-nick {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 430px) {
  .header-actions .header-nick,
  .header-actions .profile-trigger,
  #header-nick {
    height: 52px !important;
    min-height: 52px !important;
  }
}

/* v6.9: align the mobile global goal with the main game column */
@media (max-width: 940px) {
  #mobile-goal-slot {
    width: min(100%, calc(100vw - 16px)) !important;
    margin: 8px auto 10px !important;
  }

  #mobile-goal-slot .global-goal {
    width: 100% !important;
    margin: 0 !important;
  }

  #mobile-goal-slot #global-balance-tools {
    width: 100% !important;
    margin: 0 !important;
  }
}

/* v7.0: replace the click arena grid with an even dollar-pattern backdrop */
#panel-center::before {
  background:
    radial-gradient(ellipse at 50% 44%, var(--scene-glow) 0 10%, transparent 35%),
    url("data:image/svg+xml,%3Csvg width='92' height='92' viewBox='0 0 92 92' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='46' y='56' text-anchor='middle' font-family='Arial Black, Arial, sans-serif' font-size='24' font-weight='900' fill='%23ffd84d' fill-opacity='.16'%3E%24%3C/text%3E%3C/svg%3E") 0 0/92px 92px repeat,
    url("data:image/svg+xml,%3Csvg width='92' height='92' viewBox='0 0 92 92' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='46' y='56' text-anchor='middle' font-family='Arial Black, Arial, sans-serif' font-size='18' font-weight='900' fill='%2389e8ff' fill-opacity='.08'%3E%24%3C/text%3E%3C/svg%3E") 46px 46px/92px 92px repeat,
    linear-gradient(180deg, color-mix(in srgb, var(--scene-accent) 28%, #124a63) 0%, #08101c 78%) !important;
}

/* v7.1: polished desktop achievements panel */
@media (min-width: 941px) {
  #ach-section {
    max-height: none !important;
    margin-top: 14px !important;
    padding: 14px 16px 16px !important;
    border-radius: 8px !important;
    background:
      linear-gradient(180deg, rgba(19, 29, 48, .96), rgba(8, 13, 24, .96)) !important;
    box-shadow:
      inset 0 0 0 2px rgba(255,255,255,.045),
      0 4px 0 rgba(0,0,0,.42) !important;
  }

  #ach-section .ach-title {
    min-height: 42px !important;
    height: auto !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px dashed rgba(255,255,255,.1) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  #ach-section .pt-icon {
    width: 42px !important;
    height: 42px !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    font-size: 31px !important;
    filter: drop-shadow(3px 3px 0 rgba(0,0,0,.55)) !important;
  }

  #ach-toggle-btn {
    min-width: 116px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    margin-left: auto !important;
    border-radius: 7px !important;
    font-size: 11px !important;
  }

  #achievements-grid {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(56px, 64px)) !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .ach-item {
    width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    border-radius: 7px !important;
    font-size: 29px !important;
  }

  .ach-item.done {
    border-color: #ffd84d !important;
    box-shadow:
      inset 0 0 0 2px rgba(255,255,255,.06),
      0 0 0 1px rgba(255,216,77,.2),
      0 0 14px rgba(255,216,77,.18) !important;
  }

  .ach-item.locked {
    filter: grayscale(1) brightness(.34) !important;
  }

  #ach-section.is-collapsed #achievements-grid {
    display: none !important;
  }
}

/* v7.2: align desktop balance block with the click power bar */
@media (min-width: 941px) {
  .header-center-stats {
    position: relative !important;
    display: inline-flex !important;
    justify-self: center !important;
    width: auto !important;
    max-width: min(430px, 42vw) !important;
    min-width: 0 !important;
    padding: 8px 12px !important;
    transform: none !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .header-center-stats::before {
    content: '₿' !important;
    position: static !important;
    transform: none !important;
    flex: 0 0 50px !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 0 0 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    font-size: 24px !important;
  }

  .hstat {
    min-width: 0 !important;
    flex: 0 0 auto !important;
    text-align: left !important;
  }

  .hstat:first-child {
    width: clamp(118px, 11vw, 150px) !important;
  }

  .hstat:not(:first-child) {
    width: clamp(68px, 6vw, 90px) !important;
  }

  .hstat-sep {
    flex: 0 0 1px !important;
    height: 28px !important;
    margin: 0 2px !important;
  }

  .hstat-val {
    font-size: clamp(18px, 1.45vw, 26px) !important;
  }

  .hstat-label {
    font-size: 8px !important;
  }
}

.meta-block {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.meta-card {
  border: 3px solid #101827;
  border-radius: 8px;
  background: linear-gradient(180deg, #17243a, #0d1728);
  box-shadow: inset 0 0 0 1px rgba(100, 160, 255, .12), 0 5px 0 rgba(0,0,0,.28);
  padding: 11px;
}

.meta-card-title {
  font-family: var(--font-pixel);
  font-size: 9px;
  color: var(--px-cyan);
  text-shadow: 2px 2px 0 #000;
  margin-bottom: 9px;
}

.meta-list { display: grid; gap: 6px; }
.meta-quest { display: grid; gap: 5px; font-size: 12px; color: var(--c-text2); }
.meta-quest-top,
.meta-progress-row,
.meta-league { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.meta-quest strong,
.meta-league span:first-child { color: var(--c-text); text-shadow: 2px 2px 0 #000; }
.meta-quest-top span,
.meta-progress-row span,
.meta-league span {
  font-family: var(--font-pixel);
  font-size: 12px;
  line-height: 1.35;
  color: #f4f7ff;
  text-shadow: 2px 2px 0 #000;
}

.meta-quest-top strong {
  font-size: 13px;
}

.meta-league span:first-child,
#prestige-points,
#personal-goal-text {
  font-size: 15px;
  color: var(--px-cyan);
}

#league-progress,
#prestige-next,
#personal-goal-reward {
  font-size: 12px;
}
.meta-progress-row span:last-child,
.meta-league span:last-child {
  color: var(--px-yellow);
}
.meta-progress { height: 10px; border: 3px solid #030812; border-radius: 5px; background: #08111f; overflow: hidden; }
.meta-progress > div { height: 100%; width: 0; background: linear-gradient(90deg, #20cf4d, #ffe05a); }
.meta-action { width: 100%; margin-top: 9px; border: 3px solid #050912; border-radius: 7px; padding: 9px 10px; background: linear-gradient(180deg, #ffd94c, #f6a91c); color: #221405; font-family: var(--font-pixel); font-size: 9px; text-shadow: 1px 1px 0 rgba(255,255,255,.25); cursor: pointer; }
.meta-action:disabled { opacity: .45; cursor: not-allowed; }
.meta-action.danger { background: linear-gradient(180deg, #ff6c4a, #c8332e); color: #fff; text-shadow: 2px 2px 0 #000; }

.goal-tip-wrap {
  position: relative;
  outline: none;
}

.goal-tip-wrap::after {
  content: attr(data-tip);
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: calc(100% + 8px);
  z-index: 80;
  display: block;
  padding: 13px 14px;
  border: 3px solid #2b4167;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(27, 42, 68, .98), rgba(9, 15, 27, .98));
  color: #eaf1ff;
  font-family: var(--font-pixel);
  font-size: 12px;
  line-height: 1.6;
  text-shadow: 2px 2px 0 #000;
  box-shadow: 0 10px 0 rgba(0,0,0,.25), inset 0 0 0 1px rgba(104,172,255,.18);
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
  white-space: normal;
}

.goal-tip-wrap[data-tip=""]::after,
.goal-tip-wrap:not([data-tip])::after {
  display: none !important;
}

.goal-tip-wrap:hover::after,
.goal-tip-wrap:focus-visible::after,
.goal-tip-wrap.tip-open::after {
  opacity: 1;
  transform: translateY(0);
}

body.tips-disabled .goal-tip-wrap::after {
  display: none !important;
}

/* v8.3: full-width event rail and safer global-goal tooltip placement */
#header {
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

.top-event-ticker {
  width: 100% !important;
  max-width: none !important;
  margin: 8px 0 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}

.top-event-ticker-track {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#upgrade-menu-tools.goal-tip-wrap::after {
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  top: calc(100% + 8px) !important;
  z-index: 220 !important;
  max-width: min(520px, calc(100vw - 40px)) !important;
}

#upgrade-menu-tools.goal-tip-wrap:hover::after,
#upgrade-menu-tools.goal-tip-wrap:focus-visible::after,
#upgrade-menu-tools.goal-tip-wrap.tip-open::after {
  transform: translateY(0) !important;
}

/* v8.4: subtle framed header economy block */
@media (min-width: 941px) {
  #header {
    grid-template-columns: minmax(260px, auto) 1fr !important;
    height: 96px !important;
  }

  #header .header-actions {
    grid-column: 2 !important;
    justify-self: end !important;
  }

  .header-center-stats {
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 0 12px !important;
    padding: 12px 18px !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    border: 3px solid #07101f !important;
    border-radius: 8px !important;
    background:
      radial-gradient(circle at 50% 50%, rgba(255, 205, 58, .12), transparent 26%),
      linear-gradient(180deg, rgba(29, 44, 70, .72), rgba(12, 20, 35, .72)) !important;
    box-shadow:
      inset 0 0 0 2px rgba(255,255,255,.055),
      inset 0 -18px 28px rgba(0,0,0,.16),
      0 4px 0 rgba(0,0,0,.44) !important;
  }

  .header-center-stats::after {
    content: '';
    position: absolute;
    inset: 7px;
    z-index: -1;
    border-radius: 10px;
    border: 1px solid rgba(88, 132, 194, .22);
    background:
      linear-gradient(90deg, transparent, rgba(87, 197, 255, .06), transparent);
    pointer-events: none;
  }

  .header-center-stats::before {
    margin-right: 2px !important;
    box-shadow:
      3px 3px 0 #000,
      0 0 18px rgba(255, 208, 55, .22) !important;
  }

  .header-center-stats .hstat:first-child {
    width: clamp(118px, 10vw, 145px) !important;
  }

  .header-center-stats .hstat:not(:first-child) {
    width: clamp(58px, 5.2vw, 84px) !important;
  }

  .header-center-stats .hstat-sep {
    background: linear-gradient(180deg, transparent, rgba(113, 150, 207, .85), transparent) !important;
    height: 34px !important;
    opacity: .85;
  }

  .header-center-stats .hstat-label {
    color: #7dff62 !important;
  }

  .hstat-val.value-bump {
    animation: statValueBump .34s ease-out;
  }
}

@keyframes statValueBump {
  0% {
    transform: translateY(3px) scale(.96);
    filter: brightness(1);
  }
  45% {
    transform: translateY(-2px) scale(1.08);
    filter: brightness(1.4) drop-shadow(0 0 10px rgba(255, 216, 77, .32));
  }
  100% {
    transform: translateY(0) scale(1);
    filter: brightness(1);
  }
}

.profile-menu-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 11px 14px;
  border: 3px solid #07101f;
  border-radius: 8px;
  background: linear-gradient(180deg, #16243a, #10192b);
  color: var(--c-text);
  font-family: var(--font-pixel);
  font-size: 11px;
  text-shadow: 2px 2px 0 #000;
  cursor: pointer;
}

.profile-menu-toggle input {
  width: 20px;
  height: 20px;
  accent-color: #57ff4d;
  cursor: pointer;
}

.goals-title {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 3px dashed rgba(82, 110, 150, .45);
}

.boost-shop-list {
  display: grid;
  gap: 8px;
}

.boost-shop-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px;
  border: 3px solid #050912;
  border-radius: 8px;
  background: linear-gradient(180deg, #20324f, #132137);
  color: var(--c-text);
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(104,172,255,.12), 0 4px 0 rgba(0,0,0,.24);
}

.boost-shop-item:hover {
  transform: translateY(-1px);
  border-color: #2a5f95;
}

.boost-shop-item:disabled {
  cursor: not-allowed;
  opacity: .68;
  transform: none;
  filter: grayscale(.25);
}

.ad-reward-shop-item {
  border-color: #183a27;
  background:
    radial-gradient(circle at 92% 20%, rgba(92,255,116,.16), transparent 28%),
    linear-gradient(180deg, #173a2a, #102235);
}

.ad-reward-shop-item strong {
  color: #66ff6f;
}

.ad-reward-shop-item:not(:disabled) {
  box-shadow:
    inset 0 0 0 1px rgba(96,255,124,.14),
    0 4px 0 rgba(0,0,0,.24),
    0 0 18px rgba(54, 255, 104, .08);
}

.boost-shop-item strong,
.boost-shop-item b,
.boost-shop-empty {
  font-family: var(--font-pixel);
  text-shadow: 2px 2px 0 #000;
}

.boost-shop-item strong {
  display: block;
  font-size: 10px;
  color: #fff;
  margin-bottom: 4px;
}

.boost-shop-item em {
  display: block;
  font-style: normal;
  font-family: var(--font-pixel);
  font-size: 10px;
  line-height: 1.45;
  color: var(--c-text2);
  text-shadow: 2px 2px 0 #000;
  letter-spacing: 0;
}

.boost-shop-item b {
  font-size: 11px;
  color: var(--px-yellow);
  white-space: nowrap;
}

.boost-shop-empty {
  color: var(--c-text2);
  font-size: 10px;
}

.chest-result-card {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 28px 18px;
  border: 4px solid #101827;
  border-radius: 10px;
  background:
    radial-gradient(circle at 50% 15%, rgba(255,255,255,.24), transparent 30%),
    linear-gradient(180deg, #243758, #101a2d);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.08), 0 8px 0 rgba(0,0,0,.25);
}

.chest-result-card.rare { border-color: #38bdf8; }
.chest-result-card.epic { border-color: #a855f7; }
.chest-result-card.legendary { border-color: #ffd94c; box-shadow: 0 0 28px rgba(255,217,76,.25), 0 8px 0 rgba(0,0,0,.25); }

.chest-result-rarity,
.chest-result-amount,
.chest-result-boost {
  font-family: var(--font-pixel);
  text-shadow: 3px 3px 0 #000;
  text-align: center;
}

.chest-result-rarity {
  font-size: clamp(16px, 4vw, 24px);
  color: var(--px-cyan);
}

.chest-result-amount {
  font-size: clamp(30px, 8vw, 48px);
  color: var(--px-yellow);
}

.chest-result-boost {
  font-size: 12px;
  color: #71ff6a;
  line-height: 1.5;
}

.profile-modal-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 8px 0 16px;
}

.profile-avatar {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border: 4px solid #050912;
  border-radius: 12px;
  background: radial-gradient(circle at 45% 35%, #2b4167, #101a2d 72%);
  box-shadow: inset 0 0 0 2px rgba(104,172,255,.16), 0 6px 0 rgba(0,0,0,.28);
}

.profile-avatar img {
  width: 68px;
  height: 68px;
  border-radius: 8px;
  object-fit: cover;
}

.profile-modal-name {
  font-family: var(--font-pixel);
  font-size: clamp(18px, 4vw, 28px);
  color: #7dff47;
  text-shadow: 3px 3px 0 #000;
}

.profile-modal-sub {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 9px;
  color: var(--c-text2);
  font-size: 14px;
  line-height: 1.45;
}

.profile-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px 4px;
  border: 3px solid #050912;
  border-radius: 8px;
  background: linear-gradient(180deg, #17243a, #0d1728);
  color: #f4f7ff;
  font-family: var(--font-pixel);
  font-size: 10px;
  line-height: 1.15;
  text-shadow: 2px 2px 0 #000;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 4px 0 rgba(0,0,0,.25);
}

.profile-chip-league {
  border-color: #1d6d31;
  background: linear-gradient(180deg, rgba(45, 191, 75, .28), rgba(11, 43, 25, .95));
  color: #7dff47;
}

.profile-chip-prestige {
  border-color: #7a4d12;
  background: linear-gradient(180deg, rgba(255, 207, 64, .28), rgba(49, 31, 8, .95));
  color: var(--px-yellow);
}

.profile-chip-skin {
  border-color: #2b5f93;
  background: linear-gradient(180deg, rgba(36, 215, 255, .22), rgba(14, 29, 52, .95));
  color: var(--px-cyan);
}

.profile-chip-title {
  border-color: #6d45c9;
  background: linear-gradient(180deg, rgba(158, 92, 255, .24), rgba(27, 18, 57, .95));
  color: #d8c5ff;
}

#modal-profile.profile-banner-grid {
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, #1c2b45, #101827);
  background-size: 22px 22px, 22px 22px, auto;
}

#modal-profile.profile-banner-emerald {
  background:
    radial-gradient(circle at 18% 12%, rgba(72, 255, 144, .18), transparent 26%),
    linear-gradient(180deg, #17314a, #0d2118);
}

#modal-profile.profile-banner-royal {
  background:
    radial-gradient(circle at 82% 8%, rgba(255, 217, 76, .18), transparent 28%),
    linear-gradient(180deg, #211b48, #101827);
}

#modal-profile.profile-frame-cyan .profile-avatar,
.profile-cosmetics-preview.profile-frame-cyan {
  border-color: #24d7ff;
  box-shadow: 0 0 18px rgba(36, 215, 255, .25), inset 0 0 0 2px rgba(255,255,255,.1), 0 6px 0 rgba(0,0,0,.28);
}

#modal-profile.profile-frame-gold .profile-avatar,
.profile-cosmetics-preview.profile-frame-gold {
  border-color: #ffd94c;
  box-shadow: 0 0 22px rgba(255, 217, 76, .28), inset 0 0 0 2px rgba(255,255,255,.12), 0 6px 0 rgba(0,0,0,.28);
}

#modal-profile.profile-frame-violet .profile-avatar,
.profile-cosmetics-preview.profile-frame-violet {
  border-color: #9b6cff;
  box-shadow: 0 0 22px rgba(155, 108, 255, .32), inset 0 0 0 2px rgba(255,255,255,.1), 0 6px 0 rgba(0,0,0,.28);
}

#modal-profile.profile-frame-fire .profile-avatar,
.profile-cosmetics-preview.profile-frame-fire {
  border-color: #ff7a2f;
  box-shadow: 0 0 24px rgba(255, 122, 47, .32), inset 0 0 0 2px rgba(255,255,255,.12), 0 6px 0 rgba(0,0,0,.28);
}

.profile-cosmetics-preview {
  display: grid;
  gap: 8px;
  min-height: 116px;
  margin: 12px 0 16px;
  padding: 18px;
  border: 4px solid #050912;
  border-radius: 10px;
  background: linear-gradient(180deg, #17243a, #0d1728);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 6px 0 rgba(0,0,0,.25);
}

.profile-cosmetics-preview.profile-banner-grid {
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, #1c2b45, #0d1728);
  background-size: 18px 18px, 18px 18px, auto;
}

.profile-cosmetics-preview.profile-banner-emerald {
  background: linear-gradient(135deg, #18395a, #0b2a1c);
}

.profile-cosmetics-preview.profile-banner-royal {
  background: linear-gradient(135deg, #2b255b, #111a2c);
}

.profile-cosmetics-preview-name,
.profile-cosmetics-preview-title,
.profile-cosmetics-groups h3 {
  font-family: var(--font-pixel);
  text-shadow: 2px 2px 0 #000;
}

.profile-cosmetics-preview-name {
  font-size: clamp(22px, 5vw, 34px);
  color: #7dff47;
}

.profile-cosmetics-preview-title {
  width: fit-content;
  padding: 6px 10px 5px;
  border: 3px solid #050912;
  border-radius: 8px;
  background: rgba(9, 15, 26, .62);
  color: var(--px-yellow);
  font-size: 11px;
}

.profile-cosmetics-groups {
  display: grid;
  gap: 16px;
  max-height: min(54vh, 520px);
  padding-right: 4px;
  overflow: auto;
}

.profile-cosmetics-groups h3 {
  margin: 0 0 8px;
  color: var(--px-cyan);
  font-size: 13px;
}

.profile-cosmetic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.profile-cosmetic-card {
  min-height: 86px;
  padding: 12px;
  border: 3px solid #101827;
  border-radius: 8px;
  background: linear-gradient(180deg, #182841, #101b2d);
  color: #fff;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 4px 0 rgba(0,0,0,.25);
}

.profile-cosmetic-card strong,
.profile-cosmetic-card em {
  display: block;
  font-family: var(--font-pixel);
  text-shadow: 2px 2px 0 #000;
}

.profile-cosmetic-card strong {
  font-size: 11px;
}

.profile-cosmetic-card span {
  display: block;
  margin: 7px 0;
  color: var(--c-text2);
  font-size: 12px;
  line-height: 1.35;
}

.profile-cosmetic-card em {
  color: #71ff6a;
  font-size: 9px;
  font-style: normal;
}

.profile-cosmetic-card.active {
  border-color: #9b6cff;
  background: linear-gradient(180deg, #2c245e, #151e34);
  box-shadow: 0 0 16px rgba(155,108,255,.28), inset 0 0 0 1px rgba(255,255,255,.08), 0 4px 0 rgba(0,0,0,.25);
}

.profile-cosmetic-card:disabled {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(.5);
}

.engagement-nudge {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 12px 0 10px;
  padding: 12px 52px 12px 14px;
  border: 4px solid #101827;
  border-radius: 10px;
  background:
    radial-gradient(circle at 8% 20%, rgba(36,215,255,.16), transparent 30%),
    linear-gradient(90deg, rgba(31, 54, 87, .96), rgba(17, 28, 46, .98));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), 0 6px 0 rgba(0,0,0,.24);
}

.engagement-nudge.hidden {
  display: none;
}

.engagement-nudge-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.engagement-nudge-copy strong {
  color: var(--px-yellow);
  font-family: var(--font-pixel);
  font-size: 13px;
  text-shadow: 2px 2px 0 #000;
}

.engagement-nudge-copy span {
  color: var(--c-text2);
  font-size: 14px;
  line-height: 1.35;
}

#engagement-nudge-action {
  flex: 0 0 auto;
  margin-left: auto;
  min-height: 40px;
  padding: 9px 14px;
  border: 3px solid #050912;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffd94c, #f5a51d);
  color: #4b2600;
  font-family: var(--font-pixel);
  font-size: 10px;
  text-shadow: none;
  cursor: pointer;
}

.engagement-nudge-close {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: rgba(203,216,235,.78);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 700px) {
  .profile-cosmetic-grid {
    grid-template-columns: 1fr;
  }
  .engagement-nudge {
    align-items: stretch;
    flex-direction: column;
    padding: 12px 44px 12px 12px;
  }
  #engagement-nudge-action {
    width: 100%;
    margin-left: 0;
  }
}

.lb-row[data-user-id] {
  cursor: pointer;
  transition: transform .12s ease, border-color .12s ease, filter .12s ease;
}

.lb-row[data-user-id]:hover,
.lb-row[data-user-id]:focus-visible {
  border-color: var(--px-cyan);
  filter: brightness(1.12);
  transform: translateY(-1px);
  outline: none;
}

.side-collapse-section {
  margin-top: 18px;
}

.side-collapse-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.side-collapse-title button {
  margin-left: auto;
  min-width: 92px;
  min-height: 34px;
  padding: 7px 9px;
  border: 3px solid #050912;
  border-radius: 7px;
  background: linear-gradient(180deg, #213653, #122035);
  color: var(--px-cyan);
  font-family: var(--font-pixel);
  font-size: 8px;
  line-height: 1;
  text-shadow: 2px 2px 0 #000;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(104,172,255,.14), 0 4px 0 rgba(0,0,0,.24);
}

.side-collapse-title button:hover {
  border-color: #2b5f93;
  filter: brightness(1.1);
}

.side-collapse-section.is-collapsed #passives-list,
.side-collapse-section.is-collapsed #skins-list {
  display: none;
}

.profile-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.profile-stat-grid > div {
  padding: 12px;
  border: 3px solid #101827;
  border-radius: 8px;
  background: linear-gradient(180deg, #17243a, #0d1728);
}

.profile-stat-grid span,
.profile-history-title {
  display: block;
  font-family: var(--font-pixel);
  font-size: 9px;
  color: var(--c-text2);
  margin-bottom: 7px;
}

.profile-stat-grid strong {
  display: block;
  font-family: var(--font-pixel);
  font-size: 16px;
  color: var(--px-yellow);
  text-shadow: 2px 2px 0 #000;
}

.profile-history-title {
  margin-top: 16px;
  color: var(--px-cyan);
}

.profile-reward-history {
  display: grid;
  gap: 8px;
  max-height: 210px;
  overflow: auto;
}

.profile-history-item,
.profile-history-empty {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 3px solid #101827;
  border-radius: 8px;
  background: #111c2e;
  font-family: var(--font-pixel);
  font-size: 10px;
}

.profile-history-item.rare { border-color: #38bdf8; }
.profile-history-item.epic { border-color: #a855f7; }
.profile-history-item.legendary { border-color: #ffd94c; }
.profile-history-item strong { color: var(--px-yellow); }
.profile-history-empty { color: var(--c-text2); }

@media (max-width: 700px) {
  .profile-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .profile-modal-head {
    align-items: flex-start;
  }
}

/* v7.3: beta badge near the main logo */
.header-logo {
  position: relative;
}

.logo-beta {
  position: absolute;
  left: clamp(104px, 7.5vw, 132px);
  top: clamp(38px, 2.6vw, 48px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin: 0;
  padding: 3px 6px 2px;
  border: 2px solid rgba(123, 150, 190, .42);
  border-radius: 6px;
  background: rgba(15, 27, 47, .72);
  color: rgba(203, 216, 235, .82);
  font-family: var(--font-pixel);
  font-size: clamp(7px, .72vw, 9px);
  line-height: 1;
  letter-spacing: 0;
  text-shadow: 1px 1px 0 #000;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 2px 0 rgba(0,0,0,.25);
  vertical-align: middle;
}

@media (max-width: 620px) {
  .logo-beta {
    left: clamp(114px, 30vw, 210px);
    top: clamp(48px, 11vw, 58px);
    margin: 0;
    padding: 2px 5px 1px;
    border-width: 2px;
    border-radius: 5px;
    font-size: 7px;
    opacity: .78;
  }
}
/* Maintenance, legal consent, and final click scene safeguards */
.maintenance-overlay {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(5, 8, 14, .94);
}
.maintenance-card {
  width: min(620px, 100%);
  padding: 28px;
  border: 3px solid #27405f;
  border-radius: 8px;
  background: linear-gradient(180deg, #17243b, #0b111d);
  box-shadow: 0 14px 0 rgba(0,0,0,.35), 0 0 40px rgba(46, 191, 255, .15);
  text-align: center;
}
.maintenance-card h1 {
  margin: 0 0 14px;
  font: 28px/1 var(--font-pixel);
  color: #ffd84d;
  text-shadow: 3px 3px 0 #000;
}
.maintenance-card p { margin: 0; font-size: 18px; color: #fff; }
.legal-consent {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 16000;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border: 2px solid #2a4468;
  border-radius: 8px;
  background: rgba(13, 20, 34, .96);
  box-shadow: 0 8px 0 rgba(0,0,0,.35);
}
.legal-consent strong { color: #35d7ff; font-family: var(--font-pixel); font-size: 13px; }
.legal-consent p { margin: 5px 0 0; color: #cbd5e1; font-size: 13px; }
.legal-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.legal-actions button {
  min-height: 42px;
  padding: 0 16px;
  border: 2px solid #050812;
  border-radius: 7px;
  background: #18263e;
  color: #fff;
  font-family: var(--font-pixel);
  cursor: pointer;
}
.legal-actions button:first-child { background: linear-gradient(180deg, #ffdb4d, #ffad21); color: #181108; }
#click-zone::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    url("data:image/svg+xml,%3Csvg width='92' height='92' viewBox='0 0 92 92' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='46' y='56' text-anchor='middle' font-family='Arial Black, Arial, sans-serif' font-size='24' font-weight='900' fill='%23ffd84d' fill-opacity='.14'%3E%24%3C/text%3E%3C/svg%3E") 0 0/92px 92px repeat,
    url("data:image/svg+xml,%3Csvg width='92' height='92' viewBox='0 0 92 92' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='46' y='56' text-anchor='middle' font-family='Arial Black, Arial, sans-serif' font-size='18' font-weight='900' fill='%2389e8ff' fill-opacity='.08'%3E%24%3C/text%3E%3C/svg%3E") 46px 46px/92px 92px repeat !important;
}
#click-zone > * { position: relative; z-index: 1; }
@media (max-width: 700px) {
  .legal-consent { flex-direction: column; align-items: stretch; }
  .legal-actions { width: 100%; }
  .legal-actions button { flex: 1; }
}

/* Final override: keep dollar background and legal/maintenance layers above late CSS blocks. */
#click-zone::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    url("data:image/svg+xml,%3Csvg width='92' height='92' viewBox='0 0 92 92' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='46' y='56' text-anchor='middle' font-family='Arial Black, Arial, sans-serif' font-size='24' font-weight='900' fill='%23ffd84d' fill-opacity='.14'%3E%24%3C/text%3E%3C/svg%3E") 0 0/92px 92px repeat,
    url("data:image/svg+xml,%3Csvg width='92' height='92' viewBox='0 0 92 92' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='46' y='56' text-anchor='middle' font-family='Arial Black, Arial, sans-serif' font-size='18' font-weight='900' fill='%2389e8ff' fill-opacity='.08'%3E%24%3C/text%3E%3C/svg%3E") 46px 46px/92px 92px repeat !important;
}
#click-zone > * { position: relative; z-index: 1; }
.top-event-ticker-item {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0 2px;
  cursor: pointer;
  text-shadow: inherit;
}
.top-event-ticker-item:hover { color: #35d7ff; }

/* v8.10: repair click arena layering after dollar backdrop override */
#click-zone {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
#click-zone > #click-aura,
#click-zone > #click-ring-1,
#click-zone > #click-ring-2 {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
#click-zone > #click-aura {
  transform: translate(-50%, -50%) !important;
}
#click-zone > #click-ring-1,
#click-zone > #click-ring-2 {
  transform: translate(-50%, -50%) !important;
}
#click-zone > #click-btn {
  position: relative !important;
  z-index: 3 !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
#click-zone > #click-label,
#click-zone > #combo-zone {
  position: relative !important;
  z-index: 4 !important;
}
.avatar-face,
.avatar-face img {
  position: relative !important;
  z-index: 4 !important;
}
#notif-stack,
.notif {
  font-size: 19px !important;
}
#main-game {
  padding-bottom: 0 !important;
}
#game-footer {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 8 !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  margin-top: 16px !important;
  height: 44px !important;
  min-height: 44px !important;
  display: flex !important;
  visibility: visible !important;
}

/* v8.13: footer stays in document flow everywhere; mobile notifications stay compact */
@media (max-width: 940px) {
  #notif-stack,
  .notif {
    font-size: 15px !important;
  }
  #notif-stack {
    left: 10px !important;
    right: 10px !important;
    bottom: 12px !important;
    align-items: stretch !important;
  }
  #upgrade-drawer-toggle {
    bottom: 14px !important;
  }
}

/* v8.16: real DOM dollar layer, so the drift cannot be frozen by pseudo-element overrides */
#click-zone {
  overflow: visible !important;
}

#click-zone::before {
  content: none !important;
  display: none !important;
}

#dollar-drift-layer {
  display: block !important;
  position: absolute !important;
  left: -120px !important;
  top: -120px !important;
  width: calc(100% + 240px) !important;
  height: calc(100% + 240px) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .92 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg width='96' height='96' viewBox='0 0 96 96' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='48' y='60' text-anchor='middle' font-family='Arial Black, Arial, sans-serif' font-size='27' font-weight='900' fill='%23ffd84d' fill-opacity='.15'%3E%24%3C/text%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg width='96' height='96' viewBox='0 0 96 96' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='48' y='60' text-anchor='middle' font-family='Arial Black, Arial, sans-serif' font-size='20' font-weight='900' fill='%2389e8ff' fill-opacity='.085'%3E%24%3C/text%3E%3C/svg%3E") !important;
  background-size: 96px 96px, 96px 96px !important;
  background-position: 0 0, 48px 48px !important;
  background-repeat: repeat, repeat !important;
  transform: translate3d(0, 0, 0);
  animation: dollarLayerDrift 18s linear infinite !important;
  will-change: transform;
}

@keyframes dollarLayerDrift {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-96px, -96px, 0);
  }
}

/* v8.17: keep the animated dollar layer from widening mobile pages */
@media (max-width: 940px) {
  html,
  body,
  #main-game,
  #game-layout,
  #panel-center {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  #click-zone {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    max-width: 100% !important;
    contain: paint;
  }

  #dollar-drift-layer {
    left: 0 !important;
    top: -96px !important;
    width: calc(100% + 96px) !important;
    height: calc(100% + 192px) !important;
  }
}

/* v8.18: align header icon art and stretch login when email signup is disabled */
#sound-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
}

#sound-icon img,
#sound-icon svg {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
  filter: drop-shadow(2px 2px 0 rgba(0,0,0,.45));
}

body.email-registration-off #btn-login {
  grid-column: 1 / 5 !important;
  width: 100% !important;
  max-width: none !important;
}

body.email-registration-off #btn-register {
  display: none !important;
}

body.email-registration-off #auth-login > .modal-title,
body.email-registration-off #auth-login > .fg,
body.email-registration-off #auth-login > .auth-remember,
body.email-registration-off #auth-login > #li-err,
body.email-registration-off #auth-login > #btn-do-login,
body.email-registration-off #auth-login > .fhint {
  display: none !important;
}

body.email-registration-off #modal-auth .modal-tabs {
  display: none !important;
}

body.email-registration-off #auth-login .social-login {
  margin-top: 0;
}

body.email-registration-off #auth-login .social-login-title {
  margin-top: 0;
}

body.email-registration-off #auth-login .social-login-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.email-registration-off #auth-login #login-gos {
  grid-column: 1 / -1;
}

body.email-registration-off #lb-register-btn {
  display: none !important;
}

body.email-registration-off .lb-guest-actions {
  justify-content: center;
}

@media (max-width: 940px) {
  #sound-icon img,
  #sound-icon svg,
  #header-telegram-link img {
    width: 34px !important;
    height: 34px !important;
  }
}

/* v8.19: the animated click-zone backdrop must never create nested scrollbars */
@media (max-width: 940px) {
  #click-btn,
  #click-btn *,
  .avatar-face,
  .avatar-face img {
    -webkit-tap-highlight-color: transparent !important;
    -webkit-touch-callout: none !important;
    user-select: none !important;
  }

  #click-btn,
  #click-btn:focus,
  #click-btn:focus-visible,
  #click-btn:active {
    outline: none !important;
    background-clip: padding-box !important;
  }

  #click-btn::selection,
  .avatar-face::selection,
  .avatar-face img::selection {
    background: transparent !important;
  }

  #panel-center {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  #click-zone {
    overflow: hidden !important;
    contain: paint;
  }

  #dollar-drift-layer {
    left: 0 !important;
    top: -96px !important;
    width: calc(100% + 96px) !important;
    height: calc(100% + 192px) !important;
  }
}
