[data-youyu-home] {
  --home-page: var(--page);
  --home-ink: var(--ink);
  --home-muted: var(--muted);
  --home-earned: var(--earned);
  --home-line: var(--line);
  --home-card: var(--card);
  color: var(--home-ink);
  background:
    radial-gradient(ellipse 70% 520px at 88% 120px, #ffe0dc 0%, transparent 70%),
    var(--home-page);
  overflow: visible;
}

[data-youyu-home] a { color: inherit; }

[data-youyu-home] .skip-link {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 40;
  padding: 0.6rem 1rem;
  background: #fff;
  color: var(--home-ink);
  border-radius: 999px;
  transform: translateY(-160%);
}

[data-youyu-home] .skip-link:focus { transform: none; }

[data-youyu-home] .home-wrap {
  width: min(1160px, calc(100% - 48px));
  margin-inline: auto;
}

[data-youyu-home] > .site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  width: 100%;
  min-height: 84px;
  padding: 12px max(24px, calc((100% - 1160px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: color-mix(in srgb, var(--home-page) 86%, white);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--home-line);
}

[data-youyu-home] .wordmark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

[data-youyu-home] .brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  object-fit: cover;
}

[data-youyu-home] .nav-toggle {
  display: none;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--home-ink);
  border-radius: 999px;
  background: var(--home-card);
  color: var(--home-ink);
  cursor: pointer;
}

[data-youyu-home] .site-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  align-items: center;
}

[data-youyu-home] .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  text-decoration: none;
  color: var(--home-muted);
  font-size: 15px;
}

[data-youyu-home] .site-nav a:hover { color: var(--home-ink); }

[data-youyu-home] .header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--home-ink);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

[data-youyu-home] section[id] { scroll-margin-top: 104px; }

[data-youyu-home] .hero {
  display: grid;
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  gap: 48px;
  align-items: center;
  padding: 72px 0 48px;
}

[data-youyu-home] .kicker {
  margin: 0 0 12px;
  color: var(--home-earned);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

[data-youyu-home] .hero h1,
[data-youyu-home] .scene h2,
[data-youyu-home] .start h2,
[data-youyu-home] .ending h2 {
  margin: 0;
  font-size: clamp(36px, 4vw, 52px);
  line-height: 1.2;
  letter-spacing: -0.04em;
}

[data-youyu-home] .hero h1 {
  display: flex;
  flex-direction: column;
}

[data-youyu-home] .hero h1 span:last-child { color: var(--home-earned); }

[data-youyu-home] .lede,
[data-youyu-home] .scene p,
[data-youyu-home] .start p,
[data-youyu-home] .ending p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--home-muted);
}

[data-youyu-home] .lede { margin: 16px 0 0; max-width: 28em; }

[data-youyu-home] .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
}

[data-youyu-home] .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  min-width: 44px;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

[data-youyu-home] .btn-primary {
  background: var(--home-earned);
  color: #fff;
  box-shadow: 0 8px 24px #b91c1c24;
}

[data-youyu-home] .btn-ghost {
  color: var(--home-ink);
  border: 1px solid var(--home-ink);
  background: var(--home-card);
}

[data-youyu-home] a:focus-visible,
[data-youyu-home] button:focus-visible {
  outline: 3px solid var(--home-earned);
  outline-offset: 3px;
}

[data-youyu-home] .scene-index {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 16px 0 28px;
  border-bottom: 1px solid var(--home-line);
}

[data-youyu-home] .scene-index a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  background: #ffe0dc;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
}

