/* Sorting by date (Lane SD1). public/site.js adds .sd-ctl above every list or table with data-sort="date" (see SORT in lib/html.js). */
.sd-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 8px;font-size:14px;line-height:21px}
.sd-lbl{color:var(--muted);font-weight:600}
.sd-btns{display:inline-flex;flex-wrap:nowrap;max-width:100%}
.sd-btns button,.sd-btns a{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;min-height:44px;min-width:44px;padding:0 14px;margin:0 -1px 0 0;background:var(--raised);color:var(--brand);border:1px solid var(--edge);font:600 14px/1.2 var(--text);cursor:pointer}
.sd-btns>:first-child{border-radius:4px 0 0 4px}
.sd-btns>:last-child{border-radius:0 4px 4px 0;margin-right:0}
.sd-btns button[aria-pressed="true"],.sd-btns a[aria-current]{background:var(--brand);color:#fff;border-color:var(--brand);position:relative;z-index:1}
.sd-btns>:focus-visible{position:relative;z-index:2}
.sd-note{color:var(--muted)}
/* a phone: the label on its own line, the buttons side by side and narrower; a word may wrap inside a button rather than the row scrolling */
@media (max-width:480px){.sd-btns button,.sd-btns a{padding:4px 10px;flex:0 1 auto}}
.sd-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
/* the date column header of a table is a button (or, in a list of several pages, a link). Its box reaches 44px tall without making the row taller. */
th .sd-th{display:inline-block;vertical-align:baseline;text-transform:inherit;letter-spacing:inherit;padding:11px 0;margin:-11px 0;background:none;border:0;color:inherit;font:inherit;line-height:22px;text-align:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--edge);text-underline-offset:3px}
th .sd-th:hover{text-decoration-color:currentColor}
.sd-ar{white-space:pre}
@media print{.sd-ctl{display:none}}
