/* HAM TV web embed (embed.html only). */
html.embed, html.embed body, html.embed #viewport { background:#05080f !important; }
html.embed:not(.owner) .htv-keys, html.embed:not(.owner) #pinIndicator, html.embed #splashOverlay, html.embed:not(.owner) #notfound { display:none !important; }

/* hover controls: outside the scaled stage, fixed size */
.emb-ctl { position:fixed; left:0; right:0; bottom:0; z-index:2147483647; display:flex; align-items:center; gap:6px;
  padding:10px 12px; background:linear-gradient(transparent, rgba(5,8,15,.92)); opacity:0; transition:opacity .25s ease;
  font:600 13px/1 Inter, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; }
html.emb-awake .emb-ctl, .emb-ctl:hover, .emb-ctl:focus-within { opacity:1; }
.emb-ctl button { all:unset; cursor:pointer; color:#f2f6fc; background:rgba(18,28,46,.9); border:1px solid #1e2b42;
  width:34px; height:30px; border-radius:6px; text-align:center; font-size:13px; line-height:30px; }
.emb-ctl button:hover, .emb-ctl button:focus-visible { background:#3fd6c2; color:#04201c; border-color:#3fd6c2; }
.emb-ctl .emb-sp { flex:1; }
.emb-brand { color:#111 !important; background:#fae200; text-decoration:none; font-weight:800; letter-spacing:.06em;
  padding:8px 10px; border-radius:5px; font-size:12px; }

/* sponsor lower-third: inside the 1920x1080 stage, clear of the UTC pill */
.emb-ad { position:absolute; z-index:8500; left:505px; top:930px; width:910px; height:126px; display:flex; align-items:center;
  justify-content:center; background:rgba(5,8,15,.86); border:1px solid #1e2b42; border-top:3px solid #fae200; border-radius:6px;
  opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease; pointer-events:none; }
.emb-ad.on { opacity:1; transform:none; pointer-events:auto; }
.emb-ad a { display:block; line-height:0; }
.emb-ad img { display:block; max-width:880px; max-height:110px; width:auto; height:auto; }
.emb-ad-tag { position:absolute; left:10px; top:-26px; font:700 15px/1 Inter, Arial, sans-serif; letter-spacing:.14em;
  text-transform:uppercase; color:#111; background:#fae200; padding:5px 9px 4px; border-radius:4px 4px 0 0; }

/* error card */
.emb-msg { position:fixed; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  color:#a9b6c8; font:500 15px/1.4 Inter, Arial, sans-serif; text-align:center; padding:20px; background:#05080f; z-index:2147483647; }
.emb-msg b { color:#111; background:#fae200; padding:6px 10px; border-radius:5px; letter-spacing:.06em; }
.emb-msg a { color:#3fd6c2; }
.emb-ad-sample { border-style:dashed; }
.emb-ad-ph { font:600 30px/1 Inter, Arial, sans-serif; color:#a9b6c8; letter-spacing:.02em; }

/* owner mode (members page): exactly the app — remote hints and notes stay */
html.embed.owner #qr_url { cursor:pointer; text-decoration:underline; text-underline-offset:6px; }
html.embed.owner #qr_url::after { content:"  ↗"; letter-spacing:0; }
/* the banner belongs to the rotation, never over Settings / keyboard / QRZ / dialogs */
html.embed:has(#settings.active, #login.active, #welcome.active, #confirm.active, #help.active, #about.active, #qrzmanage.active, #qrpair.active, #dxsearch.active, #place.active) .emb-ad { display:none !important; }
