*{box-sizing:border-box}body{margin:0;color:#20212b;background:#f7fbff}.auth-layout{display:grid;grid-template-columns:1fr 460px;gap:40px;align-items:center;width:min(1080px,calc(100% - 40px));min-height:100vh;margin:0 auto;padding:48px 0}.brand{display:inline-block;margin-bottom:46px;color:#2451a6;font-size:26px;font-weight:900;text-decoration:none}.eyebrow{margin:0 0 12px;color:#2f6fed;font-size:13px;font-weight:900;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:560px;margin-bottom:18px;font-size:48px;line-height:1.12}.auth-intro p:last-child{max-width:560px;color:#5e6678;font-size:18px;line-height:1.7}.auth-card{border:1px solid #dde3ef;border-radius:28px;padding:30px;background:#fff;box-shadow: var(--pf-shadow-sm)}.auth-card h2{margin-bottom:10px;font-size:28px}.helper-text,.auth-link{color:#5e6678;line-height:1.6}label{display:block;margin:14px 0 7px;color:#4b5568;font-size:14px;font-weight:900}input{width:100%;border:1px solid #cfd7e6;border-radius:14px;padding:13px 14px;color:#20212b;font:inherit;background:#fbfdff}button{width:100%;border:0;border-radius:14px;margin-top:20px;min-height:48px;background:#2451a6;color:#fff;font:inherit;font-weight:900;cursor:pointer;}.auth-link{margin:18px 0 0;text-align:center}.auth-link a{color:#2451a6;font-weight:900;text-decoration:none}.form-message{border-radius:12px;margin:14px 0 0;padding:10px 12px;background:#fff1f2;color:#be123c}.hidden{display:none}@media(max-width:860px){.auth-layout{grid-template-columns:1fr;align-items:start;min-height:auto}.brand{margin-bottom:28px}h1{font-size:36px}}


/* PathFinder unified theme refinements */
body {
  background: var(--pf-bg);
  color: var(--pf-text);
}

.page-header,
.container > h1,
.container > p:first-of-type {
  color: var(--pf-text);
}

.container > p:first-of-type,
.page-header p {
  color: var(--pf-muted);
}

button,
.cta-button,
.journey-button {
  transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

button:hover,
.cta-button:hover,
.journey-button:hover {
  transform: translateY(-1px);
}


/* ------------------------------------------------------------ 게스트 진입 */

.auth-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  margin: 18px 0 14px;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  height: 1px;
  background: var(--pf-border);
}

.auth-divider span {
  color: var(--pf-muted);
  font-size: 12px;
  font-weight: 800;
}

/*
 * .auth-card button(명시도 0,1,1)이 common.css에 있어서
 * .guest-button(0,1,0) 단독으로는 배경색을 이기지 못합니다. 선택자를 한 단계 올립니다.
 */
.auth-card .guest-button {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--pf-border-strong);
  border-radius: var(--pf-radius-sm);
  background: var(--pf-surface);
  color: var(--pf-primary-dark);
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}

/* hover를 명시합니다. common.css의 전역 button:hover가 클래스 하나짜리 규칙을 이깁니다. */
.auth-card .guest-button:hover {
  border-color: var(--pf-primary);
  background: var(--pf-primary-pale);
  color: var(--pf-primary-dark);
}

.guest-note {
  margin: 10px 0 0;
  color: var(--pf-muted);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
