@charset "UTF-8";

/* Google Fonts 読み込み */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&family=Baloo+2:wght@400;700&family=Pacifico&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "M PLUS Rounded 1c", "Baloo 2", "Pacifico", cursive, sans-serif;
  color: #FFB7C5;
  text-shadow: 2px 2px 6px rgba(255, 182, 231, 0.5);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
    background: linear-gradient(135deg, #ffeaf5, #fff6e6, #e6fff9);
  background-size: 300% 300%;
  animation: sweetFlow 15s ease infinite;
}

@keyframes sweetFlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

header {
  text-align: center;
  margin-bottom: 2rem;
}

/* main を縦並び＆真ん中揃えに */
main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem; /* ボタンと結果の間隔（少し下に表示される）*/
  padding: 2rem;
  border-radius: 20px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.2);
  text-align: center;
  min-width: 300px;
  margin: 0 20px;
}

#drawButton {
   font-family: "M PLUS Rounded 1c", "Baloo 2", "Pacifico", cursive, sans-serif;
  font-size: 1.3rem;
  padding: 12px 30px;
  background: #fae4ff;
  color: rgb(236, 32, 255);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 3px 8px rgba(157, 0, 162, 0.2);
  margin-bottom: 2rem;
}

#drawButton {
  font-family: "M PLUS Rounded 1c", cursive;
  font-size: 1.3rem;
  padding: 14px 32px;
  border: none;
  border-radius: 30px;
  background: linear-gradient(145deg, #ffb6e6, #ffd9ec);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 6px 0 #f5a9d0, 
              0 8px 15px rgba(255, 180, 220, 0.6);
  transition: all 0.2s ease;
}

#drawButton:hover {
  transform: translateY(-3px);
}

#drawButton:active {
  transform: translateY(2px);
  box-shadow: 0 3px 0 #f5a9d0;
}

/* 結果表示（ボタンの下に自然に出る）*/
#resultDisplay {
  font-size: 1.4rem;
  text-align: center;
  background: linear-gradient(145deg, #fff0f8, #ffe6f2);
  border: 4px solid #ffcce6;
  border-radius: 25px;
  padding: 18px 34px;
  min-width: 220px;
  max-width: 280px;
  color: #ff66b3;
  font-weight: bold;
  box-shadow:
    0 6px 12px rgba(255,180,220,0.35),
    inset 0 4px 8px rgba(255,255,255,0.85);
  display: inline-block;
}

footer {
  position: fixed;
  bottom: 20px;
  font-size: 0.9rem;
}

/* おみくじ結果に応じた背景色とスタイル */
.daikichi {
  background: linear-gradient(135deg, #f9c7ff, #ffc4fa) !important;
  color: rgb(255, 66, 227);
  border-color: #ffffff;
}

.chukichi {
  background: linear-gradient(135deg, #fcffad, #fffbb9) !important;
  color: rgb(149, 243, 255);
  border-color: #fffbf4;
}

.syokichi {
  background: linear-gradient(135deg, #e9fbff, #d2f0ff) !important;
  color: rgb(35, 174, 255);
  border-color: #ffffff;
}

.kichi {
  background: linear-gradient(135deg, #e3b8fb, #ffc4fa) !important;
  color: rgb(255, 66, 227);
  border-color: #ffffff;
}

.kyo {
  background: linear-gradient(135deg, #191919, #1f1e1f) !important;
  color: rgb(250, 0, 213);
  border-color: #ffffff;
}

/* bodyの背景色変更 */
body.daikichi {
  background: linear-gradient(135deg, #ffe0e0, #fff5f5);
  transition: background 0.5s ease;
}

body.chukichi {
  background: linear-gradient(135deg, #fff3e0, #fffbf0);
  transition: background 0.5s ease;
}

body.syochi {
  background: linear-gradient(135deg, #e8f5e8, #f1f8f1);
  transition: background 0.5s ease;
}

/* bodyクラスに基づいたresultDisplayのスタイル */
body.daikichi #resultDisplay {
  background: linear-gradient(135deg, #ffcbfb, #faccff) !important;
  color: white;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  border-color: #ffd3fd;
}

body.chukichi #resultDisplay {
  background: linear-gradient(135deg, #f9ff85) !important;
  color: rgb(253, 159, 255);
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.3);
  border-color: #ffffff;
}

body.syokichi #resultDisplay {
  background: linear-gradient(135deg, #d9eeff) !important;
  color: rgb(51, 139, 255);
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.3);
  border-color: #ffffff;
}

  body.kichi #resultDisplay {
  background: linear-gradient(135deg, #edcbff) !important;
  color: rgb(211, 154, 255);
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.3);
  border-color: #ffffff;
}

body.kyo #resultDisplay {
  background: linear-gradient(135deg, #ff60d7) !important;
  color: rgb(9, 0, 8);
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  border-color: hsl(312, 100%, 90%);
}

@media (min-width: 601px) {
header h1 {
  font-family: "Pacifico", cursive;
  font-size: 3rem;
  background: linear-gradient(90deg, #ff99cc, #ffeecc);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 3px 3px 6px rgba(255, 180, 220, 0.6);
}

  
  main {
    margin: 0;
    padding: 3rem;
  }
  
  #drawButton {
    font-size: 1.5rem;
    padding: 15px 40px;
  }
  
  #resultDisplay {
    font-size: 2rem;
  }
}
