@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src:
    url('fonts/inter-latin-400-normal.woff2') format('woff2'),
    url('fonts/inter-latin-400-normal.woff') format('woff');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src:
    url('fonts/inter-latin-600-normal.woff2') format('woff2'),
    url('fonts/inter-latin-600-normal.woff') format('woff');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: block;
  src:
    url('fonts/inter-latin-800-normal.woff2') format('woff2'),
    url('fonts/inter-latin-800-normal.woff') format('woff');
}

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src:
    url('fonts/barlow-latin-400-normal.woff2') format('woff2'),
    url('fonts/barlow-latin-400-normal.woff') format('woff');
}

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src:
    url('fonts/barlow-latin-600-normal.woff2') format('woff2'),
    url('fonts/barlow-latin-600-normal.woff') format('woff');
}

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 800;
  font-display: block;
  src:
    url('fonts/barlow-latin-800-normal.woff2') format('woff2'),
    url('fonts/barlow-latin-800-normal.woff') format('woff');
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src:
    url('fonts/barlow-condensed-latin-700-normal.woff2') format('woff2'),
    url('fonts/barlow-condensed-latin-700-normal.woff') format('woff');
}

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: block;
  src:
    url('fonts/barlow-condensed-latin-800-normal.woff2') format('woff2'),
    url('fonts/barlow-condensed-latin-800-normal.woff') format('woff');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src:
    url('fonts/playfair-display-latin-700-normal.woff2') format('woff2'),
    url('fonts/playfair-display-latin-700-normal.woff') format('woff');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src:
    url('fonts/playfair-display-latin-900-normal.woff2') format('woff2'),
    url('fonts/playfair-display-latin-900-normal.woff') format('woff');
}

* {
  box-sizing: border-box;
  cursor: none !important;
  -webkit-user-select: none;
  user-select: none;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #000000;
  color: #ffffff;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

#stage {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 1080px;
  overflow: hidden;
  background: #000000;
  transform-origin: 0 0;
}

.layer {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 1080px;
  overflow: hidden;
  background: #000000;
  opacity: 0;
  z-index: 0;
}

.fill-image,
.fill-color,
.slide-video,
.product-veil,
.text-veil,
.text-tint {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 1080px;
  display: block;
}

.fill-cover {
  object-fit: cover;
}

.fill-contain {
  object-fit: contain;
  background: #000000;
}

.slide-video {
  object-fit: contain;
  background: #000000;
}

.slide-logo {
  position: absolute;
  left: 96px;
  top: 64px;
  width: 300px;
  height: 96px;
  object-fit: contain;
  object-position: left center;
}

.text-box {
  position: absolute;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.text-line {
  width: 100%;
  margin: 0;
  overflow-wrap: normal;
  text-shadow: 0 4px 28px rgba(0, 0, 0, 0.55);
}

.product-veil {
  background: linear-gradient(
    90deg,
    rgba(6, 7, 10, 0.88) 0%,
    rgba(6, 7, 10, 0.66) 46%,
    rgba(6, 7, 10, 0.16) 100%
  );
}

.product-glow {
  position: absolute;
  left: 1000px;
  top: 70px;
  width: 900px;
  height: 940px;
}

.product-image {
  position: absolute;
  left: 1040px;
  top: 110px;
  width: 800px;
  height: 860px;
  object-fit: contain;
}

.product-title-box {
  left: 96px;
  top: 220px;
  width: 940px;
  height: 350px;
  justify-content: flex-end;
}

.product-title {
  font-weight: 800;
  font-size: 136px;
  line-height: 1.04;
  letter-spacing: -2px;
}

.product-price-box {
  left: 96px;
  top: 592px;
  width: 940px;
  height: 240px;
  justify-content: flex-start;
}

.product-price {
  font-weight: 800;
  font-size: 230px;
  line-height: 1.04;
  letter-spacing: -4px;
  white-space: nowrap;
}

.product-caption-box {
  left: 96px;
  top: 856px;
  width: 940px;
  height: 130px;
  justify-content: flex-start;
}

.product-caption {
  font-weight: 600;
  font-size: 56px;
  line-height: 1.2;
}

.text-tint {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.4) 100%);
}

