html[data-auth-protected]:not([data-auth-state="ready"]) body > :not(noscript) { display: none !important; }
html[data-auth-protected]:not([data-auth-state="ready"]) body::after { content: "로그인과 접근 권한을 확인하는 중입니다…"; position: fixed; inset: 0; display: grid; place-items: center; padding: 24px; background: #f7f9fc; color: #536174; font: 16px/1.6 system-ui, sans-serif; }
.auth-gate { box-sizing: border-box; width: min(560px, calc(100% - 40px)); margin: 15vh auto; padding: 36px; border: 1px solid #dbe2eb; border-radius: 20px; background: white; color: #273244; font-family: system-ui, sans-serif; }
.auth-gate h1 { font-size: 24px; }
.auth-gate p { color: #627085; line-height: 1.7; }
.auth-gate button { margin-top: 18px; padding: 12px 20px; border: 0; border-radius: 10px; background: #327df0; color: white; font: inherit; cursor: pointer; }
.auth-gate button:focus-visible { outline: 3px solid #8bb8ff; outline-offset: 3px; }
html[data-auth-protected] noscript { position: fixed; inset: 0; z-index: 99999; padding: 40px; background: white; color: #273244; }
