:root {
  --pv2-acid: #c8ff29;
  --pv2-paper: #f3f0e8;
  --pv2-ink: #07100b;
  --pv2-progress: 0;
  --pv2-velocity: 0;
  --pv2-head-shift: 0px;
}

body.premium-v2 {
  background: #050907;
  color: var(--pv2-paper);
}

body.premium-v2::selection {
  background: var(--pv2-acid);
  color: var(--pv2-ink);
}

body.premium-v2 main > section:not(.hero) {
  isolation: isolate;
  position: relative;
}

body.premium-v2 main > section:not(.hero)::after {
  background: linear-gradient(90deg, transparent, rgba(200, 255, 41, .18), transparent);
  content: "";
  height: 1px;
  left: 6vw;
  opacity: calc(.18 + var(--pv2-section-active, 0) * .62);
  pointer-events: none;
  position: absolute;
  right: 6vw;
  top: 0;
  transform: scaleX(calc(.32 + var(--pv2-section-active, 0) * .68));
  transform-origin: left center;
  transition: opacity .7s ease, transform .9s cubic-bezier(.16, 1, .3, 1);
  z-index: 5;
}

.premium-v2-chapter-rail {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 13px;
  left: 22px;
  mix-blend-mode: normal;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 72;
}

.premium-v2-chapter-rail::before,
.premium-v2-chapter-rail::after {
  background: rgba(239, 244, 232, .22);
  content: "";
  height: 34px;
  width: 1px;
}

.premium-v2-chapter-rail button {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: rgba(239, 244, 232, .46);
  cursor: pointer;
  display: grid;
  font: 600 9px/1 Arial, sans-serif;
  height: 26px;
  letter-spacing: .14em;
  padding: 0;
  place-items: center;
  position: relative;
  transition: color .3s ease, transform .45s cubic-bezier(.16, 1, .3, 1);
  width: 30px;
}

.premium-v2-chapter-rail button::before {
  border: 1px solid rgba(239, 244, 232, .2);
  border-radius: 50%;
  content: "";
  inset: 2px 4px;
  position: absolute;
  transform: scale(.45);
  transition: border-color .3s ease, box-shadow .3s ease, transform .45s cubic-bezier(.16, 1, .3, 1);
}

.premium-v2-chapter-rail button span {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: auto;
  top: 50%;
  transform: translate(10px, -50%);
  transition: opacity .25s ease, transform .35s cubic-bezier(.16, 1, .3, 1);
  white-space: nowrap;
}

.premium-v2-chapter-rail button:hover span,
.premium-v2-chapter-rail button:focus-visible span {
  opacity: 1;
  transform: translate(42px, -50%);
}

.premium-v2-chapter-rail button.is-current {
  color: var(--pv2-acid);
  transform: scale(1.08);
}

.premium-v2-chapter-rail button.is-current::before {
  border-color: var(--pv2-acid);
  box-shadow: 0 0 14px rgba(200, 255, 41, .38);
  transform: scale(1);
}

.work-nav {
  transition: background .35s ease, border-color .35s ease, transform .45s cubic-bezier(.16, 1, .3, 1) !important;
  will-change: transform;
}

.work-nav.premium-v2-nav-hidden {
  transform: translate3d(0, -112%, 0);
}

.premium-v2 .archive-unified-head {
  --pv2-local-progress: 0;
  contain: layout paint;
  overflow: hidden;
  perspective: 1100px;
}

@media (min-width: 901px) {
  .premium-v2 .archive-unified-head::before {
    color: rgba(239, 244, 232, .028);
    content: attr(data-pv2-index);
    font: italic 700 clamp(150px, 18vw, 340px)/.72 Georgia, "Times New Roman", serif;
    letter-spacing: -.09em;
    pointer-events: none;
    position: absolute;
    right: 2.5vw;
    top: 50%;
    transform: translate3d(calc(var(--pv2-local-progress) * -34px), -46%, 0);
    z-index: -1;
  }

  .premium-v2 .archive-unified-head::after {
    background: linear-gradient(90deg, transparent, rgba(200, 255, 41, .6), transparent);
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: translateX(calc((var(--pv2-local-progress) - .5) * 38%));
    width: 38%;
  }

  .premium-v2 .archive-unified-head > h2 {
    filter: blur(calc((1 - var(--pv2-section-visibility, 1)) * 2px));
    transform: translate3d(var(--pv2-head-shift), calc((var(--pv2-local-progress) - .5) * -14px), 0)
      rotateX(calc((var(--pv2-local-progress) - .5) * -2deg));
    transform-origin: 50% 80%;
    transition: filter .35s ease;
    will-change: transform;
  }
}

.premium-v2-ticker {
  align-items: center;
  background: rgba(5, 11, 7, .96);
  border-bottom: 1px solid rgba(239, 244, 232, .12);
  border-top: 1px solid rgba(239, 244, 232, .12);
  display: flex;
  height: 31px;
  overflow: hidden;
  position: relative;
  z-index: 12;
}

.premium-v2-ticker::before,
.premium-v2-ticker::after {
  content: "";
  inset-block: 0;
  pointer-events: none;
  position: absolute;
  width: 9vw;
  z-index: 2;
}

