/* Application styles */

html {
  scroll-behavior: smooth;
}

body {
  letter-spacing: 0.03em;
  line-height: 1.5;
}

/* ログインページ: PC では共通ヘッダーを非表示（SP は表示） */
@media (min-width: 768px) {
  body.sessions-new nav[data-controller="menu"] {
    display: none;
  }
}

/* 登録案内・パスワード系ページ: ヘッダーはロゴのみ（PCナビ・SPハンバーガー非表示） */
body.confirmations_pages-after_signup .nav-desktop,
body.confirmations_pages-after_signup .nav-mobile-btn,
body.confirmations_pages-confirmation_success .nav-desktop,
body.confirmations_pages-confirmation_success .nav-mobile-btn,
body.confirmations_pages-password_updated .nav-desktop,
body.confirmations_pages-password_updated .nav-mobile-btn,
body.confirmations_pages-after_password_reset .nav-desktop,
body.confirmations_pages-after_password_reset .nav-mobile-btn,
body.passwords-new .nav-desktop,
body.passwords-new .nav-mobile-btn,
body.passwords-create .nav-desktop,
body.passwords-create .nav-mobile-btn,
body.passwords-edit .nav-desktop,
body.passwords-edit .nav-mobile-btn,
body.passwords-update .nav-desktop,
body.passwords-update .nav-mobile-btn {
  display: none !important;
}

/* アバター用グラデーション枠（教授・メンバーアイコン） */
.avatar-gradient {
  background: linear-gradient(139.78deg, #B519B5 14.79%, #9533DA 101.33%);
}

/* 画像・動画のグラデーション枠（#B519B5 → #9533DA） */
.frame-gradient {
  background: linear-gradient(107.32deg, #B519B5 1.27%, #9533DA 98.91%);
}

/* サイト共通のカード用シャドウ（0px 1px 2px 0px #0000000D） */
.shadow-card {
  box-shadow: 0px 1px 2px 0px #0000000D;
}

/* テキストグラデーション（上→下: #A442E8 → #B519B5） */
.text-gradient-brand {
  background: linear-gradient(180deg, #A442E8 29.17%, #B519B5 75%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
