/* Rádio compacto do Karaoke⭐Time!: mesma linguagem visual da TsuLiPa⭐TV.
   O conteúdo do ranking continua sendo renderizado pelo código original. */
#hub #twMicModal[hidden]{display:none!important}
#hub #twMicModal{
  position:fixed;inset:0;z-index:1001;display:grid;place-items:center;
  box-sizing:border-box;overflow:auto;overscroll-behavior:contain;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right))
          max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  background:rgba(35,15,70,.58);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
}
#hub #twMicModal .tw-mic-tv{
  position:relative;isolation:isolate;display:flex;flex-direction:column;gap:8px;
  box-sizing:border-box;width:min(100%,360px);margin:0;padding:10px;
  overflow:hidden;border:3px solid rgba(255,255,255,.96);border-radius:23px;color:#fff;
  background:
    radial-gradient(circle at 16% 0,rgba(255,255,255,.22),transparent 34%),
    linear-gradient(145deg,#b94bd2 0%,#873fe4 48%,#4169e1 100%);
  box-shadow:0 4px 0 #42208e,0 10px 24px rgba(32,16,80,.36),
             inset 0 2px 0 rgba(255,255,255,.58);
}
#hub #twMicModal .tw-mic-tv::before,
#hub #twMicModal .tw-mic-tv::after{display:none!important;content:none!important}
#hub #twMicModal .tw-rank-tv-head{
  position:relative;z-index:1;display:flex;align-items:center;gap:6px;
  box-sizing:border-box;width:100%;min-height:34px;margin:0;padding:5px 7px;
  border:1.5px solid rgba(255,255,255,.78);border-radius:14px;
  background:linear-gradient(110deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
}
#hub #twMicModal .tw-rank-tv-head b{
  flex:none;color:#fff;font:400 12px/1.35 "Mochiy Pop One","Kosugi Maru",sans-serif;
  text-shadow:0 1px 3px rgba(40,20,85,.28);
}
#hub #twMicModal .tw-rank-tv-head small{
  flex:1;min-width:0;color:#fff;text-align:right;
  font:800 9px/1.3 "M PLUS Rounded 1c",sans-serif;
}
#hub #twMicModal #twMicFechar{
  flex:none;width:25px;height:25px;min-width:25px;padding:0;
  border:2px solid rgba(255,255,255,.95);border-radius:50%;color:#fff;
  background:linear-gradient(135deg,#a34bd8,#536fe4);
  box-shadow:0 2px 0 rgba(35,25,88,.32);font:900 14px/1 sans-serif;
}
#hub #twMicModal .tw-mic-tv .tw-rank-tv-screen{
  position:relative;z-index:1;box-sizing:border-box;width:100%;min-width:0;
  min-height:172px;margin:0;padding:10px 9px;
  border:2px solid rgba(255,255,255,.92);border-radius:15px;color:#fff;text-align:center;
  background:
    radial-gradient(circle at 50% 0,rgba(255,111,181,.2),transparent 58%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px),
    linear-gradient(145deg,#251047,#160b36);
  box-shadow:inset 0 0 0 2px rgba(92,199,255,.07),inset 0 0 18px rgba(92,199,255,.1);
}
#hub #twMicModal .tw-mic-tv .tw-rank-tv-screen>b{color:#b6ff3b;font-size:10px}
#hub #twMicModal .tw-mic-tv .tw-rank-tv-screen>p{font-size:12px}
#hub #twMicModal .tw-mic-tv .tw-rank-tv-screen>strong{font-size:14px}
#hub #twMicModal .tw-mic-lista{font-size:10px;line-height:1.5}
#hub #twMicModal .tw-mic-sub{font-size:9px;color:#ffe7f4}
#hub #twMicModal .tw-tv-idol-avatar{width:36px!important;height:36px!important}
#hub #twMicModal :is(#twMicFechar,button):focus-visible{outline:3px solid #ffe14d;outline-offset:3px}

