/* === Reset 基本樣式 === */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: auto;
  font-family: "Noto Sans TC", Arial, sans-serif;
  overflow: visible;
  background-color: #f5f8ff;
  position: relative;
}

/* === 背景圖區塊 === */
.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/images/background-testing.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

/* === 標題圖區塊 === */
.title-area {
  position: relative;
  z-index: 1;
  width: 100%;
  text-align: center;
  margin-top: 30px;
}

.title-img {
  width: 400px;
  max-width: 90%;
  height: auto;
}

/* === 中間內容灰框 === */
.content-box {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  padding-bottom: 80px; /* 防止內容貼到底部 */
}
.content {
  background-color: #ccc;
  border-radius: 20px;
  padding: 60px 40px;
  max-width: 90%;
  width: 90%;
  text-align: center;
  font-size: 28px;
  line-height: 1.8;
  color: #000;
  font-family: "Noto Serif TC", serif;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

/* === 內容區標題字體樣式 === */
.content-title {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: 2px;
  color: #333;
}

/* === 內容區副標文字 === */
.content-subtext {
  font-size: 22px;
  color: #444;
  letter-spacing: 1px;
}

/* ✅ 桌機版特定背景替換 */
@media (min-width: 1024px) and (min-height: 768px) {
  .bg {
    background-image: url("/assets/images/background-testing-1024x768.png");
  }
}
/* === 標題滑動進場動畫 === */
@keyframes slideDownFade {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.title-area {
  position: relative;
  z-index: 1;
  width: 100%;
  text-align: center;
  margin-top: 30px;

  /* ✅ 新增動畫 */
  animation: slideDownFade 1s ease-out forwards;
}

.btn-text .arrow {
  color: #f90;
  font-weight: bold;
  font-size: 36px;
  margin-bottom: 4px;
  display: block;
}

.level-select{
    margin-top:35px;
    text-align:center;
}

.level-btn{
    display:inline-block;
    width:70px;
    height:70px;
    line-height:70px;
    margin:0 10px 30px 10px;
    border-radius:50%;
    background:#3F51B5;
    color:#FFF;
    text-decoration:none;
    font-size:30px;
    font-weight:bold;
    transition:.3s;
    box-shadow:0 5px 15px rgba(0,0,0,.25);
}

.level-btn:hover{
    background:#FF9800;
    transform:translateY(-5px);
    box-shadow:0 10px 20px rgba(0,0,0,.35);
}

.btn-next{
    background:#3F51B5;
    color:white;
    border:0;
    padding:16px 55px;
    font-size:24px;
    border-radius:8px;
    cursor:pointer;
    transition:.3s;
}

.btn-next:hover{
    background:#283593;
}

.option{
    display:flex;
    align-items:center;

    border:2px solid #DDD;
    border-radius:10px;

    padding:3px 16px;             /* 原本6px → 3px */

    margin-bottom:3px;            /* 原本6px → 3px */

    min-height:18px;              /* 原本22px → 18px */

    line-height:1.1;              /* 新增 */

    cursor:pointer;
    transition:.25s;

    font-size:28px;               /* 原本30px → 28px */

    background:#FFF;
}

.option:hover{
    border-color:#3F51B5;
    background:#EEF3FF;
    transform:translateX(3px);
}

.option input[type=radio]{
    transform:scale(1.3);         /* 原本1.6 → 1.3 */
    margin:0 12px;
}

.choice{
    width:50px;
    text-align:right;
    font-size:26px;
    font-weight:bold;
    color:#444;
}
#timer {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #d9534f;
    margin: 10px 0 20px 0;
}

.result-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
    padding-bottom: 20px;
}

.result-buttons a,
.result-buttons button {
    display: inline-block;
    min-width: 180px;
    padding: 14px 28px;
    border: none;
    border-radius: 8px;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
    text-align: center;
}

.btn-home {
    background: #4a5fc1;
    color: white;
}

.btn-print {
    background: #555;
    color: white;
}

.btn-home:hover,
.btn-print:hover {
    opacity: 0.85;
}

.result-image {
    width: 70vw;
    height: auto;
    display: block;
    margin: 0 auto;
}

.level-box {
    width: 90%;
    max-width: 900px;
    margin: 40px auto;
    text-align: center;
}

.level-box h1 {
    font-size: 42px;
    color: #333;
    margin-bottom: 20px;
}

.description {
    font-size: 24px;
    color: #555;
    margin-bottom: 25px;
}

.start-title {
    font-size: 34px;
    font-weight: bold;
    color: #ff9800;
    margin-bottom: 40px;
}

.start-title span {
    letter-spacing: 8px;
}

.level-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.level-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;

    width: 100%;
    min-height: 120px;

    border-radius: 25px;

    text-decoration: none;
    color: white;

    box-shadow: 0 8px 15px rgba(0,0,0,0.20);

    transition: all 0.2s ease;
}

.level-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 20px rgba(0,0,0,0.25);
}

/* 初階：深色 */
.level-basic {
    background: #3f51b5;
}

/* 中階：中間色 */
.level-middle {
    background: #6688d8;
}

/* 高階：淺色 */
.level-high {
    background: #a9c5f5;
    color: #24539a;
}

.level-icon {
    font-size: 48px;
}

.level-title {
    font-size: 34px;
    font-weight: bold;
}

.level-sub {
    font-size: 22px;
    margin-top: 5px;
}