/* 忘記密碼／重設密碼頁 /lost-password/（2026-10-19）
   外觀沿用 header 登入卡：米白底、深藍字、森林綠圓角按鈕、底線輸入框。
   顏色全部明寫（CLAUDE.md §5-C #37／#50：不靠繼承），深色模式另外覆蓋（#14：深底禁用森林綠字）。 */

.gv-pw {
  min-height: 72vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 140px 16px 96px;
  background: var(--ts-cream, #EEEAE7);
}

.gv-pw__card {
  width: 100%;
  max-width: 440px;
  padding: 48px 40px 36px;
  background: #FBFAF8;
  border: 1px solid rgba(40, 44, 60, 0.08);
  border-radius: 20px;
  box-shadow: 0 24px 60px -32px rgba(40, 44, 60, 0.35);
  color: var(--ts-navy, #282C3C);
  font-family: var(--ts-font-sans-zh, 'Noto Sans TC', sans-serif);
}

.gv-pw__eyebrow {
  margin: 0 0 14px;
  font-size: 11px;
  letter-spacing: 0.24em;
  color: var(--ts-forest, #495434);
}

.gv-pw .gv-pw__title {
  margin: 0 0 14px;
  font-family: var(--ts-font-serif-zh, 'Noto Serif TC', serif);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 0.12em;
  color: var(--ts-navy, #282C3C);
  word-break: keep-all;
}

.gv-pw__lede {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--ts-navy, #282C3C);
}

.gv-pw__hint {
  margin: 20px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: #5A5F6D;
}

.gv-pw__error {
  margin: 0 0 18px;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(176, 72, 52, 0.08);
  color: #9A3B28;
  font-size: 14px;
}

.gv-pw__form { display: flex; flex-direction: column; }

.gv-pw__label {
  margin: 14px 0 4px;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: #5A5F6D;
}

.gv-pw__input {
  display: block;
  width: 100%;
  height: 44px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid rgba(40, 44, 60, 0.22);
  border-radius: 0;
  outline: none;
  background: transparent;
  font: inherit;
  font-size: 15px;
  color: var(--ts-navy, #282C3C);
  transition: border-color 200ms ease;
}
.gv-pw__input:focus { border-bottom-color: var(--ts-forest, #495434); }

.gv-pw__submit {
  display: block;
  width: 100%;
  margin-top: 28px;
  padding: 13px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--ts-forest, #495434);
  color: var(--ts-cream, #EEEAE7);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background 200ms ease;
}
.gv-pw__submit:hover,
.gv-pw__submit:focus-visible { background: var(--ts-forest-deep, #2F371F); color: var(--ts-cream, #EEEAE7); }
.gv-pw__submit--link { margin-top: 8px; }

.gv-pw__link,
.gv-pw__back {
  display: inline-block;
  margin-top: 20px;
  font-size: 14px;
  color: var(--ts-forest, #495434);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.gv-pw__back { display: block; margin-top: 28px; text-decoration: none; opacity: 0.85; }
.gv-pw__back:hover { opacity: 1; }

@media (max-width: 640px) {
  .gv-pw { padding: 112px 16px 72px; align-items: flex-start; }
  .gv-pw__card { padding: 36px 24px 28px; }
  .gv-pw .gv-pw__title { font-size: 24px; }
}

/* 深色模式：深藍底、米白字、陽光黃強調 */
body.grovyn-dark-mode .gv-pw { background: var(--ts-navy, #282C3C); }
body.grovyn-dark-mode .gv-pw__card {
  background: #2F3445;
  border-color: rgba(238, 234, 231, 0.10);
  box-shadow: none;
  color: var(--ts-cream, #EEEAE7);
}
body.grovyn-dark-mode .gv-pw .gv-pw__title,
body.grovyn-dark-mode .gv-pw__lede,
body.grovyn-dark-mode .gv-pw__input { color: var(--ts-cream, #EEEAE7); }
body.grovyn-dark-mode .gv-pw__eyebrow,
body.grovyn-dark-mode .gv-pw__link,
body.grovyn-dark-mode .gv-pw__back { color: var(--ts-sun, #EEE78D); }
body.grovyn-dark-mode .gv-pw__hint,
body.grovyn-dark-mode .gv-pw__label { color: rgba(238, 234, 231, 0.72); }
body.grovyn-dark-mode .gv-pw__input { border-bottom-color: rgba(238, 234, 231, 0.30); }
body.grovyn-dark-mode .gv-pw__input:focus { border-bottom-color: var(--ts-sun, #EEE78D); }
body.grovyn-dark-mode .gv-pw__submit { background: var(--ts-sun, #EEE78D); color: var(--ts-navy, #282C3C); }
body.grovyn-dark-mode .gv-pw__submit:hover,
body.grovyn-dark-mode .gv-pw__submit:focus-visible { background: #F4EFA8; color: var(--ts-navy, #282C3C); }
body.grovyn-dark-mode .gv-pw__error { background: rgba(238, 160, 140, 0.14); color: #F2B8A8; }
