/* The partner embeds (app/portal/embed_package.py): the globe page and the
   live view in Cormorant's night-sea look, with the partner's logo. Loaded
   after landing.css; dark only. */

.em { --sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-family: var(--sans); color-scheme: dark; }
.em-logo img { display: block; height: 36px; max-width: 40vw; object-fit: contain; }
.em-name { font: 700 1rem var(--sans); letter-spacing: 0.04em; color: #e3f4f1; }
.em-powered { margin: 0; font: 500 12px var(--sans); color: #93a8b4; white-space: nowrap; }
.em-powered a { color: #34e8c6; font-weight: 600; text-decoration: none; }
.em-powered a:hover { color: #6ff4db; }
.globe-full .em-powered { position: absolute; z-index: 2; top: 62px; right: 20px; }

/* Live view */
body.pl-page { margin: 0; height: 100vh; height: 100dvh; overflow: hidden; color: #e7f1f5;
  background: radial-gradient(120% 90% at 30% 20%, #0b1d27 0%, #061219 55%, #04090e 100%); }
.pl { display: flex; flex-direction: column; height: 100%; }
.pl-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 20px 0; }
.pl-hud { display: flex; gap: 28px; }
.pl-v { font: 600 30px/1 var(--sans); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; color: #34e8c6; }
.pl-k { margin-top: 6px; white-space: nowrap; font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #8ea3b0; }
.pl-stage { position: relative; flex: 1; min-height: 240px; }
.pl-stage canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.pl-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 20px 14px;
  border-top: 1px solid rgba(140, 205, 225, 0.085); font-size: 12px; color: #8ea3b0; }
.pl-foot i { display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 50%;
  vertical-align: -1px; box-shadow: 0 0 8px currentColor; }
.pl-spacer { flex: 1; }
.pl-note { display: inline-flex; align-items: center; gap: 8px; }
.pl-note .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #34e8c6;
  animation: pg-pulse 2s ease-out infinite; }
@media (max-width: 560px) {
  .pl-top { padding: 12px 14px 0; }
  .pl-v { font-size: 22px; }
  .pl-k { font-size: 9.5px; letter-spacing: 0.06em; }
  .pl-hud { gap: 16px; }
  .em-logo img { height: 24px; max-width: 30vw; }
  .pl-foot { padding: 8px 14px 12px; }
}
@media (prefers-reduced-motion: reduce) { .pl-note .dot { animation: none; } }

/* Our own /live page */
.em-brand { color: #e3f4f1; }
.em-brand:hover { color: #fff; }
.em-more { color: #34e8c6; font-weight: 600; text-decoration: none; }
.em-more:hover { color: #6ff4db; }
