.install-guidance {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  max-width: 650px;
  margin: 14px auto 0;
  color: #b9b7c8;
  font-size: 13px;
  line-height: 1.5;
}

.install-guidance-icon {
  flex: 0 0 auto;
  color: var(--cyan);
  font-size: 10px;
  line-height: 1.9;
}

.install-guidance-copy {
  min-width: 0;
}

.install-guidance strong {
  color: var(--ink);
}

.guide-aside .install-guidance {
  justify-content: flex-start;
  margin: 12px 0 0;
  font-size: 12px;
}

.closing > .install-guidance {
  margin-top: 14px;
}

.desktop-requirement {
  display: none;
}

.install-now-steps {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 22px;
  max-width: 760px;
  margin: 24px auto 36px;
  padding: 0;
  list-style: none;
}

.install-now-steps li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #d8d6e4;
  font-size: 13px;
}

.install-now-steps span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--coral), var(--pink), var(--violet));
  color: #fff;
  font: 800 10px ui-monospace, monospace;
}

.requirements-grid { grid-template-columns: repeat(3, 1fr); }

.conversion-dock {
  position: fixed;
  z-index: 50;
  left: 50%;
  bottom: 14px;
  transform: translate(-50%, calc(100% + 40px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: min(720px, calc(100% - 24px));
  padding: 11px 12px 11px 18px;
  border: 1px solid #865dff80;
  border-radius: 18px;
  background: #101018f2;
  box-shadow: 0 18px 60px #000a;
  backdrop-filter: blur(18px);
  opacity: 0;
  pointer-events: none;
  transition: transform .24s ease, opacity .24s ease;
}

.conversion-dock.is-visible {
  transform: translateX(-50%);
  opacity: 1;
  pointer-events: auto;
}

.conversion-dock > div { display: grid; gap: 3px; text-align: left; }
.conversion-dock strong { font-size: 14px; }
.conversion-dock span { color: #aaa9bd; font-size: 11px; }
.conversion-dock .button { min-height: 44px; }

.quick-start {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: 70px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 100px;
}

.quick-start-copy h2 {
  margin-bottom: 26px;
}

.quick-start-copy > p:last-child {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.quick-demo {
  position: relative;
  overflow: hidden;
  border: 1px solid #35354a;
  border-radius: 26px;
  background: radial-gradient(
    circle at 50% -10%,
    #31214f 0,
    #15151f 42%,
    #0d0d14 100%
  );
  box-shadow: 0 30px 90px #0008;
  padding: 28px;
}

.quick-demo-progress {
  overflow: hidden;
  height: 3px;
  margin-bottom: 28px;
  border-radius: 999px;
  background: #ffffff16;
}

.quick-demo-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left;
  background: linear-gradient(
    90deg,
    var(--coral),
    var(--pink),
    var(--violet),
    var(--cyan)
  );
  animation: quickProgress 10s linear infinite;
}

.quick-demo ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.quick-step {
  min-width: 0;
  opacity: 0.42;
  transform: translateY(8px);
  border: 1px solid #ffffff15;
  border-radius: 18px;
  background: #0d0d16c9;
  padding: 17px;
  animation-duration: 10s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.quick-step-one {
  animation-name: quickStepOne;
}

.quick-step-two {
  animation-name: quickStepTwo;
}

.quick-step-three {
  animation-name: quickStepThree;
}

.quick-step > span {
  color: var(--cyan);
  letter-spacing: 0.1em;
  font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.quick-step h3 {
  margin: 18px 0 7px;
  font-size: 18px;
}

.quick-step > p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.mini-window {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 100px;
  margin-top: 14px;
  padding: 23px 12px 12px;
  border: 1px solid #ffffff18;
  border-radius: 13px;
  background: #09090f;
}

.mini-window i {
  position: absolute;
  top: 9px;
  left: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--coral);
  box-shadow: 11px 0 #f5b84b, 22px 0 #55d894;
}

.mini-window b,
.mini-window small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.mini-window b {
  color: var(--ink);
  font-size: 12px;
  white-space: nowrap;
}

.mini-window small {
  display: block;
  margin-top: 8px;
  color: #8b899c;
  font-size: 10px;
}

.youtube-window b {
  color: #fff;
  font-size: 23px;
}

.youtube-window small {
  color: #f2a9a9;
}

.prompt-window b {
  color: #72cfff;
}

.answer-window small {
  color: #66e8ba;
}

@keyframes quickProgress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes quickStepOne {
  0%,
  28% {
    opacity: 1;
    transform: translateY(0);
    border-color: #f43b9188;
    box-shadow: 0 12px 35px #f43b911f;
  }
  35%,
  100% {
    opacity: 0.42;
    transform: translateY(8px);
    box-shadow: none;
  }
}

@keyframes quickStepTwo {
  0%,
  27%,
  68%,
  100% {
    opacity: 0.42;
    transform: translateY(8px);
    box-shadow: none;
  }
  34%,
  61% {
    opacity: 1;
    transform: translateY(0);
    border-color: #865dff99;
    box-shadow: 0 12px 35px #865dff24;
  }
}

@keyframes quickStepThree {
  0%,
  60% {
    opacity: 0.42;
    transform: translateY(8px);
    box-shadow: none;
  }
  68%,
  100% {
    opacity: 1;
    transform: translateY(0);
    border-color: #57d7ff99;
    box-shadow: 0 12px 35px #57d7ff22;
  }
}

@media (max-width: 900px) {
  .quick-start {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .quick-demo ol {
    grid-template-columns: 1fr;
  }

  .quick-step {
    opacity: 1 !important;
    transform: none !important;
    animation: none;
  }

  .quick-demo-progress {
    display: none;
  }
}

@media (max-width: 760px) {
  .shell {
    width: calc(100% - 40px);
    max-width: none;
  }

  .install-hero h1 {
    font-size: 32px;
  }

  .install-guidance {
    width: 100%;
    max-width: 330px;
    text-align: left;
  }

  .desktop-requirement {
    display: block;
    width: 100%;
    max-width: 340px;
    margin: 14px auto 0;
    border: 1px solid #f43b9155;
    border-radius: 14px;
    background: #f43b9114;
    padding: 13px 15px;
    color: #d8d6e4;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
  }

  .desktop-requirement strong {
    color: var(--ink);
  }

  .requirements-grid { grid-template-columns: 1fr; }

  .install-now-steps {
    display: grid;
    justify-content: start;
    width: min(330px, 100%);
  }

  .conversion-dock {
    gap: 10px;
    padding-left: 14px;
  }

  .conversion-dock strong { font-size: 12px; }
  .conversion-dock span { font-size: 10px; }
  .conversion-dock .button { min-height: 42px; padding: 0 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .quick-demo-progress span,
  .quick-step {
    animation: none;
  }

  .quick-step {
    opacity: 1;
    transform: none;
  }
}
