/* === Efika v29: admin moderation, listen modal and block toggle === */
.admin-toolbar{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 18px;
}

.admin-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.admin-badge.danger{
  background:var(--danger);
  color:#fff;
  box-shadow:0 0 0 4px rgba(255,95,109,.14);
}

.admin-action-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.admin-action-row form{
  margin:0;
}

.admin-player-modal.hidden{
  display:none!important;
}

.admin-player-modal{
  position:fixed;
  inset:0;
  z-index:300;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.admin-player-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(8px);
}

.admin-player-card{
  position:relative;
  z-index:1;
  width:min(620px,100%);
  background:linear-gradient(145deg,rgba(32,40,44,.98),rgba(12,18,20,.98));
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:24px;
}

.admin-player-card h2{
  margin:0 42px 16px 0;
  overflow-wrap:anywhere;
}

.admin-player-card audio{
  display:block;
  width:100%;
  margin:0 0 16px;
}

.admin-player-close{
  position:absolute;
  top:16px;
  right:16px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:var(--text);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.admin-player-controls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width:640px){
  .admin-player-card{
    padding:20px;
  }
  .admin-player-controls .btn{
    flex:1 1 120px;
  }
}

/* === Efika v30: top tracks, ban voting and adaptive room description === */
.room-title-name-row{
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:8px 16px!important;
}
.room-title-name-row .room-inline-description{
  flex:1 1 220px!important;
  min-width:min(220px,100%)!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:inline-block!important;
  line-height:1.24!important;
}
.room-title-name-row.description-below .room-inline-description{
  flex:0 0 100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  margin-top:8px!important;
}

