/* Intro controls visible from T0 */
.intro__chrome{
  position:absolute; top:16px; right:16px; z-index:2;
  display:flex; gap:12px; align-items:center;
}
.intro .pill{ background:rgba(255,255,255,.16); color:var(--text); border:0; border-radius:999px; padding:6px 12px; font-weight:700; cursor:pointer }
.intro .pill[aria-checked="true"]{ background:linear-gradient(90deg,var(--gold),var(--bronze)); color:#111 }
.intro .btn.skip{ background:transparent; color:var(--text); border:1px solid rgba(255,255,255,.25); border-radius:12px; padding:8px 12px; font-weight:800 }

/* Welcome/Access panel (appears 5s before end) */
.intro__welcome{
  position:absolute; top:50%; left:6vw; transform:translateY(-50%);
  width:min(620px,84vw);
  background: rgba(0,0,0,.40);
  border:1px solid var(--panel-border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg), inset 0 0 0 1px rgba(255,255,255,.05);
  padding: 18px;
  animation: panelIn .6s cubic-bezier(.2,.8,.2,1) both;
}
/* Intro controls visible from T0 */
.intro__chrome{
  position:absolute; top:16px; right:16px; z-index:2;
  display:flex; gap:12px; align-items:center;
}
.intro .pill{ background:rgba(255,255,255,.16); color:var(--text); border:0; border-radius:999px; padding:6px 12px; font-weight:700; cursor:pointer }
.intro .pill[aria-checked="true"]{ background:linear-gradient(90deg,var(--gold),var(--bronze)); color:#111 }
.intro .btn.skip{ background:transparent; color:var(--text); border:1px solid rgba(255,255,255,.25); border-radius:12px; padding:8px 12px; font-weight:800 }

/* novagator.css (lightweight styles) */
.edifai-btn{position:fixed;right:1rem;bottom:1rem;z-index:50;background:transparent;border:none;cursor:pointer;opacity:.9;transition:transform .2s}
.edifai-btn:hover{transform:scale(1.05)}
.edifai-btn img{width:72px;height:auto;pointer-events:none}

.edifai-panel{position:fixed;right:1rem;bottom:6.5rem;z-index:50;width:320px;max-width:90vw;
  background:rgba(0,0,0,.40);backdrop-filter:blur(8px);border:1px solid rgba(228,161,27,.35);
  border-radius:16px;padding:12px;transform:translateY(12px);opacity:0;pointer-events:none;
  transition:opacity .2s, transform .2s}
.edifai-panel.is-open{opacity:1;transform:translateY(0);pointer-events:auto}

.edifai-header{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.edifai-title{font-weight:600}
.edifai-quip{font-size:.9rem;opacity:.9}
.edifai-menu{display:grid;gap:8px}
.edifai-menu button{padding:10px 12px;border-radius:10px;border:1px solid rgba(228,161,27,.25);
  background:rgba(13,27,42,.65);cursor:pointer}
.edifai-menu button:hover{border-color:rgba(228,161,27,.6)}
.badge-card {
  display:inline-flex; flex-direction:column; align-items:center; gap:.25rem;
  padding:.5rem; margin:.25rem; background:rgba(0,0,0,.40);
  border:1px solid rgba(228,161,27,.25); border-radius:1rem; width:120px;
}
.badge-card img { width:88px; height:88px; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.6)); }
.badge-name { font-weight:600; color:#E4A11B; font-size:.9rem; text-align:center; }
.badge-cat { font-size:.75rem; opacity:.8; }

.wl-toast { position:fixed; right:16px; bottom:16px; opacity:0; transform:translateY(12px); transition:all .35s ease; z-index:9999; }
.wl-toast.show { opacity:1; transform:translateY(0); }
.wl-toast-inner {
  display:flex; gap:.75rem; align-items:center; padding:.75rem 1rem;
  background:rgba(13,27,42,.92); border:1px solid rgba(228,161,27,.35); border-radius:1rem;
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
.wl-toast-inner img { width:48px; height:48px; }
.wl-toast-inner strong { color:#E4A11B; }

/* WL_MAIN_MENU_READABILITY_FIX */
.nova-menu select, .menu select {
  color:#fff;
  background: rgba(0,0,0,.45);
}
/* --- Temp: Badge Modal viewport-safe sizing --- */
#badgesModal,
.modal--badges {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(12px, 2vw, 24px);
  z-index: 9999;
}

#badgesModal .modal__panel,
.modal--badges .modal__panel {
  max-width: min(960px, 92vw);
  max-height: min(90vh, 900px);
  overflow: auto;
  border-radius: 16px;
  backdrop-filter: blur(6px);
}

#badgesModal .modal__header {
  position: sticky;
  top: 0;
  z-index: 1;
}

@media (max-width: 768px) {
  #badgesModal .modal__panel { max-width: 96vw; max-height: 88vh; }
}
/* -------------------------------------------------
   Sanctuary
   ------------------------------------------------- */

.sanctuary-mark { display:flex; align-items:center; gap:0.5rem; }
.mark-svg { width: 360px; height: auto; filter: drop-shadow(0 0 8px rgba(228,161,27,0.35)); }
.mark-path { fill: none; stroke: #E4A11B; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.mark-fallback { position:absolute; left:-9999px; }

.grid-3 { display:grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 1.25rem; }
.card--sanct { backdrop-filter: blur(10px); border-radius: 18px; padding: 16px; }
.card--center .video-wrap { position: relative; border-radius: 16px; overflow: hidden; }
#sanct-video { width: 100%; height: auto; display: block; }
#video-play { position:absolute; inset:auto auto 16px 16px; }

.mode-switch { display:flex; gap: 1rem; align-items:center; }
.subtitle { opacity: .9; margin-top: .25rem; }

/* === NV Footer === */
.nv-footer{
  position: relative;
  margin-top: 48px;
  padding: 16px 20px;
  background: rgba(0,0,0,0.40);
  backdrop-filter: blur(6px);
  border-top: 1px solid rgba(228,161,27,0.35);
}
.nv-footer__inner{
  max-width: 1200px;
  margin: 0 auto;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #FFFFFF;
}
.nv-footer__text{ opacity: 0.9; }
.nv-footer__link{
  color: #E4A11B;
  text-decoration: none;
  border-bottom: 1px dotted rgba(228,161,27,0.6);
}
.nv-footer__link:hover,
.nv-footer__link:focus{
  text-decoration: underline;
}
@media (max-width: 640px){
  .nv-footer{ padding: 12px 14px; }
  .nv-footer__inner{ font-size: 0.85rem; }
}
