/* 🛍️ Магазин человечка (shop.js) — в том же неоновом стиле, что и меню */
#shopbtn{
  position:fixed; right:14px; top:112px; z-index:6; padding:9px 16px; border:none; border-radius:14px; cursor:pointer; color:#fff;
  font-family:'Russo One',system-ui,sans-serif; font-size:1rem; letter-spacing:1px;
  background:linear-gradient(90deg,#ff4fd8,#8f5bff); box-shadow:0 0 18px rgba(255,79,216,.55); transition:transform .15s;
  animation:kk-shopglow 2s ease-in-out infinite;
}
#shopbtn:hover{ transform:scale(1.08); }
@keyframes kk-shopglow{ 50%{ box-shadow:0 0 30px rgba(79,209,255,.75); } }

/* человечек вместо смайлика в карточке игрока */
.gm-ava.kk-has{ background:radial-gradient(circle at 50% 35%, #4b2a9e, #1c0b40); cursor:pointer; overflow:hidden; }
.gm-ava.kk-has svg{ width:100%; height:100%; display:block; }

#kk-shop{
  position:fixed; inset:0; z-index:20000; display:grid; place-items:center; padding:14px;
  background:rgba(5,1,15,.8); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
.kk-shopcard{
  --c1:#ff4fd8; --c2:#4fd1ff; --c3:#ffd23f;
  width:min(1000px,100%); max-height:94vh; display:flex; flex-direction:column; border-radius:24px; color:#fff; overflow:hidden;
  background:linear-gradient(160deg, rgba(28,12,66,.98), rgba(8,5,28,.98));
  box-shadow:0 0 0 2px rgba(255,79,216,.6), 0 0 40px rgba(255,79,216,.45), 0 0 80px rgba(79,209,255,.25);
  font-family:'Russo One',system-ui,sans-serif; animation:kk-pop .25s ease-out;
}
.kk-shophead{ display:flex; align-items:center; gap:14px; padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.1); }
.kk-shophead > b{ font-weight:400; font-size:1.6rem; text-shadow:0 0 14px var(--c1); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kk-bal{ padding:6px 14px; border-radius:14px; color:var(--c3); background:rgba(0,0,0,.35); border:1px solid rgba(255,210,63,.5); font-size:1.15rem; white-space:nowrap; }
.kk-bal small{ color:#cfc6ff; font-family:system-ui,sans-serif; font-size:.8rem; }
/* «✕ Выйти» никогда не сжимается и не уезжает за край — даже на узком телефоне */
.kk-x{ flex:0 0 auto; height:40px; padding:0 14px; border-radius:12px; border:1px solid rgba(255,79,216,.6); background:rgba(255,79,216,.25); color:#fff;
  font-family:'Russo One',system-ui,sans-serif; font-size:1rem; white-space:nowrap; cursor:pointer; }
.kk-x:hover{ background:rgba(255,79,216,.5); }

.kk-shopbody{ display:flex; gap:16px; padding:14px 18px; min-height:0; flex:1; }
.kk-me{ width:290px; flex:0 0 290px; display:flex; flex-direction:column; align-items:center; overflow-y:auto; }
#kk-big{ position:relative; width:230px; height:282px; border-radius:20px; overflow:hidden;
  background:radial-gradient(circle at 50% 40%, #4b2a9e, #1c0b40 75%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); }
#kk-big svg{ width:100%; height:100%; display:block; }
#kk-big.kk-yay svg{ animation:kk-jump .6s ease-out; }
@keyframes kk-jump{ 30%{ transform:translateY(-14px) scale(1.05); } 60%{ transform:translateY(0) scale(.98); } }
.kk-conf{ position:absolute; top:-8px; width:7px; height:11px; border-radius:2px; animation:kk-fall 1.4s ease-in forwards; }
@keyframes kk-fall{ to{ transform:translateY(300px) rotate(540deg); opacity:.2; } }
.kk-lvl{ margin:8px 0 4px; color:var(--c3); }
#kk-look{ width:100%; font-family:system-ui,"Segoe UI",sans-serif; font-size:.85rem; }
.kk-lt{ font-family:'Russo One',system-ui,sans-serif; color:var(--c2); margin:6px 0 4px; }
.kk-row{ display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:5px 0; }
.kk-row > span{ width:100%; color:#cfc6ff; }
.kk-sw{ width:26px; height:26px; border-radius:50%; border:2px solid rgba(255,255,255,.25); cursor:pointer; padding:0; }
.kk-sw.on, .kk-hair.on{ border-color:var(--c3); box-shadow:0 0 10px var(--c3); }
.kk-hairs{ display:flex; gap:5px; flex-wrap:wrap; }
.kk-hair{ width:40px; height:40px; border-radius:10px; border:2px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); padding:0; cursor:pointer; }
.kk-hair svg{ width:100%; height:100%; display:block; }

.kk-store{ flex:1; display:flex; flex-direction:column; min-width:0; min-height:0; }
.kk-tabs{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.kk-tabs button{ padding:7px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.07); color:#fff;
  font-family:'Russo One',system-ui,sans-serif; font-size:.9rem; cursor:pointer; }
.kk-tabs button:hover{ background:rgba(255,255,255,.18); }
.kk-tabs button.on{ background:linear-gradient(90deg,var(--c1),var(--c2)); border-color:transparent; }
.kk-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; overflow-y:auto; padding:2px 4px 4px 2px; }
.kk-item{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px; border-radius:16px; cursor:pointer;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); transition:transform .15s, background .15s; }
.kk-item:hover, .kk-item.try{ background:rgba(255,255,255,.13); transform:translateY(-3px); }
.kk-item.worn{ border-color:var(--c3); box-shadow:0 0 12px rgba(255,210,63,.35); }
.kk-item svg{ width:110px; height:135px; }
.kk-nm{ font-size:.92rem; text-align:center; min-height:2.3em; display:flex; align-items:center; }
.kk-pr{ color:var(--c3); font-size:.95rem; }
.kk-own{ color:#3ee07a; }
.kk-b{ width:100%; padding:8px 6px; border:none; border-radius:999px; cursor:pointer; color:#fff; font-family:'Russo One',system-ui,sans-serif; font-size:.85rem;
  background:rgba(255,255,255,.14); transition:transform .12s; }
.kk-b:hover{ transform:scale(1.04); }
.kk-b.buy{ background:linear-gradient(90deg,#3ee07a,#1b8a46); }
.kk-b.sure{ background:linear-gradient(90deg,#ffd23f,#ff9f1c); color:#1a1033; animation:kk-shopglow .8s infinite; }
.kk-b.worn{ background:rgba(255,210,63,.25); }
.kk-b.no{ background:rgba(255,255,255,.06); color:#9f97d6; cursor:default; font-family:system-ui,sans-serif; }
.kk-shopfoot{ padding:10px 18px 14px; font-family:system-ui,"Segoe UI",sans-serif; font-size:.85rem; color:#cfc6ff; text-align:center; border-top:1px solid rgba(255,255,255,.08); }

@media (max-width:700px){
  #shopbtn{ top:auto; bottom:18px; right:14px; font-size:.9rem; padding:8px 12px; }
  #kk-shop{ padding:6px; }
  .kk-shopcard{ max-height:98vh; max-height:calc(100dvh - 12px); border-radius:18px; }
  .kk-shophead{ padding:10px 10px; gap:6px; }
  .kk-shophead > b{ font-size:1rem; }
  .kk-bal{ font-size:.9rem; padding:4px 8px; }
  .kk-bal small{ display:none; }
  .kk-x{ height:36px; padding:0 10px; font-size:.9rem; }
  .kk-shopbody{ flex-direction:column; overflow-y:auto; padding:10px; }
  .kk-me{ width:100%; flex:none; overflow:visible; }
  #kk-big{ width:170px; height:208px; }
  .kk-grid{ grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); overflow:visible; }
  .kk-item svg{ width:90px; height:110px; }
}

/* ---------- разделы магазина и украшения сайта (deco.js) ---------- */
.kk-sections{ display:flex; gap:8px; margin-bottom:8px; }
.kk-sections button{ flex:1; padding:9px 12px; border-radius:14px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06); color:#fff;
  font-family:'Russo One',system-ui,sans-serif; font-size:1rem; cursor:pointer; }
.kk-sections button.on{ background:linear-gradient(90deg,#ffd23f,#ff9f1c); color:#1a1033; border-color:transparent; }
.kd-prev{ position:relative; width:110px; height:135px; border-radius:14px; overflow:hidden; display:grid; place-items:center; }
.kd-emo{ background:radial-gradient(circle at 50% 40%, #4b2a9e, #1c0b40 75%); font-size:2rem; text-align:center; line-height:1.3; padding:6px; }
.kd-emo small{ position:absolute; right:8px; bottom:6px; font-size:1.1rem; }
.kd-big{ font-size:3.6rem; }
.kd-emo .gm-ava{ width:64px; height:64px; border-radius:50%; display:block; }
.kd-frame b{ font-family:'Russo One',system-ui,sans-serif; font-weight:400; letter-spacing:2px; }
.kd-pet{ background:linear-gradient(#1c0b40 60%, #2a0a4d 60%); }
.kd-pet svg{ width:100px; height:100px; }
.kd-title{ font-family:'Russo One',system-ui,sans-serif; font-weight:400; font-size:1.3rem; color:#fff; }
.kd-emo b{ font-size:1.05rem; }

/* цвет ника */
.kk-nick-gold{ color:#ffd23f !important; text-shadow:0 0 8px #ff9f1c; }
.kk-nick-fire{ color:#ff9f1c !important; text-shadow:0 0 6px #ff4800, 0 -2px 10px #ff006e; }
.kk-nick-ice{ color:#caf0f8 !important; text-shadow:0 0 8px #4cc9f0; }
.kk-nick-toxic{ color:#80ff72 !important; text-shadow:0 0 8px #00f5d4; }
.kk-nick-pink{ color:#ff8fd8 !important; text-shadow:0 0 8px #ff4fd8; }
.kk-nick-rainbow, .kk-nick-galaxy, .kk-tt-rainbow, .kk-tt-gold, .kk-tt-fire, .kk-tt-ice, .kk-tt-toxic{
  -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; background-size:200% 100% !important;
  animation:kk-shine 3s linear infinite !important; }
.kk-nick-rainbow{ background:linear-gradient(90deg,#ff3b5c,#ffd23f,#3ee07a,#4fd1ff,#b26bff,#ff3b5c); }
.kk-nick-galaxy{ background:linear-gradient(90deg,#b26bff,#4361ee,#f72585,#b26bff); }
@keyframes kk-shine{ to{ background-position:200% 0; } }
.kk-badge{ margin-left:4px; font-size:.95rem; vertical-align:bottom; }

/* рамка аватара */
.gm-ava.kk-af-gold{ box-shadow:0 0 0 3px #ffd23f, 0 0 12px #ff9f1c; }
.gm-ava.kk-af-diamond{ box-shadow:0 0 0 3px #e0fbfc, 0 0 0 5px #4cc9f0, 0 0 16px #a9def9; }
.gm-ava.kk-af-fire{ box-shadow:0 0 0 3px #ff4800, 0 0 14px #ffb703; animation:kk-afire 1s ease-in-out infinite alternate; }
.gm-ava.kk-af-rainbow{ box-shadow:0 0 0 3px #ff3b5c, 0 0 12px #ffd23f; animation:kk-hue 3s linear infinite; }
.gm-ava.kk-af-neon{ box-shadow:0 0 0 2px #ff4fd8, 0 0 0 4px #4fd1ff, 0 0 14px #ff4fd8; }
.gm-ava.kk-af-galaxy{ box-shadow:0 0 0 3px #7b2cbf, 0 0 14px #f72585; }
@keyframes kk-afire{ to{ box-shadow:0 0 0 3px #ffb703, 0 0 20px #ff006e; } }
@keyframes kk-hue{ to{ filter:hue-rotate(360deg); } }

/* заголовок «Добро пожаловать!» */
.kk-tt-rainbow{ background:linear-gradient(90deg,#ff3b5c,#ffd23f,#3ee07a,#4fd1ff,#b26bff,#ff3b5c); }
.kk-tt-gold{ background:linear-gradient(90deg,#fff3b0,#ffd23f,#ff9f1c,#ffd23f,#fff3b0); }
.kk-tt-fire{ background:linear-gradient(90deg,#ffe066,#ff9f1c,#ff4800,#ff006e,#ffe066); }
.kk-tt-ice{ background:linear-gradient(90deg,#ffffff,#a9def9,#4cc9f0,#a9def9,#ffffff); }
.kk-tt-toxic{ background:linear-gradient(90deg,#e4ff1a,#80ff72,#00f5d4,#80ff72,#e4ff1a); }
.content h1[class*="kk-tt-"]{ text-shadow:none !important; }
.content h1[class*="kk-tt-"]::before, .content h1[class*="kk-tt-"]::after{ display:none; }

/* питомец гуляет внизу странички (не мешает нажимать — pointer-events:none) */
#kk-sitepet{ position:fixed; bottom:4px; left:0; width:90px; height:90px; z-index:4; pointer-events:none; animation:kk-walk 26s linear infinite; }
#kk-sitepet .kk-petbody{ width:100%; height:100%; animation:kk-hop .5s ease-in-out infinite alternate; }
#kk-sitepet svg{ width:100%; height:100%; }
#kk-sitepet.kk-pet-dragon, #kk-sitepet.kk-pet-owl{ bottom:22vh; }
#kk-sitepet.kk-pet-dragon .kk-petbody, #kk-sitepet.kk-pet-owl .kk-petbody{ animation:kk-flap 1.2s ease-in-out infinite alternate; }
#kk-sitepet.kk-pet-bunny .kk-petbody{ animation:kk-bunny .45s ease-in-out infinite alternate; }
@keyframes kk-walk{ 0%{ transform:translateX(calc(100vw - 90px)) scaleX(1); } 49.9%{ transform:translateX(0) scaleX(1); } 50%{ transform:translateX(0) scaleX(-1); } 100%{ transform:translateX(calc(100vw - 90px)) scaleX(-1); } }
@keyframes kk-hop{ to{ transform:translateY(-3px); } }
@keyframes kk-flap{ to{ transform:translateY(-18px) rotate(-4deg); } }
@keyframes kk-bunny{ 0%{ transform:translateY(0); } 100%{ transform:translateY(-14px); } }
/* 🎁 подарочные украшения (только за юбилейные уровни) */
.kk-nick-jubilee, .kk-tt-legend{
  -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important; background-size:200% 100% !important;
  animation:kk-shine 2.4s linear infinite !important; }
.kk-nick-jubilee{ background:linear-gradient(90deg,#ffd60a,#ff006e,#ff6d00,#ffd60a); filter:drop-shadow(0 0 4px rgba(255,0,110,.6)); }
.kk-tt-legend{ background:linear-gradient(90deg,#ffd23f,#ff006e,#00f5d4,#b26bff,#ffd23f); filter:drop-shadow(0 0 10px rgba(255,214,10,.5)); }
.gm-ava.kk-af-legend{ box-shadow:0 0 0 3px #ffd23f, 0 0 0 6px #ff006e, 0 0 20px #00f5d4; animation:kk-hue 4s linear infinite; }

/* 🎁 кнопка «Подарки» в меню и окошко подарков (gifts.js) */
nav.menu .gm-gifts{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:9px 12px;
  border-radius:14px; border:1px solid rgba(255,210,63,.35); background:rgba(255,210,63,.1); color:#fff; cursor:pointer;
  font-family:'Russo One',system-ui,sans-serif; font-size:.95rem; transition:background .15s, transform .15s; }
nav.menu .gm-gifts:hover{ background:rgba(255,210,63,.25); transform:scale(1.03); }
nav.menu .gm-gifts.ready{ background:linear-gradient(90deg,#ff9f1c,#ff4fd8); border-color:transparent; animation:kk-giftpulse 1.2s ease-in-out infinite; }
.gm-gdot{ min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#ff3b5c; color:#fff; font:700 .75rem/20px system-ui,sans-serif; font-style:normal; box-shadow:0 0 8px #ff3b5c; }
@keyframes kk-giftpulse{ 50%{ box-shadow:0 0 22px rgba(255,159,28,.9); transform:scale(1.04); } }
#kk-gifts{ position:fixed; inset:0; z-index:20000; display:grid; place-items:center; padding:14px;
  background:rgba(5,1,15,.8); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.kg-card{ position:relative; width:min(720px,100%); max-height:94vh; display:flex; flex-direction:column; border-radius:24px; color:#fff; overflow:hidden;
  background:linear-gradient(160deg, rgba(28,12,66,.98), rgba(8,5,28,.98));
  box-shadow:0 0 0 2px rgba(255,210,63,.6), 0 0 40px rgba(255,159,28,.45), 0 0 80px rgba(255,79,216,.25);
  font-family:'Russo One',system-ui,sans-serif; animation:kk-pop .25s ease-out; }
.kg-head{ display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.1); }
.kg-head > b{ flex:1; font-weight:400; font-size:1.5rem; text-shadow:0 0 14px #ff9f1c; }
.kg-sub{ padding:10px 18px 4px; font-family:system-ui,"Segoe UI",sans-serif; font-size:.92rem; color:#cfc6ff; }
.kg-list{ overflow-y:auto; padding:8px 14px 16px; display:flex; flex-direction:column; gap:10px; }
.kg-row{ display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); }
.kg-row.ready{ border-color:#ffd23f; background:rgba(255,210,63,.12); box-shadow:0 0 18px rgba(255,210,63,.3); }
.kg-row.done{ opacity:.6; }
.kg-lvl{ width:74px; flex:0 0 74px; text-align:center; line-height:1; }
.kg-lvl b{ display:block; font-weight:400; font-size:1.9rem; color:#ffd23f; text-shadow:0 0 12px #ff9f1c; }
.kg-lvl small{ font-family:system-ui,sans-serif; font-size:.72rem; color:#bbb4ea; }
.kg-rew{ flex:1; display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; }
.kg-pts{ padding:6px 10px; border-radius:12px; background:rgba(0,0,0,.35); color:#ffd23f; white-space:nowrap; }
.kg-it{ display:flex; align-items:center; gap:6px; font-family:system-ui,sans-serif; font-size:.82rem; color:#e9e4ff; }
.kg-it .kd-prev{ width:46px; height:46px; border-radius:10px; font-size:1.3rem; }
.kg-it .kd-prev .gm-ava{ width:34px; height:34px; }
.kg-it .kd-title, .kg-it .kd-emo b{ font-size:.55rem; }
.kg-it .kd-frame b{ font-size:.5rem; letter-spacing:0; }
.kg-it .kd-pet svg{ width:42px; height:42px; }
.kg-btn{ flex:0 0 auto; min-width:120px; padding:10px 14px; border:none; border-radius:999px; color:#fff; cursor:pointer;
  font-family:'Russo One',system-ui,sans-serif; font-size:.9rem; background:rgba(255,255,255,.1); }
.kg-btn.go{ background:linear-gradient(90deg,#ffd23f,#ff9f1c); color:#1a1033; animation:kk-giftpulse 1.2s ease-in-out infinite; }
.kg-btn.lock{ cursor:default; color:#9f97d6; font-family:system-ui,sans-serif; }
.kg-bar{ height:5px; border-radius:5px; background:rgba(255,255,255,.12); margin-top:5px; overflow:hidden; }
.kg-bar i{ display:block; height:100%; background:linear-gradient(90deg,#ffd23f,#ff4fd8); }
.kg-boom{ position:absolute; left:50%; top:40%; transform:translate(-50%,-50%); pointer-events:none; font-size:2.4rem; color:#ffd23f;
  text-shadow:0 0 20px #ff9f1c; white-space:nowrap; animation:kg-boom 1.8s ease-out forwards; }
@keyframes kg-boom{ 0%{ transform:translate(-50%,-50%) scale(.3); opacity:0; } 20%{ transform:translate(-50%,-50%) scale(1.15); opacity:1; } 70%{ opacity:1; } 100%{ transform:translate(-50%,-120%) scale(1); opacity:0; } }
.kg-card .kk-conf{ z-index:3; }
@keyframes kg-fall{ to{ transform:translateY(90vh) rotate(720deg); opacity:.2; } }
#kk-gifttoast{ position:fixed; left:50%; top:70px; transform:translateX(-50%); z-index:19999; padding:12px 20px; border-radius:999px; cursor:pointer;
  font:700 17px system-ui,"Segoe UI",sans-serif; color:#1a1033; background:linear-gradient(90deg,#ffd23f,#ff9f1c);
  box-shadow:0 0 26px rgba(255,159,28,.8); animation:kk-pop .3s ease-out, kk-giftpulse 1.2s ease-in-out .3s infinite; max-width:calc(100vw - 24px); text-align:center; }
@media (max-width:600px){
  nav.menu .gm-gifts{ padding:6px 10px; font-size:.85rem; }
  .kg-row{ flex-wrap:wrap; }
  .kg-lvl{ width:56px; flex-basis:56px; }
  .kg-lvl b{ font-size:1.5rem; }
  .kg-btn{ width:100%; }
}

@media (max-width:700px){
  #kk-sitepet{ width:60px; height:60px; }
  .kd-prev{ width:90px; height:110px; }
}