#nkep-overlay, #nkep-overlay * { box-sizing: border-box; }
#nkep-overlay[hidden] { display: none !important; }
#nkep-overlay { position: fixed; inset: 0; z-index: 10010; display: grid; place-items: center; padding: 28px; background: rgba(20, 24, 30, .74); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); overflow: auto; overscroll-behavior: contain; }
#nkep-card { position: relative; width: min(440px, calc(100vw - 56px)); max-height: calc(100dvh - 56px); margin: auto; border-radius: 8px; background: transparent; box-shadow: 0 24px 80px rgba(0, 0, 0, .38); color: #fff; font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif; }
#nkep-card .nkep-banner-link { display: block; width: 100%; border-radius: inherit; overflow: hidden; background: #fff; line-height: 0; text-decoration: none; }
#nkep-card .nkep-banner { display: block; width: 100%; height: auto; aspect-ratio: 1375 / 1144; object-fit: contain; background: #fff; }
#nkep-card .nkep-close { position: absolute; z-index: 2; right: -18px; top: -18px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: #111318; color: #fff; font: 27px/1 sans-serif; cursor: pointer; box-shadow: 0 5px 16px rgba(0,0,0,.34); }
#nkep-card .nkep-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
#nkep-overlay :focus-visible { outline: 3px solid #ffbcda; outline-offset: 4px; }
@media (max-width: 660px) {
  #nkep-overlay { padding: 20px 16px calc(20px + env(safe-area-inset-bottom, 0px)); }
  #nkep-card { width: min(430px, calc(100vw - 32px)); max-height: calc(100dvh - 40px - env(safe-area-inset-bottom, 0px)); }
  #nkep-card .nkep-close { right: 7px; top: 7px; width: 42px; height: 42px; font-size: 25px; }
}
@media (prefers-reduced-motion: no-preference) {
  #nkep-overlay:not([hidden]) { animation: nkep-fade .18s ease-out; }
  #nkep-overlay:not([hidden]) #nkep-card { animation: nkep-rise .24s ease-out; }
  @keyframes nkep-fade { from { opacity: 0; } }
  @keyframes nkep-rise { from { opacity: 0; transform: translateY(16px) scale(.98); } }
}
