/* Rise · Eco Bar — стили единой панели экосистемы (использует переменные брендинга сайта) */
.eco-bar{ display:flex; align-items:center; gap:8px; }
.eco-bar:empty{ display:none; }
/* Тап по кнопкам панели не подсвечивается прямоугольником — выделение по форме кнопки */
.eco-bar button, .eco-bar a, .eb-menu button, .eb-theme-menu button,
.eb-bal-pop button{ -webkit-tap-highlight-color:transparent; }
.eb-ico svg, .eb-btn svg{ width:18px; height:18px; display:block; }
.eb-btn{ width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--color-border, rgba(128,128,128,.3)); border-radius:10px;
  background:transparent; color:inherit; cursor:pointer; transition:background .15s,border-color .15s; }
.eb-btn:hover{ border-color:var(--color-primary,#FFC107); background:var(--color-bg-soft, rgba(128,128,128,.08)); }
.eb-chip{ display:flex; align-items:center; gap:6px; height:38px; padding:0 12px;
  border:1px solid var(--color-border, rgba(128,128,128,.3)); border-radius:10px;
  background:transparent; color:inherit; cursor:pointer; font:600 13px/1 inherit; white-space:nowrap; }
.eb-chip:hover{ border-color:var(--color-primary,#FFC107); }
.eb-bal-bonus{ font-size:12px; }
.eb-balance .eb-bal-main, .eb-balance .eb-bal-bonus{ display:inline-flex; align-items:center; gap:4px; border-radius:8px; }
/* Бонусы выделены собственным чипом: их сразу видно в панели */
.eb-bonus{ display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:999px;
  font-weight:700; line-height:1.5;
  background:color-mix(in srgb, var(--color-warning, #F59E0B) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--color-warning, #F59E0B) 42%, transparent);
  color:var(--color-warning, #F59E0B); }
.eb-bonus svg{ width:12px; height:12px; flex:0 0 12px; }
.eb-balance.has-bonus{ border-color:color-mix(in srgb, var(--color-warning, #F59E0B) 34%, var(--color-border, rgba(128,128,128,.3))); }
/* Скрытая сумма: бегущий «шифр» из цифр под градиентом бренда + иконка eye-off.
   Блок кошелька остаётся на месте, а скрытие читается как намеренное. */
.eb-masked{ display:inline-flex; align-items:center; gap:5px; color:var(--color-primary, #6c5ce7); }
.eb-masked svg{ width:13px; height:13px; flex:0 0 13px; opacity:.8; }
.eb-mask{ font-style:normal; font-weight:700; letter-spacing:1.5px;
  font-variant-numeric:tabular-nums; -webkit-font-smoothing:antialiased;
  background:linear-gradient(90deg,
    color-mix(in srgb, var(--color-primary, #6c5ce7) 92%, transparent) 0%,
    color-mix(in srgb, var(--color-primary, #6c5ce7) 28%, var(--color-text, #111)) 45%,
    color-mix(in srgb, var(--color-primary, #6c5ce7) 92%, transparent) 100%);
  background-size:220% 100%; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  animation:ebMaskShift 2.6s linear infinite; }
@keyframes ebMaskShift{ from{ background-position:130% 0; } to{ background-position:-130% 0; } }
@media (prefers-reduced-motion: reduce){
  .eb-mask{ animation:none; background-position:50% 0; }
}
/* Выпадашка балансов (узкие экраны) */
.eb-bal-pop{ position:fixed; z-index:10610; min-width:250px; max-width:calc(100vw - 16px);
  display:flex; flex-direction:column; gap:6px; padding:12px;
  background:var(--color-bg,#fff); color:var(--color-text,#111);
  border:1px solid var(--color-border, rgba(128,128,128,.3)); border-radius:14px;
  box-shadow:0 16px 48px color-mix(in srgb, var(--color-text,#111) 24%, transparent); }
.eb-bal-pop-row{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:8px 10px; border-radius:10px; background:var(--color-bg-soft, rgba(128,128,128,.08)); }
.eb-bal-pop-row small{ font-size:11px; opacity:.65; }
.eb-bal-pop-row b{ font-size:15px; font-weight:700; white-space:nowrap; }
.eb-bal-pop-row b.is-masked{ cursor:pointer; }
.eb-bal-pop-note{ font-size:11.5px; opacity:.7; padding:0 4px; }
.eb-bal-pop-go{ margin-top:2px; padding:10px 12px; border:0; border-radius:10px; cursor:pointer;
  font:600 13px/1 inherit; background:var(--color-primary,#6c5ce7); color:var(--color-on-primary,#fff); }
.eb-bal-pop-go:hover{ opacity:.9; }
.eb-profile{ display:flex; align-items:center; gap:8px; height:38px; padding:0 10px 0 4px;
  border:1px solid var(--color-border, rgba(128,128,128,.3)); border-radius:10px;
  background:transparent; color:inherit; cursor:pointer; text-align:left; max-width:220px; }
.eb-profile:hover{ border-color:var(--color-primary,#FFC107); }
.eb-ava{ width:30px; height:30px; flex:0 0 30px; border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center; font:700 13px/1 inherit;
  background:var(--color-primary,#FFC107); color:var(--color-on-primary,#fff); }
.eb-ava img{ width:100%; height:100%; object-fit:cover; }
.eb-who{ display:flex; flex-direction:column; min-width:0; }
.eb-who b{ font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.eb-who small{ font-size:11px; opacity:.65; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Модалки эко-бара переведены на единый механизм RiseModal:
   собственных окон и подтверждений здесь больше нет. */
/* Адаптив */
@media (max-width: 720px){
  .eb-who{ display:none; }
  /* Все элементы эко-бара — одной высоты и примерно на 20% меньше, зазоры плотнее */
  .eco-bar{ gap:6px; }
  .eb-btn{ width:30px; height:30px; border-radius:9px; }
  .eb-btn svg, .eb-ico svg{ width:16px; height:16px; }
  .eb-chip{ height:30px; padding:0 9px; font-size:12px; }
  /* Чип кошелька на мобильном примерно на 20% компактнее остальных элементов панели */
  .eb-chip.eb-balance{ height:24px; padding:0 7px; font-size:11px; }
  .eb-chip.eb-balance .eb-ico svg{ width:13px; height:13px; }
  .eb-chip.eb-balance .eb-bonus{ padding:1px 6px; font-size:10.5px; }
  .eb-chip.eb-balance .eb-bonus svg{ width:11px; height:11px; flex:0 0 11px; }
  .eb-profile{ height:30px; padding:0 3px; max-width:none; }
  .eb-ava{ width:24px; height:24px; flex:0 0 24px; font-size:11px; }
  /* На узком экране в панели одна величина; приоритет считает JS (data-m):
     оба видимы → бонусы, если их больше 10 или больше основного баланса */
  .eb-balance .eb-bal-main, .eb-balance .eb-bal-bonus{ display:none; }
  .eb-balance[data-m="main"] .eb-bal-main,
  .eb-balance[data-m="mask"] .eb-bal-main{ display:inline-flex; }
  .eb-balance[data-m="bonus"] .eb-bal-bonus{ display:inline-flex; }
  .eb-bal-pop{ left:8px !important; right:8px; min-width:0; }
}
@media (max-width: 480px){
  .eco-bar{ gap:5px; }
  .eb-btn{ width:28px; height:28px; }
  .eb-btn svg, .eb-ico svg{ width:15px; height:15px; }
  .eb-chip{ height:28px; padding:0 8px; font-size:12px; }
  .eb-profile{ height:28px; }
  .eb-ava{ width:22px; height:22px; flex:0 0 22px; font-size:11px; }
}

/* Гостевая кнопка входа */
.eb-login{ text-decoration:none; padding:0 18px; font-weight:600;
  background:var(--color-primary, #6c5ce7); color:var(--color-on-primary,#fff); border-color:transparent; }
.eb-login:hover{ opacity:.9; }

/* Меню выбора темы — единое для всей экосистемы (слой: RiseLayers.POPOVER) */
.eb-theme-menu{ position:fixed; z-index:10610; min-width:290px; max-width:calc(100vw - 16px);
  background:var(--color-bg,#fff); color:var(--color-text,#111);
  border:1px solid var(--color-border, rgba(128,128,128,.3)); border-radius:14px; padding:8px;
  box-shadow:0 16px 48px color-mix(in srgb, var(--color-text,#111) 24%, transparent); }
.eb-tm-title{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  opacity:.6; padding:6px 10px 8px; }
.eb-theme-menu button{ display:flex; align-items:center; gap:12px; width:100%;
  padding:10px 12px; border:0; border-radius:10px; background:none; color:inherit;
  font:inherit; text-align:left; cursor:pointer; }
.eb-theme-menu button:hover{ background:var(--color-bg-soft, rgba(128,128,128,.08)); }
.eb-theme-menu button.is-active{ background:color-mix(in srgb, var(--color-primary,#6c5ce7) 14%, transparent); }
.eb-tm-ic{ flex:0 0 34px; width:34px; height:34px; display:inline-flex; align-items:center;
  justify-content:center; border-radius:8px; background:var(--color-bg-soft, rgba(128,128,128,.12));
  color:var(--color-primary,#6c5ce7); }
.eb-tm-ic svg{ width:16px; height:16px; display:block; }
.eb-tm-tx{ flex:1; display:flex; flex-direction:column; gap:1px; min-width:0; }
.eb-tm-tx b{ font-size:14px; font-weight:600; }
.eb-tm-tx small{ font-size:12px; opacity:.65; }
.eb-tm-check{ color:var(--color-primary,#6c5ce7); font-weight:700; }

/* Выпадающее меню пользователя — единый стиль с меню темы, цвета из переменных бренда */
.eb-menu{ position:fixed; z-index:10610; min-width:300px; max-width:calc(100vw - 16px);
  max-height:calc(100vh - 80px); overflow-y:auto; overscroll-behavior:contain;
  background:var(--color-bg,#fff); color:var(--color-text,#111);
  border:1px solid var(--color-border, rgba(128,128,128,.3)); border-radius:14px; padding:8px;
  box-shadow:0 16px 48px color-mix(in srgb, var(--color-text,#111) 24%, transparent); }
.eb-menu-head{ display:flex; align-items:center; gap:10px; padding:8px 10px 10px; }
.eb-ava-md{ width:42px; height:42px; flex:0 0 42px; font-size:17px; }
.eb-menu-who{ display:flex; flex-direction:column; min-width:0; }
.eb-menu-who b{ font-size:14px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.eb-menu-who small{ font-size:12px; opacity:.65; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.eb-menu-who small.eb-menu-status{ opacity:1; font-weight:600; }
.eb-menu-rows{ display:flex; flex-direction:column; gap:6px; padding:0 4px 8px;
  border-bottom:1px solid color-mix(in srgb, var(--color-border, rgba(128,128,128,.3)) 70%, transparent); }
.eb-menu-row{ padding:6px 10px; border-radius:8px; font-size:13px;
  background:var(--color-bg-soft, rgba(128,128,128,.08)); }
.eb-menu-row small{ display:block; font-size:11px; opacity:.6; margin-bottom:1px; }
.eb-menu-list{ display:flex; flex-direction:column; gap:2px; padding-top:6px; }
.eb-menu-item{ display:flex; align-items:center; gap:12px; width:100%; padding:9px 10px;
  border:0; border-radius:10px; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.eb-menu-item:hover{ background:var(--color-bg-soft, rgba(128,128,128,.08)); }
.eb-menu-item .eb-ico{ flex:0 0 32px; width:32px; height:32px; display:inline-flex; align-items:center;
  justify-content:center; border-radius:8px; background:var(--color-bg-soft, rgba(128,128,128,.12));
  color:var(--color-primary,#6c5ce7); }
.eb-menu-tx{ flex:1; display:flex; flex-direction:column; gap:1px; min-width:0; }
.eb-menu-tx b{ font-size:14px; font-weight:600; }
.eb-menu-tx small{ font-size:11.5px; opacity:.65; line-height:1.35; }
.eb-menu-item.is-danger .eb-ico{ color:var(--color-danger,#DC2626);
  background:color-mix(in srgb, var(--color-danger,#DC2626) 12%, transparent); }
.eb-menu-item.is-danger .eb-menu-tx b{ color:var(--color-danger,#DC2626); }
.eb-menu-item.is-danger:hover{ background:color-mix(in srgb, var(--color-danger,#DC2626) 10%, transparent); }
@media (max-width: 480px){
  .eb-menu{ left:8px; right:8px; min-width:0; }
}

/* Контейнер встроенных страниц Rise ID (кошелёк/профиль) внутри сайта хоста */
.eb-embed{ max-width:1160px; margin:0 auto; padding:24px 20px 60px; }