/* Sarah Bouwers: shared paper, type and rules for audio and calendar. */
.sb-audio,.sb-calendar{color:var(--ink);background:transparent;min-width:0}
.sb-audio [hidden],.sb-calendar [hidden]{display:none!important}
.audio-fallback{list-style:none;margin:0;padding:0}.audio-fallback a{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:1.4rem}
.sb-audio{--al-accent:var(--ink);--al-muted:var(--muted);border:0;border-radius:0;box-shadow:none;font-family:inherit;overflow:visible}
.sb-audio svg{display:block;fill:currentColor}.sb-audio svg.icon-arrow{fill:none}.sb-audio button{font:inherit;color:inherit;cursor:pointer}
.sb-audio .al-artwork-wrap,.sb-audio .al-visualizer,.sb-audio .al-wave-wrap,.sb-audio .al-toolbar,.sb-audio .al-secondary-controls,.sb-audio .al-karaoke{display:none}
.sb-audio .al-now-playing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:0 0 2rem;background:none}
.sb-audio .al-main{min-width:0}.sb-audio .al-title{font-family:var(--serif);font-size:clamp(1.7rem,2.8vw,2.7rem);line-height:1.15;font-weight:400;letter-spacing:-.035em;overflow-wrap:anywhere}.sb-audio .al-artist{font-size:.875rem;color:var(--muted);line-height:1.5;margin-top:.65rem}.sb-audio .al-artist:empty{display:none}
.sb-audio .al-primary-controls{display:flex;align-items:center;gap:.25rem}.sb-audio .al-btn{border:0;background:transparent;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%}.sb-audio .al-btn svg{width:20px;height:20px}.sb-audio .al-play{border:1px solid var(--ink);width:54px;height:54px;margin:0 .2rem}.sb-audio .al-play svg{width:24px;height:24px}.sb-audio .al-btn:hover{background:#f1f1ef}.sb-audio .al-play:hover{background:var(--ink);color:#fff}
.sb-audio .al-seek{--played:0%;display:block;width:100%;height:30px;margin:1.1rem 0 0;appearance:none;background:transparent;cursor:pointer;accent-color:var(--ink)}
.sb-audio .al-seek::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--ink) var(--played),var(--line) var(--played))}.sb-audio .al-seek::-webkit-slider-thumb{appearance:none;width:10px;height:10px;margin-top:-4px;border-radius:50%;border:0;background:var(--ink)}
.sb-audio .al-seek::-moz-range-track{height:2px;background:var(--line)}.sb-audio .al-seek::-moz-range-progress{height:2px;background:var(--ink)}.sb-audio .al-seek::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--ink)}.sb-audio .al-seek:disabled{cursor:default}.sb-audio .al-seek:disabled::-webkit-slider-thumb{background:var(--line)}.sb-audio .al-seek:disabled::-moz-range-thumb{background:var(--line)}
.sb-audio .al-timing{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.sb-audio .al-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.sb-audio .al-track{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--line);cursor:pointer}.sb-audio .al-track-play{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:50%;padding:0}.sb-audio .al-track-play svg{width:17px;height:17px}.sb-audio .al-track-main strong{font-weight:400;font-size:1rem;line-height:1.45;display:block;overflow-wrap:anywhere}.sb-audio .al-track-main small{font-size:.8125rem;line-height:1.5;color:var(--muted);display:block;margin-top:.2rem}.sb-audio .al-track-duration{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.sb-audio .al-track:hover .al-track-main strong{text-decoration:underline;text-underline-offset:.3em}.sb-audio .al-track.is-active .al-track-play{background:var(--ink);color:#fff}.sb-audio .al-pagination:empty{display:none}
.sb-audio .al-toast{display:none;margin-top:1rem;font-size:.875rem;line-height:1.6;color:var(--muted)}.sb-audio .al-toast.is-visible{display:block}.sb-audio .al-dialog:not([open]){display:none}.sb-audio .al-btn:focus-visible,.sb-audio .al-track-play:focus-visible,.sb-audio .al-seek:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.75rem}.calendar-controls label{min-width:0;flex:1}.calendar-controls select,.calendar-controls input{font:inherit;font-size:.875rem;min-height:44px;width:100%;padding:.6rem 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink)}.calendar-controls input::placeholder{color:var(--muted);opacity:1}.calendar-controls select{padding-right:1.5rem}.calendar-status{font-size:.8125rem;color:var(--muted);margin:0 0 1.25rem;line-height:1.5}.calendar-status:empty{display:none}.calendar-month-label{margin:2rem 0 .75rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400}.calendar-month-label:first-child{margin-top:0}
.calendar-event{border-top:1px solid var(--line)}.calendar-event:last-child{border-bottom:1px solid var(--line)}.calendar-event summary{list-style:none;display:grid;grid-template-columns:3.2rem minmax(0,1fr) 20px;gap:1.25rem;padding:1.2rem 0;cursor:pointer;align-items:start}.calendar-event summary::-webkit-details-marker{display:none}.calendar-event summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.calendar-date{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--muted)}.calendar-date strong{font-family:var(--serif);font-size:2.5rem;line-height:1;font-weight:400;color:var(--ink)}.calendar-title{display:block;font-size:1.05rem;font-weight:400;line-height:1.45;overflow-wrap:anywhere}.calendar-meta{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:.35rem;overflow-wrap:anywhere}.calendar-expand{font-weight:400;font-size:1.15rem;line-height:1.4;text-align:right}.calendar-event[open] .calendar-expand{transform:rotate(45deg)}.calendar-detail{padding:0 0 1.5rem 4.45rem;font-size:.9375rem;line-height:1.65;overflow-wrap:anywhere}.calendar-detail p{white-space:pre-line;margin-bottom:.8rem}.calendar-detail .text-link{margin-top:.25rem}.calendar-source-id{font-size:.75rem;color:var(--muted);margin-top:1rem}.calendar-source-id code{user-select:all}.calendar-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.calendar-footer .text-link{border:0;border-bottom:1px solid var(--ink);background:none;color:inherit;font:inherit;font-size:.8125rem;cursor:pointer;border-radius:0;margin-top:1.25rem;padding:.6rem 0}.calendar-empty{font-size:.9375rem;color:var(--muted);padding:1.5rem 0;border-top:1px solid var(--line)}
@media(max-width:1000px) and (min-width:761px){.sb-audio .al-now-playing{grid-template-columns:1fr}.sb-audio .al-primary-controls{justify-self:center}}
@media(max-width:760px){.sb-audio .al-now-playing{grid-template-columns:1fr;gap:1rem;padding-bottom:1.5rem}.sb-audio .al-primary-controls{justify-self:center}.sb-audio .al-title{font-size:1.85rem}.sb-audio .al-prev,.sb-audio .al-next{width:36px}.sb-audio .al-play{width:48px;height:48px}.calendar-controls{gap:1rem}.calendar-event summary{gap:1rem;grid-template-columns:2.8rem minmax(0,1fr) 18px}.calendar-detail{padding-left:3.8rem}.sb-audio .al-track{gap:.5rem}.media-grid audio{width:100%}}
@media(max-width:420px){.sb-audio .al-now-playing{grid-template-columns:1fr}.sb-audio .al-primary-controls{justify-self:center}.calendar-controls{flex-wrap:wrap}.calendar-controls label{flex-basis:100%}}
