body{font-family:Source Sans Pro,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.cal-table{table-layout:fixed;width:100%}.cal-table>tbody>tr>td,.cal-table>thead>tr>th{width:14.2857%;overflow:hidden;vertical-align:top}.cal-table>thead>tr>th{color:var(--hp-text,#fff);background-color:var(--hp-surface-elevated,#3a3a3a)!important;border-color:var(--hp-border,#454545);font-weight:600;letter-spacing:.04em}.cal-day-cell{min-height:7rem;max-width:0;cursor:pointer;vertical-align:top;color:var(--hp-text,#fff);overflow:hidden}.cal-day-cell:hover{background-color:var(--hp-surface-elevated,#3a3a3a)}.cal-day-number{color:var(--hp-text,#fff)}.cal-day-number.is-today{color:#7fd99a}.cal-day-muted,.cal-day-muted .cal-day-number{color:var(--hp-text-muted,#b0b0b0)}.cal-event{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;line-height:1.25;font-weight:600;color:#fff!important;border-radius:.25rem;padding:.2rem .35rem;margin-bottom:.25rem}.cal-event-more{color:var(--hp-text-muted,#b0b0b0)}.event-practice{background:color-mix(in srgb,var(--cal-practice) 62%,#121212);border-left:3px solid #5cbf76}.event-competition{border-left:3px solid #ff9f4a}.event-competition,.event-dual,.event-tournament{background:color-mix(in srgb,var(--cal-competition) 62%,#121212)}.event-dual,.event-tournament{border-left:3px solid #ffbf00}.event-team_meeting{background:color-mix(in srgb,var(--cal-meeting) 62%,#121212);border-left:3px solid #8eb0e8}.event-other{background:color-mix(in srgb,var(--cal-other) 62%,#121212);border-left:3px solid #c0c4c8}.app-main .table,.app-main .table.cal-table{--bs-table-bg:var(--hp-surface,#2e2e2e);--bs-table-color:var(--hp-text,#fff);--bs-table-border-color:var(--hp-border,#454545)}.dashboard-curriculum{display:grid;gap:1rem}.dashboard-curriculum-metrics{display:grid;gap:.65rem;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-curriculum-metric{align-items:center;background:color-mix(in srgb,var(--hp-surface-elevated) 62%,transparent);border:1px solid var(--hp-border);border-radius:.35rem;display:flex;gap:.7rem;min-height:3.5rem;padding:.7rem}.dashboard-curriculum-metric i{color:#7fd99a;flex:0 0 1.6rem;font-size:1.25rem;text-align:center}.dashboard-curriculum-metric-value{color:var(--hp-text);font-size:1.35rem;font-weight:800;line-height:1}.dashboard-curriculum-section{border-top:1px solid var(--hp-border);padding-top:1rem}.dashboard-curriculum-label{color:var(--hp-text-muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;margin-bottom:.65rem;text-transform:uppercase}.dashboard-curriculum-bar{background:var(--hp-bg);border:1px solid var(--hp-border);border-radius:.3rem;display:flex;height:1.15rem;overflow:hidden}.dashboard-curriculum-bar-segment{display:block;min-width:.35rem;opacity:.88;transition:filter .15s ease,opacity .15s ease}.dashboard-curriculum-bar-segment:focus,.dashboard-curriculum-bar-segment:hover{filter:brightness(1.18);opacity:1}.dashboard-curriculum-breakdown{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.75rem}.dashboard-curriculum-breakdown-item{align-items:baseline;color:var(--hp-text);display:flex;flex-wrap:wrap;gap:.35rem .5rem;min-width:0;text-decoration:none}.dashboard-curriculum-breakdown-item:focus,.dashboard-curriculum-breakdown-item:hover{color:var(--hp-text)}.dashboard-curriculum-dot{border-radius:999px;display:inline-block;flex:0 0 auto;height:.55rem;margin-top:.35rem;width:.55rem}.dashboard-practiced-list{display:grid;gap:.5rem}.dashboard-practiced-item{align-items:center;border-radius:.3rem;color:var(--hp-text);display:grid;gap:.55rem;grid-template-columns:1.5rem minmax(0,1fr) auto;padding:.35rem 0;text-decoration:none}.dashboard-practiced-item:focus,.dashboard-practiced-item:hover{background:color-mix(in srgb,var(--hp-green) 10%,transparent);color:var(--hp-text)}.dashboard-practiced-rank{color:#7fd99a;font-weight:800;text-align:center}.dashboard-practiced-main{display:grid;min-width:0}.dashboard-practiced-name{font-weight:800}.dashboard-practiced-context,.dashboard-practiced-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-practiced-context{color:var(--hp-text-muted);font-size:.85rem}.dashboard-practiced-count{color:var(--hp-text-muted);font-size:.9rem;font-weight:700;white-space:nowrap}.dashboard-curriculum-empty,.dashboard-practiced-empty{color:var(--hp-text);padding:.35rem 0}.dashboard-curriculum-bar-placeholder{border-radius:.3rem;height:1.15rem}.dashboard-planner,.dashboard-practice{display:grid;gap:1rem}.dashboard-widget-section{border-top:1px solid var(--hp-border);padding-top:1rem}.dashboard-calendar{display:grid;gap:1rem}.dashboard-calendar-week{border:1px solid var(--hp-border);border-radius:.35rem;display:grid;grid-template-columns:repeat(7,minmax(3.75rem,1fr));overflow-x:auto}.dashboard-calendar-day{background:transparent;border:0;color:var(--hp-text);display:grid;gap:.2rem;min-height:4.4rem;min-width:3.75rem;padding:.5rem .4rem;text-align:center}.dashboard-calendar-day+.dashboard-calendar-day{border-left:1px solid var(--hp-border)}.dashboard-calendar-day:focus,.dashboard-calendar-day:hover{background:color-mix(in srgb,var(--hp-green) 10%,transparent)}.dashboard-calendar-day.is-selected{background:color-mix(in srgb,var(--hp-green) 18%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hp-green) 70%,transparent)}.dashboard-calendar-weekday{color:var(--hp-text-muted);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dashboard-calendar-date{align-items:center;border-radius:999px;display:inline-flex;font-size:1.15rem;font-weight:800;height:1.85rem;justify-content:center;justify-self:center;width:1.85rem}.dashboard-calendar-day.is-today .dashboard-calendar-date{background:var(--hp-green);color:#fff}.dashboard-calendar-dots{align-items:center;display:flex;gap:.18rem;justify-content:center;min-height:.75rem}.dashboard-calendar-dot{border-radius:999px;display:inline-block;height:.42rem;width:.42rem}.dashboard-calendar-more{color:var(--hp-text-muted);font-size:.68rem;font-weight:800;line-height:1}.dashboard-calendar-agenda{border-top:1px solid var(--hp-border);display:grid;gap:.65rem;padding-top:1rem}.dashboard-calendar-agenda-head{align-items:center;color:var(--hp-text-muted);display:flex;flex-wrap:wrap;font-size:.78rem;font-weight:800;gap:.65rem;justify-content:space-between;letter-spacing:.04em;text-transform:uppercase}.dashboard-calendar-events{border:1px solid var(--hp-border);border-radius:.35rem;overflow:hidden}.dashboard-calendar-event{align-items:center;color:var(--hp-text);display:grid;gap:.65rem;grid-template-columns:2.25rem minmax(0,1fr) auto;padding:.65rem .7rem;text-decoration:none}.dashboard-calendar-event+.dashboard-calendar-event{border-top:1px solid var(--hp-border)}.dashboard-calendar-event:focus,.dashboard-calendar-event:hover{background:color-mix(in srgb,var(--hp-green) 9%,transparent);color:var(--hp-text)}.dashboard-calendar-event-icon{align-items:center;border-radius:.35rem;display:inline-flex;height:2.25rem;justify-content:center;width:2.25rem}.dashboard-calendar-event-main{display:grid;min-width:0}.dashboard-calendar-event-title{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-calendar-event-date,.dashboard-calendar-event-meta{color:var(--hp-text-muted);font-size:.86rem;font-weight:600}.dashboard-calendar-event-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-calendar-event-date{white-space:nowrap}.dashboard-calendar-empty{align-items:center;border:1px solid var(--hp-border);border-radius:.35rem;color:var(--hp-text);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.8rem}.dashboard-season-countdown{align-items:center;color:var(--hp-text);display:flex;flex-direction:column;gap:.55rem;justify-content:center;min-height:18.5rem;text-align:center}.dashboard-season-distance,.dashboard-season-eyebrow,.dashboard-season-status{color:var(--hp-green);font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.dashboard-season-primary{color:var(--hp-green);font-size:clamp(3.6rem,6.5vw,5rem);font-weight:900;letter-spacing:0;line-height:.9;text-shadow:0 0 1.2rem color-mix(in srgb,var(--hp-green) 28%,transparent)}.dashboard-season-primary.is-word{font-size:clamp(2rem,4vw,2.55rem);line-height:1}.dashboard-season-unit{color:var(--hp-green);font-size:1.1rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.dashboard-season-title{font-size:1rem;font-weight:800;line-height:1.2;max-width:100%;overflow-wrap:anywhere}.dashboard-season-date{color:var(--hp-text-muted);font-weight:700}.dashboard-season-distance{margin-top:.4rem}.dashboard-season-config-title{color:var(--hp-text-muted);max-width:15rem}.dashboard-season-countdown.is-complete .dashboard-season-eyebrow,.dashboard-season-countdown.is-complete .dashboard-season-primary,.dashboard-season-countdown.is-complete .dashboard-season-unit{color:#7fd99a;text-shadow:none}.dashboard-season-countdown-number-placeholder{border-radius:.35rem;height:4rem}.dashboard-section-label{color:var(--hp-text-muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;margin-bottom:.65rem;text-transform:uppercase}.dashboard-practice-next{align-items:start;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto}.dashboard-practice-time,.dashboard-practice-title{color:var(--hp-text);font-weight:800}.dashboard-practice-time{font-size:1.05rem}.dashboard-practice-title{font-size:1rem}.dashboard-practice-duration{color:var(--hp-text);font-weight:800;white-space:nowrap}.dashboard-practice-breakdown{display:grid;gap:.65rem;margin-top:.9rem}.dashboard-practice-segments{display:grid;gap:.45rem;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-practice-segment{align-items:center;color:var(--hp-text-muted);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.25rem .4rem;min-width:0}.dashboard-practice-segment strong{color:var(--hp-text);flex-basis:100%;font-size:.82rem;font-weight:700}.dashboard-practice-summary{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-top:.9rem}.dashboard-practice-week-metrics{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:.75rem}.dashboard-mini-metric{background:color-mix(in srgb,var(--hp-surface-elevated) 62%,transparent);border:1px solid var(--hp-border);border-radius:.35rem;display:grid;min-height:3.35rem;padding:.55rem .65rem}.dashboard-mini-metric strong{color:var(--hp-text);font-size:1.2rem;line-height:1}.dashboard-mini-metric span{color:var(--hp-text-muted);font-size:.82rem}.dashboard-week-strip{border:1px solid var(--hp-border);border-radius:.35rem;display:grid;grid-template-columns:repeat(7,minmax(4.25rem,1fr));overflow-x:auto}.dashboard-week-cell{color:var(--hp-text);display:grid;gap:.2rem;min-height:4.25rem;padding:.5rem .45rem;text-align:center;text-decoration:none}.dashboard-week-cell+.dashboard-week-cell{border-left:1px solid var(--hp-border)}.dashboard-week-cell:focus,.dashboard-week-cell:hover{background:color-mix(in srgb,var(--hp-green) 9%,transparent);color:var(--hp-text)}.dashboard-week-cell.is-empty{color:var(--hp-text-muted)}.dashboard-week-day{color:var(--hp-text-muted);font-size:.72rem;font-weight:800}.dashboard-week-status{color:var(--hp-text-muted);font-size:1.05rem;font-weight:800;line-height:1}.dashboard-week-status.has-practice{color:#7fd99a}.dashboard-week-minutes{color:var(--hp-text-muted);font-size:.8rem;min-height:1rem}.dashboard-planner-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-width:0}.dashboard-planner-needs,.dashboard-planner-status{display:grid;gap:.55rem}.dashboard-planner-progress-row{display:grid;gap:.35rem}.dashboard-progress-track{background:color-mix(in srgb,var(--hp-text-muted) 18%,transparent);border-radius:999px;height:.48rem;overflow:hidden}.dashboard-progress-track span{background:var(--hp-green);border-radius:inherit;display:block;height:100%}.dashboard-progress-track.is-blue span{background:#2f8cff}.dashboard-planner-alerts{display:grid;gap:.55rem}.dashboard-planner-actions{border-top:1px solid var(--hp-border);display:flex;flex-wrap:wrap;gap:.5rem;padding-top:1rem}.dashboard-journal{display:grid;gap:1rem}.dashboard-journal-top{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.dashboard-journal-checkin{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-journal-consistency>div,.dashboard-journal-stat{min-width:0}.dashboard-journal-consistency strong,.dashboard-journal-stat strong{color:var(--hp-text);display:block;font-size:1.5rem;line-height:1.05}.dashboard-journal-consistency span,.dashboard-journal-stat span{color:var(--hp-text-muted);display:block;font-size:.82rem;font-weight:650}.dashboard-journal-rate{align-items:center;aspect-ratio:1;border-radius:999px;display:flex;flex-direction:column;justify-content:center;min-width:6.5rem;padding:.75rem;text-align:center}.dashboard-journal-rate strong{color:var(--hp-text);font-size:1.45rem;line-height:1}.dashboard-journal-rate span{color:var(--hp-text);font-size:.66rem;font-weight:900;line-height:1.15;text-transform:uppercase}.dashboard-journal-consistency{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-journal-followups{display:grid;gap:.45rem}.dashboard-journal-followups a{align-items:center;color:var(--hp-text);display:grid;gap:.55rem;grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none}.dashboard-journal-followups a:focus,.dashboard-journal-followups a:hover{color:var(--hp-green)}.dashboard-journal-followups strong{font-size:1.05rem}.dashboard-journal-followups span{color:var(--hp-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-season-schedule{display:grid;gap:1rem}.dashboard-season-schedule-metrics{border:1px solid var(--hp-border);border-radius:.35rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.dashboard-season-schedule-metric{display:grid;min-width:0;padding:.8rem .65rem;text-align:center}.dashboard-season-schedule-metric+.dashboard-season-schedule-metric{border-left:1px solid var(--hp-border)}.dashboard-season-schedule-metric strong{color:var(--hp-text);font-size:1.45rem;line-height:1}.dashboard-season-schedule-caption,.dashboard-season-schedule-metric em,.dashboard-season-schedule-metric span{color:var(--hp-text-muted);font-size:.78rem;font-style:normal;font-weight:700}.dashboard-season-schedule-metric em{color:#ffbf00}.dashboard-season-schedule-progress{display:grid;gap:.45rem}.dashboard-season-schedule-empty{color:var(--hp-text-muted);font-weight:700}.season-setup-modal{background:rgba(0,0,0,.62)}.season-setup-steps{display:grid;gap:.5rem;grid-template-columns:repeat(4,minmax(0,1fr))}.season-setup-step{align-items:center;background:transparent;border:1px solid var(--hp-border);border-radius:.35rem;color:var(--hp-text-muted);display:flex;font-weight:700;gap:.45rem;justify-content:center;min-height:2.35rem;padding:.35rem .5rem}.season-setup-step span{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:.75rem;height:1.25rem;justify-content:center;width:1.25rem}.season-setup-step.is-active{border-color:var(--hp-green);color:#7fd99a}.season-setup-step.is-complete{color:var(--hp-green)}.season-setup-review{border:1px solid var(--hp-border);border-radius:.35rem;display:grid;overflow:hidden}.season-setup-review>div{align-items:start;display:grid;gap:.75rem;grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr);padding:.75rem}.season-setup-review>div+div{border-top:1px solid var(--hp-border)}.season-setup-review span{color:var(--hp-text-muted);font-weight:700}.season-setup-review strong{color:var(--hp-text);overflow-wrap:anywhere}@media (max-width:767.98px){.dashboard-calendar-week{grid-template-columns:repeat(7,minmax(3.35rem,1fr))}.dashboard-calendar-day{min-width:3.35rem;padding-inline:.25rem}.dashboard-calendar-event{align-items:start;grid-template-columns:2.25rem minmax(0,1fr)}.dashboard-calendar-event-date{grid-column:2}.dashboard-calendar-agenda-head .btn,.dashboard-calendar-empty .btn{width:100%}.dashboard-season-countdown{min-height:14rem}.dashboard-curriculum-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-curriculum-breakdown,.dashboard-practice-next{grid-template-columns:1fr}.dashboard-practice-segments,.dashboard-practice-week-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-practiced-item{align-items:start;grid-template-columns:1.5rem minmax(0,1fr)}.dashboard-practiced-count{grid-column:2}.dashboard-planner-row{align-items:flex-start;flex-direction:column}.dashboard-planner-actions .btn{width:100%}.season-setup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.season-setup-review>div{grid-template-columns:1fr}}.curriculum-summary-card .card-body{padding:1rem 1.25rem}.curriculum-metric{align-items:center;border-right:1px solid var(--hp-border);display:inline-flex;gap:.55rem;min-width:8rem;padding-right:1.25rem}.curriculum-metric:last-child{border-right:0}.curriculum-metric-icon,.curriculum-node-icon{align-items:center;border-radius:.35rem;display:inline-flex;flex:0 0 auto;height:2rem;justify-content:center;width:2rem}.curriculum-metric-icon{background:color-mix(in srgb,var(--hp-green) 22%,var(--hp-surface));color:#7fd99a}.curriculum-metric-value{color:var(--hp-text);font-size:1.25rem;font-weight:700;line-height:1}.curriculum-metric-label{color:var(--hp-text-muted);font-size:.9rem}.curriculum-tree{display:grid;gap:.45rem}.curriculum-tree-node{position:relative}.curriculum-tree-children{border-left:1px solid color-mix(in srgb,var(--hp-border) 82%,transparent);margin-left:calc((var(--curriculum-depth, 0) + 1) * 1.5rem + 1rem)}.curriculum-tree-row{align-items:center;background:var(--hp-surface);border:1px solid var(--hp-border);border-radius:.35rem;display:flex;gap:.6rem;margin-left:calc(var(--curriculum-depth, 0) * 1.5rem);min-height:3rem;padding:.45rem .65rem;position:relative}.curriculum-tree-row:before{border-top:1px solid color-mix(in srgb,var(--hp-border) 82%,transparent);content:"";display:block;left:-1.5rem;position:absolute;top:50%;width:1.5rem}.curriculum-tree-row-position:before{display:none}.curriculum-tree-row-position{background:color-mix(in srgb,#6f4cc3 16%,var(--hp-surface));min-height:3.4rem}.curriculum-tree-row-system{background:color-mix(in srgb,#2e76d2 12%,var(--hp-surface))}.curriculum-tree-row-move{background:color-mix(in srgb,var(--hp-green) 7%,var(--hp-surface))}.curriculum-tree-row-finish{background:transparent;border-color:color-mix(in srgb,var(--hp-border) 62%,transparent);min-height:2.55rem}.curriculum-chevron{color:#b89bff;flex:0 0 1.6rem;min-height:1.6rem;padding:0;width:1.6rem}.curriculum-chevron:disabled{border-color:transparent;opacity:.35}.curriculum-node-icon-position{background:color-mix(in srgb,#7f55ff 25%,var(--hp-surface));color:#b89bff}.curriculum-node-icon-system{background:color-mix(in srgb,#2e76d2 25%,var(--hp-surface));color:#58a6ff}.curriculum-node-icon-move{background:color-mix(in srgb,var(--hp-green) 25%,var(--hp-surface));color:#7fd99a}.curriculum-node-icon-finish{background:transparent;color:#f6c945;height:1.4rem;width:1.4rem}.curriculum-node-main{align-items:baseline;color:var(--hp-text);display:flex!important;gap:1rem;justify-content:flex-start}.curriculum-node-main:focus,.curriculum-node-main:hover{color:var(--hp-text)}.curriculum-node-name{flex:0 1 auto;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curriculum-tree-row-position .curriculum-node-name{color:#b89bff;letter-spacing:.04em;text-transform:uppercase}.curriculum-tree-row-finish .curriculum-node-name{font-weight:500}.curriculum-node-count{color:var(--hp-text-muted);flex:0 0 auto;font-size:.85rem;font-weight:500;margin-left:.35rem;white-space:nowrap}.curriculum-icon-button{align-items:center;display:inline-flex;height:2rem;justify-content:center;padding:0;width:2rem}.curriculum-action-menu{min-width:13rem;right:0;z-index:30}.curriculum-preferred-editor{background:color-mix(in srgb,var(--hp-surface-elevated) 78%,var(--hp-surface));border:1px solid var(--hp-border);border-radius:.35rem;margin:.25rem 0 .35rem calc((var(--curriculum-depth, 0) + 1) * 1.5rem + 1rem);padding:.65rem}.curriculum-pathway-row{background:var(--hp-surface)}.curriculum-pathway-steps{align-items:flex-start;display:flex;flex-direction:column;gap:.35rem}.curriculum-pathway-step{align-items:center;display:inline-flex;gap:.5rem}.curriculum-pathway-step i{color:var(--hp-text-muted);font-size:.75rem;width:.9rem}.curriculum-modal{background:rgba(0,0,0,.62)}@media (max-width:767.98px){.curriculum-metric{border-right:0;min-width:7rem}.curriculum-tree-row{gap:.45rem;margin-left:calc(var(--curriculum-depth, 0) * .75rem)}.curriculum-tree-children{margin-left:calc((var(--curriculum-depth, 0) + 1) * .75rem + .8rem)}.curriculum-node-main{align-items:flex-start;flex-direction:column;gap:.1rem}.curriculum-node-count{font-size:.78rem}}