html{
    list-style: none;
    text-decoration: none;
}
li{
    list-style: none;
}
body {
    font-family: Arial, sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    background-color: #f5f5f5;
}

#app {
    background: white;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    border-radius: 8px;
    width: 90%;
    max-width: 500px;
    text-align: center;
}

.easy{
    color: red;
    font-size: 2rem;
    border-bottom: red double 5px ;
}

button {
    width: 100%;
    padding: 10px;
    margin: 5px 0;
    font-size: 16px;
    cursor: pointer;
}

#progress {
    font-weight: bold;
    margin-bottom: 10px;
}

/* ポップアップ */
.popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 600px;
    height: 70%;
    background-color: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    padding: 20px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    opacity: 0;
    overflow: hidden;
    /* visibility: hidden; */
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.popup.visible {
    opacity: 1;
    visibility: visible;
}

.popup-content {
    flex: 1;
    overflow: hidden;  /* popup-content自体にはスクロールバーを出さない */
    display: flex;
    flex-direction: column;
}

.t-answer{
    color: blue;
}
.f-answer{
    color: red;
}

.correct-item {
    border: 2px solid blue;
    background-color: #e0f7ff;
    padding: 5px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.wrong-item {
    border: 2px solid red;
    background-color: #ffe0e0;
    padding: 5px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.popup-content p {
    margin: 5px 0;
    font-size: 18px;
    font-weight: bold;
}

/* .q-text, .a-text, .e-text{
    text-align: center;
} */

.q-label{
    color: red;
}
.a-label{
    color: blue;
}
.e-label{
    color: green;
}

/* 解説リストエリア */
#explanationList {
    flex: 1;
    overflow-y: auto;  /* 縦スクロールON */
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    padding: 8px;
    border-radius: 8px;
    margin: 8px 0;
}

/* 解説リストの中身 */
#explanationItems {
    padding-left: 16px;
    line-height: 1.6;
}

/* ボタン */
.popup-content button {
    margin-top: 15px;
    padding: 10px 20px;
    background-color: #007bff;
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 8px;
    font-size: 16px;
    transition: background-color 0.3s;
}

.popup-content button:hover {
    background-color: #0056b3;
}


/* スコア別に枠と背景の色が変わる */
.popup.low-score { 
    border: 4px solid #ff6b6b; 
    background-color: #fff5f5; 
}
.popup.mid-score { 
    border: 4px solid #fdb44b; 
    background-color: #fffaf0; 
}
.popup.pass-score { 
    border: 4px solid #4caf50; 
    background-color: #f1fff1; 
}
.popup.high-score { 
    border: 4px solid #007bff; 
    background-color: #f0f8ff; 
}

.hidden {
    display: none;
}

.underline {
    text-decoration: underline;
    text-decoration-color: red; /* 例: 下線の色も変更可 */
    text-decoration-thickness: 4px; /* 下線の太さ調整 */
    text-decoration-skip-ink: none; /* 文字と重なっても下線が途切れないように */
}



/* 問題に画像挿入した時の仮設定 */
img{
    width: 300px;
    margin: 0 auto;
}

/* 戻るボタンの配置 */
a[href="../../index.html"] {
    position: fixed;
    right: 20px;
    bottom: 20px;
    background-color: #ffffff;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: background-color 0.3s;
}

a[href="../../index.html"]:hover {
    background-color: #ddd;
}