:root {
  --dvd-cyan: 50 214 255;
  --dvd-violet: 180 60 255;
  --dvd-gold: 255 196 91;
  --dvd-white: 245 248 255;
  --dvd-bg: #02030a;
  --mx: 0;
  --my: 0;
}

#dvd-entry, #dvd-entry * { box-sizing: border-box; }
#dvd-entry { font-family: ui-serif, Georgia, "Times New Roman", serif; }
#dvd-entry button { font: inherit; }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.dvd-entry {
  position: fixed;
  inset: 0;
  z-index: 99999;
  width: 100vw;
  height: 100dvh;
  min-height: 520px;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 41%, rgb(17 23 50 / .30), transparent 44%),
    #02030a;
}

.dvd-entry__parallax {
  position: absolute;
  inset: -2%;
  z-index: 0;
  transform: scale(1.035);
  will-change: transform;
}

.dvd-entry__art {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  user-select: none;
  filter: saturate(1.03) contrast(1.03) brightness(.985);
}

.dvd-entry__depth {
  position: absolute;
  inset: 0;
  opacity: .09;
  mix-blend-mode: screen;
  pointer-events: none;
  transition: transform .16s linear;
}

.dvd-entry__depth--left {
  background: radial-gradient(ellipse at 25% 42%, rgb(185 221 255 / .22), transparent 34%);
  transform: translate3d(calc(var(--mx) * -8px), calc(var(--my) * -5px), 0);
}
.dvd-entry__depth--right {
  background: radial-gradient(ellipse at 75% 42%, rgb(225 184 255 / .18), transparent 34%);
  transform: translate3d(calc(var(--mx) * 8px), calc(var(--my) * -5px), 0);
}

.dvd-entry::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 12;
  pointer-events: none;
  background:
    radial-gradient(circle at center, transparent 46%, rgb(0 0 0 / .06) 65%, rgb(0 0 0 / .58) 115%),
    linear-gradient(to bottom, rgb(0 0 0 / .14), transparent 24%, transparent 80%, rgb(0 0 0 / .22));
}


.dvd-entry__logo {
  position: absolute;
  z-index: 18;
  left: 50%;
  top: 45.2%;
  width: min(50vw, 860px);
  transform: translate(-50%, -50%);
  pointer-events: none;
  will-change: transform;
}

