.profile-v2-card.deco-entry-btn{
  min-height:0 !important;
  height:44px !important;
  padding:0 14px !important;
  gap:10px !important;
}

.deco-entry-btn .profile-v2-icon{
  width:22px !important;
  height:22px !important;
}

.deco-entry-btn .profile-v2-card-title{
  font-size:14px !important;
}

.deco-screen-shell{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:0 2px 6px;
}

.deco-screen-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.deco-preview-card{
  background:linear-gradient(180deg,#171717,#111111);
  border:1px solid #232323;
  border-radius:16px;
  padding:8px 14px;
  text-align:center;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.deco-preview-avatar-wrap{
  position:relative;
  width:36px;
  height:36px;
  flex:0 0 auto;
}

.deco-preview-avatar{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  background:#222;
  display:block;
  border:2px solid #7b2ff7;
  box-sizing:border-box;
}

.deco-preview-avatar-wrap.deco-has-frame .deco-preview-avatar{
  border-color:transparent;
}

.deco-frame-overlay{
  position:absolute;
  top:52%;
  left:48%;
  width:190%;
  height:190%;
  /* ".screen.active img{max-width:100%}" (style.layout.core.css) обрезает
     ширину этого кольца по ширине маленькой аватарки-превью (36px), т.к.
     оно лежит внутри #decorations-screen.screen.active — та же причина,
     что ломала размер кольца в игровых списках. */
  max-width:none !important;
  max-height:none !important;
  transform:translate(-50%,-50%);
  pointer-events:none;
  object-fit:contain;
  filter:brightness(0.82);
}

.top-user-frame-overlay{
  position:absolute;
  top:52%;
  left:48%;
  width:165%;
  height:165%;
  transform:translate(-50%,-50%);
  pointer-events:none;
  object-fit:contain;
}

.deco-title-badge.deco-title-badge-inline{
  height:15px;
  margin-left:4px;
}

.deco-title-badge,
.top-user-title-badge{
  height:20px;
  border-radius:4px;
  object-fit:cover;
  vertical-align:middle;
}

.top-user-title-badge{
  height:16px;
  margin-left:4px;
}

.deco-preview-hint{
  display:none;
}

.deco-nick{
  display:inline-flex;
  align-items:center;
  font-weight:700;
  letter-spacing:0.2px;
  line-height:1.2;
  color:#fff;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.deco-section-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:14px;
  font-weight:700;
  color:#f3f1ea;
}

.deco-count{
  font-size:12px;
  font-weight:400;
  color:#8f9bb3;
}

.deco-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
}

.deco-chip{
  position:relative;
  aspect-ratio:1/1;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border:3px solid transparent;
  overflow:hidden;
  color:#fff;
  font-weight:700;
  -webkit-tap-highlight-color:transparent;
}

.deco-chip:active{
  transform:scale(0.96);
}

.deco-chip-none{
  background:#1a1a1a;
  border-color:#2a2a2a;
  flex-direction:column;
  gap:2px;
}

.deco-chip-none .deco-sample{
  font-size:18px;
  color:rgba(255,255,255,.55);
  text-shadow:none;
}

.deco-chip-none .deco-lvl-badge{
  position:static;
  font-size:10px;
  color:rgba(255,255,255,.6);
}

.deco-chip.selected{
  border-color:#fff;
  box-shadow:0 0 0 2px #7b2ff7;
}

.deco-chip.locked{
  filter:grayscale(1) brightness(0.45);
  cursor:not-allowed;
}

.deco-chip .deco-lock{
  position:absolute;
  top:6px;
  right:6px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(0,0,0,0.55);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
}

.deco-chip .deco-lvl-badge{
  position:absolute;
  bottom:4px;
  left:6px;
  font-size:10px;
  font-weight:700;
  color:rgba(255,255,255,0.85);
}

.deco-chip .deco-sample{
  font-size:15px;
  text-shadow:0 1px 3px rgba(0,0,0,.65), 0 0 6px rgba(0,0,0,.35);
}

.deco-grid-frame{
  grid-template-columns:repeat(5,1fr);
}

.deco-grid-frame .deco-chip{
  aspect-ratio:1/1;
  background-color:#141414;
  background-size:70%;
  background-repeat:no-repeat;
  background-position:center;
  border-width:2px;
}

.deco-grid-title{
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}

.deco-grid-title .deco-chip{
  aspect-ratio:2/1;
  background-color:#141414;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
  border-width:2px;
}

.deco-stats-box{
  background:#141414;
  border:1px solid #1e1e1e;
  border-radius:14px;
  padding:10px;
}

.deco-level-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  color:#ccc;
  margin-bottom:4px;
}

