/* Exams hub (roadmap Plan 5): /exams. Page-scoped plain CSS, linked by exams/landing.html only. */

.ex { color: #e2e8f0; }
.ex-material { max-width: 52rem; padding: 1.25rem; background: var(--reading-surface); border: 1px solid rgba(148,163,184,.25); border-radius: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
.ex-material h1, .ex-material h2, .ex-material h3 { line-height: 1.3; margin: 1.4rem 0 .7rem; }
.ex > h1 { font-size: 1.8rem; font-weight: 650; margin: 1rem 0; }
.ex-material h1 { font-size: 1.5rem; font-weight: 650; }
.ex-material h2 { font-size: 1.2rem; font-weight: 600; }
.ex-material h3 { font-size: 1.05rem; font-weight: 600; }
.ex-material p, .ex-material ul { margin: .75rem 0; }
.ex-material-question { border-top: 1px solid rgba(148,163,184,.25); margin: 1.2rem 0; padding-top: .5rem; }
.ex-material summary { cursor: pointer; font-weight: 600; }
.ex-material .lx-ico { width: 1.1em; height: 1.1em; vertical-align: middle; }
html:not([data-theme="light"]) .ex-material .lx-callout { background: var(--reading-surface); }
.ex-section { margin-top: 2.25rem; }
.ex-h2 { margin: 0 0 0.9rem; font-size: 1.25rem; font-weight: 600; color: #ffffff; }
.ex-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 720px) { .ex-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ex-card { display: flex; flex-direction: column; gap: 0.45rem; padding: 1rem 1.1rem; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 1rem; background: rgba(255, 255, 255, 0.03); }
.ex-card.is-live { border-color: rgba(167, 139, 250, 0.35); background: linear-gradient(135deg, rgba(167, 139, 250, 0.1), rgba(255, 255, 255, 0.02)); }
.ex-card.is-planned { background: rgba(255, 255, 255, 0.015); }
.ex-card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.4rem 0.75rem; }
.ex-card-title { margin: 0; font-size: 1.05rem; font-weight: 600; color: #ffffff; }
.ex-card-detail { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #cbd5e1; }
.ex-card-count { margin: 0.2rem 0 0; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #94a3b8; }
.ex-status { display: inline-flex; align-items: center; padding: 0.15rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; }
.ex-status--live { background: rgba(52, 211, 153, 0.15); color: #6ee7b7; }
.ex-status--partial { background: rgba(56, 189, 248, 0.14); color: #7dd3fc; }
.ex-status--planned { background: rgba(148, 163, 184, 0.14); color: #cbd5e1; }
.ex-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.2rem 0 0; padding: 0; list-style: none; }
.ex-chip { display: inline-flex; align-items: center; min-height: 2.25rem; padding: 0.2rem 0.7rem; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 999px; background: rgba(255, 255, 255, 0.04); font-size: 0.8125rem; color: #e2e8f0; text-decoration: none; }
.ex-chip:hover { border-color: rgba(167, 139, 250, 0.55); color: #ffffff; }
.ex-official { align-self: flex-start; display: inline-flex; align-items: center; min-height: 2.25rem; font-size: 0.8125rem; color: #c4b5fd; text-decoration: none; }
.ex-official:hover { text-decoration: underline; }
.ex-resources { margin-top: 0.2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 0.55rem; }
.ex-resources summary { cursor: pointer; color: #c4b5fd; font-size: 0.85rem; font-weight: 600; }
.ex-resource-list { display: grid; gap: 0.5rem; margin: 0.7rem 0 0; padding-left: 1.2rem; font-size: 0.82rem; line-height: 1.45; }
.ex-resource-list a { color: #e2e8f0; text-decoration: underline; text-decoration-color: rgba(226, 232, 240, 0.35); text-underline-offset: 0.16rem; }
.ex-resource-list a:hover { color: #fff; text-decoration-color: currentColor; }
.ex-abroad { margin: 2rem 0 0; }
.ex-abroad a { display: inline-flex; align-items: center; min-height: 2.5rem; color: #7dd3fc; text-decoration: none; }
.ex-abroad a:hover { text-decoration: underline; }
.ex-paper-back { margin: 1rem 0 0; }
.ex-paper-back a, .ex-paper-pages a { color: #c4b5fd; text-decoration: none; }
.ex-paper-back a:hover, .ex-paper-pages a:hover { text-decoration: underline; }
.ex-paper-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 0.65rem; margin: 1.2rem 0; }
.ex-paper-filters label { display: grid; gap: 0.3rem; min-width: 9rem; max-width: 100%; font-size: 0.8rem; color: #cbd5e1; }
.ex-paper-filters select { min-width: 0; max-width: 100%; min-height: 2.45rem; padding: 0.35rem 0.65rem; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 0.55rem; background: #1e293b; color: #fff; }
.ex-paper-filters button { min-height: 2.45rem; padding: 0.35rem 0.9rem; border: 0; border-radius: 0.55rem; background: #7c3aed; color: #fff; cursor: pointer; }
.ex-paper-filters button:hover { background: #6d28d9; }
.ex-paper-count, .ex-paper-source { color: #94a3b8; font-size: 0.8rem; }
.ex-paper-count { margin: 0 0 0.75rem; }
.ex-paper-year { color: #c4b5fd; font-size: 0.82rem; }
.ex-paper-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.35rem; }
.ex-paper-actions a { color: #e2e8f0; font-size: 0.84rem; text-underline-offset: 0.15rem; }
.ex-paper-actions a:hover { color: #fff; }
.ex-paper-source { margin: 0.2rem 0 0; }
.ex-paper-pages { display: flex; justify-content: center; align-items: center; gap: 1.25rem; margin: 1.5rem 0; color: #cbd5e1; }

/* Reading containers remain as dark as the page in dark mode. */
.ex-card, .ex-card.is-live, .ex-card.is-planned, .ex-chip,
.ex-paper-filters select { background: var(--reading-surface, #01040e); }
.ex-paper-filters button { background: var(--reading-surface, #01040e); border: 1px solid #a78bfa; color: #e2e8f0; }
.ex-paper-filters button:hover { background: var(--reading-surface, #01040e); border-color: #c4b5fd; }
.ex-official { overflow-wrap: anywhere; }

/* ▼▼ LIGHT THEME — GENERATED by scripts/build_light_theme.py from the rules above. Do not edit by hand: run the builder. Hand tuning goes in 36-theme-light.css. ▼▼ */
html[data-theme="light"] .ex{color:rgb(44 63 88)}
html[data-theme="light"] .ex-h2{color:rgb(51 63 82)}
html[data-theme="light"] .ex-card{border-color:rgb(15 23 42/0.112);background-color:rgb(15 23 42/0.03)}
html[data-theme="light"] .ex-card.is-live{background-image:linear-gradient(135deg, rgba(167, 139, 250, 0.1), rgb(15 23 42/0.02))}
html[data-theme="light"] .ex-card.is-planned{background-color:rgb(15 23 42/0.015)}
html[data-theme="light"] .ex-card-title{color:rgb(51 63 82)}
html[data-theme="light"] .ex-card-detail{color:rgb(48 65 85)}
html[data-theme="light"] .ex-card-count{color:rgb(61 75 94)}
html[data-theme="light"] .ex-status--live{color:rgb(16 111 73)}
html[data-theme="light"] .ex-status--partial{color:rgb(0 90 133)}
html[data-theme="light"] .ex-status--planned{color:rgb(48 65 85)}
html[data-theme="light"] .ex-chip{border-color:rgb(15 23 42/0.14);background-color:rgb(15 23 42/0.04);color:rgb(44 63 88)}
html[data-theme="light"] .ex-chip:hover{color:rgb(51 63 82)}
html[data-theme="light"] .ex-official{color:rgb(28 0 132)}
html[data-theme="light"] .ex-resources{border-top-color:rgb(15 23 42/0.14)}
html[data-theme="light"] .ex-resources summary{color:rgb(28 0 132)}
html[data-theme="light"] .ex-resource-list a{color:rgb(44 63 88);text-decoration-color:rgb(44 63 88/0.85)}
html[data-theme="light"] .ex-resource-list a:hover{color:rgb(51 63 82)}
html[data-theme="light"] .ex-abroad a{color:rgb(0 90 133)}
html[data-theme="light"] .ex-paper-back a,html[data-theme="light"] .ex-paper-pages a{color:rgb(28 0 132)}
html[data-theme="light"] .ex-paper-filters label{color:rgb(48 65 85)}
html[data-theme="light"] .ex-paper-filters select{border-color:rgb(15 23 42/0.18);background-color:rgb(239 241 245);color:rgb(51 63 82)}
html[data-theme="light"] .ex-paper-filters button{color:rgb(51 63 82)}
html[data-theme="light"] .ex-paper-count,html[data-theme="light"] .ex-paper-source{color:rgb(61 75 94)}
html[data-theme="light"] .ex-paper-year{color:rgb(28 0 132)}
html[data-theme="light"] .ex-paper-actions a{color:rgb(44 63 88)}
html[data-theme="light"] .ex-paper-actions a:hover{color:rgb(51 63 82)}
html[data-theme="light"] .ex-paper-pages{color:rgb(48 65 85)}
html[data-theme="light"] .ex-card,html[data-theme="light"] .ex-card.is-live,html[data-theme="light"] .ex-card.is-planned,html[data-theme="light"] .ex-chip,html[data-theme="light"] .ex-paper-filters select{background:var(--reading-surface, rgb(252 252 253))}
html[data-theme="light"] .ex-paper-filters button{background:var(--reading-surface, rgb(252 252 253));color:rgb(44 63 88)}
html[data-theme="light"] .ex-paper-filters button:hover{background:var(--reading-surface, rgb(252 252 253))}
/* ▲▲ LIGHT THEME END ▲▲ */
