.emu-radio-hub{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:var(--emu-space-md,16px);
  padding:var(--emu-space-sm,12px) 0;
  align-items:start;
}
.emu-radio-genre{
  position:relative;
  color:var(--emu-design-text);
  background:var(--emu-design-surface-glass);
  border:var(--emu-border-width) solid var(--emu-design-accent);
  border-radius:var(--emu-radius-lg);
  padding:calc(var(--emu-space-xl,32px) + var(--emu-space-xs,6px)) var(--emu-space-sm,12px) var(--emu-space-sm,12px);
  box-shadow:var(--emu-shadow-glow);
  width:100%;
  box-sizing:border-box;
  min-width:0;
}
.emu-radio-favorites-player{box-shadow:var(--emu-shadow-gold-glow,var(--emu-shadow-glow));}
.emu-radio-genre-badge{
  position:absolute;
  top:var(--emu-space-xs,6px);
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100% - var(--emu-space-xl,32px));
  min-width:120px;
  text-align:center;
  font-size:var(--emu-font-size-lg,18px);
  font-weight:var(--emu-font-weight-bold,700);
  color:var(--emu-design-on-accent);
  padding:var(--emu-space-xs,6px) var(--emu-space-md,16px);
  border-radius:var(--emu-radius-pill);
  background:var(--emu-design-accent-gradient);
  box-shadow:var(--emu-shadow-md);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  z-index:2;
  border:0;
  cursor:pointer;
}
.emu-radio-card{
  border-radius:var(--emu-radius-md);
  color:var(--emu-design-text);
  background:var(--emu-design-panel-gradient);
  padding:var(--emu-space-sm,12px);
  box-shadow:var(--emu-shadow-lg);
  overflow:hidden;
  min-height:128px;
}
.emu-radio-current{display:flex;align-items:center;gap:var(--emu-space-sm,12px);min-height:60px}
.emu-radio-logo-wrap{position:relative;flex:0 0 56px;width:56px;height:56px;border-radius:var(--emu-radius-pill);display:grid;place-items:center}
.emu-radio-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--emu-radius-pill)}
.emu-radio-wave,.emu-radio-mini-wave{display:inline-block;border-radius:var(--emu-radius-pill);background:var(--emu-design-surface);box-shadow:var(--emu-shadow-glow);position:relative}
.emu-radio-wave{width:56px;height:56px}.emu-radio-mini-wave{width:24px;height:24px}
.emu-radio-wave:before,.emu-radio-mini-wave:before{content:"";position:absolute;inset:28%;border:var(--emu-border-width) solid currentColor;border-radius:var(--emu-radius-pill)}
.emu-radio-maintext{min-width:0;display:grid;gap:var(--emu-space-2xs,4px)}
.emu-radio-station-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--emu-font-size-md,16px)}
.emu-radio-now{font-size:var(--emu-font-size-sm,13px);opacity:var(--emu-opacity-muted,.78)}
.emu-radio-line{height:var(--emu-border-width);background:var(--emu-design-accent);opacity:var(--emu-opacity-muted,.72);margin:var(--emu-space-sm,12px) 0}
.emu-radio-controls{display:flex;align-items:center;justify-content:center;gap:var(--emu-space-xs,8px);flex-wrap:wrap}
.emu-radio-btn{
  width:38px;height:38px;border-radius:var(--emu-radius-pill);display:inline-grid;place-items:center;
  border:var(--emu-border-width) solid var(--emu-design-accent);
  background:var(--emu-design-button-bg);
  color:var(--emu-design-button-text);
  box-shadow:var(--emu-shadow-sm);
  cursor:pointer;
}
.emu-radio-btn svg{width:20px;height:20px;fill:currentColor}
.emu-radio-btn:hover,.emu-radio-btn.is-favorite{box-shadow:var(--emu-shadow-glow);transform:translateY(calc(var(--emu-motion-distance,1px) * -1))}
.emu-radio-play .emu-icon-pause{display:none}.emu-radio-genre.is-playing .emu-radio-play .emu-icon-play{display:none}.emu-radio-genre.is-playing .emu-radio-play .emu-icon-pause{display:block}
.emu-radio-volume-panel{display:none;margin-top:var(--emu-space-sm,12px)}.emu-radio-volume-panel.is-open{display:block}.emu-radio-volume-panel input{width:100%}
.emu-radio-playlist{display:grid;gap:var(--emu-space-xs,8px);margin-top:var(--emu-space-sm,12px)}
.emu-radio-playlist[hidden]{display:none}
.emu-radio-list-item{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:var(--emu-space-xs,8px);align-items:center;
  width:100%;text-align:left;border:var(--emu-border-width) solid var(--emu-design-border);border-radius:var(--emu-radius-md);
  background:var(--emu-design-surface);color:var(--emu-design-text);padding:var(--emu-space-xs,8px);cursor:pointer;
}
.emu-radio-list-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.emu-radio-list-item.is-active{border-color:var(--emu-design-accent);box-shadow:var(--emu-shadow-glow)}
.emu-radio-list-fav.is-favorite{color:var(--emu-design-warning)}
.emu-radio-events{margin-top:var(--emu-space-sm,12px);font-size:var(--emu-font-size-sm,13px);opacity:var(--emu-opacity-muted,.86);display:flex;gap:var(--emu-space-xs,8px);flex-wrap:wrap}
.emu-radio-popup-shell,.emu-radio-external-shell,.emu-admin-card,.emu-wizard-step{
  background:var(--emu-design-surface-glass);
  color:var(--emu-design-text);
  border:var(--emu-border-width) solid var(--emu-design-border);
  border-radius:var(--emu-radius-lg);
  padding:var(--emu-space-md,16px);
  box-shadow:var(--emu-shadow-md);
}
.emu-radio-popup-brand{font-weight:var(--emu-font-weight-bold,700);letter-spacing:var(--emu-letter-spacing-wide,.08em)}
.emu-radio-admin input[type=text],.emu-radio-admin input[type=url],.emu-radio-admin select,.emu-radio-admin textarea{width:100%;max-width:760px}
.emu-radio-admin textarea{min-height:120px}
.emu-wizard-step{margin:var(--emu-space-md,16px) 0;display:grid;gap:var(--emu-space-xs,8px)}
.emu-inline-form{display:inline-block;margin-inline-end:var(--emu-space-xs,8px)}
@media (max-width: 680px){
  .emu-radio-hub{grid-template-columns:1fr}
  .emu-radio-controls{justify-content:flex-start}
  .emu-radio-btn{width:42px;height:42px}
}
.emu-radio-fav{}
.emu-radio-play-main{}
.emu-radio-popup{}
.emu-radio-toggle-list{}
.emu-radio-volume{}
.emu-radio-wizard{}