.deco-progress-track{
  height:6px;
  background:#22222e;
  border-radius:6px;
  overflow:hidden;
  margin-bottom:4px;
}

.deco-progress-fill{
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#7b2ff7,#a05aff);
  border-radius:6px;
  transition:width .2s ease;
}

.deco-next-hint{
  font-size:10px;
  color:#8f9bb3;
  margin-bottom:6px;
}

.deco-stats-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}

.deco-stat-card{
  background:#1a1a1a;
  border-radius:10px;
  padding:7px 9px;
}

.deco-stat-card-wide{
  grid-column:span 2;
}

.deco-stat-label{
  font-size:10px;
  color:#8f9bb3;
  margin-bottom:3px;
}

.deco-stat-value{
  font-size:15px;
  font-weight:700;
  color:#f3f1ea;
}

#decorations-screen button.deco-save-btn{
  display:block !important;
  margin-top:0 !important;
  width:100% !important;
  padding:11px !important;
  border-radius:14px !important;
  border:1px solid #e9c98a !important;
  background:#d6b871 !important;
  background-image:none !important;
  color:#3a2a08 !important;
  -webkit-text-fill-color:#3a2a08 !important;
  font-size:15px !important;
  font-weight:900 !important;
  text-shadow:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34) !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
}

#decorations-screen button.deco-save-btn:disabled{
  background:#181818 !important;
  border-color:rgba(255,255,255,.14) !important;
  color:rgba(236,236,236,.72) !important;
  -webkit-text-fill-color:rgba(236,236,236,.72) !important;
  box-shadow:none !important;
  cursor:default !important;
}

/* Баннер верхней панели (профиль/баланс) — картинка под размер панели,
   с затемняющим градиентом поверх для читаемости текста. */
#balance#balance.floating-balance-card.compact-balance-toolbar{
  background:
    linear-gradient(180deg, rgba(5,5,8,.4), rgba(5,5,8,.5)),
    url('/static/img/baner.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: none !important;
}

/* Системная подсветка тапа (полупрозрачный прямоугольник) на кликабельной
   верхней карточке профиля — отключаем, баннер не должен мигать рамкой. */
#topUserCard{
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
}

/* Экран "Украшения профиля" (сетка рамок/шрифтов) иногда оставался позади
   игрового оверлея, если открыт до старта игры — в игровой сцене есть
   прозрачные участки, и чипы рамок были видны сквозь них. display:none у
   неактивного .screen обычно не !important, поэтому подстраховываем именно
   этот экран явно. */
#decorations-screen:not(.active){
  display: none !important;
}

/* Пока идёт заезд (шары падают на сцене), список игроков лобби прячется
   стандартным display:none — но кольца рамок, которые decorations.js
   добавляет отдельными <img>-соседями рядом с аватарками этого списка,
   позиционированы absolute и не наследуют display родителя автоматически,
   если сам список скрывался не через этот класс раньше — оставались
   висеть поверх сцены заезда в углу. gravity.js вешает html.gravity-racing
   на весь заезд, поэтому прячем именно на этом уровне, гарантированно. */
html.gravity-racing #gravityPlayersList{
  display: none !important;
}