.dvd-entry__logo-image {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  filter: none;
  opacity: .995;
  mix-blend-mode: screen;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.dvd-entry__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.dvd-entry__canvas--stars { z-index: 1; opacity: .78; mix-blend-mode: screen; }
.dvd-entry__canvas--energy { z-index: 6; mix-blend-mode: screen; }

.dvd-entry__rings {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 41.55%;
  width: min(66vw, 87vh);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  pointer-events: none;
  filter: drop-shadow(0 0 8px rgb(255 255 255 / .10));
}

.orbit {
  position: absolute;
  inset: 0;
  transform-origin: 50% 50%;
  will-change: transform;
}
.orbit svg { width: 100%; height: 100%; overflow: visible; }
.orbit--outer-a { animation: spin-cw 112s linear infinite; }
.orbit--outer-b { animation: spin-ccw 84s linear infinite; }
.orbit--outer-c { animation: spin-cw 134s linear infinite; }
.orbit--mid { animation: spin-cw 57s linear infinite; }
.orbit--inner { animation: spin-ccw 31s linear infinite; }

.orbit-line {
  fill: none;
  vector-effect: non-scaling-stroke;
  transform-origin: center;
}
.orbit-line--faint { stroke: rgb(255 235 198 / .22); stroke-width: .8; }
.orbit-line--major { stroke: rgb(255 229 177 / .46); stroke-width: 1.2; stroke-dasharray: 76 9 10 6 28 7; }
.orbit-line--major-soft { stroke: rgb(255 223 156 / .32); stroke-width: 1.05; stroke-dasharray: 18 5 5 7 24 4; }
.orbit-line--ticks { stroke: rgb(255 242 215 / .48); stroke-width: 2; stroke-dasharray: .85 3.2; }
.orbit-line--dash { stroke: rgb(248 224 169 / .38); stroke-width: 1.2; stroke-dasharray: 10 3 2 4 15 4; }
.orbit-line--energy { stroke: rgb(218 199 136 / .44); stroke-width: 1.45; stroke-dasharray: 14 2 3 8 1 6; }
.orbit-line--pin { stroke: rgb(255 211 148 / .28); stroke-width: 1; stroke-dasharray: 1 5; }
.orbit-line--pin-soft { stroke: rgb(255 222 171 / .25); stroke-width: .9; stroke-dasharray: 1 8; }
.orbit-line--micro { stroke: rgb(255 240 218 / .32); stroke-width: 1.55; stroke-dasharray: .45 3.3; }
.orbit-glyphs { fill: rgb(255 239 211 / .62); filter: drop-shadow(0 0 5px rgb(255 215 160 / .32)); }

.orbit-halo {
  position: absolute;
  inset: 5%;
  border-radius: 50%;
  opacity: .22;
  background: conic-gradient(
    from 0deg,
    rgb(var(--dvd-gold) / .0),
    rgb(var(--dvd-gold) / .30) 16%,
    rgb(var(--dvd-gold) / .18) 37%,
    transparent 49%,
    rgb(223 186 115 / .30) 68%,
    rgb(var(--dvd-gold) / .08) 87%,
    transparent
  );
  filter: blur(7px);
  animation: spin-ccw 28s linear infinite;
  mix-blend-mode: screen;
}

.dvd-entry__flare {
  position: absolute;
  z-index: 5;
  top: 39%;
  width: 29vw;
  height: 29vw;
  max-width: 470px;
  max-height: 470px;
  border-radius: 50%;
  pointer-events: none;
  opacity: .045;
  mix-blend-mode: screen;
  filter: blur(26px);
  transition: opacity .2s ease, transform .25s ease;
}
.dvd-entry__flare--cyan {
  left: 14%;
  background: radial-gradient(circle, rgb(var(--dvd-cyan) / .58), rgb(var(--dvd-cyan) / .10) 35%, transparent 69%);
  transform: translate3d(calc(var(--mx) * -14px), calc(var(--my) * -7px), 0);
}
.dvd-entry__flare--violet {
  right: 14%;
  background: radial-gradient(circle, rgb(var(--dvd-violet) / .58), rgb(var(--dvd-violet) / .10) 35%, transparent 69%);
  transform: translate3d(calc(var(--mx) * 14px), calc(var(--my) * -7px), 0);
}

.dvd-entry__flare.is-hot { animation: flare-burst .82s cubic-bezier(.12,.65,.19,1); }

.dvd-entry__center-beam {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 9%;
  width: 2px;
  height: 69%;
  transform: translateX(-50%);
  opacity: .28;
  background: linear-gradient(to bottom, transparent, rgb(255 255 255 / .65) 20%, rgb(var(--dvd-gold) / .48) 50%, rgb(var(--dvd-violet) / .34) 71%, transparent);
  box-shadow: 0 0 8px rgb(var(--dvd-gold) / .48), 0 0 18px rgb(var(--dvd-violet) / .22);
  animation: beam-breathe 5.2s ease-in-out infinite;
  pointer-events: none;
}

.dvd-entry__cursor-aura {
  position: absolute;
  z-index: 4;
  width: 260px;
  height: 260px;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: .12;
  filter: blur(20px);
  background: radial-gradient(circle, rgb(255 240 201 / .28), transparent 66%);
  mix-blend-mode: screen;
  pointer-events: none;
  will-change: left, top;
}

.dvd-entry__cta {
  position: absolute;
  z-index: 20;
  left: 50%;
  top: 81.3%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.dvd-entry__enter {
  position: relative;
  width: clamp(250px, 24.5vw, 430px);
  height: clamp(56px, 7.4vh, 82px);
  border: 1px solid rgb(255 255 255 / .22);
  border-radius: 999px;
  background: linear-gradient(to bottom, rgb(40 43 54 / .86), rgb(22 25 34 / .88));
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .08),
    inset 0 -10px 18px rgb(0 0 0 / .28),
    0 10px 30px rgb(0 0 0 / .25);
  color: rgb(231 235 245 / .88);
  letter-spacing: .28em;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform .22s ease, border-color .22s ease, box-shadow .28s ease, background .28s ease, color .22s ease;
  overflow: hidden;
}
.dvd-entry__enter:hover,
.dvd-entry__enter:focus-visible {
  transform: translateY(-2px);
  border-color: rgb(255 255 255 / .46);
  background: linear-gradient(to bottom, rgb(54 58 73 / .90), rgb(28 31 42 / .90));
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .10),
    inset 0 -10px 18px rgb(0 0 0 / .18),
    -12px 0 28px rgb(var(--dvd-cyan) / .18),
    12px 0 28px rgb(var(--dvd-violet) / .18),
    0 14px 40px rgb(0 0 0 / .32);
  color: rgb(246 248 255 / .96);
}
.dvd-entry__enter-label {
  position: relative;
  z-index: 2;
  font-size: clamp(20px, 2vw, 32px);
  line-height: 1;
}
.dvd-entry__enter-sheen,
.dvd-entry__enter-frame {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.dvd-entry__enter-sheen {
  background: linear-gradient(90deg, transparent 0%, rgb(var(--dvd-cyan) / .04) 20%, transparent 45%, transparent 55%, rgb(var(--dvd-violet) / .05) 80%, transparent 100%);
  transform: translateX(-8%);
  transition: opacity .22s ease;
  opacity: .72;
}
.dvd-entry__enter-frame {
  inset: 4px;
  border: 1px solid rgb(255 255 255 / .14);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .03);
}