/* EMU Radio v1.0.1 frontend alignment: popup-master layout with clear outlines. */
.emu-radio-hub{
  max-width:760px;
  margin-inline:auto;
  grid-template-columns:1fr;
}
.emu-radio-genre{
  border-color:var(--emu-design-accent,#11f7ff);
  outline:1px solid color-mix(in srgb,var(--emu-design-accent,#11f7ff) 34%,transparent);
  background:linear-gradient(180deg,rgba(105,119,136,.72),rgba(40,58,88,.62));
}
.emu-radio-favorites-player{
  border-color:var(--emu-design-warning,#ffd84d);
  outline-color:color-mix(in srgb,var(--emu-design-warning,#ffd84d) 50%,transparent);
  box-shadow:0 0 32px color-mix(in srgb,var(--emu-design-warning,#ffd84d) 28%,transparent),var(--emu-shadow-glow);
}
.emu-radio-card{
  border:1px solid color-mix(in srgb,var(--emu-design-accent,#11f7ff) 70%,transparent);
  background:linear-gradient(135deg,rgba(79,58,137,.85),rgba(0,157,150,.85));
}
.emu-radio-btn{
  font-weight:800;
  border-color:transparent;
  background:transparent;
  color:#fff;
  box-shadow:none;
}
.emu-radio-play-main{
  width:72px;
  height:72px;
  background:#fff;
  color:#137399;
  box-shadow:0 0 24px color-mix(in srgb,var(--emu-design-accent,#11f7ff) 26%,transparent);
}
.emu-radio-play-main svg{width:34px;height:34px}
.emu-radio-playlist{
  border-top:1px solid rgba(255,255,255,.22);
  padding-top:var(--emu-space-xs,8px);
}
.emu-radio-list-item{
  min-height:54px;
  border-radius:0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
}
.emu-radio-list-item.is-active{
  background:rgba(255,255,255,.16);
}
.emu-radio-events{
  margin-top:var(--emu-space-md,16px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--emu-radius-md,16px);
  padding:var(--emu-space-sm,12px);
  background:rgba(0,0,0,.14);
}
.emu-radio-event-target a{
  color:var(--emu-design-accent,#11f7ff);
  font-weight:800;
}
@media (max-width:640px){
  .emu-radio-hub{max-width:100%}
  .emu-radio-controls{justify-content:space-between}
  .emu-radio-play-main{width:62px;height:62px}
}


/* EMU Radio v1.0.2: App layout supports two player columns again while keeping popup-master cards. */
.emu-radio-hub{
  max-width:none;
  width:100%;
  grid-template-columns:repeat(2,minmax(320px,1fr));
  align-items:start;
}
.emu-radio-admin-grid{
  display:grid;
  grid-template-columns:minmax(280px,420px) minmax(360px,1fr);
  gap:var(--emu-space-md,16px);
  align-items:start;
}
.emu-radio-admin-tabs{
  margin:var(--emu-space-sm,12px) 0 var(--emu-space-md,16px);
}
@media (min-width:1180px){
  .emu-radio-hub{grid-template-columns:repeat(2,minmax(360px,1fr));}
}
@media (max-width:860px){
  .emu-radio-hub,.emu-radio-admin-grid{grid-template-columns:1fr;}
}

.emu-radio-fav,
.emu-radio-list-fav{
  pointer-events:auto;
  cursor:pointer;
}
.emu-radio-fav.is-favorite svg,
.emu-radio-list-fav.is-favorite{
  color:var(--emu-design-warning);
  filter:drop-shadow(0 0 8px var(--emu-design-warning));
}
