/* 教材與題庫的閱讀字級：內文不得小於 15px。 */
.exam-timer{position:sticky;z-index:20;top:12px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;margin:0 0 18px;padding:13px 18px;border:1px solid #cbded6;border-radius:14px;color:#31564b;background:rgba(239,247,243,.96);box-shadow:0 8px 20px rgba(22,51,45,.08);backdrop-filter:blur(8px)}.exam-timer span{font-size:13px;font-weight:800}.exam-timer strong{min-width:84px;color:#174f45;font-family:Consolas,monospace;font-size:25px;letter-spacing:.04em}.exam-timer small{justify-self:end;color:#6a8179;font-size:12px}.exam-timer.urgent{border-color:#e4aa92;color:#8c3e27;background:rgba(255,241,235,.97)}.exam-timer.urgent strong{color:#c34d2e}@media(max-width:600px){.exam-timer{grid-template-columns:auto auto}.exam-timer small{grid-column:1/-1;justify-self:start}}
.exam-paper-card{display:flex;flex-direction:column}.exam-paper-card .paper-rule{min-height:66px;margin:18px 0 0;padding:13px 15px;border-radius:12px;color:#536a62;background:#f3f7f4;font-size:14px;line-height:1.55}.exam-paper-card .paper-rule strong{display:block;margin-bottom:3px;color:#a56a1f;font-size:12px}.exam-paper-card .subject-card-footer{margin-top:auto}.exam-paper-card .subject-status{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exam-group{margin:0 0 30px;padding:24px;border:1px solid #dce6e0;border-radius:24px;background:#f8faf8}.exam-group-heading{height:auto;min-height:0;margin-bottom:18px;padding:0 2px 16px;border-bottom:1px solid #dfe8e3;background:transparent}.exam-group-heading>div{display:flex;align-items:center;gap:12px}.exam-group-heading>div>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:#174f45;font-size:13px;font-weight:900}.exam-group-heading h2{margin:0;font-size:24px}.exam-group-heading p{margin:4px 0 0;color:#6b7e78;font-size:14px}.exam-bundle-grid{display:grid;grid-template-columns:1fr;gap:16px}.exam-bundle-card{overflow:hidden;border:1px solid #dce6e0;border-radius:18px;background:#fff}.bundle-heading{display:flex;align-items:center;gap:13px;padding:18px 20px;background:#f1f6f3}.bundle-heading>span{color:#b7771f;font-size:12px;font-weight:900}.bundle-heading small{color:#73877f;font-size:11px}.bundle-heading h3{margin:3px 0 0;font-size:18px}.bundle-papers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bundle-paper{position:relative;padding:20px}.bundle-paper+.bundle-paper{border-left:1px solid #e2eae6}.bundle-paper-title{display:flex;align-items:start;justify-content:space-between;gap:10px}.bundle-paper-title h4{margin:0;font-size:18px}.bundle-paper-title small{color:#758981;font-size:12px;white-space:nowrap}.bundle-paper-meta{display:flex;gap:10px;margin:15px 0}.bundle-paper-meta span{min-width:105px;padding:10px 13px;border-radius:10px;color:#5e736c;background:#f3f7f4;font-size:13px}.bundle-paper-meta strong{color:#17372f;font-size:20px}.bundle-paper p{min-height:42px;margin:0 0 15px;color:#60766e;font-size:13px;line-height:1.55}.bundle-paper .start-exam{display:inline-flex;float:none;margin:0}.exam-group-01 .exam-group-heading>div>span{background:#8b6b24}.exam-group-03 .exam-group-heading>div>span{background:#75529d}.exam-group-04 .exam-group-heading>div>span{background:#2a708c}.exam-group-05 .exam-group-heading>div>span{background:#536f45}@media(max-width:760px){.exam-group{padding:17px}.exam-group-heading{align-items:flex-start;flex-direction:column}.bundle-papers{grid-template-columns:1fr}.bundle-paper+.bundle-paper{border-top:1px solid #e2eae6;border-left:0}.bundle-paper-title{flex-direction:column}.bundle-paper-meta{flex-wrap:wrap}}
.study-page .study-heading p:last-child,
.study-page .study-panel-heading p,
.study-page .tab-name,
.study-page .module-summary,
.study-page .key-points li,
.study-page .study-note,
.study-page .lesson-link,
.lesson-page .lesson-back,
.lesson-page .lesson-hero p:last-child,
.lesson-page .lesson-intro p,
.lesson-page .lesson-section p,
.lesson-page .lesson-check,
.lesson-page .lesson-review p,
.lesson-page .practice-heading p,
.lesson-page .practice-question h3,
.lesson-page .practice-options,
.lesson-page .practice-question details p,
.lesson-page .lesson-actions a,
.question-bank-page .bank-heading p:last-child,
.question-bank-page .tab-name,
.question-bank-page .bank-grid td,
.question-bank-page .question-id,
.question-bank-page .chapter-cell,
.question-bank-page .answer-cell {font-size:15px}

.study-page .study-eyebrow,
.study-page .study-panel-heading span,
.study-page .module-number,
.study-page .key-points h4,
.study-page .study-note strong,
.lesson-page .lesson-stars small,
.lesson-page .lesson-intro span,
.lesson-page .lesson-section span,
.lesson-page .lesson-review span,
.lesson-page .practice-heading span,
.lesson-page .practice-question summary,
.question-bank-page .bank-eyebrow,
.question-bank-page .bank-panel-heading span {font-size:13px}

.study-page .study-tab,
.question-bank-page .bank-tab {min-height:76px}

/* 避免全站 header 的固定 72px 高度套用到課程主視覺。 */
header.lesson-hero {
    width:100%;
    height:auto;
    min-height:210px;
    padding:38px 42px;
    border:0;
    overflow:visible;
}
header.lesson-hero > div:first-child {min-width:0;flex:1}
header.lesson-hero h1 {line-height:1.25}
header.lesson-hero p:last-child {max-width:760px;line-height:1.8}

@media(max-width:700px) {
    header.lesson-hero {align-items:flex-start;flex-direction:column;min-height:0;padding:28px 24px}
    header.lesson-hero h1 {font-size:30px}
    header.lesson-hero .lesson-stars {align-items:flex-start;text-align:left}
}

/* 正式試卷列表：依示意圖簡化為類別標題＋試卷欄位。 */
.question{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.question.unanswered{border-color:#e39a9a!important;background:#fff0f0!important;box-shadow:0 0 0 3px rgba(190,55,55,.12)}.question.unanswered:focus{outline:3px solid rgba(190,55,55,.3);outline-offset:3px}.question.unanswered h2:before{content:'未作答';display:inline-block;margin-right:10px;padding:4px 8px;border-radius:7px;color:#9d2929;background:#ffd8d8;font-size:12px;vertical-align:middle}.error:not(:empty){display:block;position:sticky;z-index:19;bottom:12px;margin:14px 0;padding:13px 16px;border:1px solid #e7a5a5;border-radius:12px;color:#982d2d;background:#fff0f0;font-weight:800;box-shadow:0 8px 20px rgba(90,20,20,.1)}
.review{padding:20px 24px;margin-bottom:12px}.review>small{color:#778b84;font-size:12px}.review h3{margin:6px 0 8px;font-size:17px;line-height:1.5}.review-options{display:flex;flex-wrap:wrap;gap:5px 18px;margin:0 0 9px;padding:0;list-style:none}.review-option{display:inline-flex;align-items:baseline;gap:5px;min-height:0;padding:3px 7px;border:0;border-radius:7px;background:transparent}.review-option>strong{display:inline;color:#35584e;background:transparent}.review-option>strong:after{content:'.'}.review-option>span{font-size:14px;line-height:1.45}.review-option>em{display:none}.review-option.correct{color:#17634f;background:#e8f5ef}.review-option.correct>strong{color:#17634f;background:transparent}.review-option.selected-wrong{color:#a4382c;background:#fff0ed}.review-option.selected-wrong>strong{color:#a4382c;background:transparent}.review-verdict{margin:0 0 8px;padding:9px 12px;border-radius:9px;font-size:14px;font-weight:900}.review.ok .review-verdict{color:#17634f;background:#e8f5ef}.review.wrong .review-verdict{color:#a4382c;background:#fff0ed}.review-explanation{margin-top:0;padding:10px 14px;border-radius:10px;background:#f5f7f5}.review-explanation>strong{color:#9a681f;font-size:12px}.review-explanation p{display:inline;margin:0 0 0 10px!important;color:#526961!important;font-size:14px;line-height:1.55}.score .lightbtn+.lightbtn{margin-left:8px}.score-table-wrap{overflow-x:auto;border:1px solid #dce5dd;border-radius:18px;background:#fff}.score-grid{min-width:780px}.score-grid .view-result{display:inline-flex;padding:8px 12px;border-radius:9px;color:#fff;background:#174f45;text-decoration:none;font-size:13px;font-weight:900}.score-grid .view-result:hover,.score-grid .view-result:focus-visible{color:#17372f;background:#f2c45f}.score-grid td:nth-child(5){font-size:20px;font-weight:900;color:#17634f}@media(max-width:650px){.review{padding:17px}.review-options{display:grid;gap:3px}.review-option{padding:3px}.review-explanation p{display:block;margin:4px 0 0!important}.score .lightbtn+.lightbtn{margin-left:0}}
.exam-catalog .exam-group{margin-bottom:22px;padding:22px 26px;border-radius:21px;background:#fafcfa;box-shadow:none}
.exam-catalog .exam-group-heading{align-items:center;margin-bottom:14px;padding:0 0 14px}
.exam-catalog .exam-group-heading>div{gap:14px}
.exam-catalog .exam-group-heading>div>span{width:38px;height:38px;border-radius:10px}
.exam-catalog .exam-group-heading h2{font-size:23px}
.exam-catalog .exam-group-heading p{margin:0;font-size:13px}
.exam-catalog .exam-bundle-card{border:0;border-radius:0;background:transparent}
.exam-catalog .bundle-heading{display:none}
.exam-catalog .bundle-papers{overflow:hidden;border:1px solid #dfe7e3;border-radius:14px;background:#fff}
.exam-catalog .bundle-paper{display:flex;min-height:225px;flex-direction:column;padding:20px 22px}
.exam-catalog .bundle-paper-title h4{font-size:17px}
.exam-catalog .bundle-paper-meta{margin:14px 0 12px}
.exam-catalog .bundle-paper-meta span{min-width:105px;padding:8px 12px}
.exam-catalog .bundle-paper p{min-height:38px;margin-bottom:14px;font-size:13px}
.exam-catalog .bundle-paper .start-exam{align-self:flex-start;margin-top:auto;padding:11px 16px}
.exam-catalog .start-exam:hover,.exam-catalog .start-exam:focus-visible{color:#17372f;background:#f2c45f;box-shadow:0 7px 16px rgba(165,106,31,.22);transform:translateY(-1px)}
.exam-catalog .start-exam:active{color:#17372f;background:#dda63d;box-shadow:none;transform:translateY(0)}
.exam-catalog .exam-group-01 .bundle-papers,
.exam-catalog .exam-group-05 .bundle-papers{grid-template-columns:1fr}
.exam-catalog .exam-group-01 .bundle-paper,
.exam-catalog .exam-group-05 .bundle-paper{min-height:205px}

@media(max-width:760px){
 .exam-catalog .exam-group{padding:18px}
 .exam-catalog .exam-group-heading{align-items:flex-start}
 .exam-catalog .exam-group-heading p{margin-left:52px}
 .exam-catalog .bundle-paper{min-height:0}
}
