.academy-semester { margin-bottom:12px; }
.academy-semester > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px; cursor:pointer; list-style:none; }
.academy-semester > summary::-webkit-details-marker { display:none; }
.academy-semester > summary span:first-child { display:grid; gap:3px; }
.academy-semester > summary small { color:var(--gold); letter-spacing:.12em; font-size:10px; }
.academy-semester > summary strong { font:22px Georgia,serif; color:var(--text); }
.semester-mark { flex:none; color:var(--gold); background:#212f25; border-radius:8px; padding:6px 8px; font-size:12px; }
.semester-body { padding:0 13px 13px; }
.semester-body > p,.semester-exams > p { margin:0 0 12px; color:var(--muted); }
.semester-exams { padding:12px 0 0; }
.semester-exams :disabled { opacity:.48; cursor:default; }
.academy-board { display:flex; flex-wrap:wrap; gap:14px 24px; margin:14px 0; padding:14px; border:1px solid #67806e; border-radius:12px; background:#203c30; }
.academy-board small { display:block; margin-bottom:6px; color:#f6dfb4; }
.academy-board .card { width:clamp(33px,10vw,49px); }
.academy-size { display:flex; align-items:center; gap:8px; }
.academy-results { padding-left:22px; }
.academy-results li { margin-bottom:11px; }
.academy-results li p,.academy-reason { margin-top:8px; }
.academy-exam .quiz-option.selected { border-color:var(--gold); }
.course-hero { position:relative; isolation:isolate; border-color:#576349; background:linear-gradient(118deg,#263c2b 0%,#1b2a20 58%,#151f19 100%); box-shadow:0 16px 40px #07100b66,inset 0 1px #ffffff08; }
.course-hero::before { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:radial-gradient(ellipse at 84% 12%,#dabe8030,transparent 38%),linear-gradient(90deg,transparent 55%,#111a1522); }
.course-hero::after { content:"♠"; position:absolute; z-index:0; right:4%; top:-73px; pointer-events:none; color:#e0c78c; opacity:.055; font:330px/1 Georgia,serif; transform:rotate(8deg); }
.course-main,.course-progress { position:relative; z-index:1; }
.course-main .section-kicker { text-shadow:0 2px 12px #e0c78c33; }
.course-main .button.primary { box-shadow:0 6px 20px #d5b77830; }
.lesson-section { border-left:2px solid #927a4d; background:linear-gradient(115deg,#1c2a21,#18221c 62%); }
.lesson-section .step-number { display:grid; place-items:center; width:31px; height:31px; flex:none; border:1px solid #6d6044; border-radius:50%; color:var(--gold); font:13px var(--serif); }
.quiz-card { background:radial-gradient(ellipse at 95% 0%,#9f87531a,transparent 44%),var(--panel); }
.quiz-option { transition:transform .16s ease,border-color .16s ease,background-color .16s ease; }
.quiz-option:hover:not(:disabled) { transform:translateY(-1px); border-color:#a8905e; background:#29382c; }
.learning-outcomes,.lesson-matrix { margin:14px 0; padding:17px; }
.learning-outcomes h2,.lesson-matrix h2 { font:21px Georgia,serif; margin:0 0 10px; color:var(--text); }
.learning-outcomes ul { margin:0; padding-left:21px; color:var(--soft); }
.learning-outcomes li + li { margin-top:6px; }
.lesson-matrix p { margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.matrix-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:9px; }
.lesson-matrix table { width:100%; min-width:400px; border-collapse:collapse; font-size:14px; }
.lesson-matrix th,.lesson-matrix td { padding:10px 11px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.lesson-matrix thead th { color:var(--gold); background:#202c22; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.lesson-matrix tbody th { color:var(--text); white-space:nowrap; font-weight:650; }
.lesson-matrix tbody td { color:var(--soft); }
.lesson-matrix tbody tr:last-child th,.lesson-matrix tbody tr:last-child td { border-bottom:0; }
.glossary-search-label { display:block; margin:16px 0 6px; color:var(--gold); font-size:13px; font-weight:650; }
#glossary-search { width:100%; min-height:46px; padding:10px 13px; color:var(--text); background:#18231c; border:1px solid #46594a; border-radius:10px; font:inherit; }
.glossary-count { margin:12px 0 8px; color:var(--muted); font-size:13px; }
.glossary-list { display:grid; gap:8px; margin:0; }
.glossary-item { margin:0; padding:13px 15px; }
.glossary-item dt { color:var(--text); font-weight:700; }
.glossary-item dt span { margin-left:5px; color:var(--gold); font-weight:500; }
.glossary-item dd { margin:7px 0 0; color:var(--soft); line-height:1.45; }
.glossary-item .glossary-example { color:var(--muted); font-size:13px; }
.glossary-empty { margin:16px 0; padding:15px; color:var(--muted); border:1px dashed var(--line); border-radius:9px; }
@media(max-width:730px) {
  .course-hero::after { right:-28px; top:-50px; font-size:230px; }
  .quiz-option { min-height:52px; padding:10px; }
}