.top-user-tracks-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.top-track-card{
  background:linear-gradient(145deg,rgba(32,40,44,.94),rgba(18,24,27,.92));
  border:1px solid rgba(255,255,255,.07);
  border-radius:22px;
  padding:10px;
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.top-track-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.top-track-copy strong{font-size:16px;line-height:1.22;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-track-user,.top-track-mood{color:var(--muted);font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-track-reactions{display:flex;gap:10px;font-weight:900;color:#e9f6ff}
.ban-vote-button{
  background:rgba(255,95,109,.16)!important;
  color:#ffbec4!important;
  font-size:15px!important;
  font-weight:900!important;
}
.ban-vote-modal.hidden{display:none!important}
.ban-vote-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px}
.ban-vote-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(8px)}
.ban-vote-card{position:relative;width:min(440px,100%);background:#151d20;border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:var(--shadow);padding:24px}
.ban-vote-card h2{margin:0 0 12px;font-size:24px}
.ban-vote-card p{margin:0;color:#dbe8f0;line-height:1.45}
.ban-vote-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}
@media (max-width:850px){.top-user-tracks-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}.top-track-card{flex:0 0 min(82vw,340px);scroll-snap-align:start}}
@media (max-width:520px){.room-title-name-row .room-inline-description{font-size:18px!important;min-width:min(170px,100%)!important}.top-track-card{grid-template-columns:58px minmax(0,1fr)}}


/* === Efika v32: strict room title description wrapping from left edge === */
.room-title-head-with-icon{
  overflow:visible!important;
}

.room-title-copy{
  min-width:0!important;
  overflow:visible!important;
}

.room-title-name-row{
  --room-title-left-offset:0px;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}

.room-title-name-row h1{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

.room-title-name-row .room-inline-description{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  display:inline-block!important;
  line-height:1.24!important;
}

.room-title-name-row.description-below{
  flex-wrap:wrap!important;
}

.room-title-name-row.description-below .room-inline-description{
  flex:0 0 calc(100% + var(--room-title-left-offset, 0px))!important;
  width:calc(100% + var(--room-title-left-offset, 0px))!important;
  max-width:calc(100% + var(--room-title-left-offset, 0px))!important;
  min-width:0!important;
  margin-left:calc(-1 * var(--room-title-left-offset, 0px))!important;
  margin-top:10px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

@media (max-width:520px){
  .room-title-name-row .room-inline-description{
    min-width:0!important;
    font-size:18px!important;
  }
}

/* === Efika v33: comment reactions and best comments === */
.comment-reactions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding-left:42px!important;
  margin-top:9px!important;
}
.comment-reaction-button{
  border:1px solid rgba(143,211,255,.14)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.055)!important;
  color:#dce8f2!important;
  min-height:31px!important;
  padding:5px 10px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
  transition:.15s ease!important;
}
.comment-reaction-button:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(143,211,255,.32)!important;
  background:rgba(143,211,255,.11)!important;
}
.comment-reaction-button:disabled{opacity:.62!important;cursor:default!important;transform:none!important}
.comment-reaction-button.is-pending{opacity:1!important;cursor:wait!important}
.best-comments-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.best-comment-card{
  background:linear-gradient(145deg,rgba(32,40,44,.94),rgba(18,24,27,.92));
  border:1px solid rgba(255,255,255,.07);
  border-radius:22px;
  padding:10px;
  min-width:0;
  box-shadow:0 12px 36px rgba(0,0,0,.22);
}
.best-comment-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
  min-width:0;
}
.best-comment-user{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.best-comment-head strong{
  min-width:0;
  color:#cfe9ff;
  font-size:14px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.best-comment-stars{
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  min-width:84px;
  height:19px;
  font-size:18px;
  line-height:1;
  letter-spacing:1px;
  color:rgba(255,255,255,.22);
  overflow:hidden;
  white-space:nowrap;
}
.best-comment-stars-empty,
.best-comment-stars-fill{
  position:absolute;
  inset:0 auto auto 0;
  display:block;
  height:19px;
  overflow:hidden;
}
.best-comment-stars-fill{
  color:var(--warning);
  text-shadow:0 0 14px rgba(255,209,102,.32);
  width:0;
}
.best-comment-body{
  color:var(--text);
  font-size:16px;
  font-weight:750;
  line-height:1.36;
  overflow-wrap:anywhere;
  word-break:break-word;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.best-comment-track{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  margin-top:10px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.best-comment-reactions{
  display:flex;
  gap:10px;
  margin-top:9px;
  color:#e9f6ff;
  font-size:14px;
  font-weight:900;
}
@media (max-width:850px){
  .comment-reactions{padding-left:0!important}
  .best-comments-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}
  .best-comment-card{flex:0 0 min(82vw,340px);scroll-snap-align:start}
}

/* === Efika v36: user favorites, personal files and standalone track player === */
.profile-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 10px}.profile-tab{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:var(--muted);font-weight:900}.profile-tab:hover,.profile-tab.active{color:#061014;background:linear-gradient(135deg,var(--accent),#5dd5ff);border-color:transparent}.profile-library-panel{display:flex;flex-direction:column;gap:16px}.library-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1px;margin-bottom:8px}.library-panel-head h2{margin:0 0 6px}.library-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.library-track-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:center;min-width:0;text-align:left;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.045);color:var(--text);border-radius:18px;padding:5px;cursor:pointer}.library-track-card:hover{background:rgba(143,211,255,.09);border-color:rgba(143,211,255,.24);transform:translateY(-1px)}.library-track-card.active{border-color:rgba(143,211,255,.55);box-shadow:0 0 0 1px rgba(143,211,255,.18) inset}.library-track-poster{width:62px;height:62px;border-radius:15px;overflow:hidden;background:linear-gradient(135deg,rgba(143,211,255,.22),rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--accent);font-weight:900}.library-track-poster img{width:100%;height:100%;object-fit:cover;display:block}.library-track-poster.empty{background:rgba(143,211,255,.1)}.library-track-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.library-track-copy strong{font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-track-copy small{color:var(--muted);font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-panel-head{position:relative;padding-right:56px}.player-kebab-menu{position:absolute;right:0;top:0;z-index:5}.player-kebab-toggle{width:40px;height:40px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.06);color:var(--text);font-size:24px;line-height:1;cursor:pointer}.player-kebab-toggle:hover{background:rgba(143,211,255,.14)}.player-kebab-dropdown{position:absolute;right:0;top:46px;display:none;min-width:180px;padding:8px;border-radius:16px;background:rgba(14,20,23,.98);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow)}.player-kebab-menu.open .player-kebab-dropdown{display:flex;flex-direction:column;gap:4px}.player-kebab-dropdown button{border:0;border-radius:12px;background:transparent;color:var(--text);padding:10px 12px;text-align:left;cursor:pointer;font-weight:800}.player-kebab-dropdown button:hover{background:rgba(143,211,255,.12)}.standalone-player-section{display:flex;flex-direction:column;gap:18px}.standalone-player-card{position:relative}.standalone-close{position:absolute;right:18px;top:14px;width:38px;height:38px;border-radius:14px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:var(--muted)}.standalone-close:hover{color:var(--text);background:rgba(255,255,255,.14)}.standalone-player-main{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:center}.standalone-poster{width:220px;height:220px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,rgba(143,211,255,.22),rgba(255,255,255,.04));display:flex;align-items:center;justify-content:center;font-size:74px;color:var(--accent);font-weight:900}.standalone-poster img{width:100%;height:100%;object-fit:cover}.standalone-copy h1{font-size:clamp(30px,5vw,40px);line-height:1;margin:4px 0 8px;letter-spacing:-.055em}.standalone-copy audio{width:100%;margin:16px 0 10px}.standalone-actions{display:flex;gap:10px;flex-wrap:wrap}.playlist-panel{display:flex;flex-direction:column;gap:14px}.playlist-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.playlist-controls .btn.active{background:rgba(143,211,255,.18);color:var(--accent)}.playlist-track-card{font:inherit}.form-status.success{color:var(--accent-2)!important}.form-status.error{color:var(--danger)!important}@media (max-width:850px){.library-track-grid{grid-template-columns:1fr 1fr}.standalone-player-main{grid-template-columns:1fr}.standalone-poster{width:min(70vw,260px);height:min(70vw,260px);margin:0 auto}.library-panel-head{flex-direction:column}.playlist-controls{justify-content:flex-start}}@media (max-width:560px){.library-track-grid{grid-template-columns:1fr}.player-panel-head{padding-right:50px}.player-kebab-toggle{width:38px;height:38px}.standalone-player-card,.playlist-panel{padding:10px}.standalone-copy h1{font-size:25px}.standalone-actions .btn{width:100%}.playlist-controls .btn{flex:1 1 auto}.profile-tabs{gap:8px}.profile-tab{flex:1 1 auto}}

/* === Efika v37: admin autoplay setting, library delete menus and custom file player === */
.library-track-shell{
  position:relative!important;
  min-width:0!important;
}
.library-track-shell .library-track-card{
  width:100%!important;
  padding-right:48px!important;
}
.library-card-menu{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:8!important;
}
.library-card-menu-toggle{
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:12px!important;
  background:rgba(10,15,17,.62)!important;
  color:var(--text)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.library-card-menu-toggle:hover{
  background:rgba(143,211,255,.15)!important;
  border-color:rgba(143,211,255,.28)!important;
}
.library-card-dropdown{
  position:absolute!important;
  right:0!important;
  top:40px!important;
  display:none!important;
  min-width:130px!important;
  padding:8px!important;
  border-radius:15px!important;
  background:rgba(14,20,23,.98)!important;
  border:1px solid rgba(255,255,255,.1)!important;
  box-shadow:var(--shadow)!important;
}
.library-track-shell.menu-open .library-card-dropdown{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
.library-card-dropdown button{
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#ffb5bd!important;
  padding:10px 12px!important;
  text-align:left!important;
  cursor:pointer!important;
  font-weight:900!important;
}
.library-card-dropdown button:hover{
  background:rgba(255,95,109,.14)!important;
}
.library-card-dropdown button:disabled{
  opacity:.55!important;
  cursor:default!important;
}

.standalone-copy #standalone-audio{
  display:none!important;
}
.file-audio-player{
  margin:16px 0 12px!important;
  display:grid!important;
  grid-template-columns:auto minmax(160px,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:8px 12px!important;
  align-items:center!important;
  width:min(460px,100%)!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  background:rgba(0,0,0,.18)!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:inset 0 0 18px rgba(0,0,0,.18)!important;
}
.file-player-controls{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  grid-row:1/2!important;
}
.file-player-btn{
  min-width:24px!important;
  height:28px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#dce8f2!important;
  cursor:pointer!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1!important;
  padding:0 3px!important;
}
.file-player-btn:hover{
  background:rgba(143,211,255,.14)!important;
  color:var(--accent)!important;
}
.file-player-play{
  min-width:28px!important;
  font-size:15px!important;
}
.file-player-seek{
  grid-column:2/3!important;
  width:100%!important;
  height:12px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.32)!important;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.35)!important;
  overflow:hidden!important;
  padding:0!important;
  cursor:pointer!important;
  display:block!important;
}
.file-player-progress{
  display:block!important;
  width:0%;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--accent),#5dd5ff)!important;
  box-shadow:0 0 12px rgba(143,211,255,.45)!important;
}
.file-player-time{
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:space-between!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:800!important;
  padding:0 2px!important;
}
@media (max-width:560px){
  .file-audio-player{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .file-player-controls{
    justify-content:center!important;
  }
  .file-player-seek{
    grid-column:1/-1!important;
  }
}

/* Efika auth v11 */
.auth-form{gap:15px}.auth-divider{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:rgba(255,255,255,.09);flex:1}.google-auth-btn{width:100%;min-height:46px;background:#fff;color:#1f1f1f;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 25px rgba(0,0,0,.18);font-weight:800;letter-spacing:-.01em}.google-auth-btn:hover{filter:none;background:#f7f9fb;transform:translateY(-1px)}.google-auth-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;flex:0 0 auto}.google-auth-icon svg{display:block;width:20px;height:20px}.captcha-box{display:flex;justify-content:center;padding:4px 0 2px;overflow:hidden}.captcha-box-invisible{height:0;padding:0;margin:0;overflow:hidden}.password-strength{display:flex;flex-direction:column;gap:7px;margin-top:-6px;color:#a9c4d8;font-size:13px}.password-strength b{color:var(--text)}.password-strength small{line-height:1.35}.password-strength-bar{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.08)}.password-strength-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--danger),var(--warning),var(--accent-2));border-radius:999px;transition:.15s ease}.password-strength[data-score="0"] .password-strength-bar i{width:0}.password-strength[data-score="1"] .password-strength-bar i,.password-strength[data-score="2"] .password-strength-bar i{width:33%}.password-strength[data-score="3"] .password-strength-bar i,.password-strength[data-score="4"] .password-strength-bar i{width:66%}.password-strength[data-score="5"] .password-strength-bar i,.password-strength[data-score="6"] .password-strength-bar i{width:100%}.settings-group h2{display:flex;align-items:center;gap:8px}

/* === Auth/users polish patch === */
.google-auth-wrap{display:flex;justify-content:center;margin:2px 0 4px}
.google-auth-btn{width:min(100%,340px)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;min-height:48px!important;border-radius:14px!important}
.field-error{display:none;color:var(--danger);font-size:13px;font-weight:800;margin-top:-8px}
.field-error.visible{display:block}
.form input.field-invalid{border-color:var(--danger)!important;box-shadow:0 0 0 1px rgba(255,95,109,.16)}
.avatar-onboarding-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;border-color:rgba(143,211,255,.22)!important;background:linear-gradient(145deg,rgba(143,211,255,.12),rgba(18,24,27,.92))!important}
.avatar-onboarding-panel h2{margin:0 0 6px}
.avatar-onboarding-panel p{margin:0}
.admin-users-table small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.status-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}
.status-badge.success{background:rgba(0,196,140,.14);color:var(--accent-2)}
.status-badge.warning{background:rgba(255,209,102,.14);color:var(--warning)}
.status-badge.danger{background:rgba(255,95,109,.14);color:var(--danger)}
.admin-user-password-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) auto;gap:8px;min-width:360px}
.admin-user-password-form input{min-width:0;border:1px solid rgba(255,255,255,.1);background:#0e1417;color:var(--text);border-radius:12px;padding:10px 11px}
.admin-user-actions{display:flex;gap:8px;flex-wrap:wrap}
.settings-control textarea{width:100%;min-height:82px;border:1px solid rgba(255,255,255,.1);background:#0e1417;color:var(--text);border-radius:14px;padding:12px;resize:vertical}

.auth-provider-label{display:inline-flex!important;margin-left:7px!important;font-size:12px!important;font-weight:900!important;letter-spacing:.01em!important;vertical-align:middle!important;white-space:nowrap!important}
.auth-provider-google{color:#8fd3ff!important}
.auth-provider-local{color:var(--accent-2)!important}
.auth-provider-local-google{color:#ffb45f!important}
@media (max-width:760px){.avatar-onboarding-panel{align-items:stretch;flex-direction:column}.admin-user-password-form{grid-template-columns:1fr;min-width:220px}.google-auth-btn{width:100%!important}}

/* === Efika v41: mobile scroll fixes, vertical dot menus, home player carousel, mood selects === */
.live-comments-list{
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
.live-comments-list .muted,
.live-comments-list p{
  touch-action:pan-y!important;
  pointer-events:auto;
}
.comments-panel{
  touch-action:pan-y!important;
}

.player-kebab-toggle,
.library-card-menu-toggle{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  border-radius:0!important;
  width:34px!important;
  height:38px!important;
  padding:0!important;
  font-size:28px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.player-kebab-toggle:hover,
.library-card-menu-toggle:hover{
  color:var(--text)!important;
  background:transparent!important;
}
.library-card-menu{position:absolute;right:8px;top:8px;z-index:6}.library-track-shell{position:relative}.library-track-shell .library-track-card{padding-right:42px}

.home-player-carousel{
  position:relative;
  overflow:visible;
  padding-bottom:42px;
}
.home-player-head{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.home-player-room-link{
  color:var(--accent);
  font-weight:900;
  text-decoration:none;
  max-width:55%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-player-room-link:hover{color:#dff3ff}
.home-carousel-window{min-width:0;touch-action:pan-y pan-x}
.home-carousel-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:88px;
  border:1px solid rgba(143,211,255,.2);
  background:rgba(143,211,255,.08);
  color:var(--accent);
  border-radius:999px;
  cursor:pointer;
  z-index:8;
  font-size:44px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 45px rgba(0,0,0,.32);
}
.home-carousel-prev{left:-18px}.home-carousel-next{right:-18px}
.home-carousel-arrow:hover{background:rgba(143,211,255,.16);color:#e6f7ff}
.home-carousel-dots{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  gap:8px;
  z-index:9;
}
.home-carousel-dot{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(220,232,242,.28);
  cursor:pointer;
}
.home-carousel-dot.active{background:var(--accent);box-shadow:0 0 0 5px rgba(143,211,255,.12)}
.home-player-carousel .now-card-body{min-height:260px}
.home-player-carousel .now-tabs-shell:empty{display:none!important}

.home-carousel-stage{
  position:relative;
  min-width:0;
  overflow:hidden;
  border-radius:calc(var(--radius-xl) - 6px);
  isolation:isolate;
}
.home-carousel-slide{
  min-width:0;
  will-change:transform,opacity,filter;
  transform-origin:center;
}
.home-carousel-slide-current{
  position:relative;
  z-index:2;
}
.home-carousel-slide-exit{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.home-carousel-slide-enter.is-next{animation:efika-home-slide-in-next .62s cubic-bezier(.2,.9,.18,1) both}
.home-carousel-slide-enter.is-prev{animation:efika-home-slide-in-prev .62s cubic-bezier(.2,.9,.18,1) both}
.home-carousel-slide-exit.is-next{animation:efika-home-slide-out-next .62s cubic-bezier(.2,.9,.18,1) both}
.home-carousel-slide-exit.is-prev{animation:efika-home-slide-out-prev .62s cubic-bezier(.2,.9,.18,1) both}
.home-carousel-slide-enter .track-cover{animation:efika-home-cover-pop .7s cubic-bezier(.2,.9,.18,1) both}
.home-carousel-slide-enter .radio-play-button:before{animation:efika-player-ring var(--player-ring-idle-speed,4.8s) linear infinite!important}
.home-carousel-slide-enter .radio-play-button.is-playing:before{animation-duration:var(--player-ring-live-speed,2.1s)!important}
.home-carousel-slide-enter .radio-play-button{animation:efika-home-button-pop .72s ease both!important}
@keyframes efika-home-slide-in-next{
  0%{opacity:0;transform:translate3d(42px,0,0) scale(.975);filter:blur(8px)}
  58%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}
@keyframes efika-home-slide-in-prev{
  0%{opacity:0;transform:translate3d(-42px,0,0) scale(.975);filter:blur(8px)}
  58%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}
@keyframes efika-home-slide-out-next{
  0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  100%{opacity:0;transform:translate3d(-34px,0,0) scale(.985);filter:blur(7px)}
}
@keyframes efika-home-slide-out-prev{
  0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  100%{opacity:0;transform:translate3d(34px,0,0) scale(.985);filter:blur(7px)}
}
@keyframes efika-home-cover-pop{
  0%{transform:scale(.92) rotate(-1deg);box-shadow:0 18px 50px rgba(0,0,0,.34),0 0 0 rgba(143,211,255,0)}
  60%{transform:scale(1.025) rotate(.4deg);box-shadow:0 22px 58px rgba(0,0,0,.38),0 0 34px rgba(143,211,255,.22)}
  100%{transform:scale(1) rotate(0);box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 0 rgba(143,211,255,0)}
}
@keyframes efika-home-ring-pop{
  0%{opacity:0;transform:scale(.78)}
  55%{opacity:1;transform:scale(1.06)}
  100%{opacity:.95;transform:scale(1)}
}

@keyframes efika-home-button-pop{
  0%{opacity:.82;filter:brightness(.96)}
  55%{opacity:1;filter:brightness(1.08)}
  100%{opacity:1;filter:none}
}

/* === Efika v77: mobile-safe player ring after room swipe === */
.radio-play-button:before{
  transform-origin:center center!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

@keyframes efika-player-ring{
  from{transform:translate3d(0,0,0) rotate(0deg)}
  to{transform:translate3d(0,0,0) rotate(360deg)}
}

.home-carousel-slide-current .radio-play-button:before,
.home-carousel-slide-enter .radio-play-button:before{
  animation-name:efika-player-ring!important;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important;
  animation-fill-mode:none!important;
}

.home-carousel-slide-current .radio-play-button:not(.is-playing):before,
.home-carousel-slide-enter .radio-play-button:not(.is-playing):before{
  animation-duration:var(--player-ring-idle-speed,19.2s)!important;
}

.home-carousel-slide-current .radio-play-button.is-playing:before,
.home-carousel-slide-enter .radio-play-button.is-playing:before{
  animation-duration:var(--player-ring-live-speed,4.2s)!important;
}

@media (prefers-reduced-motion:reduce){
  .home-carousel-slide-current .radio-play-button:before,
  .home-carousel-slide-enter .radio-play-button:before{
    animation-name:efika-player-ring!important;
    animation-timing-function:linear!important;
    animation-iteration-count:infinite!important;
    animation-fill-mode:none!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .home-carousel-slide-enter,
  .home-carousel-slide-exit,
  .home-carousel-slide-enter .track-cover{
    animation:none!important;
    transform:none!important;
    filter:none!important;
  }
}


.top-track-card-clickable{
  font:inherit;
  text-align:left;
  color:var(--text);
  cursor:pointer;
}
.top-track-card-clickable:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.top-track-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.top-track-reactions{display:flex;gap:10px;color:#cfe9ff;font-size:13px;font-weight:800}

.top-track-player-modal.hidden{display:none!important}
.top-track-player-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:18px}
.top-track-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.top-track-modal-card{position:relative;width:min(760px,100%);background:#11181b;border:1px solid rgba(143,211,255,.18);border-radius:28px;box-shadow:0 28px 90px rgba(0,0,0,.62);padding:13px;z-index:1}
.top-track-modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:var(--muted);font-size:34px;line-height:1;cursor:pointer;z-index:6}.top-track-modal-close:hover{color:var(--text)}
.top-track-modal-menu{right:58px!important;top:12px!important}
.top-track-modal-main{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:center}
.top-track-modal-poster{width:220px;height:220px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,rgba(143,211,255,.2),rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;font-size:72px;color:var(--accent);font-weight:900}
.top-track-modal-poster img{width:100%;height:100%;object-fit:cover;display:block}.top-track-modal-copy h2{font-size:clamp(28px,4vw,46px);line-height:1.05;margin:4px 0 8px;letter-spacing:-.045em}
.top-modal-file-player{margin-top:16px}.top-modal-file-player .file-player-controls{justify-content:flex-start}

.mood-choice-field{gap:10px}.mood-choice-field select,.mood-custom-row input{width:100%}.mood-custom-row{display:block;margin-top:10px}.mood-custom-row.hidden{display:none!important}
.mood-options-admin-panel{margin-top:22px}.mood-option-create-form{align-items:end}.mood-options-admin-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.mood-option-row.muted-row{opacity:.58}

@media (max-width:850px){
  .home-player-carousel{padding-bottom:38px}
  .home-carousel-arrow{display:none!important}
  .home-player-room-link{max-width:62%;font-size:14px}
  .home-player-carousel .now-card-body{min-height:0}
  .top-track-modal-main{grid-template-columns:1fr}.top-track-modal-poster{width:min(68vw,240px);height:min(68vw,240px);margin:0 auto}.top-track-modal-card{padding:10px}.top-track-modal-menu{right:50px!important;top:10px!important}
}
.room-now-layout .now-tabs-shell:empty{display:none!important}
.live-comments-list.comments-empty{overflow:visible!important;max-height:none!important;min-height:52px!important}

/* === Efika v42: requested mobile, player, admin fixes === */
.track-list-item-clickable{
  width:100%!important;
  color:var(--text)!important;
  font:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid rgba(255,255,255,.06)!important;
}
.track-list-item-clickable:hover{
  border-color:rgba(143,211,255,.24)!important;
  background:rgba(143,211,255,.08)!important;
}
.track-list-copy{
  min-width:0!important;
  display:block!important;
}
.track-list-copy b,
.track-list-copy span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.library-track-shell .library-card-menu{
  display:block!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.library-card-menu-toggle{
  appearance:none!important;
}
.mood-option-row{
  align-items:stretch!important;
  gap:12px!important;
}
.mood-option-edit-form{
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-columns:96px minmax(180px,1fr) 110px auto!important;
  gap:10px!important;
  align-items:end!important;
}
.mood-option-edit-form label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  color:#cbd8e0!important;
  font-weight:800!important;
  font-size:12px!important;
}
.mood-option-edit-form input{
  width:100%!important;
  border:1px solid rgba(255,255,255,.1)!important;
  background:#0e1417!important;
  color:var(--text)!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  outline:none!important;
}
.mood-option-actions{
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.mood-option-actions form{
  margin:0!important;
}
.admin-layout{
  align-items:start!important;
}
.admin-menu{
  position:sticky!important;
  top:73px!important;
  height:calc(100vh - 73px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
@media (max-width:850px){
  .admin-menu{
    position:static!important;
    top:auto!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  .mood-option-row{
    flex-direction:column!important;
  }
  .mood-option-edit-form{
    grid-template-columns:1fr!important;
  }
  .mood-option-actions{
    align-items:center!important;
  }
}

/* Главная больше не растягивает body по горизонтали, но внутренние карусели остаются прокручиваемыми. */
@media (max-width:850px){
  .page{
    width:min(1180px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
  }
  .section{
    min-width:0!important;
  }
  #moods,
  #rooms,
  #top-user-tracks,
  #best-comments,
  #latest-comments,
  #queue,
  #about{
    max-width:100%!important;
    overflow-x:clip!important;
  }
  .mood-section .section-head p,
  #rooms .section-head p,
  .top-user-tracks-section .section-head p,
  .best-comments-section .section-head p,
  .latest-comments-section .section-head p{
    display:none!important;
  }
  .room-carousel,
  .mood-carousel{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    scroll-padding-inline:0!important;
  }
  .top-user-tracks-grid,
  .best-comments-grid{
    grid-template-columns:1fr!important;
  }
  .home-player-room-link{
    max-width:min(68vw,360px)!important;
  }
  .home-carousel-prev{left:2px!important}
  .home-carousel-next{right:2px!important}
  .top-track-modal-main{
    grid-template-columns:1fr!important;
  }
  .top-track-modal-poster{
    width:min(220px,70vw)!important;
    height:min(220px,70vw)!important;
    margin:0 auto!important;
  }
}
@media (max-width:420px){
  .page{
    width:min(1180px,calc(100vw - 18px))!important;
    max-width:calc(100vw - 18px)!important;
  }
  .topbar{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .home-player-room-link{
    max-width:62vw!important;
  }
}

/* === Efika v43: точечный ремонт горизонтального переполнения и кликабельности ссылки комнаты === */
html,
body{
  width:100%;
  max-width:100%;
}

body,
.topbar,
.page,
.section,
.hero,
.room-hero,
.split,
.panel,
.hero-card,
.room-main-grid,
.player-panel,
.comments-panel,
.upload-panel-bottom{
  min-width:0!important;
  max-width:100%!important;
}

img,
svg,
video,
canvas,
audio{
  max-width:100%;
}

.now-card-copy,
.room-now-text,
.avatar-list-item > div,
.list,
.list-item,
.track-list-item,
.track-list-copy,
.top-track-copy,
.library-track-copy,
.best-comment-card,
.best-comment-copy{
  min-width:0!important;
  max-width:100%!important;
}

.list-item,
.track-list-item,
.top-track-card,
.library-track-card,
.best-comment-card{
  overflow:hidden!important;
}

.track-list-item,
.track-list-item-clickable{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.track-list-copy{
  overflow:hidden!important;
}

.track-list-copy b,
.track-list-copy span,
.list-item b,
.list-item span{
  display:block!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.track-thumb{
  flex:0 0 auto!important;
}

.home-player-head{
  position:relative!important;
  z-index:5!important;
  min-width:0!important;
  max-width:100%!important;
  pointer-events:auto!important;
}

.home-player-room-link{
  position:relative!important;
  z-index:6!important;
  display:inline-flex!important;
  align-items:center!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:min(58%,420px)!important;
  padding:8px 0!important;
  line-height:1.2!important;
  pointer-events:auto!important;
}

.home-player-carousel::before{
  pointer-events:none!important;
}

@media (max-width:850px){
  .hero,
  .room-hero,
  .split,
  .room-main-grid{
    overflow-x:clip!important;
  }

  .home-player-carousel{
    overflow:hidden!important;
  }

  .home-player-head{
    gap:10px!important;
  }

  .home-player-room-link{
    max-width:calc(100% - 92px)!important;
    font-size:17px!important;
    touch-action:manipulation!important;
  }

  #recent-list,
  #room-recent,
  #queue-list,
  #room-queue{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
}

/* === Efika v44: фиксим якорный автоскролл и поле своего статуса настроения === */
#queue,
#room-queue,
#live-comments,
#room-recent,
#recent-list{
  overflow-anchor:none!important;
}

.ajax-upload-form .mood-custom-row{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.ajax-upload-form .mood-custom-row input[name="mood_tag_custom"]{
  width:100%!important;
  max-width:100%!important;
  min-height:62px!important;
  height:62px!important;
  padding-right:70px!important;
  border-radius:16px!important;
}

.ajax-upload-form .mood-custom-row .emoji-toggle{
  top:50%!important;
  right:8px!important;
  transform:translateY(-50%)!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
}

@media (max-width:560px){
  .ajax-upload-form .mood-custom-row input[name="mood_tag_custom"]{
    min-height:64px!important;
    height:64px!important;
    padding-right:72px!important;
  }
}


/* === Efika v45: стабилизация прокрутки комнаты и мобильные emoji-кнопки без вызова клавиатуры === */
html,
body,
.page,
.room-title-strip,
.room-main-grid,
#queue,
#room-queue,
#live-comments,
#room-recent,
#recent-list,
.room-upload-bottom{
  overflow-anchor:none!important;
}

.emoji-toggle{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}

.emoji-picker-popup button{
  touch-action:manipulation!important;
}

/* === Efika v46: не даём мобильному realtime-обновлению дёргать комнату при скролле === */
@media (max-width:850px){
  #room-recent,
  #recent-list,
  #room-queue,
  #queue-list,
  .comments-panel,
  .room-main-grid{
    overflow-anchor:none!important;
  }

  #room-recent .track-list-item,
  #recent-list .track-list-item,
  #room-queue .list-item,
  #queue-list .list-item{
    min-height:74px!important;
    contain:layout paint!important;
  }

  #room-recent img,
  #recent-list img,
  #room-queue img,
  #queue-list img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}

/* === Efika v45: admin pagination, filters and responsive data tables === */
.admin-main{
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.admin-table-panel,
.table-wrap{
  max-width:100%!important;
}
.admin-toolbar-split{
  justify-content:space-between!important;
  flex-wrap:wrap!important;
}
.admin-filter-form{
  display:grid!important;
  grid-template-columns:minmax(220px,1.4fr) minmax(180px,.8fr) minmax(180px,.8fr) auto!important;
  gap:14px!important;
  align-items:end!important;
  margin:0 0 16px!important;
}
.admin-users-filter-form{
  grid-template-columns:minmax(220px,1.4fr) minmax(120px,.5fr) minmax(120px,.5fr) minmax(160px,.7fr) auto!important;
}
.admin-filter-form label{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  color:#cbd8e0!important;
  font-weight:800!important;
  font-size:13px!important;
}
.admin-filter-form input,
.admin-filter-form select{
  width:100%!important;
  min-width:0!important;
  border:1px solid rgba(255,255,255,.1)!important;
  background:#0e1417!important;
  color:var(--text)!important;
  border-radius:14px!important;
  padding:12px 13px!important;
  outline:none!important;
}
.admin-filter-form input:focus,
.admin-filter-form select:focus{
  border-color:var(--accent)!important;
}
.admin-filter-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.admin-pagination{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  margin:14px 0!important;
  color:var(--muted)!important;
}
.admin-pagination-info{
  font-size:13px!important;
}
.admin-pagination-nav,
.admin-page-numbers{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.admin-page-link,
.admin-page-number{
  min-width:34px!important;
  height:34px!important;
  padding:0 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.06)!important;
  color:var(--text)!important;
  font-weight:900!important;
  line-height:1!important;
}
.admin-page-number.active{
  background:var(--accent)!important;
  color:#061014!important;
}
.admin-page-link.disabled{
  opacity:.36!important;
  cursor:not-allowed!important;
}
.admin-page-divider{
  color:rgba(220,232,242,.35)!important;
  font-weight:900!important;
}
.admin-data-table{
  width:100%!important;
  max-width:100%!important;
  table-layout:fixed!important;
}
.admin-data-table th,
.admin-data-table td{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:top!important;
}
.admin-data-table td b,
.admin-data-table td span{
  min-width:0!important;
}
.admin-tracks-table th:nth-child(1),
.admin-tracks-table td:nth-child(1){width:58px!important}
.admin-tracks-table th:nth-child(2),
.admin-tracks-table td:nth-child(2){width:22%!important}
.admin-tracks-table th:nth-child(3),
.admin-tracks-table td:nth-child(3){width:20%!important}
.admin-tracks-table th:nth-child(4),
.admin-tracks-table td:nth-child(4){width:13%!important}
.admin-tracks-table th:nth-child(5),
.admin-tracks-table td:nth-child(5){width:13%!important}
.admin-tracks-table th:nth-child(6),
.admin-tracks-table td:nth-child(6){width:96px!important}
.admin-tracks-table th:nth-child(7),
.admin-tracks-table td:nth-child(7){width:110px!important}
.admin-tracks-table th:nth-child(8),
.admin-tracks-table td:nth-child(8){width:196px!important}
.admin-users-table th:nth-child(1),
.admin-users-table td:nth-child(1){width:54px!important}
.admin-users-table th:nth-child(2),
.admin-users-table td:nth-child(2){width:13%!important}
.admin-users-table th:nth-child(3),
.admin-users-table td:nth-child(3){width:13%!important}
.admin-users-table th:nth-child(4),
.admin-users-table td:nth-child(4){width:16%!important}
.admin-users-table th:nth-child(5),
.admin-users-table td:nth-child(5){width:80px!important}
.admin-users-table th:nth-child(6),
.admin-users-table td:nth-child(6){width:92px!important}
.admin-users-table th:nth-child(7),
.admin-users-table td:nth-child(7){width:132px!important}
.admin-users-table th:nth-child(8),
.admin-users-table td:nth-child(8){width:220px!important}
.admin-users-table th:nth-child(9),
.admin-users-table td:nth-child(9){width:116px!important}
.admin-user-password-form{
  min-width:0!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}
.admin-user-password-form input{
  width:100%!important;
}
.admin-empty-cell{
  text-align:center!important;
  color:var(--muted)!important;
  padding:28px!important;
}
@media (max-width:1180px){
  .admin-filter-form,
  .admin-users-filter-form{
    grid-template-columns:1fr 1fr!important;
  }
  .admin-filter-actions{
    grid-column:1/-1!important;
  }
  .admin-data-table,
  .admin-data-table thead,
  .admin-data-table tbody,
  .admin-data-table th,
  .admin-data-table td,
  .admin-data-table tr{
    display:block!important;
  }
  .admin-data-table thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
  }
  .admin-data-table tr{
    border:1px solid rgba(255,255,255,.07)!important;
    background:rgba(255,255,255,.035)!important;
    border-radius:18px!important;
    padding:10px!important;
    margin-bottom:12px!important;
  }
  .admin-data-table td{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(112px,34%) minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
    border-bottom:1px solid rgba(255,255,255,.06)!important;
    padding:10px!important;
    white-space:normal!important;
  }
  .admin-data-table td:last-child{
    border-bottom:0!important;
  }
  .admin-data-table td::before{
    content:attr(data-label)!important;
    color:var(--muted)!important;
    font-weight:900!important;
  }
  .admin-action-row,
  .admin-user-actions{
    justify-content:flex-start!important;
  }
}
@media (max-width:640px){
  .admin-main{
    padding:16px 10px!important;
  }
  .admin-filter-form,
  .admin-users-filter-form{
    grid-template-columns:1fr!important;
  }
  .admin-pagination{
    align-items:flex-start!important;
  }
  .admin-pagination-nav{
    width:100%!important;
  }
  .admin-data-table td{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
}


/* === Efika all-files style/temperature facets === */
.track-facet-strip,
.playlist-facet-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
}
.standalone-track-facets{
  margin:6px 0 2px;
}
.track-facet-group,
.playlist-facet-section{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
.track-facet-group + .track-facet-group,
.playlist-facet-section + .playlist-facet-section{
  padding-left:10px;
  border-left:1px solid rgba(255,255,255,.12);
}
.playlist-facet-toolbar{
  margin:2px 0 10px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.playlist-facet-label{
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-right:2px;
}
.playlist-facet-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.track-facet-chip{
  --facet-bg:rgba(143,211,255,.12);
  --facet-border:rgba(143,211,255,.24);
  --facet-text:#bfeaff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:22px;
  border:1px solid var(--facet-border);
  border-radius:999px;
  padding:2px 7px;
  background:var(--facet-bg);
  color:var(--facet-text);
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  cursor:pointer;
  max-width:170px;
}
.track-facet-chip span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.track-facet-chip em{
  font-style:normal;
  opacity:.75;
  font-size:10px;
}
.track-facet-chip:hover,
.track-facet-chip.active{
  background:color-mix(in srgb, var(--facet-text) 30%, rgba(255,255,255,.06));
  border-color:color-mix(in srgb, var(--facet-text) 70%, transparent);
  color:#061014;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--facet-text) 18%, transparent);
}
.track-facet-reset{
  --facet-bg:rgba(255,255,255,.07);
  --facet-border:rgba(255,255,255,.14);
  --facet-text:#dce8f2;
}
.track-facet-temperature{
  font-style:italic;
}
.facet-color-0{--facet-bg:rgba(220,232,242,.10);--facet-border:rgba(220,232,242,.18);--facet-text:#dce8f2;}
.facet-color-1{--facet-bg:rgba(143,211,255,.12);--facet-border:rgba(143,211,255,.27);--facet-text:#9bdcff;}
.facet-color-2{--facet-bg:rgba(0,196,140,.12);--facet-border:rgba(0,196,140,.28);--facet-text:#69e6bf;}
.facet-color-3{--facet-bg:rgba(255,209,102,.12);--facet-border:rgba(255,209,102,.30);--facet-text:#ffdc8a;}
.facet-color-4{--facet-bg:rgba(255,124,174,.12);--facet-border:rgba(255,124,174,.30);--facet-text:#ff9fc6;}
.facet-color-5{--facet-bg:rgba(178,139,255,.12);--facet-border:rgba(178,139,255,.30);--facet-text:#c6acff;}
.facet-color-6{--facet-bg:rgba(255,151,97,.12);--facet-border:rgba(255,151,97,.30);--facet-text:#ffad7d;}
.facet-color-7{--facet-bg:rgba(104,224,255,.12);--facet-border:rgba(104,224,255,.30);--facet-text:#8be8ff;}
.facet-color-8{--facet-bg:rgba(119,255,148,.12);--facet-border:rgba(119,255,148,.30);--facet-text:#9affb0;}
.facet-color-9{--facet-bg:rgba(255,108,108,.12);--facet-border:rgba(255,108,108,.30);--facet-text:#ff9393;}
.facet-color-10{--facet-bg:rgba(176,224,121,.12);--facet-border:rgba(176,224,121,.30);--facet-text:#c6ec96;}
.facet-color-11{--facet-bg:rgba(130,168,255,.12);--facet-border:rgba(130,168,255,.30);--facet-text:#a4bdff;}
.track-facet-chip.filter-limit-hit{
  animation:efikaFacetLimit .42s ease;
}
@keyframes efikaFacetLimit{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-3px)}
  50%{transform:translateX(3px)}
  75%{transform:translateX(-2px)}
}
.playlist-track-card{
  position:relative;
  overflow:hidden;
}
.playlist-track-card .library-track-copy{
  padding-right:86px;
}
.library-track-style-tags{
  position:absolute;
  right:10px;
  bottom:7px;
  max-width:46%;
  display:block;
  text-align:right;
  font-size:10px;
  line-height:1.15;
  opacity:.82;
  pointer-events:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.library-track-style-tags em{
  font-style:normal;
  font-weight:900;
}
.library-track-style-tags span{
  color:rgba(220,232,242,.36);
}
@media (max-width:700px){
  .standalone-track-facets .track-facet-chip{max-width:130px}
  .playlist-facet-toolbar{max-height:126px;overflow:auto;align-items:flex-start}
  .track-facet-group + .track-facet-group,
  .playlist-facet-section + .playlist-facet-section{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.08);padding-top:6px;width:100%}
  .playlist-track-card .library-track-copy{padding-right:0}
  .library-track-style-tags{
    position:static;
    grid-column:2;
    max-width:100%;
    text-align:left;
    display:block;
    margin-top:-4px;
    padding-right:4px;
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* === Efika playlist facet spoiler, active glow and adaptive tooltip === */
.playlist-facet-toolbar[data-playlist-facet-collapsible]{
  display:block;
  max-height:none;
  overflow:visible;
  padding:8px 10px 10px;
}
.playlist-facet-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  width:100%;
}
.playlist-facet-head-main{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
}
.playlist-facet-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:24px;
  padding:2px 2px 2px 0;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font:inherit;
}
.playlist-facet-toggle .playlist-facet-label{
  color:var(--text);
}
.playlist-facet-toggle-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:var(--accent);
  transition:transform .16s ease, background .16s ease;
}
.playlist-facet-toolbar:not(.is-collapsed) .playlist-facet-toggle-icon{
  transform:rotate(180deg);
  background:rgba(143,211,255,.16);
}
.playlist-facet-body{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.08);
}
.playlist-facet-section-temperature{
  margin-left:auto;
  justify-content:flex-end;
  flex:0 1 auto;
  max-width:48%;
}
.playlist-temperature-label{
  margin-right:4px;
}
.playlist-selected-facets{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
}
.playlist-selected-facets:empty{display:none;}
.track-facet-chip.selected-filter-chip{
  max-width:190px;
  position:relative;
  padding-right:18px;
}
.track-facet-chip.selected-filter-chip::after{
  content:'×';
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
  line-height:1;
  opacity:.86;
}
.track-facet-chip.active{
  transform:translateY(-1px);
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--facet-text) 62%, rgba(255,255,255,.08)),
    color-mix(in srgb, var(--facet-text) 34%, rgba(0,0,0,.05))
  );
  border-color:color-mix(in srgb, var(--facet-text) 88%, white 8%);
  color:#061014;
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--facet-text) 36%, transparent),
    0 0 14px color-mix(in srgb, var(--facet-text) 45%, transparent),
    inset 0 1px 0 rgba(255,255,255,.45);
}
.track-facet-chip.active span,
.track-facet-chip.active em{
  text-shadow:0 1px 0 rgba(255,255,255,.18);
}
.track-facet-chip:hover:not(.active){
  background:color-mix(in srgb, var(--facet-text) 24%, rgba(255,255,255,.06));
  border-color:color-mix(in srgb, var(--facet-text) 62%, transparent);
  color:color-mix(in srgb, var(--facet-text) 92%, white 8%);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--facet-text) 12%, transparent);
}
.efika-facet-tooltip{
  position:fixed;
  z-index:99999;
  max-width:min(320px, calc(100vw - 24px));
  padding:8px 10px;
  border:1px solid rgba(143,211,255,.36);
  border-radius:12px;
  background:rgba(9,17,21,.96);
  color:var(--text);
  box-shadow:0 10px 28px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.05) inset;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
  pointer-events:none;
  opacity:0;
  transform:translateY(3px) scale(.98);
  transition:opacity .12s ease, transform .12s ease;
}
.efika-facet-tooltip.visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.efika-facet-tooltip::after{
  content:'';
  position:absolute;
  width:10px;
  height:10px;
  background:rgba(9,17,21,.96);
  border:1px solid rgba(143,211,255,.36);
  transform:rotate(45deg);
}
.efika-facet-tooltip.tooltip-top::after{
  bottom:-6px;
  left:var(--tooltip-arrow-left, 50%);
  margin-left:-5px;
  border-left:0;
  border-top:0;
}
.efika-facet-tooltip.tooltip-bottom::after{
  top:-6px;
  left:var(--tooltip-arrow-left, 50%);
  margin-left:-5px;
  border-right:0;
  border-bottom:0;
}
@media (max-width:700px){
  .playlist-facet-toolbar[data-playlist-facet-collapsible]{
    max-height:none;
    overflow:visible;
  }
  .playlist-facet-head{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
  }
  .playlist-facet-section-temperature{
    width:100%;
    max-width:none;
    margin-left:0;
    padding-left:0!important;
    border-left:0!important;
    justify-content:flex-start;
  }
  .playlist-facet-section-temperature .playlist-facet-buttons{
    flex-wrap:nowrap;
    overflow:auto;
    padding-bottom:2px;
  }
  .playlist-selected-facets .track-facet-chip{
    max-width:128px;
  }
  .track-facet-chip.active{
    box-shadow:
      0 0 0 2px color-mix(in srgb, var(--facet-text) 42%, transparent),
      0 0 12px color-mix(in srgb, var(--facet-text) 50%, transparent),
      inset 0 1px 0 rgba(255,255,255,.4);
  }
}

/* === Efika all-files facets cleanup: card colors and compact mobile player chips === */
.library-track-style-tags em[class*="facet-color-"]{
  color:var(--facet-text);
  text-shadow:0 0 7px color-mix(in srgb, var(--facet-text) 24%, transparent);
}
@media (max-width:700px){
  .standalone-track-facets{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:6px;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 0 4px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .standalone-track-facets::-webkit-scrollbar{display:none;}
  .standalone-track-facets .track-facet-group{
    display:flex;
    flex:0 0 auto;
    flex-wrap:nowrap;
    align-items:center;
    gap:5px;
    width:auto!important;
    padding:0!important;
    border:0!important;
  }
  .standalone-track-facets .track-facet-chip{
    flex:0 0 auto;
    max-width:128px;
  }
  .standalone-track-facets .track-facet-reset{
    max-width:118px;
  }
}

/* === Efika bse0006: fixed musical style text position on mobile track cards === */
.playlist-track-card .library-track-copy{
  padding-right:86px!important;
}
.library-track-style-tags{
  position:absolute!important;
  right:10px!important;
  bottom:7px!important;
  grid-column:auto!important;
  display:block!important;
  max-width:46%!important;
  margin:0!important;
  padding:0!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  pointer-events:none!important;
}
@media (max-width:700px){
  .playlist-track-card .library-track-copy{
    padding-right:86px!important;
  }
  .library-track-style-tags{
    position:absolute!important;
    right:9px!important;
    bottom:7px!important;
    grid-column:auto!important;
    max-width:44%!important;
    text-align:right!important;
    margin:0!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.1!important;
  }
}
@media (max-width:380px){
  .playlist-track-card .library-track-copy{
    padding-right:78px!important;
  }
  .library-track-style-tags{
    max-width:40%!important;
    font-size:9.5px!important;
  }
}

/* === Efika bse0007: mobile standalone player style chips scroll without page stretch === */
@media (max-width:700px){
  .standalone-player-section,
  .standalone-player-card,
  .standalone-player-main,
  .standalone-copy{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .standalone-player-card{
    overflow:hidden!important;
  }
  .standalone-track-facets{
    width:100%!important;
    max-width:calc(100vw - 44px)!important;
    min-width:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 1px 6px!important;
    margin:6px 0 2px!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
    scrollbar-width:none!important;
  }
  .standalone-track-facets::-webkit-scrollbar{
    display:none!important;
  }
  .standalone-track-facets .track-facet-group{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:5px!important;
    padding:0!important;
    border:0!important;
  }
  .standalone-track-facets .track-facet-chip{
    flex:0 0 auto!important;
    max-width:150px!important;
    white-space:nowrap!important;
  }
  .standalone-track-facets .track-facet-chip span{
    display:block!important;
    min-width:0!important;
    max-width:132px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}
@media (max-width:380px){
  .standalone-track-facets{
    max-width:calc(100vw - 36px)!important;
  }
  .standalone-track-facets .track-facet-chip{
    max-width:136px!important;
  }
  .standalone-track-facets .track-facet-chip span{
    max-width:118px!important;
  }
}

/* === Efika patch: metadata spoiler above standalone file player === */
.standalone-now-tabs-shell{
  margin:12px 0 10px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.standalone-now-tabs-shell:empty{
  display:none!important;
}
.standalone-now-tabs-shell .now-tab-list{
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
}
.standalone-now-tabs-shell .now-tab-panel{
  max-height:210px!important;
}
@media (max-width:680px){
  .standalone-now-tabs-shell{
    margin:10px 0 8px!important;
    padding:0!important;
    border-radius:0!important;
  }
  .standalone-now-tabs-shell .now-tab-panel{
    max-height:168px!important;
  }
}
