/* Control ANDRIK v54.28 STABLE — Lyrics Engine polish */
.lyrics-editor-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.lyrics-editor-actions .btn{width:100%;min-width:0}
.lyrics-auto-words{border-color:rgba(246,207,98,.28)!important;background:linear-gradient(145deg,rgba(75,55,9,.34),rgba(11,20,26,.94))!important;color:#ffe79a!important}
.lyrics-auto-words:disabled{opacity:.42!important;color:#8f8c7d!important;cursor:not-allowed}
.lyrics-draft-state{margin-top:10px;padding:9px 11px;border:1px solid rgba(123,193,225,.13);border-radius:13px;background:rgba(5,14,20,.58);color:#82a5b6;font-size:.72rem;line-height:1.4}
.lyrics-sync-row.has-word-timing .lyrics-time-btn::after{content:" •";color:#ffd75f;text-shadow:0 0 10px rgba(255,207,58,.55)}
.lyrics-sync-row.has-word-timing{box-shadow:inset 3px 0 0 rgba(255,207,58,.16)}
@media(max-width:760px){
  .lyrics-editor-actions{grid-template-columns:1fr 1fr!important}
  .lyrics-editor-actions .lyrics-auto-words{grid-column:1/-1}
  .lyrics-sync-rows{max-height:none!important;overflow:visible!important}
  .lyrics-preview-card{position:relative!important;top:auto!important}
}

/* Player: karaoke word highlight */
.lyrics-word{display:inline;transition:color .12s ease,text-shadow .12s ease,opacity .12s ease}
.lyrics-word+.lyrics-word::before{content:" ";white-space:pre}
.lyrics-line.active .lyrics-word{color:#a9c3d0;opacity:.76}
.lyrics-line.active .lyrics-word.is-past{color:#f4fbff;opacity:1}
.lyrics-line.active .lyrics-word.is-active{color:#ffe06a;opacity:1;text-shadow:0 0 9px rgba(255,210,56,.68),0 0 22px rgba(255,183,26,.34)}
.lyrics-line.past .lyrics-word{color:inherit;opacity:inherit}

/* Control ANDRIK v54.28 STABLE — smoother lyrics editor + WOW map focus */

/* Lyrics editor: keep the viewport stable and move heavy draft writes off the active frame. */
.lyrics-admin-page .lyrics-sync-rows{
  contain:layout paint style;
  scroll-behavior:auto!important;
  overscroll-behavior:contain;
  overflow-anchor:none;
}
.lyrics-admin-page .lyrics-sync-row{
  contain:layout style;
}
.lyrics-admin-page .lyrics-sync-row textarea{
  resize:none;
}
.lyrics-admin-page .admin-lyric-row,
.lyrics-admin-page .lyrics-sync-row{
  -webkit-tap-highlight-color:transparent;
}
@media(max-width:760px){
  .lyrics-admin-page .lyrics-sync-rows{
    max-height:62vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
    -webkit-overflow-scrolling:touch;
  }
}

/* Listener map: zoom the geography much harder, but counter-scale the dots.
   Countries move farther apart while markers stay crisp instead of turning into blobs. */
.analytics-swipe-page .world-map-canvas{
  isolation:isolate;
  background:radial-gradient(circle at 50% 48%,rgba(42,133,169,.14),transparent 58%),linear-gradient(180deg,rgba(3,14,21,.98),rgba(1,8,13,.99))!important;
}
.analytics-swipe-page .world-map-stage{
  transform-origin:50% 50%;
  transform:translateZ(0) scale(1);
  backface-visibility:hidden;
  transition:transform .56s cubic-bezier(.18,.82,.2,1),filter .34s ease!important;
  will-change:transform;
}
.analytics-swipe-page .world-map-stage img{
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
  opacity:.58!important;
  filter:saturate(.92) contrast(1.18) brightness(.9) drop-shadow(0 0 12px rgba(94,204,244,.14))!important;
}
.analytics-swipe-page .world-map-shell.is-country-focused .world-map-stage{
  transform-origin:var(--focus-x,50%) var(--focus-y,50%)!important;
  transform:translateZ(0) scale(var(--focus-zoom,2.85))!important;
  filter:saturate(1.1) contrast(1.07) brightness(1.03)!important;
}
.analytics-swipe-page .world-map-shell.is-country-focused .world-map-dot{
  transform:translate(-50%,-50%) scale(.35)!important;
  transition:opacity .25s ease,filter .25s ease!important;
}
.analytics-swipe-page .world-map-shell.is-country-focused .world-map-dot:not(.is-selected){
  opacity:.72!important;
}
.analytics-swipe-page .world-map-stage .world-map-dot.is-selected{
  z-index:12!important;
}
.analytics-swipe-page .world-map-stage .world-map-dot.is-selected::before,
.analytics-swipe-page .world-map-stage .world-map-dot.is-selected::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%);
}
.analytics-swipe-page .world-map-stage .world-map-dot.is-selected::before{
  width:48px;
  height:48px;
  border:1px solid rgba(255,223,91,.62);
  box-shadow:0 0 18px rgba(255,204,43,.38),inset 0 0 18px rgba(255,204,43,.13);
  animation:worldFocusRing 1.6s ease-out infinite;
}
.analytics-swipe-page .world-map-stage .world-map-dot.is-selected::after{
  width:12px;
  height:12px;
  border:1px solid rgba(255,244,184,.95);
  box-shadow:0 0 16px rgba(255,221,74,.9);
}
@keyframes worldFocusRing{
  0%{opacity:.92;transform:translate(-50%,-50%) scale(.62)}
  75%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}
}
@media(max-width:760px){
  .analytics-swipe-page .world-map-stage img{
    opacity:.62!important;
    filter:saturate(.95) contrast(1.22) brightness(.91) drop-shadow(0 0 10px rgba(94,204,244,.13))!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .analytics-swipe-page .world-map-stage{transition:none!important}
  .analytics-swipe-page .world-map-stage .world-map-dot.is-selected::before{animation:none!important;opacity:.7}
}
