/* /exam-dates: web/templates/exam_dates/. Not bundled; only these pages load it. */
.xd { max-width: 60rem; margin: 0 auto; padding: 0 1rem 3rem; }
.xd-back, .xd-mine { margin: 0.25rem 0 1rem; font-size: 0.9rem; }
.xd-back a, .xd-mine a { color: rgb(125 211 252); }
.xd-mine span { color: rgb(148 163 184); }
.xd-level { margin-top: 1.75rem; }
.xd-level h2 { margin: 0 0 0.6rem; font-size: 1.05rem; font-weight: 600; color: rgb(226 232 240); }
.xd-subjects { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.xd-subjects a { display: block; padding: 0.5rem 0.7rem; border: 1px solid rgb(255 255 255 / 0.1); border-radius: 0.5rem; color: rgb(203 213 225); font-size: 0.875rem; text-decoration: none; }
.xd-subjects a:hover { border-color: rgb(167 139 250 / 0.6); color: #fff; }
.xd-region { display: grid; gap: 0.3rem; max-width: 24rem; margin: 0 0 1.25rem; }
.xd-region label { font-size: 0.85rem; font-weight: 600; color: rgb(203 213 225); }
.xd-region select { width: 100%; padding: 0.5rem 0.6rem; border: 1px solid rgb(255 255 255 / 0.18); border-radius: 0.5rem; background: var(--space-deep, #0b1020); color: rgb(226 232 240); font-size: 0.95rem; }
.xd-region-note, .xd-variant-name { margin: 0 0 0.75rem; color: rgb(148 163 184); font-size: 0.82rem; }
.xd-region-note:empty { display: none; }
.xd-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1rem; }
.xd-card { padding: 1.1rem 1.15rem; border: 1px solid rgb(255 255 255 / 0.1); border-radius: 0.8rem; background: rgb(255 255 255 / 0.03); }
.xd-card[hidden], .xd-variant[hidden], .xd-mine[hidden], .xd-papers li[hidden] { display: none; }
.xd-card--solo { max-width: 36rem; color: rgb(203 213 225); }
.xd-card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; }
.xd-card h2 { margin: 0; font-size: 1rem; font-weight: 600; color: rgb(226 232 240); }
.xd-status { padding: 0.1rem 0.5rem; border-radius: 99rem; font-size: 0.7rem; font-weight: 600; }
.xd-status--final { background: rgb(56 189 248 / 0.15); color: rgb(125 211 252); }
.xd-status--provisional { background: rgb(251 191 36 / 0.15); color: rgb(252 211 77); }
.xd-status--expected { background: rgb(148 163 184 / 0.15); color: rgb(203 213 225); }
.xd-date { margin: 0.7rem 0 0.15rem; font-size: 1.2rem; font-weight: 600; line-height: 1.35; color: #fff; }
.xd-date--soft { font-size: 1rem; font-weight: 500; }
.xd-to { color: rgb(148 163 184); font-weight: 400; }
.xd-count { min-height: 1.1rem; margin: 0; color: rgb(196 181 253); font-size: 0.85rem; }
.xd-papers { margin-top: 0.75rem; font-size: 0.82rem; color: rgb(203 213 225); }
.xd-papers summary { cursor: pointer; color: rgb(148 163 184); }
.xd-papers ul { margin: 0.5rem 0 0; padding: 0; list-style: none; }
.xd-papers li { display: grid; grid-template-columns: 7.2rem 1fr auto; gap: 0.5rem; padding: 0.3rem 0; border-top: 1px solid rgb(255 255 255 / 0.07); }
.xd-papers code { color: rgb(148 163 184); font-size: 0.76rem; }
.xd-paper-session { color: rgb(148 163 184); }
.xd-note { margin: 0.65rem 0 0; color: rgb(148 163 184); font-size: 0.8rem; line-height: 1.45; }
.xd-source { margin: 0.65rem 0 0; font-size: 0.8rem; }
.xd-source a { color: rgb(125 211 252); }
.xd-foot { margin-top: 1.75rem; color: rgb(148 163 184); font-size: 0.8rem; }
@media (max-width: 30rem) {
  .xd-papers li { grid-template-columns: 1fr auto; }
  .xd-paper-title { grid-column: 1 / -1; grid-row: 2; }
}
html[data-theme="light"] .xd-back a, html[data-theme="light"] .xd-mine a, html[data-theme="light"] .xd-source a { color: rgb(3 105 161); }
html[data-theme="light"] .xd-level h2, html[data-theme="light"] .xd-card h2, html[data-theme="light"] .xd-date { color: rgb(15 23 42); }
html[data-theme="light"] .xd-subjects a { border-color: rgb(15 23 42 / 0.14); color: rgb(51 65 85); }
html[data-theme="light"] .xd-subjects a:hover { color: rgb(15 23 42); }
html[data-theme="light"] .xd-region label, html[data-theme="light"] .xd-papers, html[data-theme="light"] .xd-card--solo { color: rgb(51 65 85); }
html[data-theme="light"] .xd-region select { border-color: rgb(15 23 42 / 0.2); background: #fff; color: rgb(15 23 42); }
html[data-theme="light"] .xd-card { border-color: rgb(15 23 42 / 0.12); background: #fff; }
html[data-theme="light"] .xd-region-note, html[data-theme="light"] .xd-variant-name, html[data-theme="light"] .xd-note,
html[data-theme="light"] .xd-foot, html[data-theme="light"] .xd-papers summary, html[data-theme="light"] .xd-papers code,
html[data-theme="light"] .xd-paper-session, html[data-theme="light"] .xd-mine span { color: rgb(87 101 122); }
html[data-theme="light"] .xd-count { color: rgb(109 40 217); }
html[data-theme="light"] .xd-papers li { border-top-color: rgb(15 23 42 / 0.09); }
html[data-theme="light"] .xd-status--final { background: rgb(3 105 161 / 0.1); color: rgb(3 105 161); }
html[data-theme="light"] .xd-status--provisional { background: rgb(180 83 9 / 0.1); color: rgb(146 64 14); }
html[data-theme="light"] .xd-status--expected { background: rgb(71 85 105 / 0.1); color: rgb(51 65 85); }

/* ▼▼ 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"] .xd-back a,html[data-theme="light"] .xd-mine a{color:rgb(0 90 133)}
html[data-theme="light"] .xd-mine span{color:rgb(61 75 94)}
html[data-theme="light"] .xd-level h2{color:rgb(44 63 88)}
html[data-theme="light"] .xd-subjects a{border-color:rgb(15 23 42/0.14);color:rgb(48 65 85)}
html[data-theme="light"] .xd-subjects a:hover{color:rgb(51 63 82)}
html[data-theme="light"] .xd-region label{color:rgb(48 65 85)}
html[data-theme="light"] .xd-region select{border-color:rgb(15 23 42/0.18);background:var(--space-deep, rgb(247 247 251));color:rgb(44 63 88)}
html[data-theme="light"] .xd-region-note,html[data-theme="light"] .xd-variant-name{color:rgb(61 75 94)}
html[data-theme="light"] .xd-card{border-color:rgb(15 23 42/0.14);background-color:rgb(15 23 42/0.03)}
html[data-theme="light"] .xd-card--solo{color:rgb(48 65 85)}
html[data-theme="light"] .xd-card h2{color:rgb(44 63 88)}
html[data-theme="light"] .xd-status--final{color:rgb(0 90 133)}
html[data-theme="light"] .xd-status--provisional{color:rgb(126 96 0)}
html[data-theme="light"] .xd-status--expected{color:rgb(48 65 85)}
html[data-theme="light"] .xd-date{color:rgb(51 63 82)}
html[data-theme="light"] .xd-to{color:rgb(61 75 94)}
html[data-theme="light"] .xd-count{color:rgb(28 0 132)}
html[data-theme="light"] .xd-papers{color:rgb(48 65 85)}
html[data-theme="light"] .xd-papers summary{color:rgb(61 75 94)}
html[data-theme="light"] .xd-papers li{border-top-color:rgb(15 23 42/0.098)}
html[data-theme="light"] .xd-papers code{color:rgb(61 75 94)}
html[data-theme="light"] .xd-paper-session{color:rgb(61 75 94)}
html[data-theme="light"] .xd-note{color:rgb(61 75 94)}
html[data-theme="light"] .xd-source a{color:rgb(0 90 133)}
html[data-theme="light"] .xd-foot{color:rgb(61 75 94)}
/* ▲▲ LIGHT THEME END ▲▲ */
