/* DateCal: the look of datecal.js. A file rather than a <style> the script adds, because the site's
 * Content-Security-Policy allows style sheets from the site itself and nothing written at runtime. */
.dc{position:relative;display:block}
.dc>input{position:absolute;inset:0;opacity:0;pointer-events:none}
.dc .dc-field{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:var(--dc-h,48px);
  padding:0 14px;background:var(--dc-field-bg,transparent);color:var(--dc-fg);border:var(--dc-field-border,1px solid var(--dc-line));
  border-radius:var(--dc-field-radius,2px);font:inherit;cursor:pointer}
.dc .dc-field:focus-visible{outline:2px solid var(--dc-accent);outline-offset:2px}
.dc .dc-field[data-empty] span{color:var(--dc-muted)}
.dc .dc-field svg{flex:none;opacity:.7}
.dc .dc-pop{position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:min(340px,92vw);padding:16px;background:var(--dc-bg);color:var(--dc-fg);
  border:1px solid var(--dc-line);border-radius:var(--dc-radius,4px);box-shadow:0 24px 50px -24px rgba(0,0,0,.45);
  transform-origin:top left;animation:dc-in .18s cubic-bezier(.3,.7,.2,1)}
.dc .dc-pop[hidden]{display:none}
@keyframes dc-in{from{opacity:0;transform:translateY(-4px) scale(.98)}}
@media (prefers-reduced-motion:reduce){.dc .dc-pop{animation:none}}
.dc .dc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.dc .dc-title{font:var(--dc-title-font,600 1.05rem/1.2 inherit);text-transform:none}
.dc .dc-nav{all:unset;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--dc-fg)}
.dc .dc-nav:hover{background:var(--dc-hover)}
.dc .dc-nav:focus-visible{outline:2px solid var(--dc-accent)}
.dc .dc-nav:disabled{opacity:.25;cursor:default;background:none}
.dc .dc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dc .dc-wd{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dc-muted);text-align:center;padding:4px 0 6px}
.dc .dc-d{all:unset;box-sizing:border-box;display:grid;place-content:center;justify-items:center;gap:1px;height:var(--dc-cell,44px);border-radius:var(--dc-cell-radius,3px);
  cursor:pointer;font-variant-numeric:tabular-nums;color:var(--dc-fg);position:relative}
.dc .dc-d b{font-weight:500;font-size:.95rem;line-height:1}
.dc .dc-d small{font-size:.62rem;line-height:1;color:var(--dc-note,var(--dc-muted))}
.dc .dc-d:hover{background:var(--dc-hover)}
.dc .dc-d:focus-visible{outline:2px solid var(--dc-accent);outline-offset:-2px}
.dc .dc-d[data-out]{visibility:hidden}
.dc .dc-d[data-today] b{text-decoration:underline;text-underline-offset:3px}
.dc .dc-d[aria-disabled=true]{cursor:default;background:none;color:var(--dc-muted);opacity:.5}
.dc .dc-d[aria-disabled=true] small{color:inherit}
.dc .dc-d[aria-pressed=true]{background:var(--dc-accent);color:var(--dc-accent-fg)}
.dc .dc-d[aria-pressed=true] small{color:inherit;opacity:.85}
.dc .dc-field:is(:hover,:focus,:active){background:var(--dc-field-bg,transparent);color:var(--dc-fg);border:var(--dc-field-border,1px solid var(--dc-line))}
.dc .dc-d:not([aria-pressed=true]):is(:focus,:active){background:none;color:var(--dc-fg)}
.dc .dc-d:not([aria-pressed=true]):hover{background:var(--dc-hover);color:var(--dc-fg)}
.dc .dc-d[aria-disabled=true]:is(:hover,:focus,:active){background:none;color:var(--dc-muted)}
.dc .dc-nav:is(:focus,:active){background:none;color:var(--dc-fg)}
.dc .dc-nav:not(:disabled):hover{background:var(--dc-hover);color:var(--dc-fg)}
.dc .dc-foot{margin-top:10px;font-size:.78rem;color:var(--dc-muted);min-height:1.2em}
