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

.ex { color: #e2e8f0; }
.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-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; }

/* ▼▼ 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:1px solid 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:1px solid 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-abroad a{color:rgb(0 90 133)}
/* ▲▲ LIGHT THEME END ▲▲ */
