/* Shared sign-in surface: /login/ and the /events/ gate. Provider buttons follow each brand's
   official login-button spec (Naver green #03C75A + N mark, Google white + G mark) so the
   Naver Login review sees the standard design. */
.login-card { max-width: 480px; margin: 48px auto; padding: 28px 26px 26px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.login-card .eyebrow { margin: 0 0 6px; }
.login-card h1 { margin: 0 0 8px; font-size: 26px; letter-spacing: -0.01em; }
.login-card p { margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.login-card p b { color: var(--ink); }
.oauth-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.oauth-btn { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 18px; border-radius: 6px; font-size: 15px; font-weight: 700; text-decoration: none; border: 1px solid transparent; transition: filter 150ms ease, transform 150ms ease; cursor: pointer; }
.oauth-btn svg { width: 20px; height: 20px; flex: none; }
.oauth-btn:hover { filter: brightness(1.06); }
.oauth-btn:active { transform: scale(0.99); }
.oauth-btn:focus-visible { outline: 3px solid var(--accent-2); outline-offset: 2px; }
.oauth-btn.naver { background: #03C75A; color: #fff; }
.oauth-btn.google { background: #fff; color: #1f1f1f; border-color: #747775; font-family: "Roboto", system-ui, sans-serif; }
.oauth-btn[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; }
.oauth-note { display: block; margin-top: 4px; font-size: 12px; color: var(--faint); text-align: center; }
.login-foot { margin-top: 18px; font-size: 12px; color: var(--faint); line-height: 1.6; }
.login-foot a { color: var(--accent-2); text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .oauth-btn { transition: none; } }
