/* NiceSlides.ru V436 — polish for the clean V435 generation popup. */
:root{
  --ns436-purple:#6f3df4;
  --ns436-purple2:#925bff;
  --ns436-ink:#17245b;
  --ns436-muted:#6e768d;
  --ns436-line:#e6dcfa;
}

/* Larger, calmer desktop dialog. */
@media(min-width:761px){
  html body > #genModal.ns-generation-overlay-v435{
    padding:24px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-card-v435{
    width:min(780px,calc(100vw - 48px))!important;
    max-width:780px!important;
    max-height:calc(100dvh - 48px)!important;
    padding:32px 34px 30px!important;
    border-radius:32px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-head-v435{
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:20px!important;
    margin-bottom:24px!important;
    padding-right:64px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-mascot-v435{
    width:88px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 #genTitle{
    font-size:36px!important;
    line-height:1.06!important;
    margin-bottom:7px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 #genStatus{
    font-size:15px!important;
    line-height:1.45!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-progress-v435{
    height:12px!important;
    margin-bottom:27px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stages-v435{
    gap:16px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-v435{
    gap:10px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-icon-v435{
    width:66px!important;
    height:66px!important;
    padding:7px!important;
    border-radius:19px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-icon-v435 img{
    width:50px!important;
    height:50px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-label-v435{
    font-size:12px!important;
    line-height:1.2!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-v435.done .ns-generation-stage-icon-v435::after{
    width:21px!important;
    height:21px!important;
    top:-6px!important;
    right:-6px!important;
    font-size:10px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-result-wrap-v435{
    margin-top:24px!important;
  }
}

/* Perfectly centred close mark: draw it from two lines instead of relying on the × glyph metrics. */
html body > #genModal.ns-generation-overlay-v435 .ns-generation-close-v435,
html body > #genModal.ns-generation-overlay-v435 .ns-gen-close-v434{
  position:absolute!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
}
html body > #genModal.ns-generation-overlay-v435 .ns-generation-close-v435 span,
html body > #genModal.ns-generation-overlay-v435 .ns-gen-close-v434 span{
  display:none!important;
}
html body > #genModal.ns-generation-overlay-v435 .ns-generation-close-v435::before,
html body > #genModal.ns-generation-overlay-v435 .ns-generation-close-v435::after,
html body > #genModal.ns-generation-overlay-v435 .ns-gen-close-v434::before,
html body > #genModal.ns-generation-overlay-v435 .ns-gen-close-v434::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:15px!important;
  height:2.5px!important;
  border-radius:999px!important;
  background:var(--ns436-purple)!important;
  transform-origin:center!important;
}
html body > #genModal.ns-generation-overlay-v435 .ns-generation-close-v435::before,
html body > #genModal.ns-generation-overlay-v435 .ns-gen-close-v434::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
html body > #genModal.ns-generation-overlay-v435 .ns-generation-close-v435::after,
html body > #genModal.ns-generation-overlay-v435 .ns-gen-close-v434::after{
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}

/* Stable animated ellipsis: fixed geometry, opacity only. It never reflows the title. */
html body > #genModal.ns-generation-overlay-v435 #genTitle{
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
}
html body > #genModal.ns-generation-overlay-v435 #genTitle::after{
  content:"..."!important;
  display:inline-block!important;
  flex:0 0 1.35em!important;
  width:1.35em!important;
  min-width:1.35em!important;
  margin-left:.10em!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  vertical-align:baseline!important;
  opacity:.25;
  animation:ns438DotsOpacity 1.05s ease-in-out infinite!important;
}
html body > #genModal.ns-generation-overlay-v435.is-complete #genTitle::after{
  content:""!important;
  flex-basis:0!important;
  width:0!important;
  min-width:0!important;
  margin-left:0!important;
  opacity:0!important;
  animation:none!important;
}
@keyframes ns438DotsOpacity{
  0%,100%{opacity:.20}
  50%{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  html body > #genModal.ns-generation-overlay-v435 #genTitle::after{
    opacity:1!important;
    animation:none!important;
  }
}

/* Mobile: stages become a readable vertical process instead of tiny horizontal icons. */
@media(max-width:760px){
  html body > #genModal.ns-generation-overlay-v435{
    padding:10px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-card-v435{
    width:min(450px,calc(100vw - 20px))!important;
    max-width:450px!important;
    max-height:calc(100dvh - 20px)!important;
    padding:22px 16px 18px!important;
    border-radius:25px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-close-v435,
  html body > #genModal.ns-generation-overlay-v435 .ns-gen-close-v434{
    top:13px!important;
    right:13px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-head-v435{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:13px!important;
    padding-right:46px!important;
    margin-bottom:16px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-mascot-v435{
    width:68px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 #genTitle{
    font-size:24px!important;
    line-height:1.08!important;
    margin-bottom:4px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 #genStatus{
    font-size:12px!important;
    line-height:1.35!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-progress-v435{
    height:9px!important;
    margin-bottom:16px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stages-v435{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stages-v435::before{
    content:""!important;
    position:absolute!important;
    left:23px!important;
    top:24px!important;
    bottom:24px!important;
    width:2px!important;
    border-radius:999px!important;
    background:#e5dbfa!important;
    z-index:0!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-v435{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    justify-items:stretch!important;
    gap:12px!important;
    min-height:50px!important;
    padding:4px 10px 4px 0!important;
    border-radius:15px!important;
    background:#fff!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-v435.active{
    background:linear-gradient(90deg,#faf7ff,#fff)!important;
    box-shadow:0 0 0 1px #e8defc!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-icon-v435{
    grid-column:1!important;
    grid-row:1!important;
    width:46px!important;
    height:46px!important;
    padding:4px!important;
    border-radius:14px!important;
    background:#fff!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-icon-v435 img{
    width:35px!important;
    height:35px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-label-v435{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    color:#555f78!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:850!important;
    text-align:left!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-v435.active .ns-generation-stage-label-v435,
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-v435.done .ns-generation-stage-label-v435{
    color:#5428d5!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-stage-v435.done .ns-generation-stage-icon-v435::after{
    width:17px!important;
    height:17px!important;
    top:-4px!important;
    right:-4px!important;
    font-size:8px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-result-wrap-v435{
    margin-top:17px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-result-v435{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:11px!important;
    padding:13px!important;
    border-radius:16px!important;
  }
  html body > #genModal.ns-generation-overlay-v435 .ns-generation-result-icon-v435{
    width:40px!important;
    height:40px!important;
  }
}
