/*! @license © 2026 Гореньков М. С. · КарЧоо. Все права защищены. */
.modal.app-intro.app-intro-welcome { width:920px; max-width:calc(100% - 32px); padding:0; max-height:calc((100dvh - 40px) / var(--app-scale, 1)); overflow:auto; border:1px solid #bfd8d3; border-radius:14px; }
.app-intro-welcome .app-intro-player-wrap { border-radius:0; margin:0; background:#000; }
.app-intro-welcome #appIntroPlayer { max-height:none; object-fit:cover; }
.app-intro-welcome .app-intro-cover-frame { object-fit:cover; }
.app-intro-welcome .app-intro-close { top:4px; right:4px; width:28px; height:28px; }
.app-intro-welcome .app-intro-actions { --welcome-controls-height:76px; display:grid; grid-template-columns:110px minmax(0,1fr) 240px; grid-template-rows:var(--welcome-controls-height); align-items:center; gap:16px; padding:18px 24px; }
.app-intro-welcome.welcome-cookie-known .app-intro-actions { --welcome-controls-height:43px; }
.video-welcome-summary { grid-column:1 / -1; grid-row:1; }
.video-welcome-summary[hidden] { display:none; }
.video-welcome-summary strong { display:block; color:#244f46; font-size:17px; line-height:1.35; }
.modal.app-intro .video-welcome-summary p { margin:5px 0 0; font-size:13px; line-height:1.5; color:#61766f; }
.video-welcome-buttons { grid-column:3; grid-row:1; display:flex; gap:10px; justify-content:flex-end; align-self:center; }
.video-welcome-buttons [hidden] { display:none; }
.video-welcome-buttons .btn { min-height:43px; padding:10px 18px; font-size:14px; justify-content:center; }
.video-welcome-buttons .primary { min-width:240px; }
.app-intro-welcome .app-intro-about { display:block; grid-column:1; grid-row:1; padding:0; border:0; align-self:center; }
.app-intro-welcome .app-intro-about[open] { grid-column:1 / -1; grid-row:1 / span 2; align-self:stretch; }
.app-intro-welcome .app-intro-about summary { padding:0; line-height:var(--welcome-controls-height); }
.app-intro-welcome .app-intro-about-copy { margin-top:12px; padding-top:12px; }
.app-intro-welcome .app-intro-cookie { grid-column:2; grid-row:1; min-height:76px; padding:10px 12px; }
.app-intro-welcome.has-ppd-offer .app-intro-actions { grid-template-columns:110px minmax(0,1fr) auto; grid-template-rows:auto var(--welcome-controls-height); }
.app-intro-welcome.has-ppd-offer:not(.welcome-cookie-known) .app-intro-actions { --welcome-controls-height:110px; }
.app-intro-welcome.has-ppd-offer .app-intro-about, .app-intro-welcome.has-ppd-offer .app-intro-cookie, .app-intro-welcome.has-ppd-offer .video-welcome-buttons { grid-row:2; }
.app-intro-welcome.has-ppd-offer .app-intro-about[open] { grid-row:2 / span 2; }
#videoWelcomeStatus { grid-column:1 / -1; margin:0; padding:10px 12px; border-radius:8px; background:#fff4df; color:#795126; font-size:13px; line-height:1.4; }
#videoWelcomeStatus[hidden] { display:none; }
@media (max-height:800px) and (min-width:761px) {
  .app-intro-welcome .app-intro-actions { padding-top:14px; padding-bottom:17px; gap:11px; }
}
@media (max-width:760px) {
  .app-intro-welcome .app-intro-close { top:8px; right:auto; left:8px; }
  .app-intro-welcome .app-intro-actions, .app-intro-welcome.has-ppd-offer .app-intro-actions { --welcome-controls-height:43px; grid-template-columns:minmax(0,1fr) auto; padding:16px 18px; gap:12px; }
  .app-intro-welcome.has-ppd-offer .app-intro-actions { --welcome-controls-height:110px; }
  .app-intro-welcome .app-intro-about[open] { grid-row:1 / span 2; }
  .app-intro-welcome .video-welcome-buttons { grid-column:2; }
  .app-intro-welcome .app-intro-cookie, .app-intro-welcome.has-ppd-offer .app-intro-cookie { grid-column:1 / -1; grid-row:auto; min-height:0; }
  .app-intro-welcome #appIntroPlayer { max-height:none; }
  .video-welcome-buttons { flex-direction:column-reverse; max-width:190px; }
  .video-welcome-buttons .btn { padding:10px 12px; font-size:12.5px; white-space:normal; }
  .video-welcome-buttons .primary { min-width:0; }
}

.app-intro-welcome.welcome-cookie-known .app-intro-cookie { display:none; }
body:has(#appIntroBackdrop:not([hidden])) #calibrationUpdateNotice,
body:has(#appIntroBackdrop:not([hidden])) #ppdSetupNotice,
body:has(#appIntroBackdrop:not([hidden])) #releaseUpdateNotice { display:none; }
@media (max-width:760px) {
  body.app-fixed-scale .modal.app-intro-welcome { width:calc(100vw - 24px); max-width:none; max-height:calc(100dvh - 32px); transform:scale(calc(1 / var(--app-scale, 1))); transform-origin:center; animation:none; }
  .app-intro-welcome:not(.welcome-cookie-known) #appIntroPlayer { max-height:none; }
  .app-intro-welcome .video-cover-action { padding:9px 12px; font-size:12px; }
}

/* Превью движется внутри обложки; полный курс запускается отдельным нажатием. */
.app-intro-welcome .video-cover-preview { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; pointer-events:none; transition:opacity .35s ease; }
.app-intro-welcome .app-intro-cover-frame { transition:opacity .35s ease; }
.app-intro-welcome .video-preview-running .video-cover-preview { opacity:1; }
.app-intro-welcome .video-preview-running .app-intro-cover-frame { opacity:0; }
#appIntroBackdrop:not([hidden]) .app-intro-welcome .app-intro-actions { animation:video-welcome-enter .65s ease-out both; }
#appIntroBackdrop:not([hidden]) .app-intro-welcome .video-cover-action { animation:video-welcome-play-pulse 2.8s ease-in-out infinite; }
.app-intro-welcome .video-cover-action::before,
.app-intro-welcome .video-cover-action::after { content:''; position:absolute; inset:-2px; border:2px solid #c5fff0; border-radius:inherit; opacity:0; pointer-events:none; }
#appIntroBackdrop:not([hidden]) .app-intro-welcome .video-cover-action::before,
#appIntroBackdrop:not([hidden]) .app-intro-welcome .video-cover-action::after { animation:video-welcome-play-ripple 2.8s ease-out infinite; }
#appIntroBackdrop:not([hidden]) .app-intro-welcome .video-cover-action::after { animation-delay:1.4s; }
@keyframes video-welcome-enter {
  from { opacity:0; transform:translateY(10px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes video-welcome-play-pulse {
  0%, 100% { transform:translateX(-50%) scale(1); box-shadow:0 4px 18px #0003, 0 0 0 4px #8cdeca20; }
  50% { transform:translateX(-50%) scale(1.04); box-shadow:0 6px 22px #0004, 0 0 16px 3px #8cdeca66; }
}
@keyframes video-welcome-play-ripple {
  0% { opacity:.65; transform:scale(1); }
  85%, 100% { opacity:0; transform:scale(1.16,1.5); }
}
@media (prefers-reduced-motion:reduce) {
  #appIntroBackdrop:not([hidden]) .app-intro-welcome .app-intro-actions,
  #appIntroBackdrop:not([hidden]) .app-intro-welcome .video-cover-action,
  #appIntroBackdrop:not([hidden]) .app-intro-welcome .video-cover-action::before,
  #appIntroBackdrop:not([hidden]) .app-intro-welcome .video-cover-action::after { animation:none; }
  .app-intro-welcome .video-cover-preview, .app-intro-welcome .app-intro-cover-frame { transition:none; }
}
