/* Radio Player UK — compact Android announcement, entirely component-scoped.
   No overlay, page dimming, scroll locking or global font modifications. */
#rpukAppLaunchNotice,
#rpukAppLaunchNotice * { box-sizing: border-box; }
#rpukAppLaunchNotice[hidden] { display: none !important; }

#rpukAppLaunchNotice {
    position: fixed;
    z-index: 10050; /* Above site navigation; remains beneath most browser-controlled UI. */
    top: calc(var(--rpuk-header-height, 84px) + 18px);
    right: max(20px, env(safe-area-inset-right));
    width: min(384px, calc(100vw - 28px));
    max-height: calc(100vh - 112px);
    max-height: calc(100dvh - var(--rpuk-header-height, 84px) - 30px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    border: 1px solid #dfe6f1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 48px rgba(6, 17, 48, .23), 0 3px 12px rgba(6,17,48,.07);
    color: #112045;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    animation: rpukNoticeIn 260ms cubic-bezier(.22,.7,.22,1) both;
}
#rpukAppLaunchNotice::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #ed344f, #f35c70 45%, #405dec 100%);
}
#rpukAppLaunchNotice .rpuk-app-notice__inner { padding: 0; }
#rpukAppLaunchNotice .rpuk-app-notice__close {
    position: absolute;
    top: 13px;
    right: 13px;
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    margin: 0;
    padding: 0;
    background: rgba(255,255,255,.11);
    color: #f3f6ff;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 50%;
    cursor: pointer;
    font: inherit;
}
#rpukAppLaunchNotice .rpuk-app-notice__close:hover { background: rgba(255,255,255,.21); color: #fff; }
#rpukAppLaunchNotice :is(a, button):focus-visible {
    outline: 3px solid #3b82f6;
    outline-offset: 3px;
}
#rpukAppLaunchNotice .rpuk-app-notice__topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-height: 69px;
    padding: 12px 48px 12px 19px;
    background: linear-gradient(118deg, #0a1230, #172656);
}
#rpukAppLaunchNotice .rpuk-app-notice__logo {
    display: block;
    width: 99px;
    max-height: 48px;
    height: auto;
    object-fit: contain;
    object-position: left center;
}
#rpukAppLaunchNotice .rpuk-app-notice__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    color: #e5edff;
    font-size: 9px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .025em;
    white-space: nowrap;
}
#rpukAppLaunchNotice .rpuk-app-notice__status span {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #20a67c;
}
#rpukAppLaunchNotice h2 {
    margin: 17px 19px 9px;
    color: #0c1a3c;
    font-family: inherit;
    font-weight: 850;
    font-size: clamp(25px, 2.4vw, 29px);
    line-height: 1.14;
    letter-spacing: -.035em;
}
#rpukAppLaunchNotice h2 span { color: #e83e58; }
#rpukAppLaunchNotice p {
    margin: 0 19px;
    color: #54617a;
    font-family: inherit;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.57;
}
#rpukAppLaunchNotice .rpuk-app-notice__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    margin: 17px 19px 0;
}
#rpukAppLaunchNotice .rpuk-app-notice__download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 11px;
    border: 1px solid #ec3350;
    background: #ee304d;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(233, 44, 73, .16);
    font-family: inherit;
    font-weight: 750;
    font-size: 12px;
    line-height: 1.3;
    text-decoration: none !important;
    transition: background .18s ease, transform .18s ease;
}
#rpukAppLaunchNotice .rpuk-app-notice__download:hover {
    background: #d92745;
    transform: translateY(-1px);
}
#rpukAppLaunchNotice .rpuk-app-notice__download svg { flex: 0 0 auto; }
#rpukAppLaunchNotice .rpuk-app-notice__arrow { font-size: 14px; }
#rpukAppLaunchNotice .rpuk-app-notice__details {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 0;
    color: #27447a !important;
    font-size: 12px;
    line-height: 1.3;
    font-family: inherit;
    font-weight: 700;
    text-decoration: none !important;
}
#rpukAppLaunchNotice .rpuk-app-notice__details:hover { color: #df3350 !important; }
/* Desktop QR: large enough for real-world phone camera scanning.
   The source QR is 684px, so the display is crisp at this size. */
#rpukAppLaunchNotice .rpuk-app-notice__scan {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 19px 20px;
    padding-top: 17px;
    border-top: 1px solid #e9eef6;
}
#rpukAppLaunchNotice .rpuk-app-notice__scan img {
    display: block;
    width: 188px;
    height: 188px;
    flex: 0 0 188px;
    padding: 8px; /* a clear white quiet zone around the code */
    border: 1px solid #dce5f0;
    border-radius: 12px;
    background: #fff;
    object-fit: contain;
}
#rpukAppLaunchNotice .rpuk-app-notice__scan span {
    flex: 1 1 0;
    min-width: 0;
    color: #54617a;
    font-size: 12px;
    line-height: 1.5;
}
#rpukAppLaunchNotice .rpuk-app-notice__scan strong {
    display: block;
    margin-bottom: 7px;
    color: #122246;
    font-size: 13px;
    font-weight: 800;
}
@keyframes rpukNoticeIn {
    from { opacity: 0; transform: translate3d(15px, -5px, 0); }
    to { opacity: 1; transform: translate3d(0,0,0); }
}

/* The site uses a sticky header and sometimes a bottom AdSense anchor.
   Put mobile notice BELOW the header instead of over the bottom ad. */
@media (max-width: 700px) {
    #rpukAppLaunchNotice {
        top: calc(var(--rpuk-header-height, 84px) + 11px + env(safe-area-inset-top));
        right: max(12px, env(safe-area-inset-right));
        left: max(12px, env(safe-area-inset-left));
        width: auto;
        max-height: calc(100vh - 110px);
        max-height: calc(100dvh - var(--rpuk-header-height, 84px) - 22px);
        border-radius: 16px;
    }
    #rpukAppLaunchNotice .rpuk-app-notice__topline { min-height: 59px; padding: 10px 43px 10px 15px; }
    #rpukAppLaunchNotice .rpuk-app-notice__logo { width: 80px; max-height: 41px; }
    #rpukAppLaunchNotice h2 { margin: 13px 17px 8px; font-size: 24px; }
    #rpukAppLaunchNotice p { margin: 0 17px; font-size: 12px; }
    #rpukAppLaunchNotice .rpuk-app-notice__scan { display: none; }
    #rpukAppLaunchNotice .rpuk-app-notice__actions { margin: 13px 17px 16px; }
}
@media (max-width: 350px) {
    #rpukAppLaunchNotice .rpuk-app-notice__status { font-size: 8px; }
    #rpukAppLaunchNotice .rpuk-app-notice__details { padding-left: 2px; }
}
@media (prefers-reduced-motion: reduce) {
    #rpukAppLaunchNotice { animation: none; }
    #rpukAppLaunchNotice .rpuk-app-notice__download { transition: none; }
}
