/* 확인 전에는 로그인 버튼이 잠깐 나타나지 않도록 합니다. */
.auth-menu:not([data-auth-ready="true"]) [data-auth="open"] { visibility: hidden; }
.auth-menu .profile-trigger { box-sizing: border-box; min-width: 144px; min-height: 40px; justify-content: center; padding: 0 16px !important; }
@media (max-width: 380px) { .auth-menu .profile-trigger { min-width: 0; min-height: 36px; padding: 0 11px !important; } }
/* Load with the document so the account control never paints with legacy styles. */
.auth-menu .profile-admin-badge { display: inline-flex; align-items: center; min-height: 18px; padding: 2px 6px; border-radius: 4px; background: #0b63d8; color: #fff; font-size: 10px; font-weight: 800; line-height: 1; white-space: nowrap; }
.auth-menu .profile-admin-badge[hidden] { display: none; }
.auth-menu a.auth-entry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  box-sizing: border-box;
  min-width: 144px;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #10294a;
  border-radius: 999px;
  background: #10294a;
  box-shadow: 0 4px 12px rgba(16, 41, 74, .14);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}
.auth-menu a.auth-entry[hidden] { display: none; }
.auth-menu a.auth-entry:hover { border-color: #0752b7; background: #0752b7; color: #fff; }
.auth-menu a.auth-entry:focus-visible { outline: 3px solid #78aef2; outline-offset: 3px; }
.auth-menu a.auth-entry svg { flex: none; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 380px) { .auth-menu a.auth-entry { gap: 6px; min-width: 0; min-height: 36px; padding: 0 11px; font-size: 11px; } .auth-menu a.auth-entry svg { width: 15px; height: 15px; } }
.auth-dialog { width: min(460px, calc(100% - 32px)); border-radius: 22px; }
.auth-dialog::backdrop { background: rgba(11, 30, 56, .58); backdrop-filter: blur(5px); }
.auth-dialog .auth-card { padding: 38px 36px 28px; border: 1px solid #e1e7ef; border-radius: 22px; background: #fff; box-shadow: 0 24px 80px #081d3c33; }
.auth-dialog .auth-brand { margin: 0 0 23px; color: #10294a; font-size: 15px; font-weight: 900; letter-spacing: -.6px; }
.auth-dialog .auth-brand span { color: #0b63d8; }
.auth-dialog .auth-panel h2 { margin: 0 0 9px; color: #142742; font-size: 27px; font-weight: 800; letter-spacing: -.9px; line-height: 1.3; }
.auth-dialog .auth-panel > p { margin: 0 0 28px; color: #647188; font-size: 13px; line-height: 1.7; }
.auth-dialog .auth-close { display: grid; place-items: center; top: 20px; right: 20px; width: 34px; height: 34px; padding: 8px; border: 0; border-radius: 10px; background: #f3f6fa; color: #53657d; cursor: pointer; }
.auth-dialog .auth-close:hover { background: #e8eef7; color: #142742; }
.auth-dialog .auth-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.auth-dialog .social-buttons { display: grid; gap: 11px; }
.auth-dialog .social-button { display: flex; align-items: center; justify-content: center; min-height: 54px; padding: 12px 44px; border: 1px solid #dce3ec; border-radius: 11px; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.4; letter-spacing: -.2px; cursor: pointer; transition: background .15s, border-color .15s; }
.auth-dialog .social-button:hover { transform: none; box-shadow: none; }
.auth-dialog .social-google { background: #fff; color: #24364f; }
.auth-dialog .social-google:hover { background: #f7f9fc; border-color: #aabbd0; }
.auth-dialog .social-naver { background: #00843c; border-color: #00843c; color: #fff; }
.auth-dialog .social-naver:hover { background: #007235; border-color: #007235; }
.auth-dialog .social-kakao { background: #fee500; border-color: #fee500; color: #191919; }
.auth-dialog .social-kakao:hover { background: #f4dc00; border-color: #f4dc00; }
.auth-dialog .social-mark { position: absolute; left: 17px; display: grid; place-items: center; width: 23px; height: 23px; padding: 0; border-radius: 0; background: transparent; }
.auth-dialog .social-mark svg { display: block; width: 23px; height: 23px; }
.auth-dialog .social-naver .naver-mark { background: transparent; color: #fff; }
.auth-dialog .kakao-mark { color: #191919; }
.auth-dialog .auth-consents { display: grid; gap: 5px; min-width: 0; margin: 30px 0 0; padding: 17px 0 0; border: 0; border-top: 1px solid #e5ebf3; border-radius: 0; background: transparent; }
.auth-dialog .auth-consents legend { padding: 0 9px 0 0; color: #66758a; font-size: 12px; font-weight: 500; }
.auth-dialog .auth-consent-all { display: flex; align-items: center; gap: 10px; min-height: 45px; width: 100%; margin: 0 0 6px; padding: 10px 12px; border: 1px solid #e1e8f2; border-radius: 9px; background: #f5f8fc; color: #243b5a; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.auth-dialog .auth-consent-all::before { display: grid; place-items: center; flex: 0 0 19px; height: 19px; border: 1px solid #bac8da; border-radius: 50%; background: #fff; color: #6d7e94; content: '✓'; font-size: 12px; }
.auth-dialog .auth-consent-all:hover { background: #edf3fc; border-color: #b5cbed; }
.auth-dialog .auth-consent-all[aria-pressed="true"] { border-color: #a7c7f1; background: #eef5ff; color: #0752b7; }
.auth-dialog .auth-consent-all[aria-pressed="true"]::before { background: #0b63d8; border-color: #0b63d8; color: #fff; }
.auth-dialog .auth-check { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 35px; color: #52647d; font-size: 12px; line-height: 1.5; }
.auth-dialog .auth-check label { display: inline-flex; align-items: center; gap: 9px; min-height: 32px; cursor: pointer; }
.auth-dialog .auth-check input { width: 16px; height: 16px; margin: 0; accent-color: #0b63d8; cursor: pointer; }
.auth-dialog .auth-check strong { color: #496483; font-weight: 600; }
.auth-dialog .auth-check a { display: inline-flex; align-items: center; min-height: 32px; margin-left: auto; color: #52647d; font-size: 11px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.auth-dialog .auth-check a:hover { color: #0752b7; }
.auth-dialog .auth-signup-note { margin: 20px 0 0; color: #6a788c; font-size: 11px; line-height: 1.6; text-align: center; }
.auth-dialog .auth-feedback { margin: 14px 0 0; padding: 11px 12px; border-radius: 8px; background: #fff3f1; color: #9b3026; font-size: 12px; font-weight: 500; line-height: 1.6; text-align: left; }
.auth-dialog .auth-feedback:empty { display: none; }
.auth-dialog :is(button, a, input):focus-visible { outline: 3px solid #226bd0; outline-offset: 3px; }
@media (max-width: 480px) {
  .auth-dialog .auth-card { padding: 30px 22px 24px; }
  .auth-dialog .auth-panel h2 { font-size: 24px; }
  .auth-dialog .auth-close { top: 16px; right: 16px; }
  .auth-dialog .auth-check { flex-wrap: wrap; gap: 0 8px; }
}
@media (max-width: 800px) {
  .mobile-navigation .profile-popover { left: 0; right: auto; max-width: calc(100vw - 48px); }
}
@media (prefers-reduced-motion: reduce) { .auth-dialog .social-button { transition: none; } }

/* Match the other account menu actions in both editing states. */
.auth-menu .profile-edit-mode { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 34px; margin: 0 0 6px; padding: 0 9px; border: 1px solid #dce6f3; border-radius: 6px; background: #fff; color: var(--navy, #102547); font-family: inherit; font-size: 12px; font-weight: 700; text-align: center; cursor: pointer; }
.auth-menu .profile-edit-mode:hover { background: var(--blue-soft, #eff5ff); color: var(--blue, #0b63d8); }
.auth-menu .profile-edit-mode:focus-visible { outline: 3px solid #226bd0; outline-offset: 2px; }
.auth-menu .profile-edit-mode[hidden] { display: none; }
.site-footer .footer-version-meta {
  display: inline-block;
  margin-left: 8px;
  color: #bfd7fb;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.site-footer .footer-version-meta[hidden] { display: none; }
