
:root{--bg:#F3F4F7;--ink:#1C2230;--navy:#23407A;--steel:#5B6475;--rule:#D5D9E2;--panel:#fff;
--in:#2F8F5B;--soon:#C08A1E;--prop:#5B7FC7;--gone:#9AA1AE;--serif:"Source Serif 4",Georgia,serif;--sans:"Source Sans 3",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#151922;--ink:#E6E9EF;--navy:#8FA9E6;--steel:#9AA2B2;--rule:#2B3242;--panel:#1C212C}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.6 var(--sans)}
a{color:var(--navy);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.wrap{max-width:70rem;margin:0 auto;padding:0 1.25rem}
header.site{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:1rem 0;border-bottom:3px double var(--ink)}
.brand{font:700 1.3rem var(--serif);color:var(--ink);text-decoration:none}
.brand small{display:block;font:600 .78rem var(--sans);color:var(--steel);letter-spacing:.02em}
nav{display:flex;gap:1.2rem}
nav a{color:var(--steel);text-decoration:none;font-weight:600;font-size:.98rem}
nav a:hover,nav a[aria-current]{color:var(--ink)}
h1{font:700 clamp(2rem,4.6vw,3rem)/1.1 var(--serif);margin:2.25rem 0 .6rem}
h2{font:700 1.5rem/1.25 var(--serif);margin:2.5rem 0 .6rem}
.intro{color:var(--steel);max-width:44rem;margin:0 0 .75rem;font-size:1.1rem}
.updated{font-size:.92rem;color:var(--steel);margin:0 0 1.75rem}
.glance{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rule);background:var(--panel)}
.glance div{padding:1rem 1.15rem;border-left:1px solid var(--rule)}
.glance div:first-child{border-left:0}
.glance b{display:block;font:700 2rem/1.1 var(--serif)}
.glance span{font-size:.92rem;color:var(--steel)}
@media (max-width:700px){.glance{grid-template-columns:1fr 1fr}.glance div:nth-child(3){border-left:0}.glance div:nth-child(n+3){border-top:1px solid var(--rule)}}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 .5rem}
.filters fieldset{border:0;padding:0;margin:0 1.5rem .5rem 0;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.filters legend{float:left;font-weight:700;font-size:.9rem;color:var(--steel);margin-right:.5rem}
.filters button{font:600 .93rem var(--sans);padding:.35rem .8rem;border:1.5px solid var(--rule);background:var(--panel);color:var(--ink);border-radius:3px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.count{font-size:.92rem;color:var(--steel);margin:.25rem 0 1rem}
.tablewrap{background:var(--panel);border:1px solid var(--rule);overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.97rem}
th{font:700 .85rem var(--sans);color:var(--steel);text-align:left;padding:.75rem 1rem;border-bottom:2px solid var(--ink);white-space:nowrap}
td{padding:.9rem 1rem;border-bottom:1px solid var(--rule);vertical-align:top}
tr:last-child td{border-bottom:0}
td:nth-child(5){min-width:16rem}td.name{width:14rem}td.name strong{display:block;font:700 1.05rem/1.3 var(--serif)}
td.name small{color:var(--steel)}
td.when{width:11rem;font-size:.93rem}
.st{display:inline-block;font:700 .82rem var(--sans);padding:.12rem .5rem;border-left:4px solid;white-space:nowrap}
.s-in{border-color:var(--in)}.s-soon{border-color:var(--soon)}.s-prop{border-color:var(--prop)}.s-gone{border-color:var(--gone);color:var(--steel)}
.chal{display:block;margin-top:.35rem;font-size:.85rem;color:var(--soon);font-weight:600}
td.src{width:9rem}td.src a{font-size:.92rem}
@media (max-width:700px){
table.cards thead{display:none}
table.cards,table.cards tbody,table.cards tr,table.cards td{display:block}
table.cards tr{padding:.95rem 1rem;border-bottom:1px solid var(--rule)}
table.cards tr:last-child{border-bottom:0}
table.cards td{padding:.15rem 0;border:0;min-width:0!important;width:auto!important}
td.lvl{display:inline-block;margin-right:.6rem;color:var(--steel)}td.lvl br{display:none}td.lvl small::before{content:", "}
td.stc{display:inline-block}
td.when::before{content:"Date: ";color:var(--steel)}}
.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem 2rem;margin:1rem 0}
.legend p{margin:.35rem 0 0;color:var(--steel);font-size:.95rem}
.prose{max-width:42rem}
.note{font-size:.92rem;color:var(--steel);max-width:48rem;margin-top:1rem}
footer{margin-top:4rem;padding:1.5rem 0 3rem;border-top:1px solid var(--rule);font-size:.92rem;color:var(--steel)}
