.launch-upload-cyber {
  min-height: 100svh;
  padding-bottom: clamp(42px, 6vw, 86px);
  background:
    radial-gradient(circle at 68% 16%, rgba(69, 207, 255, 0.28), transparent 30%),
    radial-gradient(circle at 18% 78%, rgba(255, 170, 86, 0.1), transparent 28%),
    linear-gradient(135deg, #05080d 0%, #071320 42%, #020409 100%);
  color: #f7fbff;
}

.launch-upload-cyber::before {
  width: 100%;
  background:
    linear-gradient(rgba(120, 218, 255, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 218, 255, 0.055) 1px, transparent 1px),
    radial-gradient(circle at 74% 32%, rgba(67, 201, 255, 0.2), transparent 30%),
    linear-gradient(120deg, rgba(255, 255, 255, 0.05), transparent 34%),
    #05080d;
  background-size: 54px 54px, 54px 54px, 100% 100%, 100% 100%, auto;
}

.launch-upload-cyber::after {
  inset: 0;
  width: 100%;
  background:
    linear-gradient(90deg, rgba(2, 4, 9, 0.94) 0%, rgba(2, 4, 9, 0.68) 45%, rgba(5, 14, 26, 0.22) 100%),
    radial-gradient(circle at 82% 46%, rgba(99, 219, 255, 0.13), transparent 26%);
}

.launch-upload-cyber .upload-hero {
  width: min(1500px, 100%);
  grid-template-columns: minmax(0, 0.92fr) minmax(500px, 1.08fr);
  gap: clamp(36px, 5vw, 92px);
}

.launch-upload-cyber .upload-copy {
  width: 100%;
  max-width: 100%;
  justify-self: stretch;
  color: #f7fbff;
}

.launch-upload-cyber .eyebrow,
.launch-upload-cyber .section-label {
  color: #6fe6ff;
  text-shadow: 0 0 28px rgba(87, 225, 255, 0.32);
}

.launch-upload-cyber h1 {
  max-width: 100%;
  color: #f8fbff;
  font-size: clamp(46px, 5vw, 72px);
  text-shadow: 0 0 36px rgba(109, 223, 255, 0.2);
}

.launch-upload-cyber .cyber-brand-row {
  display: flex;
  gap: clamp(14px, 1.6vw, 22px);
  align-items: center;
  flex-wrap: wrap;
}

.launch-upload-cyber .cyber-brand-row h1 {
  margin: 0;
}

.cyber-brand-logo {
  position: relative;
  display: grid;
  width: clamp(68px, 7vw, 96px);
  height: clamp(68px, 7vw, 96px);
  place-items: center;
  padding: 8px;
  border: 1px solid rgba(115, 238, 255, 0.42);
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 26%, rgba(255, 255, 255, 0.96), rgba(155, 244, 255, 0.42) 27%, transparent 48%),
    linear-gradient(145deg, rgba(17, 33, 52, 0.86), rgba(9, 17, 34, 0.92));
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.18) inset,
    0 0 38px rgba(92, 225, 255, 0.36),
    0 20px 54px rgba(33, 112, 255, 0.34);
  isolation: isolate;
}

.cyber-brand-logo::before,
.cyber-brand-logo::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.cyber-brand-logo::before {
  inset: -10px;
  z-index: -2;
  border-radius: inherit;
  background: conic-gradient(from 180deg, rgba(95, 235, 255, 0.08), rgba(82, 146, 255, 0.36), rgba(122, 245, 255, 0.1));
  filter: blur(6px);
}

.cyber-brand-logo::after {
  inset: 7px;
  z-index: -1;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.92);
}

.cyber-brand-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 22%;
  filter:
    drop-shadow(0 8px 14px rgba(0, 28, 82, 0.18))
    drop-shadow(0 0 14px rgba(92, 218, 255, 0.22));
}

.launch-upload-cyber .launch-headline {
  max-width: 100%;
  color: #ffffff;
  font-size: clamp(40px, 4.7vw, 74px);
  line-height: 0.98;
  overflow-wrap: break-word;
  text-shadow:
    0 0 34px rgba(83, 217, 255, 0.24),
    0 32px 80px rgba(0, 0, 0, 0.42);
}

.launch-upload-cyber .subtitle {
  max-width: 720px;
  color: #b9c9dc;
  font-size: clamp(16px, 1.35vw, 20px);
}

.launch-upload-cyber .launch-proof span,
.launch-upload-cyber .pro-proof-strip article,
.launch-upload-cyber .case-gallery-proof span {
  border-color: rgba(112, 229, 255, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.035)),
    rgba(5, 15, 30, 0.58);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.11),
    0 20px 60px rgba(0, 0, 0, 0.18);
}

.launch-upload-cyber .pro-proof-strip span,
.launch-upload-cyber .case-gallery-proof small {
  color: #7de9ff;
}

.launch-upload-cyber .upload-action-zone {
  position: relative;
  gap: 18px;
}

.launch-upload-cyber .upload-value-prop {
  color: #eaf6ff;
}