/* Rádio: uma faixa inferior real, centralizada e alinhada com a tela do ranking. */
#hub #twMicModal .tw-mic-radio-deck{
  position:relative;z-index:1;display:grid;grid-template-columns:30px minmax(0,1fr) 36px;
  align-items:center;gap:9px;width:100%;min-width:0;min-height:31px;margin:0 1px 1px;
}
#hub #twMicModal .tw-mic-speaker{
  position:relative;display:grid;place-items:center;width:29px;height:29px;
  box-sizing:border-box;border:1.5px solid rgba(255,255,255,.88);border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.25),rgba(55,30,115,.18));
  box-shadow:inset 0 0 0 2px rgba(65,35,125,.16),0 1px 3px rgba(30,15,80,.2);
}
#hub #twMicModal .tw-mic-speaker::before{
  content:"";width:15px;height:15px;border:1.5px solid rgba(255,255,255,.82);
  border-radius:50%;background:radial-gradient(circle,#36205d 0 2px,#c9b7ff 3px 4px,rgba(255,255,255,.22) 5px 100%);
  box-shadow:inset 0 0 0 2px rgba(75,45,130,.18);
}
#hub #twMicModal .tw-mic-speaker i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe14d}
#hub #twMicModal .tw-mic-tuner{
  display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;height:25px;
  box-sizing:border-box;padding:0 9px;border:1.5px solid rgba(255,255,255,.8);
  border-radius:8px;color:#fff;background:linear-gradient(110deg,rgba(255,255,255,.2),rgba(255,255,255,.08));
  box-shadow:inset 0 1px 2px rgba(30,15,80,.14);
}
#hub #twMicModal .tw-mic-tuner b{font:900 8px/1 "M PLUS Rounded 1c",sans-serif;letter-spacing:.13em;opacity:.9}
#hub #twMicModal .tw-mic-tuner strong{
  padding:3px 8px;border-radius:5px;color:#b6ff3b;background:rgba(28,13,57,.72);
  font:900 11px/1 "M PLUS Rounded 1c",sans-serif;letter-spacing:.08em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
#hub #twMicModal .tw-mic-tuner i{
  width:clamp(16px,15%,38px);height:3px;border-radius:99px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.86) 0 3px,transparent 3px 5px);
  opacity:.8;
}
#hub #twMicModal .tw-mic-knobs{display:flex;align-items:center;justify-content:flex-end;gap:6px}
#hub #twMicModal .tw-mic-knobs i{
  display:block;width:12px;height:12px;border:1.5px solid rgba(255,255,255,.9);
  border-radius:50%;background:linear-gradient(145deg,#f6d8ff,#9a70df);
  box-shadow:0 1px 2px rgba(30,15,80,.24),inset 0 0 0 2px rgba(74,35,135,.14);
}

@media(max-width:560px){
  #hub #twMicModal .tw-mic-tv{width:min(100%,350px);padding:8px;border-radius:20px}
  #hub #twMicModal .tw-rank-tv-head{gap:5px;padding:4px 6px}
  #hub #twMicModal .tw-mic-radio-deck{grid-template-columns:28px minmax(0,1fr) 34px;gap:7px}
  #hub #twMicModal .tw-mic-speaker{width:27px;height:27px}
  #hub #twMicModal .tw-rank-tv-head b{font-size:11px}
  #hub #twMicModal .tw-rank-tv-head small{font-size:8px}
  #hub #twMicModal .tw-mic-tv .tw-rank-tv-screen{min-height:160px;margin-bottom:0;padding:9px 7px}
}
@media(prefers-reduced-motion:reduce){
  #hub #twMicModal .tw-mic-tv::before,#hub #twMicModal .tw-mic-tv::after{animation:none}
}

/* Encontro do Dia: duo/trio permanece unido; ranking, selo e Oshi individual ficam ocultos. */
.encp.enc-grupo #encRk,.encp.enc-grupo #encSelo,.encp.enc-grupo #encOshi{display:none!important}