[data-youyu-home] .scene-index a:hover { background: #f7c8c2; }

[data-youyu-home] .scene {
  display: grid;
  grid-template-columns: minmax(0, 34fr) minmax(0, 66fr);
  grid-template-areas: "copy visual";
  gap: 36px 48px;
  align-items: center;
  padding: 80px 0;
  border-bottom: 1px solid var(--home-line);
}

[data-youyu-home] .scene.scene-flip {
  grid-template-areas: "visual copy";
  grid-template-columns: minmax(0, 66fr) minmax(0, 34fr);
}

[data-youyu-home] .scene-copy { grid-area: copy; }
[data-youyu-home] .scene .scene-visual { grid-area: visual; margin: 0; }
[data-youyu-home] .hero .scene-visual { margin: 0; }

[data-youyu-home] .scene-label {
  margin: 0 0 16px;
  color: var(--home-earned);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

[data-youyu-home] .scene h2 {
  margin-bottom: 16px;
  font-size: clamp(28px, 3.3vw, 40px);
}

[data-youyu-home] .scene-card {
  margin: 0;
  border-radius: 32px;
  background: var(--home-card);
  box-shadow: var(--shadow);
  overflow: hidden;
  transform: scale(0.97);
  transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.7s;
}

[data-youyu-home] .scene-card.is-in,
[data-youyu-home] .scene-card.is-playing {
  transform: none;
}

[data-youyu-home] .scene-stage {
  position: relative;
  display: block;
  aspect-ratio: 16 / 11;
  min-height: 420px;
  padding: 0;
}

[data-youyu-home] .scene-film {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #e8dcd9;
}

[data-youyu-home] .scene-film img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}

[data-youyu-home] .scene-film img:first-child { opacity: 1; }

[data-youyu-home] .phone-shell {
  position: absolute;
  right: 22px;
  top: 50%;
  z-index: 2;
  width: 214px;
  height: 436px;
  padding: 7px;
  border: 2px solid #8e827e;
  border-radius: 34px;
  background: #302a29;
  box-shadow: 0 18px 32px #44292325, inset 0 0 0 2px #655954;
  transform: translateY(-50%);
}

[data-youyu-home] .phone-screen {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 27px;
  background: #f6f1f0;
  text-align: left;
  font: 13px/1.45 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
  color: var(--home-ink);
}

[data-youyu-home] .phone-status {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 18px 6px;
  height: 40px;
  font-size: 10px;
  font-weight: 700;
}

[data-youyu-home] .phone-status i {
  position: absolute;
  width: 68px;
  height: 18px;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 20px;
  background: #211d1c;
}

[data-youyu-home] .phone-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 16px 12px;
  border-bottom: 1px solid #e8dcd9;
}

[data-youyu-home] .phone-heading h3 {
  margin: 0;
  font: 700 16px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
}

[data-youyu-home] .phone-content { padding: 16px 14px 28px; }

[data-youyu-home] .phone-overline {
  margin: 0 0 12px;
  font-size: 12px;
  color: var(--home-muted);
}

[data-youyu-home] .phone-card {
  padding: 14px 12px;
  border: 1px solid #e8dcd9;
  border-radius: 16px;
  background: #fffbfa;
  margin: 10px 0;
}

[data-youyu-home] .phone-pill {
  display: inline-block;
  padding: 4px 9px;
  border-radius: 8px;
  background: #ffe0dc;
  color: var(--home-earned);
  font-size: 11px;
  font-weight: 700;
}

[data-youyu-home] .phone-message {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 700;
}

[data-youyu-home] .phone-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin-top: 14px;
  color: #fff;
  background: var(--home-earned);
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
}

[data-youyu-home] .phone-field {
  border: 1px solid #e8dcd9;
  border-radius: 12px;
  background: #fff;
  padding: 10px 12px;
  margin: 12px 0;
}

[data-youyu-home] .phone-field small {
  display: block;
  color: var(--home-muted);
  font-size: 11px;
}

[data-youyu-home] .phone-field p {
  min-height: 22px;
  margin: 6px 0 0;
  font-size: 15px;
}

[data-youyu-home] [data-phone-phase="type"] .phone-field p::after,
[data-youyu-home] [data-phone-phase="focus"] .phone-field p::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 16px;
  margin-left: 2px;
  background: var(--home-earned);
  vertical-align: -2px;
}