.dvd-entry__tagline {
  color: rgb(231 236 248 / .88);
  font-size: clamp(11px, .86vw, 16px);
  letter-spacing: .42em;
  text-transform: uppercase;
  text-shadow: 0 1px 12px rgb(0 0 0 / .35);
  white-space: nowrap;
}

.dvd-entry__transition {
  position: absolute;
  inset: 0;
  z-index: 50;
  pointer-events: none;
  opacity: 0;
  overflow: hidden;
}
.transition-ring,
.transition-core {
  position: absolute;
  left: 50%;
  top: 42%;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(.08);
}
.transition-ring {
  width: 60vmin;
  height: 60vmin;
  border: 2px solid rgb(255 255 255 / .86);
  box-shadow: -10px 0 45px rgb(var(--dvd-cyan) / .85), 10px 0 45px rgb(var(--dvd-violet) / .85), 0 0 80px rgb(255 255 255 / .35);
}
.transition-ring--b { width: 52vmin; height: 52vmin; opacity: .65; }
.transition-core {
  width: 18vmin;
  height: 18vmin;
  background: radial-gradient(circle, white, rgb(205 236 255) 22%, rgb(173 97 255 / .48) 52%, transparent 72%);
  filter: blur(2px);
}

.dvd-entry.is-entering .dvd-entry__rings .orbit--outer-a { animation-duration: 2.8s; }
.dvd-entry.is-entering .dvd-entry__rings .orbit--outer-b { animation-duration: 2.1s; }
.dvd-entry.is-entering .dvd-entry__rings .orbit--outer-c { animation-duration: 3.2s; }
.dvd-entry.is-entering .dvd-entry__rings .orbit--mid { animation-duration: 1.7s; }
.dvd-entry.is-entering .dvd-entry__rings .orbit--inner { animation-duration: 1.05s; }
.dvd-entry.is-entering .dvd-entry__transition { opacity: 1; }
.dvd-entry.is-entering .transition-ring--a { animation: portal-open 1.35s cubic-bezier(.12,.67,.22,1) forwards; }
.dvd-entry.is-entering .transition-ring--b { animation: portal-open 1.15s .08s cubic-bezier(.12,.67,.22,1) forwards; }
.dvd-entry.is-entering .transition-core { animation: core-open 1.25s .18s cubic-bezier(.1,.72,.16,1) forwards; }
.dvd-entry.is-entering .dvd-entry__art { animation: art-push 1.55s cubic-bezier(.12,.7,.16,1) forwards; }
.dvd-entry.is-entering::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 49;
  background: white;
  opacity: 0;
  animation: whiteout 1.55s .5s ease forwards;
}

