/*
 * RADIO HASERA PHONE SURFACE CONTRACT
 * Applies only below 700px. Desktop work must never be added to this file.
 * The current phone composition remains based on the frozen shared core:
 * master.css + track-sound-wave.css + emitter-module.js.
 */
@media (max-width: 699px) {
  .radio-web-genres {
    display: none !important;
  }

  body.service-radio-hasera,
  body.service-radiohasera {
    --radio-surface-contract: phone-v1;
  }

  .radio-web-only {
    display: none !important;
  }

  .radio-phone-only {
    display: revert;
  }

  .radio-mobile-menu-navigation {
    overflow: visible;
    width: calc(100vw - 24px) !important;
  }

  .radio-mobile-service-link {
    position: absolute;
    top: auto;
    bottom: calc(50% + 7.56px);
    z-index: 3;
    display: block;
    width: max-content;
    max-width: none;
    overflow: hidden;
    color: rgba(238, 238, 238, .82);
    font: 500 16.5px/1 Arial, sans-serif;
    letter-spacing: .02em;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .96), 0 0 2px rgba(0, 0, 0, .92);
    transform: none;
    transition: color .196s ease, opacity .196s ease;
    mix-blend-mode: difference;
    -webkit-tap-highlight-color: transparent;
  }

  .radio-mobile-service-link-left {
    left: 0;
    right: auto;
    text-align: left;
  }

  .radio-mobile-service-link-right {
    left: auto;
    right: 0;
    text-align: right;
  }

  body.service-radio-hasera .radio-mobile-history,
  body.service-radiohasera .radio-mobile-history,
  body.service-radio-hasera .radio-mobile-history[hidden],
  body.service-radiohasera .radio-mobile-history[hidden] {
    display: none !important;
  }

  .radio-mobile-service-link:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 4px;
  }

  .hasera-service-curtain {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: block;
    background: #000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 406ms cubic-bezier(.4, 0, .2, 1);
  }

  html.has-service-transition-arrival .hasera-service-curtain {
    opacity: 1;
    transition: none;
    pointer-events: auto;
  }

  html.has-service-transition-arrival.is-service-transition-revealing .hasera-service-curtain {
    opacity: 0;
    transition: opacity 406ms cubic-bezier(.4, 0, .2, 1);
    pointer-events: none;
  }

  body.is-service-transition-leaving .hasera-service-curtain {
    opacity: 1;
    pointer-events: auto;
  }
}

/*
 * Radio HaSera mobile menu entrance.
 * Phone-only Radio HaSera implementation of the EiSi mobile menu sequence.
 * The rail rises and the emitter disappears before the menu is revealed.
 */
.radio-eisi-mobile-primary-menu {
  display: none;
}

.radio-legal-gateway-panel {
  display: none;
}

