body { font-family: Georgia, 'Times New Roman', serif; max-width: 760px; margin: 40px auto; padding: 0 20px; background: #f7f5f0; color: #1a1a1a; line-height: 1.5; }
h1 { font-size: 1.4em; border-bottom: 3px solid #14456b; padding-bottom: 10px; color: #14456b; }
h2 { color: #14456b; margin-top: 10px; }
.source { font-size: 0.85em; color: #555; margin-bottom: 30px; }
.progress { font-size: 0.9em; color: #555; margin-bottom: 6px; }
.progress-bar { height: 8px; background: #ddd; border-radius: 4px; overflow: hidden; margin-bottom: 24px; }
.progress-fill { height: 100%; background: #14456b; transition: width 0.2s; }
.question { background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 20px 24px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
.q-title { font-weight: bold; margin-bottom: 14px; font-size: 1.05em; }
.choices label { display: block; padding: 8px 10px; border-radius: 5px; cursor: pointer; margin-bottom: 4px; }
.choices label:hover { background: #eef3f8; }
.choices input { margin-right: 8px; }
.nav-row { display: flex; justify-content: space-between; margin-top: 10px; }
.navbtn { background: #14456b; color: #fff; border: none; padding: 10px 22px; font-size: 1em; border-radius: 6px; cursor: pointer; text-decoration: none; display: inline-block; }
.navbtn:hover { background: #0d3450; }
.navbtn.disabled { background: #aaa; cursor: not-allowed; pointer-events: none; }
.navbtn.spacer { visibility: hidden; }
#score { font-size: 1.2em; font-weight: bold; margin: 20px 0; }
.answer-key { background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 16px 20px; margin-bottom: 14px; }
.answer-key .correct { color: #146b1a; font-weight: bold; }
.answer-key .yourAnswer { font-weight: bold; }
.answer-key .wrong { color: #a12020; }
.answer-key .right { color: #146b1a; }
.answer-key .explain { margin-top: 6px; font-size: 0.95em; color: #333; }
.cite { font-style: italic; color: #555; }
.restart { margin-top: 20px; }
