.ng-home-popup[hidden] { display: none !important; }
body.ng-home-popup-open { overflow: hidden; }
.ng-home-popup { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); }
.ng-home-popup-backdrop { position: absolute; inset: 0; background: rgba(5,15,32,.67); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.ng-home-popup-card { position: relative; isolation: isolate; display: flex; width: min(520px, 100%); max-height: min(82dvh, 760px); flex-direction: column; overflow: hidden; border: 1px solid rgba(117,158,255,.42); border-radius: 26px; background: linear-gradient(145deg,rgba(255,255,255,.99),rgba(242,247,255,.98)); box-shadow: 0 28px 80px rgba(4,20,52,.36), inset 0 1px rgba(255,255,255,.9); overscroll-behavior: contain; }
.ng-home-popup-card::before { content: ''; position: absolute; inset: 0 0 auto; z-index: 5; height: 4px; background: linear-gradient(90deg,#2f69ff,#42a4ff,#24c8bb); pointer-events: none; }
.ng-home-popup-close { position: absolute; top: 10px; right: 10px; z-index: 10; display: grid; width: 40px; height: 40px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.52); border-radius: 13px; color: #fff; background: rgba(9,27,57,.8); box-shadow: 0 8px 24px rgba(5,18,42,.24); font-size: 0; line-height: 0; cursor: pointer; }
.ng-home-popup-close::before, .ng-home-popup-close::after { content: ''; position: absolute; top: 50%; left: 50%; width: 18px; height: 3px; border-radius: 999px; background: currentColor; pointer-events: none; transform-origin: center; }
.ng-home-popup-close::before { transform: translate(-50%,-50%) rotate(45deg); }
.ng-home-popup-close::after { transform: translate(-50%,-50%) rotate(-45deg); }
.ng-home-popup-close:hover, .ng-home-popup-close:focus-visible { outline: none; background: #2867ef; transform: translateY(-1px); }
.ng-home-popup-media { position: relative; z-index: 1; min-height: 0; max-height: min(360px,42dvh); flex: 0 1 auto; overflow: hidden; border-radius: 25px 25px 0 0; background: #edf3ff; }
.ng-home-popup-media img { display: block; width: 100%; height: auto; max-height: min(360px,42dvh); object-fit: contain; margin: 0 auto; }
.ng-home-popup-body { position: relative; z-index: 1; display: grid; min-height: 0; gap: 16px; padding: 28px 30px 30px; overflow: auto; overscroll-behavior: contain; background: var(--ng-panel-solid,rgba(248,251,255,.985)); scrollbar-gutter: stable; }
.ng-home-popup-card:not(.has-media) .ng-home-popup-body { padding-top: 66px; }
.ng-home-popup-body h2 { position: relative; width: 100%; margin: 0; padding: 0 12px 16px; color: var(--ng-text,#14213a); font-size: clamp(24px,4vw,32px); line-height: 1.3; text-align: center; overflow-wrap: anywhere; }
.ng-home-popup-body h2::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 52px; height: 3px; border-radius: 999px; background: linear-gradient(90deg,#2f69ff,#25c8bc); transform: translateX(-50%); }
.ng-home-popup-body p { margin: 0; padding: 16px 18px; border: 1px solid rgba(47,105,255,.14); border: 1px solid color-mix(in srgb,var(--ng-accent,#2f69ff) 16%,transparent); border-radius: 14px; color: var(--ng-muted,#52627c); background: rgba(47,105,255,.035); background: color-mix(in srgb,var(--ng-panel-solid,#f8fbff) 82%,var(--ng-accent,#2f69ff) 3%); font-size: 16px; line-height: 1.75; text-align: left; white-space: pre-wrap; overflow-wrap: anywhere; }
.ng-home-popup-action { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; margin-top: 4px; padding: 0 24px; border-radius: 15px; color: #fff; background: linear-gradient(135deg,#2d66f1,#4f8dff); box-shadow: 0 12px 28px rgba(43,100,239,.28); font-size: 16px; font-weight: 850; text-decoration: none; }
.ng-home-popup-action:hover, .ng-home-popup-action:focus-visible { outline: none; filter: brightness(1.06); transform: translateY(-1px); }
@media (max-width: 560px) {
  .ng-home-popup { align-items: center; padding: max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }
  .ng-home-popup-card { width: min(420px,calc(100vw - 36px)); max-height: min(84dvh,700px); border-radius: 21px; }
  .ng-home-popup-media { max-height: min(220px,31dvh); border-radius: 20px 20px 0 0; }
  .ng-home-popup-media img { max-height: min(220px,31dvh); }
  .ng-home-popup-body { gap: 13px; padding: 22px 18px 20px; }
  .ng-home-popup-card:not(.has-media) .ng-home-popup-body { padding-top: 60px; }
  .ng-home-popup-body h2 { padding-bottom: 13px; font-size: clamp(20px,5.6vw,25px); line-height: 1.32; }
  .ng-home-popup-body h2::after { width: 42px; height: 2px; }
  .ng-home-popup-body p { padding: 13px 14px; border-radius: 12px; font-size: 14px; line-height: 1.65; }
  .ng-home-popup-action { min-height: 46px; border-radius: 13px; font-size: 15px; }
  .ng-home-popup-close { top: 8px; right: 8px; width: 40px; height: 40px; }
}

/* The shared six-theme modal rules must not turn this focused announcement into a full-screen sheet. */
html.ng-skin-active .ng-home-popup-card { width: min(520px,calc(100vw - 48px))!important; max-height: min(82dvh,760px)!important; }
html.ng-skin-active .ng-home-popup-close { z-index: 10!important; width: 40px!important; height: 40px!important; min-width: 40px!important; min-height: 40px!important; }
@media (max-width: 560px) {
  html.ng-skin-active .ng-home-popup-card { width: min(420px,calc(100vw - 36px))!important; max-height: min(84dvh,700px)!important; }
}
@media (prefers-reduced-motion: reduce) {
  .ng-home-popup *, .ng-home-popup *::before, .ng-home-popup *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