@media (max-width: 699px) {
  body.service-radio-hasera.is-radio-eisi-menu-active,
  body.service-radiohasera.is-radio-eisi-menu-active {
    overflow: hidden;
  }

  body.service-radio-hasera.is-radio-eisi-menu-active .radio-mobile-menu-navigation,
  body.service-radiohasera.is-radio-eisi-menu-active .radio-mobile-menu-navigation {
    top: calc(var(--radio-eisi-nav-start-top) - 9mm);
    bottom: auto !important;
    z-index: 1093;
    opacity: 1;
    pointer-events: auto;
    transition: top .805s cubic-bezier(.4, 0, .2, 1), opacity .322s ease;
  }

  body.service-radio-hasera .radio-mobile-menu-navigation > .radio-mobile-menu-toggle,
  body.service-radiohasera .radio-mobile-menu-navigation > .radio-mobile-menu-toggle {
    grid-column: 2;
    justify-self: center;
    align-self: center;
  }

  body.service-radio-hasera:is(.is-radio-eisi-nav-rising, .is-radio-eisi-nav-docked) .radio-mobile-menu-navigation,
  body.service-radiohasera:is(.is-radio-eisi-nav-rising, .is-radio-eisi-nav-docked) .radio-mobile-menu-navigation {
    top: var(--radio-eisi-nav-target-top);
    bottom: auto !important;
  }

  body.is-radio-mobile-access-page .radio-mobile-service-link,
  body.is-radio-mobile-access-page .radio-mobile-history,
  body.is-radio-mobile-access-page .radio-eisi-mobile-primary-menu {
    display: none !important;
  }

  body.is-radio-mobile-access-page .club-login-intro {
    display: none !important;
  }

  body.is-radio-mobile-access-page .club-login-card {
    opacity: 0;
    transition: opacity .504s ease;
  }

  body.is-radio-mobile-access-page.is-radio-access-panel-ready .club-login-card {
    opacity: 1;
  }

  body.is-radio-mobile-access-page.is-radio-access-panel-leaving .club-login-card {
    opacity: 0;
  }

  body.is-radio-mobile-access-page.is-radio-access-returning .club-login-card {
    opacity: 0;
    pointer-events: none;
    transition: opacity .336s cubic-bezier(.4, 0, .2, 1);
  }

  .radio-legal-gateway-panel {
    --eisi-about-top: 119px;
    --eisi-about-bottom: calc(5mm + clamp(59px, 18.7vw, 77px) + 5px + 24px);
    position: fixed;
    z-index: 1091;
    left: 12px;
    right: 12px;
    top: var(--eisi-about-top);
    display: block;
    height: 0;
    overflow: visible;
    opacity: 0;
    pointer-events: none;
    transition: height 1.155s cubic-bezier(.32, 0, .16, 1);
  }

  .radio-legal-gateway-panel::before {
    content: "";
    position: absolute;
    z-index: 4;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg,transparent,rgba(220,220,220,.42) 12%,rgba(226,226,226,.76) 50%,rgba(220,220,220,.42) 88%,transparent);
    opacity: 0;
    transition: opacity .196s ease;
  }

  .radio-legal-gateway-panel .eisi-mobile-about-panel-surface {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 0;
    background: rgba(39,40,44,.96);
    box-shadow: 0 18px 34px rgba(0,0,0,.46);
    opacity: 0;
    backdrop-filter: blur(9px);
    transition: opacity .504s ease;
  }

  .radio-legal-gateway-panel .eisi-mobile-about-lower-rail {
    position: absolute;
    z-index: 5;
    left: 0;
    right: 0;
    top: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    opacity: 0;
    transform: translateY(-24px);
    transition: opacity .196s ease;
  }

  .radio-legal-gateway-panel .eisi-mobile-about-lower-rail::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background: linear-gradient(90deg,transparent,rgba(220,220,220,.38) 12%,rgba(226,226,226,.7) 50%,rgba(220,220,220,.38) 88%,transparent);
    transform: translateY(-50%);
  }

  .radio-legal-gateway-panel .eisi-mobile-about-decorative-grip {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 62px;
    height: 20px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: linear-gradient(180deg,rgba(105,108,112,.94),rgba(48,50,53,.96));
    box-shadow: 0 5px 15px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.2);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .radio-legal-gateway-panel .eisi-mobile-about-decorative-grip i {
    display: block;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: rgba(245,245,245,.86);
    box-shadow: 0 1px 2px rgba(0,0,0,.55);
  }

  .radio-legal-gateway-panel .eisi-mobile-about-back-mark {
    position: absolute;
    z-index: 2;
    left: calc(50% - 62px);
    top: 50%;
    color: rgba(240,240,240,.92);
    font: 500 27px/1 Arial,sans-serif;
    text-shadow: 0 1px 4px #000;
    transform: translate(-50%,-53%);
  }

  body.is-eisi-mobile-about-open .radio-legal-gateway-panel {
    height: calc(100dvh - var(--eisi-about-top) - var(--eisi-about-bottom));
    opacity: 1;
    pointer-events: auto;
  }

  body.is-eisi-mobile-about-closing .radio-legal-gateway-panel {
    height: 0;
    opacity: 1;
    pointer-events: none;
  }

  body:is(.is-eisi-mobile-about-opening,.is-eisi-mobile-about-open) .radio-legal-gateway-panel::before,
  body:is(.is-eisi-mobile-about-opening,.is-eisi-mobile-about-open,.is-eisi-mobile-about-closing) .radio-legal-gateway-panel .eisi-mobile-about-lower-rail,
  body.is-eisi-mobile-about-closing .radio-legal-gateway-panel::before {
    opacity: 1;
  }

  body:is(.is-eisi-mobile-about-open,.is-eisi-mobile-about-closing) .radio-legal-gateway-panel .eisi-mobile-about-panel-surface {
    opacity: 1;
  }

  body:is(.is-eisi-mobile-about-opening,.is-eisi-mobile-about-open,.is-eisi-mobile-about-closing) .radio-mobile-menu-navigation > .radio-mobile-menu-toggle {
    opacity: 0;
    pointer-events: none;
  }

  .radio-legal-gateway-panel .eisi-mobile-about-tabs {
    position: relative;
    z-index: 3;
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 3px 7px;
    min-height: 38px;
    height: auto !important;
    max-height: none !important;
    flex: 0 0 auto;
    overflow: visible;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(238,238,238,.2);
    background: rgba(16,16,18,.22);
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .574s ease .294s,transform .574s cubic-bezier(.2,.72,.2,1) .294s;
  }

  .radio-legal-gateway-panel .eisi-mobile-about-tabs button {
    display: flex !important;
    align-items: center;
    min-height: 27px !important;
    padding: 0 8px;
    border: 0;
    border-left: 2px solid transparent;
    color: rgba(238,238,238,.78);
    background: transparent;
    font: 800 11.5px/1.08 "Arial Narrow","Roboto Condensed",Arial,sans-serif;
    letter-spacing: .025em;
    text-align: left;
    white-space: normal;
  }

  .radio-legal-gateway-panel .eisi-mobile-about-tabs button.is-active {
    color: #f0f0f0;
    border-left-color: #d5b66f;
    text-shadow: 0 0 7px rgba(255,255,255,.22);
  }

  .radio-legal-gateway-panel .eisi-mobile-legal-toggle {
    grid-column: 1 / -1;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 29px !important;
    padding: 0 9px;
    border: 1px solid rgba(213,182,111,.28);
    background: rgba(5,5,5,.28);
    color: #d5b66f;
    font: 900 11.5px/1 "Arial Narrow","Roboto Condensed",Arial,sans-serif;
    letter-spacing: .035em;
    text-align: left;
  }

  .radio-legal-gateway-panel .eisi-mobile-legal-toggle > span:last-child {
    font-size: 19px;
    transform: rotate(0);
    transition: transform .224s ease;
  }

  .radio-legal-gateway-panel .eisi-mobile-legal-toggle[aria-expanded="true"] > span:last-child {
    transform: rotate(90deg);
  }

  .radio-legal-gateway-panel .eisi-mobile-legal-tabs {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 2px 7px;
    padding: 4px 4px 2px 11px;
    border-left: 1px solid rgba(213,182,111,.32);
    background: rgba(7,7,8,.24);
  }

  .radio-legal-gateway-panel .eisi-mobile-legal-tabs[hidden] {
    display: none;
  }

  .radio-legal-gateway-panel .eisi-mobile-legal-tabs button {
    min-height: 25px;
    font-size: 10.8px;
  }

  .radio-legal-gateway-panel .eisi-mobile-about-content {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 12px 14px 34px;
    color: #f0f0f0;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .392s ease .042s,transform .392s cubic-bezier(.2,.72,.2,1) .042s;
    box-sizing: border-box;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body.is-eisi-mobile-about-content-ready .radio-legal-gateway-panel .eisi-mobile-about-tabs,
  body.is-eisi-mobile-about-content-ready .radio-legal-gateway-panel .eisi-mobile-about-content {
    opacity: 1;
    transform: translateY(0);
  }

  .radio-legal-gateway-panel .radio-mobile-info-copy {
    width: 100%;
    margin: 0 auto;
    padding: 5px 0 24px;
  }

  .radio-legal-gateway-panel .radio-mobile-info-body {
    color: rgba(248,248,248,.9);
    font-size: 15px;
    line-height: 1.48;
  }

  body.service-radio-hasera.is-radio-return-landing .radio-mobile-menu-navigation,
  body.service-radiohasera.is-radio-return-landing .radio-mobile-menu-navigation {
    top: var(--radio-eisi-return-start-top);
    bottom: auto !important;
    z-index: 1093;
    opacity: 1;
    transition: none;
  }

  body.service-radio-hasera.is-radio-return-landing.is-radio-return-descending .radio-mobile-menu-navigation,
  body.service-radiohasera.is-radio-return-landing.is-radio-return-descending .radio-mobile-menu-navigation {
    top: var(--radio-eisi-return-end-top);
    transition: top 1.26s cubic-bezier(.45, 0, .55, 1);
  }

  body.is-radio-return-landing .radio-mobile-service-link {
    opacity: 0;
    pointer-events: none;
  }

  .radio-return-background-curtain {
    position: fixed;
    inset: 0;
    z-index: 1092;
    display: block;
    background: #000;
    opacity: 1;
    pointer-events: none;
    transition: opacity 1.085s cubic-bezier(.4, 0, .2, 1);
  }

  body.is-radio-return-background-revealing .radio-return-background-curtain {
    opacity: 0;
  }

  body.service-radio-hasera.is-radio-return-pending::after,
  body.service-radiohasera.is-radio-return-pending::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1092;
    display: block;
    background: #000;
    pointer-events: none;
  }

  body.service-radio-hasera.is-radio-return-pending .radio-mobile-menu-navigation,
  body.service-radiohasera.is-radio-return-pending .radio-mobile-menu-navigation {
    top: 64px;
    bottom: auto !important;
    z-index: 1093;
  }

  body.is-radio-return-pending .radio-mobile-service-link {
    opacity: 0;
  }

  body.service-radio-hasera.is-radio-eisi-menu-closing .radio-mobile-menu-navigation,
  body.service-radiohasera.is-radio-eisi-menu-closing .radio-mobile-menu-navigation {
    top: var(--radio-eisi-nav-start-top);
  }

  body.service-radio-hasera.is-radio-eisi-menu-active.is-radio-mobile-menu-open .radio-mobile-menu-navigation,
  body.service-radiohasera.is-radio-eisi-menu-active.is-radio-mobile-menu-open .radio-mobile-menu-navigation {
    opacity: 0;
    pointer-events: none;
  }

  .radio-eisi-mobile-primary-menu {
    position: absolute;
    z-index: 3;
    left: 50%;
  top: calc(53px - 2mm);
    display: flex !important;
    align-items: center;
    justify-content: center;
    justify-content: space-between;
    gap: 0;
    width: calc(100vw - 10mm);
    height: 32px;
    box-sizing: border-box;
    padding-inline: 5mm;
    pointer-events: none;
    visibility: visible !important;
    transform: translateX(-50%);
  }

  body.service-radio-hasera .radio-mobile-menu-toggle::after,
  body.service-radiohasera .radio-mobile-menu-toggle::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: 62px;
    height: 20px;
    border-radius: 999px;
    background: linear-gradient(180deg, #fff 0%, #fff 42%, #f4f7ff 100%);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.72);
  }

  .radio-eisi-mobile-primary-menu::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    height: 32px;
    background: rgba(4, 4, 4, .5);
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: opacity .406s ease, transform .546s cubic-bezier(.22, .72, .18, 1);
  }

  body.is-radio-eisi-menu-backdrop-ready .radio-eisi-mobile-primary-menu::before {
    opacity: 1;
    transform: scaleX(1);
  }

  .radio-eisi-mobile-primary-menu > a,
  .radio-eisi-mobile-primary-menu > button {
    position: relative;
    z-index: 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 0;
    height: 28px;
    padding: 0;
    border: 0;
    outline: 0;
    color: rgba(255, 255, 255, 0);
    background: transparent;
    font-family: "Arial Narrow", "Roboto Condensed", "Aptos Narrow", Arial, sans-serif !important;
    font-size: clamp(14px, 4.1vw, 17px) !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .012em;
    text-decoration: none;
    white-space: nowrap;
    opacity: 0;
    filter: blur(7px);
    transform: translateX(-13px) translateY(2px);
    text-shadow: 0 0 12px rgba(255, 255, 255, 0);
    transition:
      opacity .644s ease,
      color .644s ease,
      filter .7s ease,
      transform .686s cubic-bezier(.22, .72, .18, 1),
      text-shadow .7s ease;
    cursor: pointer;
    visibility: visible !important;
    -webkit-tap-highlight-color: transparent;
  }

  .radio-eisi-mobile-primary-menu > :nth-child(1),
  .radio-eisi-mobile-primary-menu > :nth-child(3) {
    flex: 0 0 31%;
  }

  .radio-eisi-mobile-primary-menu > :nth-child(1) {
    justify-content: flex-start;
    text-align: left;
  }

  .radio-eisi-mobile-primary-menu > :nth-child(2) {
    flex: 0 0 30%;
    justify-content: center;
    text-align: center;
  }

  .radio-eisi-mobile-primary-menu > :nth-child(3) {
    justify-content: flex-end;
    text-align: right;
  }

  .radio-eisi-mobile-primary-menu.is-authenticated {
    display: block !important;
    width: calc(100vw - 4mm);
    height: 38px;
    padding: 0;
    box-sizing: border-box;
    overflow: visible;
  }

  .radio-eisi-mobile-primary-menu.is-authenticated::before {
    height: 38px;
  }

  .radio-subscriber-swipe-menu {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 7mm minmax(0, 1fr) 7mm;
    align-items: center;
    width: 100%;
    height: 38px;
    opacity: 0;
    filter: blur(7px);
    transition: opacity .644s ease, filter .7s ease;
  }

  .radio-eisi-mobile-primary-menu.is-authenticated > .radio-subscriber-swipe-menu {
    flex: none;
  }

  body.is-radio-eisi-menu-ready .radio-subscriber-swipe-menu {
    opacity: 1;
    filter: blur(0);
    transition-delay: .24s;
  }

  body.is-radio-eisi-menu-closing .radio-subscriber-swipe-menu {
    opacity: 0;
    filter: blur(5px);
    transition-duration: .154s;
    transition-delay: 0s;
  }

  .radio-subscriber-swipe-viewport {
    width: 100%;
    height: 38px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .radio-subscriber-swipe-viewport::-webkit-scrollbar {
    display: none;
  }

  .radio-subscriber-swipe-track {
    display: flex;
    align-items: stretch;
    gap: 5mm;
    width: auto;
    min-width: 100%;
    height: 38px;
    padding-inline: 5mm;
    box-sizing: border-box;
  }

  .radio-subscriber-swipe-track > a,
  .radio-subscriber-swipe-track > form {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    height: 38px;
    margin: 0;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    box-sizing: border-box;
  }

  .radio-subscriber-swipe-track > a,
  .radio-subscriber-swipe-track > form > button,
  .radio-subscriber-swipe-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 38px;
    padding: 0 .8mm;
    border: 0;
    color: rgba(255, 255, 255, .5);
    background: transparent;
    font-family: "Arial Narrow", "Roboto Condensed", "Aptos Narrow", Arial, sans-serif;
    font-size: clamp(15px, 4.575vw, 18px);
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .radio-eisi-mobile-primary-menu.is-authenticated .radio-subscriber-swipe-track > a,
  .radio-eisi-mobile-primary-menu.is-authenticated .radio-subscriber-swipe-track > form > button {
    font-size: clamp(15px, 4.575vw, 18px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .radio-eisi-mobile-primary-menu.is-authenticated .radio-subscriber-swipe-track > a,
  .radio-eisi-mobile-primary-menu.is-authenticated .radio-subscriber-swipe-track > form {
    flex: 0 0 fit-content;
    width: fit-content !important;
    min-width: fit-content;
  }

  .radio-eisi-mobile-primary-menu.is-authenticated .radio-subscriber-swipe-track > form > button {
    width: fit-content !important;
    min-width: max-content;
  }

  .radio-subscriber-swipe-arrow {
    position: relative;
    z-index: 3;
    padding: 0;
    color: rgba(255, 255, 255, .82);
    font-family: "Arial Black", "Roboto Condensed", Arial, sans-serif;
    font-size: clamp(16px, 4.7vw, 20px);
    font-weight: 900;
    letter-spacing: -.08em;
    -webkit-text-stroke: .25px currentColor;
    text-shadow: 0 0 .35px currentColor;
    background: rgba(4, 4, 4, .32);
  }

  .radio-subscriber-swipe-arrow:disabled {
    opacity: .28;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-active .www-index-emitter,
  body.is-radio-club-authenticated.is-radio-eisi-menu-active .emitter-player-layer,
  body.is-radio-club-authenticated.is-radio-eisi-menu-active [data-radio-genre] {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.is-radio-eisi-menu-ready .radio-eisi-mobile-primary-menu {
    pointer-events: auto;
  }

  body.is-radio-eisi-menu-ready .radio-eisi-mobile-primary-menu > a,
  body.is-radio-eisi-menu-ready .radio-eisi-mobile-primary-menu > button {
    color: rgba(255, 255, 255, .5) !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: blur(0) !important;
    transform: translateX(0) translateY(0) !important;
    text-shadow: 0 0 4px rgba(255, 255, 255, .08), 0 1px 3px rgba(0, 0, 0, .9);
  }

  body.is-radio-eisi-menu-ready .radio-eisi-mobile-primary-menu > :nth-child(1) { transition-delay: .04s; }
  body.is-radio-eisi-menu-ready .radio-eisi-mobile-primary-menu > :nth-child(2) { transition-delay: .12s; }
  body.is-radio-eisi-menu-ready .radio-eisi-mobile-primary-menu > :nth-child(3) { transition-delay: .20s; }
  body.is-radio-eisi-menu-ready .radio-eisi-mobile-primary-menu > :nth-child(4) { transition-delay: .28s; }

  body.is-radio-eisi-menu-closing .radio-eisi-mobile-primary-menu > a,
  body.is-radio-eisi-menu-closing .radio-eisi-mobile-primary-menu > button {
    opacity: 0;
    filter: blur(5px);
    transition-duration: .154s;
    transition-delay: 0s;
  }

  .radio-eisi-mobile-primary-menu > .is-radio-command-confirmed {
    animation: radio-eisi-command-confirm .504s ease-out both !important;
  }

  body.is-radio-eisi-menu-backdrop-ready .radio-mobile-menu-navigation::before {
    opacity: 1;
    transition: opacity .504s ease;
  }

  body.is-radio-eisi-links-hiding .radio-mobile-service-link,
  body.is-radio-eisi-menu-backdrop-ready .radio-mobile-service-link {
    opacity: 0;
    pointer-events: none;
    transition: opacity .476s ease;
  }

  body.is-radio-eisi-links-returning .radio-mobile-service-link-left {
    animation: radio-eisi-link-return-left .476s cubic-bezier(.22, .72, .18, 1) both;
  }

  body.is-radio-eisi-links-returning .radio-mobile-service-link-right {
    animation: radio-eisi-link-return-right .476s cubic-bezier(.22, .72, .18, 1) both;
  }

  body.service-radio-hasera.is-radio-eisi-emitter-hiding .www-index-emitter,
body.service-radio-hasera.is-radio-eisi-emitter-hiding .emitter-player-layer,
body.service-radiohasera.is-radio-eisi-emitter-hiding .www-index-emitter,
body.service-radiohasera.is-radio-eisi-emitter-hiding .emitter-player-layer {
  opacity: .001 !important;
  visibility: visible !important;
  pointer-events: none !important;
  backface-visibility: hidden;
  will-change: opacity;
  transition: opacity .63s cubic-bezier(.4, 0, .2, 1) !important;
}

body.service-radio-hasera.is-radio-legal-background-returning .www-index-emitter,
body.service-radio-hasera.is-radio-legal-background-returning .emitter-player-layer,
body.service-radiohasera.is-radio-legal-background-returning .www-index-emitter,
body.service-radiohasera.is-radio-legal-background-returning .emitter-player-layer {
  opacity: .8 !important;
  visibility: visible !important;
  pointer-events: none !important;
  backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 1.05s cubic-bezier(.4, 0, .2, 1) !important;
}

body.service-radio-hasera.is-radio-eisi-icons-hiding .public-social,
body.service-radiohasera.is-radio-eisi-icons-hiding .public-social,
body.service-radio-hasera.is-radio-eisi-icons-hiding [data-radio-genre],
  body.service-radiohasera.is-radio-eisi-icons-hiding [data-radio-genre] {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  transition: opacity .364s cubic-bezier(.4, 0, .2, 1) .07s, visibility 0s linear .434s !important;
}

body.service-radio-hasera.is-radio-eisi-icons-returning .public-social,
body.service-radiohasera.is-radio-eisi-icons-returning .public-social,
body.service-radio-hasera.is-radio-eisi-icons-returning [data-radio-genre],
body.service-radiohasera.is-radio-eisi-icons-returning [data-radio-genre] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: opacity .546s cubic-bezier(.4, 0, .2, 1), visibility 0s linear 0s !important;
}

body.service-radio-hasera.is-radio-mobile-access-page .public-social,
  body.service-radiohasera.is-radio-mobile-access-page .public-social,
  body.service-radio-hasera.is-radio-mobile-access-page [data-radio-genre],
  body.service-radiohasera.is-radio-mobile-access-page [data-radio-genre] {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-active.service-radio-hasera [data-radio-genre],
  body.is-radio-club-authenticated.is-radio-eisi-menu-active.service-radiohasera [data-radio-genre] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.is-radio-club-authenticated.is-radio-listening-genres-ready .radio-mobile-genres {
    top: var(--radio-mobile-genres-top, 84px) !important;
  }

  body.is-radio-club-authenticated.is-radio-listening-genres-ready [data-radio-genre] {
    display: grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: opacity .7s cubic-bezier(.4, 0, .2, 1), visibility 0s linear 0s !important;
  }

  body.is-radio-club-authenticated.is-radio-listening-genres-ready [data-radio-genre].is-loading {
    animation: radio-phone-genre-loading .72s ease-in-out infinite alternate;
  }

  @keyframes radio-phone-genre-loading {
    from { filter: brightness(.82); transform: scale(.98); }
    to { filter: brightness(1.28); transform: scale(1.045); }
  }

  body.is-radio-club-authenticated.is-radio-listening-ready .www-index-emitter,
  body.is-radio-club-authenticated.is-radio-listening-ready .emitter-player-layer {
    opacity: .8 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: opacity 1.05s cubic-bezier(.4, 0, .2, 1) !important;
  }

  body.is-radio-eisi-nav-glow .radio-mobile-menu-toggle::after {
    animation: radio-eisi-mobile-menu-halo .406s ease-out both;
  }

  body.is-radio-eisi-menu-ready .radio-mobile-menu-toggle {
    pointer-events: auto !important;
  }

  body:is(.is-radio-subscriber-descending, .is-radio-subscriber-bottom-ready, .is-radio-subscriber-ascending) .radio-mobile-menu-navigation {
    bottom: auto !important;
    opacity: 1 !important;
  }

  body:is(.is-radio-subscriber-descending, .is-radio-subscriber-ascending) .radio-mobile-menu-navigation {
    transition: top .805s cubic-bezier(.4, 0, .2, 1), opacity .322s ease !important;
  }

  body:is(.is-radio-subscriber-descending, .is-radio-subscriber-ascending) .radio-mobile-menu-toggle,
  body:is(.is-radio-subscriber-descending, .is-radio-subscriber-ascending) .radio-eisi-mobile-primary-menu {
    pointer-events: none !important;
  }

  body.is-radio-subscriber-bottom-ready .radio-eisi-mobile-primary-menu {
    pointer-events: auto !important;
  }

  body.is-radio-subscriber-bottom-ready .radio-mobile-menu-navigation::before {
    z-index: 0 !important;
    opacity: 1 !important;
  }

  body.is-radio-subscriber-bottom-ready .radio-eisi-mobile-primary-menu::before {
    top: 1mm !important;
    bottom: 1mm !important;
    height: auto !important;
  }

  body.is-radio-club-authenticated .radio-club-nonstop-module {
    display: block;
    width: 100%;
  }

  body.is-radio-club-authenticated [data-club-scene]:has(> .radio-club-nonstop-module) > .radio-club-mobile-section-title {
    display: none;
  }

  body.is-radio-club-authenticated [data-club-scene="premiere"] > :is(.club-premiere-empty, .club-premiere-stage),
  body.is-radio-club-authenticated [data-club-scene="favorites"] > [data-club-favorites-library],
  body.is-radio-club-authenticated [data-club-scene="playlists"] > .club-playlist-desktop-fallback {
    display: none !important;
  }

  body.is-radio-club-authenticated [data-club-scene="playlists"] > .radio-club-mobile-section-title:has(+ .club-personal-mobile-only) {
    display: none;
  }

  body.is-radio-club-authenticated [data-club-scene="playlists"] .club-personal-covers .hma-album-gallery {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 0 12px;
  }

  body.is-radio-club-authenticated [data-club-scene="playlists"] .club-personal-covers .hma-gallery-head {
    min-height: 0;
    margin: 0 0 18px;
    text-align: center;
  }

  body.is-radio-club-authenticated [data-club-scene="playlists"] .club-personal-covers .hma-gallery-head h1 {
    margin: 0;
    font-size: clamp(25px, 8vw, 34px);
  }

  body.is-radio-club-authenticated .radio-club-playlist-discography {
    display: grid;
    width: 100vw;
    max-width: 100vw;
    gap: 0;
    margin: 0 calc(50% - 50vw);
    padding: 34px 20px 36px;
    background: #050505;
  }

  body.is-radio-club-authenticated .radio-playlist-album {
    position: relative;
    display: grid;
    justify-items: center;
    width: 100%;
    padding: 0 0 28px;
    border-top: 1px solid rgba(255, 255, 255, .18);
  }

  body.is-radio-club-authenticated .radio-playlist-album-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px 72px;
    align-items: center;
    width: min(calc(100vw - 82px), 351px);
    min-height: 58px;
    padding-inline: 5mm;
    box-sizing: border-box;
    color: #d4d4d4;
    font: 900 clamp(17px, 5.5vw, 25px)/1 Arial, sans-serif;
    text-transform: uppercase;
  }

  body.is-radio-club-authenticated .radio-playlist-album-meta strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.is-radio-club-authenticated .radio-playlist-album-meta span {
    text-align: center;
    white-space: nowrap;
  }

  body.is-radio-club-authenticated .radio-playlist-album-meta span:last-child {
    text-align: right;
  }

  body.is-radio-club-authenticated .radio-playlist-album-cover {
    display: grid;
    width: min(calc(100vw - 82px), 351px);
    padding: 0;
    border: 0;
    border-radius: 3px;
    overflow: hidden;
    background: #111;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .48);
    cursor: pointer;
    touch-action: manipulation;
  }

  body.is-radio-club-authenticated .radio-playlist-album-cover img,
  body.is-radio-club-authenticated .radio-playlist-album-cover .club-playlist-empty-cover {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }

  body.is-radio-club-authenticated .radio-playlist-album-expansion {
    width: 100vw;
    max-width: 100vw;
    margin: 18px calc(50% - 50vw) 0;
    overflow: hidden;
  }

  body.is-radio-club-authenticated .radio-playlist-album.is-open > .radio-playlist-album-expansion {
    animation: radio-playlist-expand-down .42s cubic-bezier(.22, .72, .18, 1) both;
    transform-origin: top center;
  }

  @keyframes radio-playlist-expand-down {
    from {
      opacity: 0;
      clip-path: inset(0 0 100% 0);
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      clip-path: inset(0);
      transform: translateY(0);
    }
  }

  body.is-radio-club-authenticated .radio-playlist-track-rail {
    --radio-playlist-track-size: min(32.2vw, 145px);
    display: flex;
    width: 100%;
    gap: 11px;
    padding-block: 8px 12px;
    padding-inline: max(
      12px,
      calc(
        (100vw - (
          var(--radio-playlist-track-count) * var(--radio-playlist-track-size)
          + (var(--radio-playlist-track-count) - 1) * 11px
        )) / 2
      )
    );
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }

  body.is-radio-club-authenticated .radio-playlist-track-rail::-webkit-scrollbar {
    display: none;
  }

  body.is-radio-club-authenticated .radio-playlist-track {
    flex: 0 0 var(--radio-playlist-track-size);
    padding: 3px;
    border: 2px solid transparent;
    background: #080808;
    scroll-snap-align: start;
  }

  body.is-radio-club-authenticated .radio-playlist-track img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }

  body.is-radio-club-authenticated .radio-playlist-track.is-active {
    border-color: #d7b95f;
    box-shadow: 0 0 17px rgba(215, 185, 95, .42);
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player {
    position: relative;
    display: grid;
    justify-items: center;
    width: 100vw;
    max-width: 100vw;
    margin: 5mm calc(50% - 50vw) 0;
    padding: 0;
    isolation: isolate;
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player::after {
    content: "";
    display: block;
    width: calc(100vw - 40px);
    margin-top: 5mm;
    border-top: 1px solid rgba(255, 255, 255, .22);
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player .club-personal-backdrop {
    display: none !important;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-active:has([data-club-scene="playlists"]:not([hidden])) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-active:has([data-club-scene="cancel"]:not([hidden])) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-active:has([data-club-scene="club"]:not([hidden])) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-active:has([data-club-scene="settings"]:not([hidden])) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body.is-radio-club-authenticated [data-club-scene="settings"] {
    width: calc(100vw - 40px);
    max-width: 820px;
    margin: 34px auto 0;
    padding-bottom: 48px;
    touch-action: pan-y;
  }

  body.is-radio-club-authenticated [data-club-scene="settings"] :is(
    .radio-club-settings-tabs,
    .club-quality,
    .club-settings-access,
    form,
    input,
    button,
    a,
    label
  ) {
    position: relative;
    z-index: 5;
    pointer-events: auto;
  }

  body.is-radio-club-authenticated .radio-club-settings-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin: 0 0 18px;
    border-top: 1px solid rgba(255, 255, 255, .24);
    border-bottom: 1px solid rgba(255, 255, 255, .24);
    background: rgba(8, 8, 8, .62);
  }

  body.is-radio-club-authenticated .radio-club-settings-tabs a {
    display: grid;
    place-items: center;
    min-height: 44px;
    padding: 8px 10px;
    color: rgba(255, 255, 255, .72);
    font: 900 14px/1.15 "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
    text-align: center;
    text-decoration: none;
    touch-action: manipulation;
  }

  body.is-radio-club-authenticated .radio-club-settings-tabs a + a {
    border-left: 1px solid rgba(255, 255, 255, .18);
  }

  body.is-radio-club-authenticated .radio-club-settings-tabs a[aria-current="page"] {
    color: #e6cc76;
    background: rgba(36, 30, 13, .46);
  }

  body.is-radio-club-authenticated [data-club-scene="settings"] .club-quality {
    width: 100%;
    touch-action: pan-y;
  }

  body.is-radio-club-authenticated [data-club-scene="settings"] .club-quality-form,
  body.is-radio-club-authenticated [data-club-scene="settings"] .club-quality-intro,
  body.is-radio-club-authenticated [data-club-scene="settings"] .club-quality-how {
    padding: 18px;
  }

  body.is-radio-club-authenticated [data-club-scene="settings"] .club-settings-access {
    display: block;
    width: 100%;
    min-height: 0;
    margin: 0;
  }

  body.is-radio-club-authenticated [data-club-scene="settings"] .club-settings-access .club-login-intro {
    display: none;
  }

  body.is-radio-club-authenticated [data-club-scene="settings"] .club-settings-access .club-login-card {
    width: 100%;
    margin: 0;
    padding: 24px 18px 30px;
  }

  body.is-radio-club-authenticated [data-club-scene="settings"] .club-field input {
    min-height: 50px;
    font-size: 16px;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-active:has(.club-login.is-plan-stage) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body.is-radio-club-authenticated .club-login.is-plan-stage {
    margin-top: 34px;
    padding-bottom: 48px;
    touch-action: pan-y;
  }

  body.is-radio-club-authenticated .club-login.is-plan-stage :is(
    .club-offer-card,
    .club-offer-summary,
    .club-payment-methods,
    form,
    input,
    button,
    a,
    label
  ) {
    position: relative;
    z-index: 5;
    pointer-events: auto;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] {
    width: calc(100vw - 40px);
    max-width: 820px;
    margin: 34px auto 0;
    padding-bottom: 48px;
    touch-action: pan-y;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] :is(
    .club-current-plan,
    .club-manage-intro,
    .club-plan-pending,
    .club-manage-grid,
    .club-listener-spaces,
    .club-manage-legal
  ) {
    position: relative;
    z-index: 5;
    pointer-events: auto;
    touch-action: pan-y;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] :is(
    form,
    input,
    button,
    a,
    label,
    summary
  ) {
    pointer-events: auto;
    touch-action: manipulation;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] .club-current-plan {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 18px;
    padding: 21px 18px;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] .club-current-plan h1 {
    font-size: 32px;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] .club-current-plan-badge {
    justify-self: start;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] .club-manage-intro {
    margin-bottom: 18px;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] .club-manage-grid {
    gap: 18px;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] .club-offer-card {
    min-height: 0;
    padding: 22px 20px;
  }

  body.is-radio-club-authenticated [data-club-scene="club"] .club-offer-select {
    width: 100%;
    min-height: 52px;
  }

  body.is-radio-club-authenticated [data-club-scene="cancel"] {
    width: calc(100vw - 40px);
    max-width: 820px;
    margin: 34px auto 0;
    padding-bottom: 42px;
    touch-action: pan-y;
  }

  body.is-radio-club-authenticated [data-club-scene="cancel"] :is(
    .club-cancel-header,
    .club-cancel-status,
    .club-cancel-steps,
    .club-cancel-form,
    .club-manage-legal
  ) {
    position: relative;
    z-index: 5;
    pointer-events: auto;
    touch-action: pan-y;
  }

  body.is-radio-club-authenticated [data-club-scene="cancel"] :is(
    input,
    button,
    a,
    label
  ) {
    pointer-events: auto;
    touch-action: manipulation;
  }

  body.is-radio-club-authenticated [data-club-scene="cancel"] .club-danger {
    width: 100%;
    min-height: 52px;
  }

  body.is-radio-club-authenticated [data-club-scene="playlists"],
  body.is-radio-club-authenticated [data-club-scene="playlists"] .radio-club-playlist-discography,
  body.is-radio-club-authenticated [data-club-scene="playlists"] .radio-playlist-album,
  body.is-radio-club-authenticated [data-club-scene="playlists"] .radio-playlist-inline-player,
  body.is-radio-club-authenticated [data-club-scene="playlists"] .radio-playlist-inline-player * {
    touch-action: pan-y !important;
  }

  body.is-radio-club-authenticated [data-club-scene="playlists"] .radio-playlist-track-rail,
  body.is-radio-club-authenticated [data-club-scene="playlists"] .radio-playlist-track-rail * {
    touch-action: pan-x pan-y !important;
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player[hidden],
  body.is-radio-club-authenticated .radio-playlist-album-expansion[hidden] {
    display: none !important;
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player .club-personal-weflons,
  body.is-radio-club-authenticated .radio-playlist-inline-player .club-personal-shared-tools {
    position: relative;
    z-index: 2;
    width: min(335px, 88vw);
    margin-inline: auto;
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player .club-personal-shared-tools {
    width: min(403px, 100vw) !important;
    margin-top: -8px !important;
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player .club-premiere-tool {
    min-height: 72px;
    padding: 10px 8px;
    font-size: 14px;
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player .club-premiere-tool svg {
    width: 35px;
    height: 35px;
  }

  body.is-radio-club-authenticated .radio-playlist-inline-player .club-premiere-tool small {
    font-size: 10px;
  }

  body.is-radio-club-authenticated .radio-playlist-pagination {
    display: flex;
    justify-content: center;
    gap: 9px;
    width: 100%;
    padding: 8px 0 2px;
    border-top: 1px solid rgba(255, 255, 255, .18);
  }

  body.is-radio-club-authenticated .radio-playlist-pagination a {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(215, 185, 95, .45);
    color: #c7c7c7;
    background: #090909;
    font: 900 14px/1 Arial, sans-serif;
    text-decoration: none;
  }

  body.is-radio-club-authenticated .radio-playlist-pagination a[aria-current="page"] {
    color: #111;
    background: #d7b95f;
  }

  body.is-radio-club-authenticated .radio-club-nonstop-module .club-personal-player {
    width: 100vw;
    max-width: 100vw;
    margin: 0 calc(50% - 50vw);
    min-height: 0;
    padding: 14px 0 3px;
    place-items: center;
    align-content: start;
    justify-content: center;
  }

  body.is-radio-club-authenticated .radio-club-nonstop-module .club-personal-weflons,
  body.is-radio-club-authenticated .radio-club-nonstop-module .club-personal-shared-tools {
    top: 0;
    width: min(190px, 58vw);
  }

  body.is-radio-club-authenticated .radio-club-nonstop-module .club-personal-shared-tools {
    min-height: 42px;
    margin: calc(-4px - 3mm) auto 0 !important;
  }

  body.is-radio-club-authenticated .radio-club-nonstop-module .club-premiere-tool {
    min-height: 42px;
    padding-block: 2px;
  }

  body.is-radio-club-authenticated .radio-club-nonstop-module .club-personal-track-strip {
    position: fixed;
    z-index: 70;
    right: 0;
    bottom: 5mm;
    left: 0;
    top: auto;
    width: 100vw;
    gap: 9px;
    margin: 0;
    padding: 3px 12px 4px;
    background: transparent;
  }

  body.is-radio-club-authenticated .radio-club-nonstop-module .club-personal-track {
    flex-basis: 21vw;
    min-width: 73px;
    padding: 2px;
  }

  body.is-radio-club-authenticated [data-radio-club-nonstop-module="favorites"] .club-personal-player {
    margin-top: -36px;
    padding-top: 18px;
  }

  body.is-radio-club-authenticated :is(
    [data-radio-club-nonstop-module="favorites"],
    [data-radio-club-nonstop-module="premiere"]
  ) .club-personal-weflons,
  body.is-radio-club-authenticated :is(
    [data-radio-club-nonstop-module="favorites"],
    [data-radio-club-nonstop-module="premiere"]
  ) .club-personal-shared-tools {
    width: min(247px, 72vw);
  }

  body.is-radio-club-authenticated :is(
    [data-radio-club-nonstop-module="favorites"],
    [data-radio-club-nonstop-module="premiere"]
  ) .club-personal-shared-tools,
  body.is-radio-club-authenticated :is(
    [data-radio-club-nonstop-module="favorites"],
    [data-radio-club-nonstop-module="premiere"]
  ) .club-premiere-tool {
    min-height: 55px;
  }

  body.is-radio-club-authenticated [data-radio-club-nonstop-module="premiere"] .club-personal-weflons,
  body.is-radio-club-authenticated [data-radio-club-nonstop-module="premiere"] .club-personal-shared-tools {
    width: min(284px, 82.8vw);
  }

  body.is-radio-club-authenticated [data-radio-club-nonstop-module="premiere"] .club-personal-shared-tools,
  body.is-radio-club-authenticated [data-radio-club-nonstop-module="premiere"] .club-premiere-tool {
    min-height: 63px;
  }

  body.is-radio-club-authenticated:is(.is-radio-subscriber-top-ready) .radio-mobile-menu-navigation {
    position: fixed !important;
    bottom: auto !important;
    top: var(--radio-eisi-nav-target-top, 102px) !important;
  }

  /*
   * The authenticated top position is a stable, ready-to-use menu state.
   * Cement the finished frame so a completed navigation animation cannot
   * leave the backdrop or labels in an intermediate transparent state.
   */
  body.is-radio-club-authenticated.is-radio-eisi-menu-ready .radio-eisi-mobile-primary-menu::before,
  body.is-radio-club-authenticated.is-radio-subscriber-top-ready .radio-eisi-mobile-primary-menu::before {
    opacity: 1 !important;
    transform: scaleX(1) !important;
    transition: none !important;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-ready .radio-subscriber-swipe-menu,
  body.is-radio-club-authenticated.is-radio-subscriber-top-ready .radio-subscriber-swipe-menu {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    pointer-events: auto !important;
    transition: none !important;
  }

  body.is-radio-club-authenticated.is-radio-eisi-menu-ready .radio-mobile-service-link,
  body.is-radio-club-authenticated.is-radio-eisi-menu-ready .radio-mobile-history,
  body.is-radio-club-authenticated.is-radio-subscriber-top-ready .radio-mobile-service-link,
  body.is-radio-club-authenticated.is-radio-subscriber-top-ready .radio-mobile-history {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.is-radio-club-authenticated .radio-subscriber-swipe-track > a.is-current,
  body.is-radio-club-authenticated .radio-subscriber-swipe-track > a[aria-current="page"] {
    color: #e6cc76 !important;
    text-shadow: 0 0 8px rgba(230, 204, 118, .38);
  }

  body.is-radio-club-authenticated [data-club-scene="favorites"] > .radio-club-playlist-creator-toggle {
    display: grid !important;
    width: calc(100vw - 40px);
    min-height: 42px;
    margin: 8px calc(50% - 50vw + 20px) 12px;
    border-top-color: rgba(255, 255, 255, .24);
    border-bottom-color: rgba(255, 255, 255, .24);
    background: transparent;
    font-size: clamp(16px, 4.8vw, 21px);
    transform: translateY(-3mm);
  }

  body.is-radio-club-authenticated [data-club-scene="favorites"] > .club-playlist-creator {
    width: calc(100vw - 40px);
    margin-inline: calc(50% - 50vw + 20px);
    border-radius: 0;
  }

  body.is-radio-club-authenticated [data-club-scene="favorites"] > .club-playlist-creator.is-radio-mobile-open {
    position: relative;
    z-index: 100;
    isolation: isolate;
    margin-inline: calc(50% - 50vw + 20px);
    padding: 14px;
    overflow: visible;
    opacity: 1;
    background: #0d0d0d !important;
    filter: none !important;
    backdrop-filter: none !important;
    pointer-events: auto;
  }

  @keyframes radio-eisi-mobile-menu-halo {
    0% {
      opacity: 0;
      box-shadow: 0 0 0 rgba(255, 255, 255, 0);
      filter: blur(0) brightness(1);
      transform: translate(-50%, -50%) scale(.72);
    }
    42% {
      opacity: .884;
      box-shadow:
        0 0 9px 2px rgba(255, 255, 255, .845),
        0 0 29px 10px rgba(218, 231, 255, .39);
      filter: blur(1.4px) brightness(2.21);
      transform: translate(-50%, -50%) scale(1.13);
    }
    100% {
      opacity: 0;
      box-shadow: 0 0 24px rgba(255, 255, 255, 0);
      filter: blur(5px) brightness(1);
      transform: translate(-50%, -50%) scale(1.34);
    }
  }

  @keyframes radio-eisi-link-return-left {
    from { opacity: 0; transform: translateX(-14px); }
    to { opacity: 1; transform: translateX(0); }
  }

  @keyframes radio-eisi-link-return-right {
    from { opacity: 0; transform: translateX(14px); }
    to { opacity: 1; transform: translateX(0); }
  }

  @keyframes radio-eisi-command-confirm {
    0% {
      color: rgba(255, 255, 255, .5);
      text-shadow: 0 0 0 rgba(255, 255, 255, 0);
      filter: brightness(1);
    }
    46% {
      color: #fff;
      text-shadow: 0 0 8px rgba(255, 255, 255, .95), 0 0 24px rgba(222, 235, 255, .72);
      filter: brightness(2.1);
    }
    100% {
      color: rgba(255, 255, 255, .5);
      text-shadow: 0 0 0 rgba(255, 255, 255, 0);
      filter: brightness(1);
    }
  }

}

@media (max-width: 699px) and (prefers-reduced-motion: reduce) {
  body.is-radio-eisi-menu-backdrop-ready .radio-mobile-service-link {
    transition-duration: .112s !important;
  }
}

/* Radio phone, authenticated NON STOP only: close the visual INDEX beneath
 * the player by making the already-open player layer fully opaque. */
@media (max-width: 699px) {
  body.service-radio-hasera:not(.service-dj-hasera):not(.service-djhasera).is-www-index-shell.is-emitter-player-open:is(.is-radio-club-authenticated, .is-club-authenticated) .emitter-player-layer,
  body.service-radiohasera:not(.service-dj-hasera):not(.service-djhasera).is-www-index-shell.is-emitter-player-open:is(.is-radio-club-authenticated, .is-club-authenticated) .emitter-player-layer {
    opacity: 1 !important;
    background-color: #080808 !important;
  }

  body.service-radio-hasera:not(.service-dj-hasera):not(.service-djhasera).is-www-index-shell.is-emitter-player-open:is(.is-radio-club-authenticated, .is-club-authenticated) main.www-index-main,
  body.service-radio-hasera:not(.service-dj-hasera):not(.service-djhasera).is-www-index-shell.is-emitter-player-open:is(.is-radio-club-authenticated, .is-club-authenticated) .www-index-emitter,
  body.service-radiohasera:not(.service-dj-hasera):not(.service-djhasera).is-www-index-shell.is-emitter-player-open:is(.is-radio-club-authenticated, .is-club-authenticated) main.www-index-main,
  body.service-radiohasera:not(.service-dj-hasera):not(.service-djhasera).is-www-index-shell.is-emitter-player-open:is(.is-radio-club-authenticated, .is-club-authenticated) .www-index-emitter {
    display: none !important;
  }
}

/* Phone NON STOP rail: use the exact INDEX cover matrix so five covers and
 * the menu keep the same spacing in both scenes. */
@media (max-width: 699px) {
  body:is(.service-radio-hasera, .service-radiohasera, .service-dj-hasera, .service-djhasera) {
    --radio-player-rail-size: clamp(59px, 18.7vw, 77px);
    --radio-player-rail-bottom: 5mm;
    --radio-player-toggle-bottom: calc(5mm + clamp(59px, 18.7vw, 77px) + 5px);
    --radio-player-menu-bottom: calc(5mm + clamp(59px, 18.7vw, 77px) + 18px);
  }

  body:is(.service-radio-hasera, .service-radiohasera, .service-dj-hasera, .service-djhasera) .emitter-player-layer .emitter-player-rail {
    left: 0;
    right: 0;
    bottom: 5mm;
    width: auto;
    gap: 8px;
    padding: 0;
    justify-content: flex-start;
  }

  body:is(.service-radio-hasera, .service-radiohasera, .service-dj-hasera, .service-djhasera) .emitter-player-layer .emitter-player-rail button {
    flex: 0 0 clamp(59px, 18.7vw, 77px);
    width: clamp(59px, 18.7vw, 77px);
    min-width: clamp(59px, 18.7vw, 77px);
    height: clamp(59px, 18.7vw, 77px);
  }
}
