/* Installation UI only; no player or layout overrides. */
.toptv-pwa-entry { margin: 0 0 18px; text-align: center; flex-basis: 100%; }
.toptv-pwa-entry[hidden] { display: none !important; }
.toptv-pwa-entry button, .toptv-pwa-dialog button {
  appearance: none; font: inherit; cursor: pointer; color: #f4df9b;
  background: #11131c; border: 1px solid #8e7436; border-radius: 999px;
  padding: 10px 18px; min-height: 44px; line-height: 1.4;
}
.toptv-pwa-entry button:hover, .toptv-pwa-dialog button:hover { background: #252219; }
.toptv-pwa-entry button:focus-visible, .toptv-pwa-dialog button:focus-visible { outline: 2px solid #f0cf70; outline-offset: 4px; }
.toptv-pwa-dialog {
  box-sizing: border-box; width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 48px);
  padding: 24px; margin: auto; overflow-y: auto; background: #0c0e17; color: #f5f5f7;
  border: 1px solid #b18c3f; border-radius: 20px; box-shadow: 0 18px 70px #0009;
  font: 16px/1.55 system-ui, sans-serif; text-align: left;
}
.toptv-pwa-dialog::backdrop { background: #000b; }
.toptv-pwa-dialog img { display: block; width: 64px; height: 64px; border-radius: 14px; margin: 0 0 12px; }
.toptv-pwa-dialog h2 { margin: 0 0 12px; color: #f4df9b; font-size: 22px; line-height: 1.3; }
.toptv-pwa-dialog p { margin: 12px 0; }
.toptv-pwa-dialog ol { padding-left: 24px; margin: 16px 0; }
.toptv-pwa-dialog li { padding: 4px 0; }
.toptv-pwa-dialog small { display: block; color: #b9becd; margin: 16px 0; font-size: 13px; }
.toptv-pwa-dialog button { display: block; margin: 18px 0 0 auto; }
/* Approved borderless app presentation, with breathing room around the offers. */
html body footer .toptv-pwa-entry {
  display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:28px;
  width:min(900px,100%);box-sizing:border-box;margin:48px auto 42px;padding:0 8px;
  border:0;background:transparent;box-shadow:none;text-align:left;
}
html body footer .toptv-pwa-entry[hidden] {display:none!important}
.toptv-pwa-app-icon {grid-column:1;grid-row:1;display:block;width:88px;height:88px;border-radius:20px;object-fit:contain}
.toptv-pwa-copy {grid-column:2;grid-row:1;min-width:0}
.toptv-pwa-copy p,.toptv-pwa-copy h2 {margin:0}
.toptv-pwa-copy .toptv-pwa-eyebrow {color:#e7c36e;font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.17em;margin-bottom:5px}
.toptv-pwa-copy .toptv-pwa-headline {color:#f5f5f7;font:700 clamp(20px,2vw,26px)/1.3 system-ui,sans-serif;margin-bottom:6px}
.toptv-pwa-copy .toptv-pwa-description {color:#bcc1cd;font:14px/1.5 system-ui,sans-serif}
html body footer .toptv-pwa-entry > button {
  grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 20px;border:1px solid #f6db83;border-radius:12px;min-height:52px;
  background:linear-gradient(125deg,#fff0a8,#f3cc63 45%,#dfae38);color:#17120a;
  box-shadow:0 4px 20px #d9ac2814;font:700 13px/1.3 system-ui,sans-serif;white-space:nowrap;
}
.toptv-pwa-entry > button::before {content:'↓';font-size:23px;line-height:1}
html body footer .toptv-pwa-entry > button:hover {filter:brightness(1.07)}
@media(max-width:760px) {
  html body footer .toptv-pwa-entry {grid-template-columns:68px minmax(0,1fr);gap:18px;margin:40px auto 36px;padding:0}
  .toptv-pwa-app-icon {width:68px;height:68px;border-radius:16px}
  html body footer .toptv-pwa-entry > button {grid-column:1/-1;grid-row:2;justify-self:center;margin-top:6px}
  .toptv-pwa-copy .toptv-pwa-headline {font-size:20px}
  .toptv-pwa-copy .toptv-pwa-description {font-size:13px}
}
  html body footer .toptv-pwa-entry .toptv-v14-top-globe {
    position:relative;display:inline-block;width:20px;height:20px;margin-left:2px;
    vertical-align:-5px;border-radius:50%;overflow:hidden;flex:none;
    background:radial-gradient(circle at 30% 24%,#80dcf1 0%,#168ec5 34%,#075ca3 67%,#03294e 100%);
    box-shadow:inset -3px -2px 5px #001329,0 0 6px rgba(86,185,232,.36);
  }
  html body footer .toptv-pwa-entry .toptv-v14-top-globe-map {
    position:absolute;inset:0;border-radius:50%;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2296%22%20height%3D%2224%22%20viewBox%3D%220%200%2096%2024%22%3E%3Cpath%20fill%3D%22%2377c881%22%20d%3D%22M6%202l5%201%203-1%204%203-2%203%205%201%204%204-3%202-4-2-2%203-3-1-3-4-4-2%201-3-3-2zM19%2015l5%201%203%203-2%205-3-1-2-4-3-2zM37%204l5-2%204%202%201%204-4%201%203%203-1%207-4%204-2-5-3-3%201-4-3-3zM50%204l8-3%207%202%206-1%209%203-2%204-7-1-2%204-7%201-3%203-4-3-5%201-4-4zM73%2017l6-2%208%203%203%204-4%202-8-1-5-3z%22%2F%3E%3Cpath%20fill%3D%22%23b8dc91%22%20opacity%3D%22.8%22%20d%3D%22M9%203l4%201%202%203-5-1zM39%205l4-1%202%202-3%202zM53%205l6-2%205%201-3%203-6%201zM78%2018l5-1%204%203-6%201z%22%2F%3E%3C%2Fsvg%3E");background-size:96px 24px;background-repeat:repeat-x;
    background-position:0 center;animation:toptv-v14-earth-turn 9s linear infinite;
  }
  html body footer .toptv-pwa-entry .toptv-v14-top-globe::after {
    content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
    background:radial-gradient(circle at 26% 22%,rgba(255,255,255,.68),transparent 35%),linear-gradient(90deg,rgba(3,19,44,.35),transparent 25%,transparent 55%,rgba(0,11,38,.7));
    box-shadow:inset 0 0 2px rgba(255,255,255,.5),inset -3px -2px 5px rgba(0,12,40,.58);
  }
html body footer .toptv-pwa-entry .toptv-v14-top-globe {width:24px;height:24px;margin-left:8px;vertical-align:-4px;animation:toptv-pwa-earth-float 4s ease-in-out infinite}
@keyframes toptv-pwa-earth-float {50%{transform:translateY(-3px)}}
@keyframes toptv-v14-earth-turn {to {background-position:-96px center}}
@media(prefers-reduced-motion:reduce){html body footer .toptv-pwa-entry .toptv-v14-top-globe,html body footer .toptv-pwa-entry .toptv-v14-top-globe-map {animation:none}}

/* Match the raster's continuous inset rim; avoid clipping its gold corners. */
html body footer .toptv-pwa-app-icon,.toptv-pwa-dialog img {border-radius:22.5%;}

/* The image owns its gold edge: no second CSS outline or clipping mask. */
html body footer .toptv-pwa-app-icon,.toptv-pwa-dialog img {border-radius:0;border:0;outline:0;box-shadow:none;}