@keyframes spin-cw { to { transform: rotate(360deg); } }
@keyframes spin-ccw { to { transform: rotate(-360deg); } }
@keyframes beam-breathe { 0%,100% { opacity: .22; filter: brightness(.95); } 50% { opacity: .48; filter: brightness(1.25); } }
@keyframes flare-burst {
  0% { opacity: .05; scale: .76; }
  22% { opacity: .48; scale: 1.15; }
  100% { opacity: .06; scale: 1.34; }
}
@keyframes portal-open { 0% { transform: translate(-50%,-50%) scale(.08); opacity: 0; } 18% { opacity: 1; } 100% { transform: translate(-50%,-50%) scale(5.2); opacity: .15; } }
@keyframes core-open { 0% { transform: translate(-50%,-50%) scale(.03); opacity: 0; } 35% { opacity: 1; } 100% { transform: translate(-50%,-50%) scale(14); opacity: 1; } }
@keyframes art-push { to { transform: scale(1.05); filter: saturate(1.12) brightness(1.10) contrast(1.02); } }
@keyframes whiteout { 0%,50% { opacity: 0; } 78% { opacity: .82; } 100% { opacity: 1; } }

@media (max-aspect-ratio: 1/1) {
  .dvd-entry__art { object-position: 50% center; }
  .dvd-entry__rings { width: 110vmin; top: 42%; }
  .dvd-entry__cta { top: 83%; }
  .dvd-entry__enter { width: min(70vw, 360px); }
  .dvd-entry__tagline { letter-spacing: .28em; }
}


@media (max-aspect-ratio: 1/1) {
  .dvd-entry__logo { width: 86vw; top: 44.9%; }
}

@media (prefers-reduced-motion: reduce) {
  .orbit, .orbit-halo, .dvd-entry__center-beam { animation: none !important; }
  .dvd-entry__parallax, .dvd-entry__depth { transform: none !important; transition: none !important; }
  .dvd-entry__cursor-aura { display: none; }
}

/* =========================================================
   DvD DIGITAL V9.11 — LOGO-INTEGRATED PORTAL SITE ADAPTER
   ========================================================= */

body.dvd-entry-pending{
  overflow:hidden!important;
  background:#02030a!important;
}
body.dvd-entry-pending > :not(#dvd-entry){
  visibility:hidden!important;
}
body.dvd-entry-pending #dvd-entry{
  visibility:visible!important;
}
#dvd-entry[hidden]{
  display:none!important;
}
#dvd-entry{
  width:100vw;
  height:100dvh;
  min-height:520px;
}
body.dvd-entry-pending .dvd-sound-toggle{
  visibility:hidden!important;
}

.eclipse-home-hero.dvd-home-arrival{
  animation:dvd-v911-home-arrival 1.55s cubic-bezier(.2,.7,.1,1) both;
}
@keyframes dvd-v911-home-arrival{
  0%{opacity:.16;filter:brightness(1.7) blur(7px);transform:scale(1.03)}
  52%{opacity:1;filter:brightness(1.13) blur(0);transform:scale(1.008)}
  100%{opacity:1;filter:brightness(1);transform:scale(1)}
}
