:root {
  --intro-blue: #79caff;
  --intro-gold: #e4c670;
}

.xcess-cinematic-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #02070d url("assets/bg-muxcess.png") center / cover no-repeat;
}

.xcess-cinematic-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 38%;
  opacity: 0;
  filter: brightness(.44) saturate(.82) contrast(1.12);
  transform: scale(1.035);
  transition: opacity 1.2s ease;
}

.xcess-cinematic-layer.is-ready .xcess-cinematic-video {
  opacity: .42;
}

.xcess-media-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 65% 28%, rgba(54, 135, 190, .13), transparent 30%),
    linear-gradient(90deg, rgba(0, 4, 9, .87) 0%, rgba(0, 5, 11, .61) 47%, rgba(0, 5, 11, .76) 100%),
    linear-gradient(to bottom, rgba(0, 0, 0, .13), rgba(0, 3, 8, .84));
}

body.xcess-media-shell .bg {
  z-index: 1;
  background:
    radial-gradient(circle at 68% 24%, rgba(35, 112, 168, .18), transparent 30%),
    linear-gradient(120deg, rgba(0, 0, 0, .42), rgba(3, 10, 18, .76));
}

body.xcess-media-shell .scan { z-index: 2; }
body.xcess-media-shell header,
body.xcess-media-shell main,
body.xcess-media-shell footer {
  position: relative;
  z-index: 3;
}

.intro-sound-control {
  min-height: 32px;
  padding: 7px 11px;
  border: 1px solid rgba(121, 202, 255, .36);
  background: rgba(4, 13, 22, .76);
  color: #bddcf1;
  cursor: pointer;
  font: 700 9px/1 "Trebuchet MS", Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease;
}

.intro-sound-control::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 7px;
  display: inline-block;
  border-radius: 50%;
  background: #738493;
  box-shadow: 0 0 0 rgba(121, 202, 255, 0);
  vertical-align: 1px;
}

.intro-sound-control:hover {
  color: #fff;
  border-color: var(--intro-blue);
  background: rgba(11, 34, 52, .88);
  transform: translateY(-1px);
}

.intro-sound-control.is-playing::before {
  background: #7ce1a3;
  box-shadow: 0 0 10px rgba(124, 225, 163, .9);
  animation: introSoundPulse 1.25s ease-in-out infinite alternate;
}

.intro-sound-control:disabled {
  opacity: .42;
  cursor: not-allowed;
  transform: none;
}

@keyframes introSoundPulse {
  from { opacity: .55; transform: scale(.88); }
  to { opacity: 1; transform: scale(1.16); }
}

body.xcess-media-shell header nav {
  align-items: center;
}

body.xcess-media-shell main {
  text-shadow: 0 2px 18px rgba(0, 0, 0, .42);
}

body.xcess-media-shell .panel {
  background: linear-gradient(145deg, rgba(9, 21, 34, .82), rgba(2, 6, 11, .94));
  backdrop-filter: blur(18px) saturate(1.05);
}

#start-screen.xcess-cinematic-screen {
  overflow: hidden;
  background: #02050a;
  backdrop-filter: none;
}

#start-screen .xcess-cinematic-layer {
  position: absolute;
  z-index: 0;
}

#start-screen .xcess-media-shade {
  background:
    radial-gradient(circle at 50% 38%, rgba(31, 93, 132, .14), transparent 34%),
    linear-gradient(to bottom, rgba(1, 4, 8, .32), rgba(1, 4, 8, .86));
}

#start-screen .start-card {
  z-index: 2;
  background: linear-gradient(145deg, rgba(15, 21, 31, .91), rgba(5, 7, 11, .95));
  backdrop-filter: blur(10px) saturate(1.08);
}

.game-intro-control {
  width: 100%;
  min-height: 38px;
  margin-top: 1px;
  border-color: rgba(118, 157, 190, .45);
  background: linear-gradient(to bottom, rgba(26, 40, 54, .94), rgba(7, 12, 19, .96));
  color: #c3d4e2;
}

.xcess-intro-note {
  margin: 9px 0 0;
  color: rgba(181, 198, 213, .58);
  font: 9px/1.5 Arial, sans-serif;
  letter-spacing: .11em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 700px) {
  body.xcess-media-shell header nav { gap: 8px; }
  body.xcess-media-shell header nav .intro-sound-control {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 5px;
    font-size: 8px;
  }

  .xcess-cinematic-video {
    object-position: center center;
    filter: brightness(.38) saturate(.75) contrast(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .xcess-cinematic-video { transform: none; transition: none; }
  .intro-sound-control.is-playing::before { animation: none; }
}