.premium-v2-ticker::before {
  background: linear-gradient(90deg, #050907, transparent);
  left: 0;
}

.premium-v2-ticker::after {
  background: linear-gradient(270deg, #050907, transparent);
  right: 0;
}

.premium-v2-ticker-track {
  align-items: center;
  animation: premium-v2-ticker 28s linear infinite;
  color: rgba(239, 244, 232, .68);
  display: flex;
  flex: 0 0 auto;
  font: 500 9px/1 Arial, sans-serif;
  gap: 38px;
  letter-spacing: .22em;
  min-width: max-content;
  padding-left: 38px;
  text-transform: uppercase;
}

.premium-v2-ticker-track b {
  color: var(--pv2-acid);
  font-size: 12px;
  font-weight: 400;
}

@keyframes premium-v2-ticker {
  to { transform: translate3d(-50%, 0, 0); }
}

.premium-v2 main > section.premium-v2-current {
  --pv2-section-active: 1;
}

.premium-v2-tilt {
  --pv2-tilt-x: 0deg;
  --pv2-tilt-y: 0deg;
  --pv2-lift: 0px;
  transform: perspective(1200px) rotateX(var(--pv2-tilt-x)) rotateY(var(--pv2-tilt-y)) translate3d(0, var(--pv2-lift), 0);
  transform-style: preserve-3d;
  transition: transform .65s cubic-bezier(.16, 1, .3, 1), filter .5s ease;
  will-change: transform;
}

.premium-v2-tilt.premium-v2-tilt-active {
  filter: brightness(1.035) saturate(1.04);
  transition-duration: .12s;
}

.premium-v2 .game-approved-body::after,
.premium-v2 .modeling-stage::after,
.premium-v2 .project-approved-board::after,
.premium-v2 .workflow-canvas::after {
  background: radial-gradient(circle at var(--pv2-glow-x, 50%) var(--pv2-glow-y, 50%), rgba(200, 255, 41, .12), transparent 34%);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity .35s ease;
  z-index: 6;
}

.premium-v2 .premium-v2-tilt-active::after {
  opacity: 1;
}

.premium-v2 .image-frame,
.premium-v2 .motion-frame {
  isolation: isolate;
}

.premium-v2 .image-frame::after,
.premium-v2 .motion-frame::after {
  background: linear-gradient(112deg, transparent 18%, rgba(239, 255, 210, .22) 48%, transparent 72%);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-105%);
  transition: opacity .25s ease, transform .75s cubic-bezier(.16, 1, .3, 1);
  z-index: 8;
}

.premium-v2 .image-frame:hover::after,
.premium-v2 .motion-frame:hover::after {
  opacity: .72;
  transform: translateX(105%);
}

.premium-v2 .cursor {
  border-color: rgba(200, 255, 41, .78);
  box-shadow: 0 0 0 1px rgba(200, 255, 41, .12), 0 0 22px rgba(200, 255, 41, .14);
  transition: width .35s cubic-bezier(.16, 1, .3, 1), height .35s cubic-bezier(.16, 1, .3, 1), background .3s ease, border-color .3s ease;
}

.premium-v2 .cursor.premium-v2-context {
  backdrop-filter: blur(8px);
  background: rgba(8, 16, 10, .82);
  border-color: var(--pv2-acid);
  height: 64px;
  width: 64px;
}

.premium-v2 .cursor.premium-v2-context span {
  color: var(--pv2-acid);
  font-size: 8px;
  letter-spacing: .16em;
}

.premium-v2-page-curtain {
  align-items: center;
  background: #07100b;
  clip-path: inset(0 100% 0 0);
  display: flex;
  inset: 0;
  justify-content: center;
  pointer-events: none;
  position: fixed;
  transition: clip-path .58s cubic-bezier(.76, 0, .24, 1);
  z-index: 9999;
}

.premium-v2-page-curtain::before {
  background: var(--pv2-acid);
  content: "";
  height: 1px;
  left: 9vw;
  position: absolute;
  right: 9vw;
  top: 50%;
  transform: scaleX(0);
  transition: transform .45s .12s cubic-bezier(.16, 1, .3, 1);
}

.premium-v2-page-curtain span {
  color: var(--pv2-paper);
  font: italic 700 clamp(38px, 7vw, 118px)/.85 Georgia, "Times New Roman", serif;
  letter-spacing: -.055em;
  opacity: 0;
  position: relative;
  transform: translateY(18px);
  transition: opacity .3s .14s ease, transform .45s .14s cubic-bezier(.16, 1, .3, 1);
  z-index: 1;
}

.premium-v2-page-curtain span em {
  color: var(--pv2-acid);
  font-weight: inherit;
}

body.premium-v2-leaving .premium-v2-page-curtain {
  clip-path: inset(0 0 0 0);
}

body.premium-v2-leaving .premium-v2-page-curtain::before {
  transform: scaleX(1);
}

body.premium-v2-leaving .premium-v2-page-curtain span {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1200px) {
  .premium-v2-chapter-rail { display: none; }
}

@media (max-width: 900px) {
  .premium-v2-ticker { display: none; }
  .premium-v2 .archive-unified-head::before,
  .premium-v2 .archive-unified-head::after { display: none; }
  .premium-v2 .archive-unified-head > h2 { transform: none !important; }
  .premium-v2-tilt { transform: none !important; }
  .work-nav.premium-v2-nav-hidden { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .premium-v2-ticker-track { animation: none; }
  .premium-v2-page-curtain { display: none; }
  .premium-v2 .archive-unified-head > h2,
  .premium-v2-tilt { transform: none !important; }
}
