#race-calendar[hidden],#race-calendar-controls[hidden],#race-calendar-pane[hidden],.race-records[hidden],.race-calendar [hidden]{display:none!important}.calendar-main-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 14px}.calendar-mode-filters,.calendar-view-switch{display:flex;gap:8px;flex-wrap:wrap}.calendar-view-switch{flex-shrink:0}.calendar-mode-filters button,.calendar-view-switch button,.calendar-month-tools button{border:1px solid #8290a866;border-radius:22px;background:var(--paper);color:var(--ink);font:500 12px 'DM Sans',sans-serif;padding:10px 16px;cursor:pointer;min-height:40px;transition:background .2s,color .2s,transform .2s}.calendar-mode-filters button[aria-pressed=true],.calendar-view-switch button[aria-pressed=true]{background:#08673f;border-color:#08673f;color:#fff}.calendar-mode-filters button:hover,.calendar-view-switch button:hover,.calendar-month-tools button:hover{background:#08673f;color:#fff;transform:scale(1.025)}.calendar-help{font-size:11px;color:var(--muted);line-height:1.8;margin:10px 0 20px}.race-calendar-pane{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px;align-items:start}.calendar-board,.race-calendar-detail{border:1px solid #8290a844;border-radius:17px;background:var(--paper);min-width:0;overflow:hidden}.calendar-month-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px}.calendar-month-nav h3{font-size:23px;font-weight:600;letter-spacing:-.6px;text-transform:capitalize;margin:0;text-align:center}.calendar-circle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border:1px solid #8290a877;border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;transition:background .2s,color .2s,transform .2s}.calendar-circle svg{width:22px;height:22px}.calendar-circle:hover:not(:disabled){background:#08673f;color:#fff;transform:scale(1.07)}.calendar-circle:disabled{opacity:.4;cursor:default}.calendar-month-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:0 20px 18px}.calendar-month-tools label{display:grid;gap:5px;font-size:10px;color:var(--muted)}.calendar-month-tools input,.calendar-day-choice select{border:1px solid #8290a866;border-radius:9px;background:var(--paper);color:var(--ink);font:12px 'DM Sans',sans-serif;padding:10px;max-width:100%;box-sizing:border-box;min-width:0}.calendar-month-tools button{font-size:10px;padding:8px 12px;min-height:36px}.calendar-table{width:100%;table-layout:fixed;border-collapse:collapse}.calendar-table th{padding:12px 3px;border-block:1px solid #8290a833;background:#8290a809;font-size:10px;font-weight:600;color:var(--muted)}.calendar-table abbr{text-decoration:none}.calendar-table td{vertical-align:top;border:1px solid #8290a833;height:93px;padding:6px 4px;overflow-wrap:anywhere}.calendar-table td:first-child{border-left:0}.calendar-table td:last-child{border-right:0}.calendar-day.outside{background:#8290a807}.calendar-day.outside .calendar-day-number{color:var(--muted);opacity:.65}.calendar-day.today{box-shadow:inset 0 0 0 1px #08673f60}.calendar-day.selected{background:#08673f0c}.calendar-day-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:11px;color:var(--ink);border:0;border-radius:50%;background:transparent;box-sizing:border-box;margin:0 0 3px}.calendar-day button.calendar-day-number{cursor:pointer}.calendar-day.selected .calendar-day-number{background:#08673f;color:#fff}.calendar-event{display:block;position:relative;width:100%;text-align:left;border:0;border-radius:5px;background:#0b23480a;color:var(--ink);padding:5px 4px 5px 10px;font:10px/1.4 'DM Sans',sans-serif;cursor:pointer;margin:2px 0;overflow:hidden;min-height:26px}.calendar-event::before{content:"";position:absolute;width:4px;height:4px;background:#0b2348;border-radius:50%;left:3px;top:10px}.calendar-event.latina,.calendar-event.sup{background:#08673f0e}.calendar-event.latina::before,.calendar-event.sup::before{background:#08673f}.calendar-event-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-event:hover,.calendar-event.selected{background:#08673f;color:#fff}.calendar-event:hover::before,.calendar-event.selected::before{background:#fff}.calendar-event-more{font-size:10px;background:none;border:0;color:var(--green);cursor:pointer;min-height:26px}.calendar-empty{padding:18px 20px;font-size:12px;color:var(--muted)}.calendar-date-legend{padding:15px 20px;margin:0}.race-calendar-detail{padding:25px;scroll-margin-top:20px;overflow-wrap:anywhere}.race-calendar-detail:focus{outline:2px solid #08673f;outline-offset:3px}.race-calendar-detail h3{font-size:25px;font-weight:600;letter-spacing:-.65px;line-height:1.25;margin:17px 0}.calendar-mode{display:inline-block;padding:6px 12px;font-size:10px;border-radius:20px;background:#08673f15;color:var(--ink)}.calendar-race-state{font-size:11px;font-weight:600;color:var(--muted)}.calendar-race-meta{border-block:1px solid #8290a833;padding:16px 0;margin:18px 0}.calendar-race-meta>div{margin:0 0 14px}.calendar-race-meta>div:last-child{margin:0}.calendar-race-meta dt{font-size:10px;color:var(--muted);margin-bottom:7px}.calendar-race-meta dd{font-size:13px;line-height:1.6;margin:0}.race-calendar-detail>p{font-size:13px;line-height:1.8}.race-calendar-detail .calendar-days-note,.race-calendar-detail .calendar-detail-note{font-size:11px;color:var(--muted);white-space:pre-wrap}.calendar-download{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;border-radius:12px;padding:14px;background:#08673f;color:#fff;font:600 12px 'DM Sans',sans-serif;cursor:pointer;margin-top:23px;transition:background .2s,transform .2s;box-sizing:border-box}.calendar-download .link-icon{background:#fff;color:#08673f;width:32px;height:32px;flex-shrink:0}.calendar-download:hover:not(:disabled){background:#0b2348;transform:scale(1.02)}.calendar-download:disabled{opacity:.55;cursor:default}.race-calendar-detail .calendar-download-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:10px}.calendar-detail-links{display:grid;gap:12px;margin-top:22px}.race-calendar-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;border:1px solid #8290a833;padding:11px 12px;border-radius:10px;transition:background .2s,color .2s,transform .2s}.race-calendar-link .link-icon{width:29px;height:29px;background:#08673f;color:#fff;flex-shrink:0}.race-calendar-link:hover{background:#08673f;color:#fff;transform:scale(1.02)}.race-calendar-link:hover .link-icon{background:#fff;color:#08673f}.calendar-day-choice{display:grid;gap:9px;font-size:11px;margin-bottom:18px}.calendar-day-choice select{width:100%}.race-calendar button:focus-visible,#race-calendar-controls button:focus-visible,.race-calendar a:focus-visible{outline:3px solid #a9d6bc;outline-offset:3px;position:relative;z-index:1}[data-theme=dark] .calendar-day.selected{background:#a9d6bc12}[data-theme=dark] .calendar-event{background:#a9d6bc0b}[data-theme=dark] .calendar-event::before{background:#c6d7ee}[data-theme=dark] .calendar-event.latina::before,[data-theme=dark] .calendar-event.sup::before{background:#a9d6bc}[data-theme=dark] .calendar-event:hover,[data-theme=dark] .calendar-event.selected{background:#08673f}[data-theme=dark] .calendar-event-more{color:#a9d6bc}@media(max-width:1000px){.race-calendar-pane{grid-template-columns:1fr}.calendar-table td{height:96px}.calendar-main-controls{align-items:start;flex-wrap:wrap}.race-calendar-detail{padding:25px}.calendar-detail-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.calendar-main-controls{gap:15px}.calendar-mode-filters{gap:7px}.calendar-mode-filters button,.calendar-view-switch button{font-size:11px;padding:9px 13px}.calendar-month-nav{padding:16px 12px;gap:10px}.calendar-month-nav h3{font-size:20px}.calendar-circle{width:34px;height:34px;min-width:34px}.calendar-month-tools{padding:0 12px 15px;gap:8px}.calendar-month-tools input{font-size:12px;max-width:155px}.calendar-table th{font-size:8px;padding:10px 1px}.calendar-table td{padding:4px 2px;height:65px}.calendar-day-number{width:25px;height:25px;font-size:10px}.calendar-event{width:25px;height:26px;padding:0;margin:2px 0;border-radius:7px;min-height:26px}.calendar-event::before{width:7px;height:7px;top:9px;left:9px}.calendar-event-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.calendar-event-more{font-size:9px;padding:0;max-width:100%}.calendar-help{font-size:11px}.calendar-date-legend{padding:14px 12px}.calendar-detail-links{grid-template-columns:1fr}.race-calendar-detail h3{font-size:24px}.calendar-day-choice select{font-size:16px}.race-calendar-detail{padding:23px 18px}.calendar-empty{padding:15px 12px}.calendar-download{font-size:11px}}@media(prefers-reduced-motion:reduce){.race-calendar button,.race-calendar a,#race-calendar-controls button{transition:none}.race-calendar button:hover,.race-calendar a:hover,#race-calendar-controls button:hover{transform:none}}

