﻿   :root{ --dashH: 48px; } /* MUST match your fixed dashboard height */

    html, body{
      margin: 0;
      padding: 0;
      height: 100%;
      overflow: hidden;     /* we scroll the stage, not the whole page */
      background: #000;     /* no white ever */
    }

    /* Stage under fixed dashboard */
    .bg-stage{
      position: fixed;
      top: var(--dashH);
      left: 0;
      right: 0;
      bottom: 0;
      overflow: auto;                 /* finger pan */
      -webkit-overflow-scrolling: touch;
      background: #000;
	   z-index: 1;   /* low */
    }

    /* Default (desktop + landscape): keep your current behavior */
    .bg-map{
      display: block;
      width: 100%;        /* desktop OK */
      height: auto;
    }

    /* Mobile portrait: fill screen height (no white below), allow horizontal pan */
    @media (orientation: portrait){
      .bg-map{
        height: 100%;
        width: auto;      /* keep aspect ratio */
        max-width: none;  /* allow wider than viewport => horizontal pan */
      }
    }
/* =========================
   WELCOME OVERLAY (REGAL GLASS)
   - does NOT affect map position
   - fade behavior stays the same via .fade-away / .is-gone
========================= */
.welcome-overlay{
  position: fixed;
  top: calc(var(--dashH) + 20px);
  left: 50%;
  transform: translateX(-50%);
  width: min(760px, 92vw);

  /* Regal glass */
  background:
    linear-gradient(180deg, rgba(10,22,32,.72), rgba(8,18,26,.62));
  border: 1px solid rgba(242,211,106,.38); /* gold edge */
  border-radius: 26px;

  /* depth */
  box-shadow:
    0 28px 80px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.10);

  padding: 22px 26px 18px;
  text-align: center;

  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);

  z-index: 10000;
}

/* Inner “gilded” border */
.welcome-overlay::before{
  content:"";
  position:absolute;
  inset: 10px;
  border-radius: 20px;
  border: 1px solid rgba(242,211,106,.22);
  pointer-events:none;
}

/* Subtle top glow */
.welcome-overlay::after{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 10px;
  height: 40%;
  border-radius: 22px;
  background: radial-gradient(60% 80% at 50% 0%,
    rgba(242,211,106,.18),
    rgba(242,211,106,0));
  pointer-events:none;
}

/* Title styling */
.welcome-overlay h1{
  margin: 0;
  font-family: "Baskerville Old Face","Baskerville","Garamond","Times New Roman",serif;
  font-weight: 700;
  font-size: clamp(26px, 3.6vw, 44px);
  letter-spacing: .04em;

  color: rgba(242,211,106,.98); /* gold */
  text-shadow:
    0 2px 0 rgba(0,0,0,.35),
    0 10px 30px rgba(0,0,0,.35);
}

/* Subtitle + divider */
.welcome-overlay p{
  margin: 10px 0 0;
  font-family: "Baskerville Old Face","Baskerville","Garamond","Times New Roman",serif;
  font-size: clamp(14px, 1.5vw, 18px);
  letter-spacing: .10em;

  color: rgba(234,243,255,.88);
  text-shadow: 0 8px 20px rgba(0,0,0,.35);
}

/* Ornamental divider under title (regal touch) */
.welcome-overlay p::before{
  content:"❖";
  display:block;
  margin: 10px auto 8px;
  font-size: 14px;
  letter-spacing: .25em;
  color: rgba(242,211,106,.85);
}

/* Keep your fade logic intact */
.fade-away{ transition: opacity .7s ease, transform .7s ease; }
.fade-away.is-gone{
  opacity:0;
  transform: translateX(-50%) translateY(-8px);
  pointer-events:none;
}


.fade-away{ transition: opacity .7s ease, transform .7s ease; }
.fade-away.is-gone{ opacity:0; transform: translateX(-50%) translateY(-8px); pointer-events:none; }