[data-youyu-home] .phone-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
  border-bottom: 1px solid #e8dcd9;
  font-size: 13px;
}

[data-youyu-home] .phone-row:last-child { border: 0; }

[data-youyu-home] .phone-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1px solid #cbb8b3;
  border-radius: 6px;
  flex-shrink: 0;
}

[data-youyu-home] .phone-check.checked {
  color: #fff;
  border-color: var(--home-earned);
  background: var(--home-earned);
}

[data-youyu-home] .phone-metric {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0;
}

[data-youyu-home] .phone-metric b {
  display: block;
  font-size: 22px;
  letter-spacing: -0.03em;
}

[data-youyu-home] .phone-metric span {
  color: var(--home-muted);
  font-size: 12px;
}

[data-youyu-home] .phone-screen.is-dark {
  background: #261b19;
  color: #ffe0dc;
}

[data-youyu-home] .phone-screen.is-dark .phone-status,
[data-youyu-home] .phone-screen.is-dark .phone-heading h3,
[data-youyu-home] .phone-screen.is-dark .phone-overline {
  color: #ffe0dc;
}

[data-youyu-home] .phone-screen.is-dark .phone-heading {
  border-bottom-color: #735e59;
}

[data-youyu-home] .phone-wage {
  margin: 28px 0 8px;
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #ffe0dc;
}

[data-youyu-home] .phone-countdown {
  margin: 0;
  color: #f7c8c2;
  font-size: 13px;
}

[data-youyu-home] .phone-quad {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}

[data-youyu-home] .phone-quad article {
  min-height: 86px;
  padding: 8px;
  border-radius: 12px;
  background: #fffbfa;
  border: 1px solid #e8dcd9;
}

[data-youyu-home] .phone-quad strong {
  display: block;
  margin-bottom: 6px;
  font-size: 10px;
  color: var(--home-earned);
}

[data-youyu-home] .phone-quad p {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
}

[data-youyu-home] .phone-travel {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6px;
  margin: 10px 0;
}

[data-youyu-home] .phone-travel span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  border-radius: 10px;
  border: 1px solid #e8dcd9;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
}

[data-youyu-home] .phone-travel .is-on {
  border-color: var(--home-earned);
  color: var(--home-earned);
}

[data-youyu-home] .phone-report {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

[data-youyu-home] .phone-report h4 {
  margin: 10px 0 4px;
  font-size: 12px;
  color: var(--home-earned);
}

[data-youyu-home] .phone-report p {
  margin: 0;
  font-weight: 700;
}

[data-youyu-home] .phone-bubble {
  margin: 8px 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: #ffe0dc;
  font-size: 13px;
}

[data-youyu-home] .phone-bubble.is-ai {
  background: #fff;
  border: 1px solid #e8dcd9;
}

[data-youyu-home] .phone-screen.is-dark .phone-home-indicator {
  background: #ffe0dc;
}

[data-youyu-home] .phone-home-indicator {
  position: absolute;
  bottom: 7px;
  left: 50%;
  width: 86px;
  height: 4px;
  border-radius: 4px;
  transform: translateX(-50%);
  background: #383130;
}

[data-youyu-home] [hidden] { display: none !important; }

[data-youyu-home] [data-phone-phase="tap"] .phone-action {
  transform: scale(0.96);
  background: #911616;
}

[data-youyu-home] .start { padding: 64px 0; }

[data-youyu-home] .steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}

[data-youyu-home] .steps li {
  padding: 18px;
  border-radius: 18px;
  background: var(--home-card);
  font-size: 16px;
  line-height: 1.6;
  font-weight: 700;
}

[data-youyu-home] .steps li::before {
  counter-increment: step;
  content: counter(step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--home-earned);
  color: #fff;
  font-size: 14px;
}

[data-youyu-home] .ending {
  padding: 24px 0 72px;
  text-align: center;
}

