body{
    background-color: #f4f4f4;
    margin: 0;
    height: 100vh; /* 画面の縦幅いっぱいに広げる */
    /* 中央寄せのためにFlexboxを使用 */
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Arial, Helvetica, sans-serif;
}

.profile-card{
    background-color: #ffffff;
    padding: 30px;
    width: 350px;
    border-radius: 16px;
    text-align: center;

box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.title {
  color: #666666;
  font-size: 14px;
  margin-bottom: 30px;
}

/* ボタン全体の共通ルール */
.links {
  display: flex;
  flex-direction: column; /* ボタンを縦に並べる */
  gap: 15px; /* ボタン同士の間隔 */
}

.btn {
  display: block;
  padding: 12px;
  text-decoration: none; /* 下線を消す */
  font-weight: bold;
  border-radius: 8px;
  transition: all 0.3s ease; /* マウスを乗せた時のアニメーションを滑らかに */
}

/* 個別のボタンの色設定 */
.btn-qiita {
  background-color: #55c500;
  color: white;
}

.btn-speakerdeck{
  background-color: #008e74;
  color: white;
}


.btn-github {
  background-color: #24292e;
  color: white;
}

.btn-vlog {
  background-color: #ff0000;
  color: white;
}

/* プロの技：マウスを乗せた（ホバーした）時に少し浮き上がらせる */
.btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* プロフィール写真の装飾 */
.rabbit1 {
  width: 120px;       /* 写真の横幅 */
  height: 120px;      /* 写真の縦幅（縦横を同じにすることで正方形にする） */
  
  /* 写真を丸く切り抜く最強のプロパティ */
  border-radius: 50%; 
  
  /* 写真の縦横比が崩れて不自然に伸びるのを防ぐお守り */
  object-fit: cover;  
  
  /* カードのデザインに馴染ませるため、写真の周りに白いフチをつける */
  border: 4px solid #f4f7f6;
  
  /* 写真の下側に少し隙間（マージン）を作って、名前との間隔をあける */
  margin-bottom: 15px;
  
  /* 影をつけて少し立体感を出す */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.btn:active{
  transform: scale(0.98);
  filter: brightness(0.9);
}

@media (max-width: 380px) {
  body{
    padding: 20px;
  }

  .profile-card{
    width: 100%;
    padding: 20px;
  }

  .avatar{
    width: 100%;
    height: 100px;
  }

  h1{
    font-size: 22px;
  }
}

/* --- バックエンドステータス用の装飾 --- */
#backend-status {
  margin-top: 15px;
  padding: 8px 12px;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  font-size: 13px;
  color: #a0aec0;
  display: inline-block;
}

/* 接続中のときは少し文字を明滅させるエフェクト（Vlog映え用） */
#backend-status.loading {
  animation: pulse 1.5s infinite ease-in-out;
}

@keyframes pulse {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.5; }
}