.mgcr-visitor-notice[hidden] { display: none !important; }
.mgcr-visitor-notice { position: fixed; inset: 0; z-index: 2147483001; display: grid; place-items: center; padding: 24px; color: #f7f7f8; font-family: inherit; }
.mgcr-visitor-notice__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .84); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.mgcr-visitor-notice__card { position: relative; z-index: 1; width: min(520px, calc(100vw - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; padding: 30px; border: 1px solid #393840; border-radius: 22px; background: var(--mgcr-notice-bg, #1b1a20); box-shadow: 0 28px 90px rgba(0, 0, 0, .62); text-align: center; animation: mgcr-notice-in .22s ease-out; }
.mgcr-visitor-notice__close { position: absolute; top: 8px; right: 10px; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; background: transparent; color: #aaa8b0; font-size: 30px; line-height: 1; cursor: pointer; }
.mgcr-visitor-notice__close:hover, .mgcr-visitor-notice__close:focus-visible { color: #fff; }
.mgcr-visitor-notice__logo, .mgcr-visitor-notice__symbol { display: grid; width: 76px; height: 76px; margin: 0 auto 18px; place-items: center; overflow: hidden; border: 2px solid var(--mgcr-notice-accent); border-radius: 50%; background: #111015; box-shadow: 0 0 0 5px rgba(255, 255, 255, .035); }
.mgcr-visitor-notice__logo-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.mgcr-visitor-notice__symbol { color: var(--mgcr-notice-accent); font-size: 42px; font-weight: 900; }
.mgcr-visitor-notice h2 { margin: 0 36px 12px; color: #fff; font-size: clamp(23px, 5vw, 30px); font-weight: 850; line-height: 1.2; }
.mgcr-visitor-notice p { margin: 0 auto 25px; color: #bbb9c0; font-size: 16px; line-height: 1.6; }
.mgcr-visitor-notice__actions { display: flex; justify-content: center; gap: 12px; }
.mgcr-visitor-notice__actions button { min-height: 50px; padding: 11px 20px; border: 1px solid #45434b; border-radius: 13px; font: inherit; font-weight: 800; cursor: pointer; }
.mgcr-visitor-notice__reload { border-color: var(--mgcr-notice-accent) !important; background: var(--mgcr-notice-accent); color: #fff; }
.mgcr-visitor-notice__reload:hover, .mgcr-visitor-notice__reload:focus-visible { filter: brightness(1.1); }
.mgcr-visitor-notice__continue { background: #29282e; color: #fff; }
.mgcr-visitor-notice__continue:hover, .mgcr-visitor-notice__continue:focus-visible { background: #343239; }
.mgcr-visitor-notice :focus-visible { outline: 3px solid var(--mgcr-notice-accent); outline-offset: 3px; }
body.mgcr-visitor-notice-open { overflow: hidden; }

@keyframes mgcr-notice-in { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }

@media (max-width: 575px) {
	.mgcr-visitor-notice { padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)); }
	.mgcr-visitor-notice__card { width: min(100%, 440px); max-height: calc(100dvh - 20px); padding: 24px 18px; border-radius: 18px; }
	.mgcr-visitor-notice__logo, .mgcr-visitor-notice__symbol { width: 64px; height: 64px; margin-bottom: 14px; }
	.mgcr-visitor-notice h2 { margin: 0 38px 10px; font-size: 23px; }
	.mgcr-visitor-notice p { margin-bottom: 18px; font-size: 14px; line-height: 1.5; }
	.mgcr-visitor-notice__actions { flex-direction: column; }
	.mgcr-visitor-notice__actions button { width: 100%; min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) { .mgcr-visitor-notice__card { animation: none; } }