[data-youyu-home] .ending .lede { margin-inline: auto; }
[data-youyu-home] .ending .actions { justify-content: center; }

[data-youyu-home] .site-footer {
  padding: 24px max(24px, calc((100% - 1160px) / 2)) 40px;
  border-top: 1px solid var(--home-line);
  color: var(--home-muted);
}

[data-youyu-home] .footer-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

[data-youyu-home] .site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}

[data-youyu-home] .site-footer nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  text-decoration: none;
}

.reveal-stage > *.is-in:not(.is-in-instant),
[data-reveal].is-in:not(.is-in-instant) {
  animation: youyu-rise 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.reveal-delay-0 { animation-delay: 0ms; }
.reveal-delay-1 { animation-delay: 80ms; }
.reveal-delay-2 { animation-delay: 160ms; }
.reveal-delay-3 { animation-delay: 240ms; }
.reveal-delay-4 { animation-delay: 320ms; }
.reveal-delay-5 { animation-delay: 400ms; }

.is-in-instant {
  animation: none;
}

@keyframes youyu-rise {
  from { opacity: 0; transform: translate3d(0, 28px, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes youyu-frame-1 {
  0%, 42% { opacity: 1; transform: scale(1.03); }
  50%, 92% { opacity: 0; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.03); }
}

@keyframes youyu-frame-2 {
  0%, 42% { opacity: 0; transform: scale(1.03); }
  50%, 92% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-youyu-home] .is-playing .scene-film img:nth-child(1) {
    animation: youyu-frame-1 6s infinite;
  }
  [data-youyu-home] .is-playing .scene-film img:nth-child(2) {
    animation: youyu-frame-2 6s infinite;
  }
  [data-youyu-home] .btn,
  [data-youyu-home] .scene-index a,
  [data-youyu-home] .scene-card {
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s;
  }
  [data-youyu-home] .btn:hover,
  [data-youyu-home] .scene-index a:hover {
    transform: translateY(-3px);
  }
  [data-youyu-home] .scene-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 36px 90px rgba(38, 27, 25, 0.16);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-stage > *.is-in,
  [data-reveal].is-in {
    animation: none;
  }
}

@media (max-width: 900px) {
  [data-youyu-home] > .site-header {
    flex-wrap: wrap;
    min-height: 74px;
  }
  [data-youyu-home] .header-cta { margin-left: auto; }
  @media (scripting: enabled) {
    [data-youyu-home] .nav-toggle {
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    [data-youyu-home] .site-nav {
      display: none;
      position: absolute;
      top: 100%;
      left: 16px;
      right: 16px;
      padding: 12px;
      border-radius: 16px;
      background: var(--home-card);
      border: 1px solid var(--home-line);
      flex-direction: column;
      align-items: stretch;
    }
    [data-youyu-home].is-nav-open .site-nav { display: flex; }
  }
  [data-youyu-home] .hero,
  [data-youyu-home] .scene,
  [data-youyu-home] .scene.scene-flip {
    grid-template-columns: 1fr;
    grid-template-areas: "copy" "visual";
  }
  [data-youyu-home] .hero { padding: 36px 0 28px; gap: 28px; }
  [data-youyu-home] .steps { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  [data-youyu-home] .home-wrap { width: min(100% - 32px, 1160px); }
  [data-youyu-home] > .site-header { padding-inline: 16px; }
  [data-youyu-home] .scene { padding: 40px 0; gap: 22px; }
  [data-youyu-home] .scene-stage {
    aspect-ratio: auto;
    min-height: 0;
    display: grid;
    justify-items: center;
    padding: 0 0 16px;
  }
  [data-youyu-home] .scene-film {
    position: relative;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: 0;
  }
  [data-youyu-home] .phone-shell {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: min(250px, 100%);
    margin-top: 12px;
  }
  [data-youyu-home] .footer-row {
    flex-direction: column;
    align-items: flex-start;
  }
}
