:root{--app-download-banner-height:0px}
.app-download-banner-space,.app-download-banner{display:none}
.app-download-banner[hidden]{display:none!important}
@media(max-width:640px){
 :root{--app-download-banner-height:calc(56px + env(safe-area-inset-top,0px))}
 .app-download-banner-space{display:block;height:var(--app-download-banner-height);flex:none}
 .app-download-banner-space--closed{height:0}
 .app-download-banner{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;gap:8px;min-height:56px;box-sizing:border-box;padding:calc(6px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 6px max(12px,env(safe-area-inset-left,0px));background:linear-gradient(115deg,#09643f,#164aa6,#7030b2);background-size:240% 100%;animation:app-download-colors 10s ease-in-out infinite;color:#fff;border-bottom:1px solid #ffffff65;box-shadow:0 4px 18px #51129950;font-family:inherit;font-size:14px;line-height:1.4;overflow:hidden;isolation:isolate}
 .app-download-banner::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#ffffff15 45%,#ffffff25 50%,transparent 62%);transform:translateX(-100%);animation:app-download-sheen 7s ease-in-out infinite}
 .app-download-banner__link{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:44px;color:inherit;text-decoration:none;font-size:14px;font-weight:700;line-height:1.4}
 .app-download-banner__link img{flex:none;width:32px;height:32px;object-fit:contain;border-radius:7px}
 .app-download-banner__platforms{margin-inline-start:auto;flex:none;color:#ffffffc9;font-size:14px;font-weight:400;white-space:nowrap}
 .app-download-banner__close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #ffffff40;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:28px;line-height:1}
 .app-download-banner a:focus-visible,.app-download-banner button:focus-visible{outline:2px solid #fff;outline-offset:2px}
 html .site-header{top:var(--app-download-banner-height)}
 .guava-shell--shorts>.app-download-banner-space{position:absolute}
 .guava-shell--shorts{padding-top:var(--app-download-banner-height);box-sizing:border-box}
 .guava-shell--shorts .site-header{top:auto}
 html{scroll-padding-top:calc(90px + var(--app-download-banner-height))}
}
@keyframes app-download-colors{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes app-download-sheen{0%,25%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.app-download-banner,.app-download-banner::before{animation:none}.app-download-banner::before{transform:none}}
@media(max-width:380px){.app-download-banner__platforms{display:none}}
html[data-app-device="apk"],html[data-app-device="webclip"],html[data-app-download-installed="true"]{--app-download-banner-height:0px!important}
html:is([data-app-device="apk"],[data-app-device="webclip"],[data-app-download-installed="true"]) :is(.app-download-banner-space,.app-download-banner){display:none!important}
@media(display-mode:standalone),(display-mode:minimal-ui){
 :root{--app-download-banner-height:0px!important}
 .app-download-banner-space,.app-download-banner{display:none!important}
}

html[data-app-download-runtime]{--app-download-banner-height:0px}.app-download-runtime-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:inherit;white-space:nowrap}.app-download-banner-space .app-download-banner{margin:0}body:has(.peach-shell--viewer,.peachtv-shell--viewer,.yellowflix-shell--viewer,.guava-shell--shorts)>.app-download-banner-space{position:absolute}@media(max-width:760px){.gg-header .app-download-runtime-link{display:none}}

/* Device-aware mobile banner CTA; preserve the site's native primary button. */
@media(max-width:900px){
 .app-download-banner__platforms{display:none}
 .app-download-banner__link>span:not(.app-download-banner__platforms){min-width:0;overflow-wrap:anywhere}
 .app-download-banner .app-download-banner__cta{display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;min-width:84px;min-height:44px;margin:0;font-size:max(14px,1em);line-height:1.3;white-space:nowrap;text-decoration:none;cursor:pointer}
 .app-download-banner__cta.app-download-pending{opacity:.65;cursor:wait}
}
/* Compact mobile APP download banner: 48px row plus the safe-area inset. */
@media(max-width:640px){
 :root{--app-download-banner-height:calc(48px + env(safe-area-inset-top,0px))}
 .app-download-banner{min-height:calc(48px + env(safe-area-inset-top,0px));padding-top:calc(1.5px + env(safe-area-inset-top,0px));padding-bottom:1.5px}
 .app-download-banner .app-download-banner__cta{height:44px;min-height:44px;padding-block:0}
 .app-download-banner a:focus-visible,.app-download-banner button:focus-visible{outline-offset:-3px}
}
@media(display-mode:standalone),(display-mode:minimal-ui){
 :root{--app-download-banner-height:0px!important}
}
/* Compact mobile APP download banner: 48px row plus the safe-area inset. */
@media(max-width:640px){
 :root{--app-download-banner-height:calc(48px + env(safe-area-inset-top,0px))}
 .app-download-banner{min-height:calc(48px + env(safe-area-inset-top,0px));padding-top:calc(1.5px + env(safe-area-inset-top,0px));padding-bottom:1.5px}
 .app-download-banner__link{gap:6px}
 .app-download-banner__link img{width:24px;height:24px;border-radius:6px}
 .app-download-banner .app-download-banner__cta{height:44px;min-height:44px;padding-block:0;padding-inline:12px}
 .app-download-banner a:focus-visible,.app-download-banner button:focus-visible{outline-offset:-3px}
}
@media(display-mode:standalone),(display-mode:minimal-ui){
 :root{--app-download-banner-height:0px!important}
}

/* Slim mobile download controls: 32px visuals with at least a 44px pointer target. */
@media(max-width:640px){
 .app-download-banner .app-download-banner__cta,.app-download-banner .app-download-banner__close{position:relative;box-sizing:border-box;height:32px;min-height:32px;padding-block:0}
 .app-download-banner .app-download-banner__cta::after,.app-download-banner .app-download-banner__close::after{content:"";position:absolute;inset:-7px 0;background:none;border:0;pointer-events:auto}
}
