.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.dot--class{color:var(--purple)}.dot--event{color:var(--blue)}.dot--closure{color:#0000;box-shadow:inset 0 0 0 1.5px var(--muted);border-radius:50%}.dot--open{color:var(--yellow);box-shadow:0 0 0 1px #13294b59}.pick{align-items:center;gap:var(--s-8);padding-block:var(--s-8);cursor:pointer;border-radius:2px;display:inline-flex;position:relative}.pick__value{font-size:var(--fs-caption);color:var(--muted);white-space:nowrap;font-weight:600;line-height:1.2;transition:color .2s}.pick__chevron{width:14px;height:14px;color:var(--muted);transition:color .2s}.pick__native{opacity:0;appearance:none;width:100%;height:100%;font:inherit;cursor:pointer;border:0;position:absolute;inset:0}.pick:hover .pick__value,.pick:hover .pick__chevron{color:var(--ink)}.pick:has(.pick__native:focus-visible){outline:2px solid var(--yellow);outline-offset:4px}.pick.is-active .pick__value,.pick.is-active .pick__chevron{color:var(--purple)}.section--dark .pick .pick__value,.section--dark .pick .pick__chevron{color:var(--muted-inverse)}.section--dark .pick.is-active .pick__value,.section--dark .pick.is-active .pick__chevron,.section--dark .pick:hover .pick__value,.section--dark .pick:hover .pick__chevron{color:var(--ink-inverse)}.filterbar{margin-top:var(--s-32)}.filterbar__row{align-items:center;gap:var(--s-16) var(--s-32);padding-bottom:var(--s-16);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.filterbar__picks{align-items:center;gap:var(--s-8) var(--s-32);flex-wrap:wrap;display:flex}.legend{gap:var(--s-8) var(--s-24);flex-wrap:wrap;margin-left:auto;display:flex}.legend__item{align-items:center;gap:var(--s-8);font-size:var(--fs-caption);color:var(--ink);font-weight:600;display:inline-flex}.filterbar__clear{padding:6px var(--s-16);border:1px solid var(--purple);border-radius:var(--r-button);font-size:var(--fs-fine);color:var(--purple);font-weight:600;transition:background-color .2s,color .2s}.filterbar__clear:hover{background:var(--purple);color:#fff}.filterbar__note{color:var(--muted);text-align:right;margin:0}@media (width<=900px){.legend{flex-basis:100%;margin-left:0}}@media (width<=620px){.filterbar__row{gap:var(--s-16) var(--s-24)}.filterbar__picks{gap:var(--s-8) var(--s-24)}}.field{gap:var(--s-8);flex-direction:column;min-width:0;display:flex}.field__label{color:var(--muted)}.field__label abbr{color:var(--purple);text-decoration:none}.field__control{display:block;position:relative}.field__input,.field__select{width:100%;padding:14px var(--s-16);border-radius:var(--r-button);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font:inherit;font-size:var(--fs-body);font-weight:var(--fw-body);color:var(--ink);border:0;line-height:1.3;transition:box-shadow .25s}.field__select{appearance:none;padding-right:var(--s-48);cursor:pointer}.field__chevron{top:50%;right:var(--s-16);width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.field__input--area{resize:vertical;min-height:96px;line-height:var(--lh-body)}.field__input:hover,.field__select:hover{box-shadow:inset 0 0 0 1px var(--navy-200)}.field__input:focus-visible,.field__select:focus-visible{box-shadow:inset 0 0 0 2px var(--purple);outline:none}.field__hint{color:var(--muted)}.field--wide{grid-column:1/-1}.pill{padding:5px var(--s-8);border-radius:var(--r-pill);font-size:var(--fs-fine);white-space:nowrap;flex:none;align-items:center;font-weight:600;line-height:1.2;display:inline-flex}.pill--ok{background:var(--ok-bg);color:var(--ok-ink)}.pill--warn{background:var(--warn-bg);color:var(--warn-ink)}.pill--off{background:var(--off-bg);color:var(--off-ink)}.styleTabs{align-items:center;gap:var(--s-8);flex-wrap:wrap;display:flex}.styleTab{align-items:center;gap:var(--s-8);min-height:44px;padding:10px var(--s-16);border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-caption);color:var(--muted);font-weight:600;transition:color .2s,background-color .2s,box-shadow .2s;display:inline-flex}.styleTab:hover:not(:disabled){color:var(--ink);box-shadow:inset 0 0 0 1px var(--navy-200)}.styleTab[aria-selected=true],.styleTab[aria-pressed=true]{background:var(--navy);box-shadow:none;color:#fff}.styleTab:disabled{opacity:.4;cursor:not-allowed}.styleTab__count{font-size:var(--fs-fine);color:var(--faint);font-weight:600}.styleTab[aria-selected=true] .styleTab__count,.styleTab[aria-pressed=true] .styleTab__count{color:#ffffffb3}