.launch-upload-cyber .upload-value-prop span {
  color: #70e8ff;
}

.launch-upload-cyber .upload-value-prop strong {
  max-width: 21em;
  color: #ffffff;
  text-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
}

.launch-upload-cyber .upload-value-prop p {
  color: #9fb2c9;
}

.launch-upload-cyber .upload-card {
  width: min(620px, 100%);
  border: 1px solid rgba(126, 232, 255, 0.19);
  background:
    linear-gradient(180deg, rgba(12, 24, 39, 0.78), rgba(5, 10, 18, 0.86)),
    rgba(5, 11, 21, 0.76);
  box-shadow:
    0 54px 130px rgba(0, 0, 0, 0.5),
    0 0 90px rgba(79, 210, 255, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.13);
  backdrop-filter: blur(24px);
}

.launch-upload-cyber .credit-wallet {
  border-color: rgba(112, 229, 255, 0.2);
  background:
    linear-gradient(135deg, rgba(14, 35, 58, 0.92), rgba(5, 14, 27, 0.82)),
    rgba(7, 18, 33, 0.82);
  color: #fff;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.launch-upload-cyber .credit-wallet span,
.launch-upload-cyber .credit-wallet strong,
.launch-upload-cyber .credit-wallet b {
  color: #fff;
}

.launch-upload-cyber .credit-recharge-button,
.launch-upload-cyber .primary-button {
  background:
    linear-gradient(135deg, #75e9ff, #2d72ff 55%, #8ea7ff);
  color: #06101f;
  box-shadow:
    0 18px 44px rgba(53, 152, 255, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.launch-upload-cyber .ghost-button {
  border: 1px solid rgba(112, 229, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: #d7efff;
}

.launch-upload-cyber .upload-actions {
  display: grid;
  grid-template-columns: minmax(126px, 1fr) auto minmax(168px, 1fr);
  gap: 12px;
  align-items: center;
}

.launch-upload-cyber .advanced-settings-button {
  justify-self: start;
  min-width: 132px;
}

.launch-upload-cyber [data-demo-upload] {
  justify-self: center;
}

.launch-upload-cyber .start-launch {
  justify-self: end;
  min-width: 172px;
  white-space: nowrap;
}

.launch-upload-cyber .drop-zone {
  min-height: 150px;
  border-color: rgba(117, 226, 255, 0.44);
  background:
    radial-gradient(circle at 14% 26%, rgba(117, 226, 255, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(69, 202, 255, 0.16), rgba(255, 255, 255, 0.06)),
    rgba(4, 12, 23, 0.84);
  color: #f6fbff;
  box-shadow:
    0 24px 70px rgba(27, 146, 255, 0.18),
    inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.launch-upload-cyber .drop-zone strong {
  font-size: clamp(20px, 2.2vw, 26px);
}

.launch-upload-cyber .drop-zone small {
  color: #9fb5cc;
}

.launch-upload-cyber .upload-icon,
.launch-upload-cyber .drop-graphic {
  background: linear-gradient(135deg, #6ee8ff, #2467ff);
  color: #06101f;
}

.launch-upload-cyber .drop-graphic {
  width: 78px;
  height: 78px;
  border-radius: 24px;
  box-shadow:
    0 24px 52px rgba(36, 103, 255, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.36);
}

.launch-upload-cyber .drop-graphic span {
  width: 34px;
  height: 42px;
}

.advanced-panel .advanced-card {
  border: 1px solid rgba(112, 229, 255, 0.24);
  background:
    radial-gradient(circle at 18% 0%, rgba(112, 229, 255, 0.18), transparent 32%),
    linear-gradient(180deg, rgba(15, 30, 49, 0.98), rgba(5, 11, 22, 0.98));
  box-shadow:
    0 44px 110px rgba(0, 0, 0, 0.58),
    0 0 90px rgba(82, 218, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  color: #f5fbff;
}

.advanced-panel .advanced-header h2,
.advanced-panel .settings-grid label {
  color: #f5fbff;
}

.advanced-panel .settings-grid input,
.advanced-panel .settings-grid select,
.advanced-panel .settings-grid textarea {
  border-color: rgba(112, 229, 255, 0.24);
  background: rgba(4, 13, 25, 0.82);
  color: #f5fbff;
}

.advanced-panel .settings-grid textarea::placeholder {
  color: rgba(202, 229, 248, 0.62);
}

.cyber-persona-frame {
  position: relative;
  display: block;
  width: 100%;
  min-height: clamp(360px, 38vw, 520px);
  overflow: hidden;
  border: 1px solid rgba(142, 239, 255, 0.24);
  border-radius: 10px;
  background:
    radial-gradient(circle at 32% 20%, rgba(125, 235, 255, 0.23), transparent 28%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(5, 10, 18, 0.78));
  box-shadow:
    0 34px 90px rgba(0, 0, 0, 0.44),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.cyber-avatar-stage {
  position: relative;
  display: grid;
  width: 100%;
  min-height: clamp(360px, 38vw, 520px);
  overflow: hidden;
  place-items: center;
  perspective: 1200px;
  isolation: isolate;
  cursor: default;
}

.cyber-vtuber-stage {
  background:
    radial-gradient(circle at 50% 38%, rgba(110, 244, 255, 0.18), transparent 30%),
    radial-gradient(circle at 48% 32%, rgba(58, 122, 255, 0.18), transparent 44%),
    linear-gradient(180deg, rgba(7, 20, 34, 0.16), rgba(3, 9, 18, 0.58));
}

.cyber-vtuber-stage::before,
.cyber-vtuber-stage::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.cyber-vtuber-stage::before {
  inset: 9% 18% 19%;
  z-index: 1;
  border: 1px solid rgba(106, 234, 255, 0.22);
  border-radius: 999px;
  background:
    linear-gradient(rgba(142, 237, 255, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(142, 237, 255, 0.07) 1px, transparent 1px);
  background-size: 28px 28px;
  box-shadow:
    0 0 64px rgba(78, 225, 255, 0.14),
    inset 0 0 50px rgba(44, 124, 255, 0.08);
  mask-image: radial-gradient(circle, #000 0 60%, transparent 82%);
  opacity: 0.66;
}

.cyber-vtuber-stage::after {
  inset: 0;
  z-index: 4;
  background:
    linear-gradient(90deg, rgba(4, 9, 18, 0.66), transparent 26% 72%, rgba(4, 9, 18, 0.58)),
    linear-gradient(180deg, rgba(4, 9, 18, 0.12), transparent 46%, rgba(4, 9, 18, 0.3));
}

.cyber-vtuber-frame {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  opacity: 0;
  transition: opacity 360ms ease;
}

.cyber-vtuber-stage.is-live2d-loaded .cyber-vtuber-frame {
  opacity: 1;
}

.cyber-vtuber-placeholder {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  gap: 10px;
  place-content: center;
  place-items: center;
  color: #fff;
  text-align: center;
  pointer-events: none;
  transition:
    opacity 300ms ease,
    transform 300ms ease;
}

.cyber-vtuber-placeholder::before {
  position: absolute;
  width: 132px;
  height: 132px;
  border: 1px solid rgba(95, 226, 255, 0.38);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(86, 209, 255, 0.18), transparent 64%),
    conic-gradient(from 40deg, transparent, rgba(96, 212, 255, 0.42), transparent 42%);
  box-shadow:
    0 0 44px rgba(65, 184, 255, 0.24),
    inset 0 0 26px rgba(117, 226, 255, 0.18);
  content: "";
  animation: vtuberWakeRing 1.8s linear infinite;
}

.cyber-vtuber-placeholder span,
.cyber-vtuber-placeholder strong {
  position: relative;
  z-index: 1;
}

.cyber-vtuber-placeholder span {
  color: #65e7ff;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cyber-vtuber-placeholder strong {
  max-width: 220px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 17px;
  line-height: 1.35;
  text-shadow: 0 0 18px rgba(79, 197, 255, 0.45);
}

.cyber-vtuber-stage.is-live2d-loaded .cyber-vtuber-placeholder {
  opacity: 0;
  transform: scale(0.96);
}

.cyber-vtuber-interaction {
  position: absolute;
  inset: 0;
  z-index: 8;
  cursor: default;
}

.cyber-vtuber-stage .cyber-avatar-speech {
  z-index: 10;
  pointer-events: none;
}

.launch-upload-cyber .hatsune-live2d-rig {
  --rig-x: 0px;
  --rig-y: 0px;
  --rig-rotate: 0deg;
  --head-x: 0px;
  --head-y: 0px;
  --head-rotate: 0deg;
  --eye-x: 0px;
  --eye-y: 0px;
  --blink-scale: 1;
  --mouth-scale: 1;
  --hair-left-rotate: 0deg;
  --hair-right-rotate: 0deg;
  --hair-left-x: 0px;
  --hair-right-x: 0px;
  --breath-y: 0px;
  --torso-rotate: 0deg;
  --skirt-rotate: 0deg;
  --tie-rotate: 0deg;
  --tie-x: 0px;
  --tie-y: 0px;
  --arm-left-rotate: 0deg;
  --arm-right-rotate: 0deg;
  --arm-left-x: 0px;
  --arm-right-x: 0px;
  --arm-y: 0px;
  --bangs-rotate: 0deg;
  --bangs-x: 0px;
  --bangs-y: 0px;
  --mouth-x: 0px;
  --mouth-y: 0px;
  --skirt-y: 0px;
  position: absolute;
  top: 8px;
  bottom: 118px;
  left: 50%;
  z-index: 6;
  width: min(390px, 86%);
  max-width: 92%;
  transform: translate3d(calc(-50% + var(--rig-x)), var(--rig-y), 0) rotate(var(--rig-rotate));
  transform-origin: 50% 34%;
  isolation: isolate;
  pointer-events: none;
  will-change: transform;
}

.launch-upload-cyber .hatsune-live2d-rig::before,
.launch-upload-cyber .hatsune-live2d-rig::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.launch-upload-cyber .hatsune-live2d-rig::before {
  inset: 3% 14% 0;
  z-index: 0;
  border-radius: 999px;
  background:
    radial-gradient(circle at 48% 18%, rgba(170, 252, 255, 0.38), transparent 20%),
    radial-gradient(circle at 52% 54%, rgba(42, 184, 255, 0.2), transparent 36%),
    conic-gradient(from 210deg, transparent 0 18%, rgba(92, 244, 255, 0.25), transparent 46% 100%);
  filter: blur(16px);
  mix-blend-mode: screen;
  animation: cyberAvatarAura 7s ease-in-out infinite;
}

.launch-upload-cyber .hatsune-live2d-rig::after {
  inset: 8% 12% 6%;
  z-index: 1;
  border: 1px solid rgba(102, 238, 255, 0.18);
  border-radius: 999px;
  background:
    linear-gradient(rgba(142, 237, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(142, 237, 255, 0.08) 1px, transparent 1px);
  background-size: 26px 26px;
  box-shadow:
    0 0 54px rgba(63, 220, 255, 0.12),
    inset 0 0 44px rgba(44, 124, 255, 0.08);
  mask-image: radial-gradient(circle, #000 0 58%, transparent 78%);
  opacity: 0.54;
}

.launch-upload-cyber .hatsune-live2d-orbit {
  position: absolute;
  inset: 8% 23% 10%;
  z-index: 1;
  border: 1px solid rgba(106, 234, 255, 0.28);
  border-radius: 999px;
  box-shadow:
    0 0 30px rgba(70, 224, 255, 0.18),
    inset 0 0 30px rgba(80, 229, 255, 0.08);
  transform: rotate(-12deg);
  opacity: 0.54;
}

.launch-upload-cyber .hatsune-live2d-part {
  position: absolute;
  display: block;
  height: auto;
  max-width: none;
  user-select: none;
  pointer-events: none;
  filter:
    drop-shadow(0 16px 20px rgba(0, 0, 0, 0.34))
    drop-shadow(0 0 12px rgba(69, 232, 255, 0.14));
  will-change: transform, opacity;
}

.launch-upload-cyber .hatsune-live2d-hair-left {
  top: 2%;
  left: 20%;
  z-index: 2;
  width: 25%;
  transform-origin: 74% 10%;
  transform: translate3d(var(--hair-left-x), 0, 0) rotate(calc(-7deg + var(--hair-left-rotate)));
  animation: hatsuneHairSway 6.2s ease-in-out infinite;
}

.launch-upload-cyber .hatsune-live2d-hair-right {
  top: 0;
  right: 19%;
  z-index: 2;
  width: 25%;
  transform-origin: 26% 10%;
  transform: translate3d(var(--hair-right-x), 0, 0) rotate(calc(7deg + var(--hair-right-rotate)));
  animation: hatsuneHairSway 6.8s ease-in-out infinite reverse;
}

.launch-upload-cyber .hatsune-live2d-torso {
  top: 36%;
  left: 35%;
  z-index: 4;
  width: 31%;
  transform: translate3d(0, var(--breath-y), 0) rotate(var(--torso-rotate));
  transform-origin: 50% 10%;
}

.launch-upload-cyber .hatsune-live2d-skirt {
  top: 61%;
  left: 33%;
  z-index: 5;
  width: 35%;
  transform: translate3d(0, var(--skirt-y), 0) rotate(var(--skirt-rotate));
  transform-origin: 50% 4%;
}

.launch-upload-cyber .hatsune-live2d-tie {
  top: 39%;
  left: 46.8%;
  z-index: 7;
  width: 10%;
  transform: translate3d(var(--tie-x), var(--tie-y), 0) rotate(var(--tie-rotate));
  transform-origin: 50% 8%;
}

.launch-upload-cyber .hatsune-live2d-arm-left {
  top: 44%;
  left: 28%;
  z-index: 6;
  width: 12%;
  transform: translate3d(var(--arm-left-x), var(--arm-y), 0) rotate(calc(-8deg + var(--arm-left-rotate)));
  transform-origin: 50% 8%;
}

.launch-upload-cyber .hatsune-live2d-arm-right {
  top: 43%;
  right: 28%;
  z-index: 6;
  width: 12%;
  transform: translate3d(var(--arm-right-x), var(--arm-y), 0) rotate(calc(8deg + var(--arm-right-rotate)));
  transform-origin: 50% 8%;
}

.launch-upload-cyber .hatsune-live2d-head-side,
.launch-upload-cyber .hatsune-live2d-face,
.launch-upload-cyber .hatsune-live2d-eyes,
.launch-upload-cyber .hatsune-live2d-mouth,
.launch-upload-cyber .hatsune-live2d-bangs {
  transform: translate3d(var(--head-x), var(--head-y), 0) rotate(var(--head-rotate));
  transform-origin: 50% 62%;
}

.launch-upload-cyber .hatsune-live2d-head-side {
  top: 9%;
  left: 38%;
  z-index: 8;
  width: 23%;
}

.launch-upload-cyber .hatsune-live2d-face {
  top: 17%;
  left: 41.2%;
  z-index: 9;
  width: 17%;
}

.launch-upload-cyber .hatsune-live2d-eyes {
  top: 21.2%;
  left: 40.1%;
  z-index: 10;
  width: 18.6%;
  transform: translate3d(calc(var(--head-x) + var(--eye-x)), calc(var(--head-y) + var(--eye-y)), 0) rotate(var(--head-rotate)) scaleY(var(--blink-scale));
  transform-origin: 50% 48%;
  filter:
    drop-shadow(0 0 10px rgba(63, 236, 255, 0.32))
    drop-shadow(0 10px 12px rgba(0, 0, 0, 0.28));
}

.launch-upload-cyber .hatsune-live2d-mouth {
  top: 30.5%;
  left: 47.3%;
  z-index: 11;
  width: 5.4%;
  transform: translate3d(var(--mouth-x), var(--mouth-y), 0) rotate(var(--head-rotate)) scaleY(var(--mouth-scale));
  transform-origin: 50% 50%;
}

.launch-upload-cyber .hatsune-live2d-bangs {
  top: 10%;
  left: 36%;
  z-index: 12;
  width: 25.5%;
  transform: translate3d(var(--bangs-x), var(--bangs-y), 0) rotate(var(--bangs-rotate));
  transform-origin: 54% 70%;
}

.cyber-avatar-speech {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  z-index: 9;
  display: grid;
  gap: 7px;
  min-height: 96px;
  padding: 14px 16px;
  border: 1px solid rgba(120, 234, 255, 0.22);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(7, 17, 30, 0.82), rgba(7, 17, 30, 0.48)),
    rgba(4, 10, 20, 0.72);
  color: #f7fbff;
  box-shadow:
    0 22px 54px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(20px);
}

.cyber-avatar-speech span {
  color: #78eaff;
  font-size: 10px;
  font-weight: 1000;
}

.cyber-avatar-speech strong {
  min-height: 2.7em;
  color: #ffffff;
  font-size: clamp(17px, 1.35vw, 22px);
  line-height: 1.34;
}

.avatar-voice-wave {
  display: flex;
  gap: 5px;
  align-items: end;
  height: 20px;
}

.avatar-voice-wave i {
  width: 4px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(180deg, #8df2ff, #2c7dff);
  animation: avatarWave 840ms ease-in-out infinite;
}

.avatar-voice-wave i:nth-child(2) {
  animation-delay: 80ms;
}

.avatar-voice-wave i:nth-child(3) {
  animation-delay: 170ms;
}

.avatar-voice-wave i:nth-child(4) {
  animation-delay: 260ms;
}

.avatar-voice-wave i:nth-child(5) {
  animation-delay: 350ms;
}

.launch-upload-cyber .upload-mascot-aura {
  inset: 8%;
  background:
    radial-gradient(circle, rgba(110, 231, 255, 0.18), transparent 58%),
    conic-gradient(from 90deg, transparent, rgba(102, 223, 255, 0.18), transparent 42%);
  filter: blur(2px);
  animation: cyberPulse 4s ease-in-out infinite;
}

.cyber-scan-line {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0 43%, rgba(113, 232, 255, 0.34) 48%, transparent 54% 100%);
  mix-blend-mode: screen;
  animation: cyberScan 4.8s ease-in-out infinite;
}

.launch-upload-cyber .mascot-figure {
  width: 100%;
  height: 100%;
}

.launch-upload-cyber .upload-mascot > img {
  width: 100%;
  height: 100%;
  min-height: clamp(360px, 38vw, 520px);
  object-fit: cover;
  object-position: center 42%;
  border-radius: 0;
  filter: saturate(1.05) contrast(1.04);
}

.launch-upload-cyber .success-icon-wall::before {
  background: linear-gradient(90deg, #05080d, transparent);
}

.launch-upload-cyber .success-icon-wall::after {
  background: linear-gradient(270deg, #05080d, transparent);
}

.launch-upload-cyber .pro-case-showcase {
  background:
    radial-gradient(circle at 78% 20%, rgba(82, 216, 255, 0.18), transparent 28%),
    radial-gradient(circle at 20% 54%, rgba(255, 184, 93, 0.08), transparent 28%),
    linear-gradient(180deg, #05080d 0%, #07111d 52%, #020409 100%);
}

.launch-upload-cyber .case-gallery-intro h2 {
  max-width: 7em;
}

.launch-upload-cyber + .product-progress {
  grid-template-columns: minmax(420px, 0.76fr) minmax(720px, 1.34fr);
  gap: clamp(18px, 2.6vw, 46px);
  padding: clamp(22px, 3vw, 48px) clamp(26px, 3.2vw, 56px) clamp(22px, 3vw, 44px) clamp(16px, 1.9vw, 34px);
  align-items: stretch;
  background:
    radial-gradient(circle at 24% 18%, rgba(84, 216, 255, 0.16), transparent 30%),
    linear-gradient(135deg, #05080d, #071320 54%, #020409);
  color: #f8fbff;
}

.launch-upload-cyber + .product-progress .assistant-stage {
  align-content: center;
  align-self: stretch;
}

.launch-upload-cyber + .product-progress .stage-copy h1,
.launch-upload-cyber + .product-progress .console-header h2 {
  color: #ffffff;
}

.launch-upload-cyber + .product-progress .stage-copy .subtitle,
.launch-upload-cyber + .product-progress .console-header p {
  color: #b8c8db;
}

.launch-upload-cyber + .product-progress .robot-panel {
  border: 1px solid rgba(122, 232, 255, 0.16);
  border-radius: 10px;
  background: rgba(4, 10, 20, 0.58);
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.38);
}

.progress-live2d-panel {
  width: calc(100% + clamp(18px, 2vw, 36px));
  min-height: min(62vw, 620px);
  border-radius: 10px;
  transform: translateX(clamp(-36px, -2vw, -16px));
}

.progress-vtuber-stage {
  z-index: 1;
  min-height: clamp(420px, 42vw, 620px);
  border-radius: 10px;
}

.progress-vtuber-stage::before {
  inset: 8% 16% 14%;
  opacity: 0.76;
}

.progress-vtuber-stage .cyber-vtuber-frame {
  transform: scale(1.03);
  transform-origin: center bottom;
}

.progress-live2d-panel .status-bubble {
  right: 22px;
  bottom: 22px;
  z-index: 12;
  border: 1px solid rgba(118, 232, 255, 0.26);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(5, 14, 26, 0.86), rgba(5, 14, 26, 0.58)),
    rgba(5, 14, 26, 0.72);
  box-shadow:
    0 22px 54px rgba(0, 0, 0, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(18px);
}

.progress-live2d-panel .status-bubble span {
  color: #78eaff;
}

.progress-live2d-panel .status-bubble strong {
  color: #ffffff;
}

.launch-upload-cyber + .product-progress .progress-console {
  display: grid;
  grid-template-rows: minmax(500px, 1fr) minmax(128px, 0.24fr) auto;
  gap: 14px;
  min-height: min(78vh, 760px);
  max-height: none;
  padding: clamp(12px, 1.5vw, 18px);
  border: 1px solid rgba(96, 218, 255, 0.22);
  background:
    radial-gradient(circle at 20% 0%, rgba(80, 213, 255, 0.15), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(77, 112, 255, 0.14), transparent 32%),
    linear-gradient(145deg, rgba(8, 18, 31, 0.94), rgba(3, 8, 16, 0.86));
  box-shadow:
    0 38px 110px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.progress-focus-panel {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: clamp(14px, 1.7vw, 20px);
  min-height: clamp(640px, 70vh, 720px);
  padding: clamp(18px, 2vw, 28px);
  overflow: hidden;
  border: 1px solid rgba(255, 190, 64, 0.34);
  border-radius: 10px;
  background:
    radial-gradient(circle at 82% 12%, rgba(68, 109, 255, 0.28), transparent 38%),
    radial-gradient(circle at 14% 0%, rgba(98, 232, 255, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(12, 28, 47, 0.86), rgba(8, 15, 28, 0.64));
  box-shadow:
    0 26px 72px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.progress-flow-panel {
  display: grid;
  min-height: clamp(128px, 16vh, 180px);
  overflow: hidden;
  padding: 12px 10px 12px 12px;
  border: 1px solid rgba(76, 170, 255, 0.34);
  border-radius: 10px;
  background:
    radial-gradient(circle at 3% 8%, rgba(56, 202, 255, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(81, 191, 255, 0.08);
}

.progress-flow-panel .step-list {
  display: flex;
  grid-template-columns: none;
  align-items: stretch;
  gap: 10px;
  height: 100%;
  max-height: none;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 8px 8px 0;
  scroll-padding-left: 2px;
  scroll-snap-type: x mandatory;
}

.launch-upload-cyber + .product-progress .console-header {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(96, 218, 255, 0.16);
}

.launch-upload-cyber + .product-progress .percent-pill {
  background: linear-gradient(135deg, #4dcfff, #375cff);
  box-shadow:
    0 16px 40px rgba(45, 103, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.36);
}

.launch-upload-cyber + .product-progress .progress-track {
  background: rgba(180, 211, 255, 0.14);
  box-shadow: inset 0 0 0 1px rgba(126, 221, 255, 0.1);
}

.progress-focus-panel .preview-gallery {
  grid-template-columns: minmax(0, min(100%, 560px));
  align-content: start;
  align-items: stretch;
  min-height: 0;
}

.progress-focus-panel .preview-gallery.is-multi-preview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 560px;
  gap: 10px;
  align-items: start;
}

.launch-upload-cyber + .product-progress .preview-card {
  grid-template-columns: 1fr;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  width: 100%;
  min-height: 96px;
  border-color: rgba(118, 232, 255, 0.18);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(7, 17, 30, 0.68)),
    rgba(255, 255, 255, 0.04);
  color: #f7fbff;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.progress-focus-panel .preview-card {
  grid-template-columns: 1fr;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  width: 100%;
  min-height: clamp(428px, 46vh, 500px);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.launch-upload-cyber + .product-progress .progress-focus-panel .preview-card {
  min-height: clamp(428px, 46vh, 500px);
  border: 0;
  background: transparent;
  box-shadow: none;
}

.progress-focus-panel .preview-gallery.is-multi-preview .preview-card {
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 8px;
}

.launch-upload-cyber + .product-progress .progress-focus-panel .preview-gallery.is-multi-preview .preview-card {
  min-height: 0;
}

.progress-focus-panel .preview-card > .store-preview {
  grid-row: auto;
  width: 100%;
  min-height: clamp(360px, 40vh, 430px);
  border-radius: 10px;
}

.progress-focus-panel .preview-gallery.is-multi-preview .preview-card > .store-preview {
  min-height: clamp(128px, 17vh, 168px);
  border-radius: 8px;
}

.progress-focus-panel .store-preview.is-icon {
  width: min(320px, 52vw);
  justify-self: start;
}

.progress-focus-panel .preview-caption {
  display: none;
}

.progress-focus-panel .real-preview-label {
  display: none;
}

.progress-focus-panel .preview-actions {
  grid-template-columns: repeat(2, minmax(132px, 1fr));
  width: min(100%, 560px);
  margin-top: 12px;
  align-self: start;
}

.progress-focus-panel .preview-gallery.is-multi-preview .preview-actions {
  grid-template-columns: repeat(2, minmax(64px, 1fr));
  width: 100%;
  gap: 6px;
  margin-top: 0;
}

.progress-focus-panel .mini-button {
  min-height: 36px;
}

.progress-focus-panel .preview-gallery.is-multi-preview .mini-button {
  min-height: 30px;
  font-size: 11px;
}

.launch-upload-cyber + .product-progress .preview-caption strong,
.launch-upload-cyber + .product-progress .preview-card h3 {
  color: #ffffff;
}

.launch-upload-cyber + .product-progress .preview-caption small,
.launch-upload-cyber + .product-progress .preview-card p {
  color: #aebed2;
}

.launch-upload-cyber + .product-progress .step-list {
  scrollbar-color: rgba(103, 224, 255, 0.42) transparent;
}

.launch-upload-cyber + .product-progress .step-list::-webkit-scrollbar-thumb {
  background: rgba(103, 224, 255, 0.42);
}

.progress-flow-panel .process-step {
  flex: 0 0 clamp(220px, 24vw, 310px);
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  min-height: 100%;
  width: auto;
  scroll-snap-align: start;
}

.launch-upload-cyber + .product-progress .process-step {
  border-color: rgba(126, 216, 255, 0.1);
  background: rgba(255, 255, 255, 0.06);
  color: #f5f8ff;
  box-shadow: none;
}

.progress-flow-panel .step-index {
  width: 34px;
  height: 34px;
  border-radius: 14px;
}

.progress-flow-panel .step-copy {
  gap: 2px;
}

.launch-upload-cyber + .product-progress .process-step strong {
  font-size: 15px;
  color: #f7fbff;
}

.progress-flow-panel .process-step small {
  -webkit-line-clamp: 1;
}

.launch-upload-cyber + .product-progress .process-step small,
.launch-upload-cyber + .product-progress .step-state {
  color: #9fb0c5;
}

.progress-flow-panel .step-state {
  grid-column: 2;
  justify-self: start;
  font-size: 12px;
}

.launch-upload-cyber + .product-progress .process-step.is-active {
  border-color: rgba(255, 181, 42, 0.8);
  background:
    radial-gradient(circle at 0 50%, rgba(255, 199, 71, 0.2), transparent 24%),
    linear-gradient(135deg, rgba(255, 181, 42, 0.16), rgba(255, 255, 255, 0.06));
  box-shadow:
    0 20px 54px rgba(255, 181, 42, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.launch-upload-cyber + .product-progress .process-step.is-active strong {
  color: #ffffff;
  text-shadow: 0 0 18px rgba(255, 199, 71, 0.22);
}

.launch-upload-cyber + .product-progress .process-step.is-active .step-state {
  color: #ffd06a;
}

.launch-upload-cyber + .product-progress .process-step.is-done {
  background: rgba(49, 218, 140, 0.09);
}

.launch-upload-cyber + .product-progress .process-step.is-done .step-index {
  background: #31da8c;
  color: #042417;
}

.launch-upload-cyber + .product-progress .process-step.is-pending .step-index {
  background: rgba(174, 197, 224, 0.18);
  color: #aec5e0;
}

.launch-upload-cyber + .product-progress .controls {
  justify-content: flex-end;
  padding-top: 2px;
}

@keyframes cyberScan {
  0%,
  100% {
    transform: translateY(-64%);
    opacity: 0;
  }
  18%,
  68% {
    opacity: 1;
  }
  82% {
    transform: translateY(64%);
    opacity: 0;
  }
}

@keyframes cyberPulse {
  0%,
  100% {
    opacity: 0.58;
    transform: scale(0.98);
  }
  50% {
    opacity: 1;
    transform: scale(1.04);
  }
}

@keyframes cyberAvatarAura {
  0%,
  100% {
    opacity: 0.42;
    transform: scale(0.97) rotate(-1deg);
  }

  50% {
    opacity: 1;
    transform: scale(1.04) rotate(1deg);
  }
}

@keyframes avatarWave {
  0%,
  100% {
    height: 6px;
    opacity: 0.62;
  }
  50% {
    height: 20px;
    opacity: 1;
  }
}

@keyframes vtuberWakeRing {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 980px) {
  .launch-upload-cyber + .product-progress {
    grid-template-columns: 1fr;
    padding: 18px 16px 46px;
  }

  .launch-upload-cyber + .product-progress .assistant-stage {
    transform: none;
  }

  .progress-live2d-panel {
    width: 100%;
    transform: none;
  }

  .launch-upload-cyber + .product-progress .progress-console {
    grid-template-rows: auto auto auto;
    min-height: 0;
    max-height: none;
  }

  .progress-focus-panel,
  .progress-flow-panel {
    min-height: 0;
  }

  .progress-flow-panel .step-list {
    height: auto;
    max-height: 620px;
  }

  .launch-upload-cyber .upload-hero {
    grid-template-columns: 1fr;
  }

  .launch-upload-cyber .upload-action-zone {
    width: 100%;
  }

  .launch-upload-cyber .upload-copy,
  .launch-upload-cyber .upload-value-prop {
    justify-self: start;
    text-align: left;
  }
}

@media (max-width: 760px) {
  .launch-upload-cyber {
    padding: 18px 16px 46px;
  }

  .progress-focus-panel,
  .progress-flow-panel {
    padding: 14px;
  }

  .progress-focus-panel .preview-gallery.is-multi-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .progress-focus-panel .preview-gallery.is-multi-preview .preview-actions {
    grid-template-columns: 1fr;
  }

  .progress-flow-panel .step-list {
    max-height: 58vh;
  }

  .launch-upload-cyber .upload-hero {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .launch-upload-cyber .launch-headline {
    max-width: 8em;
    font-size: clamp(36px, 10.8vw, 48px);
  }

  .launch-upload-cyber .pro-proof-strip {
    display: none;
  }

  .launch-upload-cyber .success-icon-wall {
    display: none;
  }

  .launch-upload-cyber h1 {
    font-size: clamp(38px, 11vw, 48px);
  }

  .launch-upload-cyber .subtitle {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.58;
  }

  .launch-upload-cyber .launch-proof {
    gap: 8px;
    margin-top: 18px;
  }

  .launch-upload-cyber .launch-proof span {
    min-height: 30px;
    padding: 7px 10px;
    font-size: 12px;
  }

  .launch-upload-cyber .upload-value-prop strong {
    font-size: 24px;
  }

  .launch-upload-cyber .upload-card {
    padding: 16px;
  }

  .launch-upload-cyber .upload-actions {
    grid-template-columns: 1fr;
  }

  .launch-upload-cyber .advanced-settings-button,
  .launch-upload-cyber [data-demo-upload],
  .launch-upload-cyber .start-launch {
    width: 100%;
    justify-self: stretch;
  }

  .launch-upload-cyber .drop-zone {
    grid-template-columns: 1fr;
    min-height: 148px;
    text-align: center;
  }

  .launch-upload-cyber .drop-zone strong,
  .launch-upload-cyber .drop-zone small {
    grid-column: auto;
    justify-self: center;
  }

  .cyber-persona-frame {
    min-height: 430px;
  }

  .cyber-avatar-stage {
    min-height: 430px;
  }

  .launch-upload-cyber .hatsune-live2d-rig {
    top: 6px;
    bottom: 112px;
    width: min(300px, 84%);
  }

  .launch-upload-cyber .hatsune-live2d-hair-left {
    left: 18%;
    width: 27%;
  }

  .launch-upload-cyber .hatsune-live2d-hair-right {
    right: 17%;
    width: 27%;
  }

  .cyber-avatar-speech {
    right: 12px;
    bottom: 12px;
    left: 12px;
    min-height: 86px;
    padding: 12px;
  }

  .cyber-avatar-speech strong {
    font-size: 16px;
  }
}

@keyframes hatsuneHairSway {
  0%,
  100% {
    filter:
      drop-shadow(0 16px 20px rgba(0, 0, 0, 0.34))
      drop-shadow(0 0 12px rgba(69, 232, 255, 0.14));
  }

  50% {
    filter:
      drop-shadow(0 20px 24px rgba(0, 0, 0, 0.32))
      drop-shadow(0 0 18px rgba(85, 238, 255, 0.24));
  }
}
