*{
box-sizing:border-box;
}

body{
font-family:"Noto Sans TC",sans-serif;
background:#f5f5f5;
margin:0;
padding:10px;
font-size:16px;
line-height:1.6;
color:#333;
}

.wrap{
max-width:600px;
margin:auto;
}

h1{
text-align:center;
font-size:1.8rem;
margin:10px 0 20px;
}

.card{
background:#fff;
padding:18px;
border-radius:12px;
box-shadow:0 2px 8px rgba(0,0,0,.1);
font-size:1.2rem;
}

.card h2{
margin-top:0;
margin-bottom:15px;
text-align:center;
font-size:1.5rem;
}

.progress{
width:100%;
height:10px;
background:#e5e5e5;
border-radius:999px;
overflow:hidden;
margin:15px 0;
}

.bar{
height:100%;
background:#4caf50;
transition:.3s;
}

.count{
text-align:center;
color:#666;
font-size:1rem;
margin-bottom:10px;
}

.question{
text-align:center;
font-size:1.3rem;
font-weight:600;
margin:20px 0;
}

button{
display:block;
width:100%;
margin:12px 0;
padding:16px;
border:none;
border-radius:10px;
cursor:pointer;
font-size:1.15rem;
line-height:1.6;
text-align:left;
background:#f7f7f7;
transition:.2s;
}

button:hover

button:active{
transform:scale(.98);
}

table{
width:100%;
border-collapse:collapse;
margin-top:15px;
font-size:1rem;
}

th{
background:#f0f0f0;
}

th,
td{
padding:10px;
border:1px solid #ddd;
}

td:first-child{
text-align:left;
}

td:last-child{
text-align:right;
font-weight:bold;
}

.result h3{
margin-top:20px;
}

.winner{
text-align:center;
font-size:1.6rem;
font-weight:bold;
margin:20px 0;
}

ol{
padding-left:24px;
}

@media (max-width:600px){

body{
padding:8px;
}

.card{
padding:16px;
font-size:1.1rem;
}

h1{
font-size:1.6rem;
}

.card h2{
font-size:1.3rem;
}

.question{
font-size:1.2rem;
}

button{
padding:14px;
font-size:1.05rem;
}

table{
font-size:.9rem;
}

th,
td{
padding:8px 6px;
}

.winner{
font-size:1.4rem;
}

}