.calendar-event.cancelled{text-decoration:line-through;opacity:.55}.calendar-event.postponed{border:1px dashed #8290a877}.calendar-event.review{opacity:.7}

.calendar-month-nav h3{text-transform:none}.calendar-month-nav h3::first-letter{text-transform:uppercase}

#calendar-class-filters[hidden]{display:none!important}.calendar-class-filters{border-left:3px solid #08673f;padding:4px 0 4px 16px;margin:18px 0}.calendar-class-filters>p:first-child{margin:0 0 10px}.calendar-class-filters .calendar-help{margin:10px 0 0}

.next-class-races{padding-top:0;padding-bottom:25px}.next-class-races>h2{font-size:clamp(30px,4vw,46px);font-weight:500;letter-spacing:-1px;line-height:1.15;margin:18px 0}.next-class-races-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}.next-class-card{border:1px solid #8290a844;border-radius:18px;background:var(--paper);padding:28px;min-width:0;display:flex;flex-direction:column}.next-class-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.next-class-card .eyebrow{font-size:10px;letter-spacing:1.5px;margin:0}.next-class-card h3{font-size:clamp(23px,2.5vw,29px);line-height:1.25;letter-spacing:-.65px;font-weight:500;margin:22px 0 0;overflow-wrap:anywhere}.next-class-card-links{display:grid;gap:12px;margin-top:auto}.next-class-card .calendar-race-meta{margin:22px 0}.next-class-card a:focus-visible{outline:3px solid #a9d6bc;outline-offset:3px}@media(max-width:760px){.next-class-races-grid{grid-template-columns:1fr;gap:18px}.next-class-card{padding:22px}.next-class-card-heading{flex-wrap:wrap}.next-class-races{padding-bottom:10px}}