.text-veil {
  background: linear-gradient(90deg, rgba(6, 7, 10, 0.78) 0%, rgba(6, 7, 10, 0.6) 100%);
}

.text-title-box {
  left: 160px;
  top: 200px;
  width: 1600px;
  height: 450px;
  justify-content: flex-end;
}

.text-title {
  font-weight: 800;
  font-size: 150px;
  line-height: 1.06;
  letter-spacing: -3px;
}

.text-bar {
  position: absolute;
  left: 160px;
  top: 684px;
  width: 200px;
  height: 12px;
  border-radius: 6px;
  transform-origin: 0 50%;
}

.text-body-box {
  left: 160px;
  top: 740px;
  width: 1400px;
  height: 240px;
  justify-content: flex-start;
}

.text-body {
  font-weight: 600;
  font-size: 68px;
  line-height: 1.25;
  opacity: 0.94;
}

@keyframes product-enter {
  from {
    opacity: 0;
    transform: translateX(160px) scale(0.86);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes rise-in {
  from {
    opacity: 0;
    transform: translateY(56px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pop-in {
  from {
    opacity: 0;
    transform: translateY(40px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes bar-grow {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes pulse {
  from {
    opacity: 0.25;
  }
  to {
    opacity: 1;
  }
}

.layer[data-reveal='true'] .product-glow {
  animation: fade-in 1200ms ease-out 100ms both;
  will-change: opacity;
}

.layer[data-reveal='true'] .product-image {
  animation: product-enter 900ms cubic-bezier(0.16, 1, 0.3, 1) 150ms both;
  will-change: transform, opacity;
}

.layer[data-reveal='true'] .product-title {
  animation: rise-in 700ms cubic-bezier(0.22, 1, 0.36, 1) 650ms both;
  will-change: transform, opacity;
}

.layer[data-reveal='true'] .product-price {
  animation: pop-in 750ms cubic-bezier(0.22, 1, 0.36, 1) 950ms both;
  will-change: transform, opacity;
}

.layer[data-reveal='true'] .product-caption {
  animation: rise-in 700ms cubic-bezier(0.22, 1, 0.36, 1) 1250ms both;
  will-change: transform, opacity;
}

.layer[data-reveal='true'] .text-title {
  animation: rise-in 700ms cubic-bezier(0.22, 1, 0.36, 1) 250ms both;
  will-change: transform, opacity;
}

.layer[data-reveal='true'] .text-bar {
  animation: bar-grow 700ms cubic-bezier(0.22, 1, 0.36, 1) 500ms both;
  will-change: transform;
}

.layer[data-reveal='true'] .text-body {
  animation: rise-in 700ms cubic-bezier(0.22, 1, 0.36, 1) 700ms both;
  will-change: transform, opacity;
}

.product-panel {
  position: absolute;
  left: 960px;
  top: 60px;
  width: 960px;
  height: 960px;
  border-radius: 480px;
}

.layer[data-layout='image-left'] .product-panel {
  left: 0;
}

.layer[data-look~='flat'] .product-image {
  left: 1040px;
  top: 140px;
  width: 800px;
  height: 800px;
}

.layer[data-look~='flat'] .product-title-box,
.layer[data-look~='flat'] .product-price-box,
.layer[data-look~='flat'] .product-caption-box {
  width: 800px;
}

.layer[data-layout='image-left'] .product-image {
  left: 80px;
}

.layer[data-layout='image-left'] .product-title-box,
.layer[data-layout='image-left'] .product-price-box,
.layer[data-layout='image-left'] .product-caption-box {
  left: 984px;
}

.layer[data-look~='no-price'] .product-caption-box {
  top: 592px;
}

.layer[data-look~='no-image'] .product-title-box,
.layer[data-look~='no-image'] .product-price-box,
.layer[data-look~='no-image'] .product-caption-box {
  left: 96px;
  width: 1728px;
}

.layer[data-look~='flat'] .text-line {
  text-shadow: none;
}

.layer[data-look~='flat'] .product-title {
  letter-spacing: 2px;
  text-transform: uppercase;
}

.layer[data-layout='image-left'] .slide-logo {
  left: 1524px;
  object-position: right center;
}

.layer[data-look~='flat'] .slide-logo {
  width: 112px;
  height: 112px;
  padding: 18px;
  border-radius: 56px;
  background: #ffffff;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
  object-position: center;
}

.layer[data-layout='image-left'][data-look~='flat'] .slide-logo {
  left: 1712px;
}

.list-title-box {
  left: 96px;
  top: 170px;
  width: 900px;
  height: 130px;
  justify-content: flex-end;
}

.list-title {
  font-weight: 900;
  font-size: 108px;
  line-height: 1.05;
  letter-spacing: 6px;
  text-transform: uppercase;
}

.items-box {
  left: 96px;
  top: 330px;
  width: 900px;
  height: 640px;
  justify-content: flex-start;
}

.items-list {
  flex-shrink: 0;
  width: 100%;
}

.product-item {
  -webkit-column-break-inside: avoid;
  break-inside: avoid;
  margin: 0 0 0.42em;
}

.item-name {
  font-weight: 600;
  line-height: 1.12;
}

.item-detail {
  margin-top: 0.1em;
  font-size: 0.58em;
  font-weight: 400;
  line-height: 1.25;
}

.layer[data-mode='list'] .product-image {
  left: 1000px;
  top: 60px;
  width: 920px;
  height: 960px;
  object-position: right center;
}

.layer[data-mode='list'][data-layout='image-left'] .product-image {
  left: 0;
  object-position: left center;
}

.layer[data-mode='list'][data-layout='image-left'] .list-title-box,
.layer[data-mode='list'][data-layout='image-left'] .items-box {
  left: 884px;
  width: 940px;
}

.layer[data-mode='wide'] .list-title-box,
.layer[data-mode='wide'] .items-box {
  left: 96px;
  width: 1728px;
}

.fx-ring {
  position: absolute;
  border: 8px solid;
  border-radius: 50%;
}

.fx-ring-a {
  left: 1300px;
  top: -300px;
  width: 760px;
  height: 760px;
}

.fx-ring-b {
  left: -260px;
  top: 640px;
  width: 640px;
  height: 640px;
}

.fx-bubble {
  position: absolute;
  top: 1080px;
  width: 28px;
  height: 28px;
  border-radius: 14px;
  opacity: 0;
}

.fx-bubble-0 {
  left: 140px;
}

.fx-bubble-1 {
  left: 420px;
  width: 18px;
  height: 18px;
}

.fx-bubble-2 {
  left: 760px;
  width: 36px;
  height: 36px;
}

.fx-bubble-3 {
  left: 1120px;
  width: 22px;
  height: 22px;
}

.fx-bubble-4 {
  left: 1500px;
  width: 32px;
  height: 32px;
}

.fx-bubble-5 {
  left: 1780px;
  width: 20px;
  height: 20px;
}

.fx-shine {
  position: absolute;
  left: -500px;
  top: -200px;
  width: 380px;
  height: 1500px;
  opacity: 0;
  transform: translateX(0) rotate(18deg);
}

@keyframes product-enter-left {
  from {
    opacity: 0;
    transform: translateX(-160px) scale(0.86);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes product-float {
  from {
    transform: translateY(0) scale(1);
  }
  to {
    transform: translateY(-18px) scale(1.015);
  }
}

@keyframes panel-grow {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes ring-drift {
  from {
    transform: translate(0, 0) scale(1);
  }
  to {
    transform: translate(-70px, 60px) scale(1.12);
  }
}

@keyframes bubble-rise {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  15% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-1240px);
  }
}

@keyframes shine-sweep {
  0% {
    opacity: 1;
    transform: translateX(0) rotate(18deg);
  }
  36% {
    opacity: 1;
    transform: translateX(2900px) rotate(18deg);
  }
  37% {
    opacity: 0;
    transform: translateX(2900px) rotate(18deg);
  }
  100% {
    opacity: 0;
    transform: translateX(0) rotate(18deg);
  }
}

.layer[data-reveal='true'] .product-panel {
  animation: panel-grow 900ms cubic-bezier(0.16, 1, 0.3, 1) 50ms both;
  will-change: transform, opacity;
}

.layer[data-reveal='true'] .product-image {
  animation:
    product-enter 900ms cubic-bezier(0.16, 1, 0.3, 1) 150ms both,
    product-float 5200ms ease-in-out 1100ms infinite alternate;
}

.layer[data-reveal='true'][data-layout='image-left'] .product-image {
  animation:
    product-enter-left 900ms cubic-bezier(0.16, 1, 0.3, 1) 150ms both,
    product-float 5200ms ease-in-out 1100ms infinite alternate;
}

.layer[data-reveal='true'] .list-title {
  animation: rise-in 700ms cubic-bezier(0.22, 1, 0.36, 1) 250ms both;
  will-change: transform, opacity;
}

.layer[data-reveal='true'] .product-item {
  animation: rise-in 600ms cubic-bezier(0.22, 1, 0.36, 1) both;
  will-change: transform, opacity;
}

.layer[data-reveal='true'] .fx-ring-a {
  animation: ring-drift 18000ms ease-in-out infinite alternate;
}

.layer[data-reveal='true'] .fx-ring-b {
  animation: ring-drift 22000ms ease-in-out -6000ms infinite alternate;
}

.layer[data-reveal='true'] .fx-shine {
  animation: shine-sweep 8000ms linear 900ms infinite;
}

.layer[data-reveal='true'] .fx-bubble-0 {
  animation: bubble-rise 11000ms linear -2000ms infinite;
}

.layer[data-reveal='true'] .fx-bubble-1 {
  animation: bubble-rise 9000ms linear -6000ms infinite;
}

.layer[data-reveal='true'] .fx-bubble-2 {
  animation: bubble-rise 13000ms linear -4000ms infinite;
}

.layer[data-reveal='true'] .fx-bubble-3 {
  animation: bubble-rise 10000ms linear -8000ms infinite;
}

.layer[data-reveal='true'] .fx-bubble-4 {
  animation: bubble-rise 12000ms linear -1000ms infinite;
}

.layer[data-reveal='true'] .fx-bubble-5 {
  animation: bubble-rise 14000ms linear -9000ms infinite;
}

.status-screen {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 1080px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 160px;
  text-align: center;
  background: linear-gradient(160deg, #0d1322 0%, #04060b 100%);
}

.status-title {
  margin: 0;
  font-weight: 800;
  font-size: 104px;
  line-height: 1.1;
  letter-spacing: -2px;
  color: #ffffff;
}

.status-detail {
  margin: 40px 0 0;
  font-weight: 600;
  font-size: 52px;
  line-height: 1.3;
  color: #b9c2d8;
}

.status-progress {
  width: 900px;
  height: 16px;
  margin: 72px 0 0;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.14);
}

.status-progress-fill {
  width: 900px;
  height: 16px;
  background: #f5b700;
  transform-origin: 0 50%;
  transform: scaleX(0);
  transition: transform 300ms ease-out;
}

.status-pulse {
  width: 28px;
  height: 28px;
  margin: 64px 0 0;
  border-radius: 14px;
  background: #f5b700;
  animation: pulse 1400ms ease-in-out infinite alternate;
}

.status-action {
  display: none;
  width: 860px;
  height: 200px;
  margin: 80px 0 0;
  padding: 0;
  border: 0;
  border-radius: 100px;
  background: #f5b700;
  color: #14110a;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 800;
  font-size: 80px;
  letter-spacing: -1px;
  outline: 0;
}

.status-action:focus {
  box-shadow:
    0 0 0 10px #0d1322,
    0 0 0 26px #ffffff;
}

.debug-panel {
  position: absolute;
  right: 16px;
  top: 16px;
  width: 500px;
  padding: 10px 14px;
  z-index: 100;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.78);
  color: #8dffa8;
  font-family: Menlo, Consolas, 'Courier New', monospace;
  font-size: 16px;
  line-height: 1.4;
}

.debug-row {
  display: flex;
  justify-content: space-between;
}

.debug-label {
  margin-right: 16px;
  color: #c7d0e0;
}

.debug-value {
  text-align: right;
  word-break: break-all;
}

.debug-row[data-metric='user-agent'] .debug-value,
.debug-row[data-metric='last-issue'] .debug-value {
  font-size: 11px;
}
