diff --git a/assets/management.css b/assets/management.css index 6c5446a..f1c9c67 100644 --- a/assets/management.css +++ b/assets/management.css @@ -1061,3 +1061,620 @@ color: #fff; } } + +/* --- Events calendar grid --- + Week/Month/Season views for management/templates/management/event_list.html + (EventListView, events/services/calendar.py). Kind -> colour follows the same + mapping as the table's own badges (see that template's inline badge classes), + just built from the underlying tokens instead of the badge component -- these + are big rectangles/chips, not small pills, so a tinted fill + solid left edge + reads better than a bordered badge blown up to size. + + Percentage math: week_grid() (events/services/calendar.py) hands each block + top_pct/height_pct/left_pct/width_pct as floats relative to (a) the visible + hour span for top/height and (b) same-day overlap columns for left/width. + Percentage heights only resolve against a containing block with a *definite* + height, so .cal-week-body gets an explicit inline height (hours_span * the + fixed per-hour row height below) from the template -- everything inside it + is then free to size purely off the server-computed percentages. */ +@layer components { + .cal-week-inner { + min-width: 55rem; + } + + .cal-week-header { + display: flex; + border-bottom: 1px solid var(--color-line); + } + + .cal-week-gutter-spacer { + width: 3.5rem; + flex-shrink: 0; + } + + .cal-week-daycol-header { + flex: 1 1 0; + min-width: 7.5rem; + padding: 0.5rem 0.25rem; + text-align: center; + border-left: 1px solid var(--color-rule); + } + + .cal-week-daycol-header.is-today { + background: var(--color-row-focus); + } + + .cal-daycol-dow { + display: block; + font-family: var(--font-display); + font-size: 0.6875rem; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--color-muted); + } + + .cal-week-daycol-header.is-today .cal-daycol-dow { + color: var(--color-club-dark); + } + + .cal-daycol-num { + display: block; + font-family: var(--font-display); + font-size: 1.25rem; + font-weight: 800; + color: var(--color-ink); + } + + /* Explicit height set inline by the template (hours_span * row height) -- + this is what makes the children's percentage top/height resolve at all. + display:flex is just as load-bearing here as that inline height: the + gutter and day columns are meant to sit side by side, each stretched + (flex's default align-items) to the row's full height -- without it + they're plain block children, which stack vertically instead of + side-by-side and, since their real content is all position:absolute + (contributing nothing to auto-height), each collapses to near-zero + height too. */ + .cal-week-body { + position: relative; + display: flex; + } + + .cal-week-gridlines { + position: absolute; + inset: 0; + pointer-events: none; + } + + .cal-hour-line { + position: absolute; + left: 0; + right: 0; + height: 1px; + background: var(--color-rule); + } + + .cal-week-gutter { + position: relative; + width: 3.5rem; + flex-shrink: 0; + } + + .cal-hour-label { + position: absolute; + right: 0.625rem; + transform: translateY(-50%); + font-family: var(--font-mono); + font-size: 0.6875rem; + color: var(--color-dim); + white-space: nowrap; + } + + .cal-week-daycol { + position: relative; + flex: 1 1 0; + min-width: 7.5rem; + border-left: 1px solid var(--color-rule); + } + + .cal-week-daycol.is-today { + background: var(--color-row-focus); + } + + /* Positioned by the template's inline style (top/height/left/width, straight + from the block dict) -- this element owns the percentage box, a plain + inset+margin child owns the visual pill, so the 1px gap between + side-by-side overlapping blocks doesn't have to come out of the + server-computed width itself. */ + .cal-block-slot { + position: absolute; + box-sizing: border-box; + } + + .cal-block { + position: absolute; + inset: 0; + margin: 1px; + display: flex; + flex-direction: column; + gap: 0.125rem; + overflow: hidden; + border-radius: 0.375rem; + border-left: 3px solid; + padding: 0.25rem 0.375rem; + text-decoration: none; + transition: opacity 0.15s ease; + } + + .cal-block:hover { + opacity: 0.82; + } + + .cal-block-time { + font-family: var(--font-mono); + font-size: 0.625rem; + font-weight: 600; + opacity: 0.85; + white-space: nowrap; + } + + .cal-block-title { + font-size: 0.6875rem; + font-weight: 700; + line-height: 1.15; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + /* Kind -> colour, same source palette as the table's badges (event_list.html): + game=club-dark/error, training=info, tournament=warn, meeting=ink/neutral, + social=violet, other=neutral outline. Solid tint + left edge, not a badge -- + these blocks are far bigger than a pill. */ + .cal-block-game { + background: var(--color-danger-bg); + border-color: var(--color-club-dark); + color: var(--color-club-dark); + } + + .cal-block-training { + background: var(--color-info-bg); + border-color: var(--color-info); + color: var(--color-info-text); + } + + .cal-block-tournament { + background: var(--color-warn-bg); + border-color: var(--color-warn); + color: var(--color-warn-text); + } + + .cal-block-meeting { + background: var(--color-rule); + border-color: var(--color-ink); + color: var(--color-ink); + } + + .cal-block-social { + background: color-mix(in srgb, var(--color-violet) 12%, white); + border-color: var(--color-violet); + color: var(--color-violet); + } + + .cal-block-other { + background: #fff; + border-color: var(--color-edge); + color: var(--color-muted); + } + + /* --- Month grid --- */ + .cal-month-daynames { + display: grid; + grid-template-columns: repeat(7, 1fr); + border-bottom: 1px solid var(--color-line); + background: var(--color-subhead); + } + + .cal-month-dayname { + padding: 0.4rem 0.25rem; + text-align: center; + font-family: var(--font-display); + font-size: 0.625rem; + font-weight: 700; + letter-spacing: 0.1em; + text-transform: uppercase; + color: var(--color-muted); + } + + .cal-month-grid { + display: grid; + grid-template-columns: repeat(7, 1fr); + border-top: 1px solid var(--color-line); + border-left: 1px solid var(--color-line); + } + + .cal-month-cell { + display: flex; + flex-direction: column; + gap: 0.25rem; + min-height: 6.75rem; + padding: 0.375rem; + background: #fff; + border-right: 1px solid var(--color-line); + border-bottom: 1px solid var(--color-line); + } + + .cal-month-cell.is-outside { + background: var(--color-paper); + } + + .cal-month-cell.is-outside .cal-month-cell-num { + color: var(--color-dim); + } + + .cal-month-cell.is-today { + background: var(--color-row-focus); + } + + .cal-month-cell-num { + font-family: var(--font-display); + font-size: 0.875rem; + font-weight: 800; + color: var(--color-ink); + } + + .cal-month-cell.is-today .cal-month-cell-num { + display: inline-flex; + align-items: center; + justify-content: center; + width: 1.375rem; + height: 1.375rem; + border-radius: 999px; + background: var(--color-club); + color: var(--color-club-content); + } + + .cal-month-cell-events { + display: flex; + flex-direction: column; + gap: 0.1875rem; + overflow: hidden; + } + + .cal-chip { + display: flex; + align-items: center; + gap: 0.3125rem; + padding: 0.0625rem 0.25rem; + border-radius: 0.25rem; + font-size: 0.625rem; + font-weight: 600; + line-height: 1.4; + text-decoration: none; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + + .cal-chip-game { + background: var(--color-danger-bg); + color: var(--color-club-dark); + } + + .cal-chip-training { + background: var(--color-info-bg); + color: var(--color-info-text); + } + + .cal-chip-tournament { + background: var(--color-warn-bg); + color: var(--color-warn-text); + } + + .cal-chip-meeting { + background: var(--color-rule); + color: var(--color-ink); + } + + .cal-chip-social { + background: color-mix(in srgb, var(--color-violet) 12%, white); + color: var(--color-violet); + } + + .cal-chip-other { + background: var(--color-paper); + color: var(--color-muted); + } + + .cal-dot { + width: 0.375rem; + height: 0.375rem; + border-radius: 999px; + flex-shrink: 0; + background: currentColor; + } + + .cal-chip-more { + padding: 0.0625rem 0.25rem; + font-size: 0.625rem; + font-weight: 600; + color: var(--color-muted); + text-decoration: none; + } + + .cal-chip-more:hover { + color: var(--color-ink); + text-decoration: underline; + } + + /* --- Season grid: one mini month-calendar per month, counts only (no titles -- + there's no room at this scale, see events/services/calendar.py's season_grid + docstring). --- */ + .cal-season-daynames { + display: grid; + grid-template-columns: repeat(7, 1fr); + margin-bottom: 0.25rem; + } + + .cal-season-dayname { + text-align: center; + font-family: var(--font-mono); + font-size: 0.5625rem; + color: var(--color-dim); + text-transform: uppercase; + } + + .cal-season-grid { + display: grid; + grid-template-columns: repeat(7, 1fr); + gap: 2px; + } + + .cal-season-cell { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 0.0625rem; + aspect-ratio: 1; + border-radius: 0.25rem; + text-decoration: none; + } + + .cal-season-daynum { + font-family: var(--font-mono); + font-size: 0.625rem; + color: var(--color-slate); + } + + .cal-season-cell.is-outside .cal-season-daynum { + color: var(--color-dim); + opacity: 0.6; + } + + .cal-season-cell.is-today { + background: var(--color-row-focus); + } + + .cal-season-cell.is-today .cal-season-daynum { + font-weight: 700; + color: var(--color-club-dark); + } + + .cal-season-cell.has-events { + cursor: pointer; + } + + .cal-season-cell.has-events:hover { + background: var(--color-subhead); + } + + .cal-season-count { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 0.875rem; + height: 0.875rem; + padding: 0 0.1875rem; + border-radius: 999px; + background: var(--color-club); + color: var(--color-club-content); + font-family: var(--font-mono); + font-size: 0.5rem; + font-weight: 700; + line-height: 1; + } +} + +/* --- Event form --- + management/templates/management/event_form.html and event_series_form.html + (EventForm/EventSeriesForm) -- both share the exact same treatment: a + prominent kind picker up top (a row of clickable "kind cards" layered over + the real, always-visible -- each card IS the field's own input, so keyboard/tab/arrow-key operation and screen readers get native radiogroup semantics for free, and there's no second visible control for the same field. #} +
+ {% for value, label in form.fields.kind.choices %} + + {% endfor %} +
+ {% if form.kind.errors %} +

{{ form.kind.errors|join:" " }}

+ {% endif %} + + +
+ {% form_field form.title %} +
+ + + +
+ {% lucide "sparkles" size=16 %} + {% trans "This line updates live as you fill in the form below." %} +
+ +
+
+
+ {% lucide "users" size=18 %} +
+
{% trans "Who's invited" %}
+
{% trans "Teams and groups invite every current member automatically." %}
+
+
+ + {% if "club_wide" in form.fields %} +
+ {% form_field form.club_wide show_as_toggle=True %} +
+ {% endif %} + +
{% form_field form.teams %} {% form_field form.groups %} - {% if "club_wide" in form.fields %} - {% form_field form.club_wide %} - {% endif %}
{% form_field form.invited_members %} {% form_field form.excluded_members %}
+
+
+ +
+
+
+ {% lucide "calendar-clock" size=18 %} +
+
{% trans "Where & when" %}
+
{% trans "Venue and the times members see on their invite." %}
+
+
-
-

{% trans "Where" %}

{% form_field form.location %}
@@ -43,59 +101,100 @@
-
-

{% trans "When" %}

-
+
{% form_field form.start %} {% form_field form.end %} {% form_field form.gathering %} {% form_field form.deadline %}
+
+
-
-
-

{% trans "Game" %}

-
- {% form_field form.competition %} - {% form_field form.external_game_id %} - {% form_field form.max_referees %} - {% if update_view %} - {% comment %} - Score/live status only exist to record once a game has - actually been created -- the add form leaves them out - entirely (see EventForm's editing=False path). - {% endcomment %} - - {% form_field form.score_for %} - {% form_field form.score_against %} - {% form_field form.is_live %} - {% endif %} +
+
+
+ {% lucide "swords" size=18 %} +
+
{% trans "Game details" %}
+
{% trans "Only used for games -- competition, referees and, once played, the score." %}
-
- {% lucide "arrow-left" size=16 %} {% trans "Cancel" %} - +
+ {% form_field form.competition %} + {% form_field form.external_game_id %} + {% form_field form.max_referees %}
- + {% if update_view %} + {% comment %} + Score/live status only exist to record once a game has + actually been created -- the add form leaves them out + entirely (see EventForm's editing=False path). + {% endcomment %} +
+ {% form_field form.score_for %} + {% form_field form.score_against %} + {% form_field form.is_live show_as_toggle=True %} +
+ {% endif %} +
-
+ +
+ {% lucide "arrow-left" size=16 %} {% trans "Cancel" %} + +
+ {% endblock panel %} {% block extra_body %} diff --git a/management/templates/management/event_list.html b/management/templates/management/event_list.html index d1f5019..8590bc0 100644 --- a/management/templates/management/event_list.html +++ b/management/templates/management/event_list.html @@ -14,111 +14,266 @@ {% endblock actions %} {% block filter_strip %} -
- - - - -
+
+
+ {% if view_mode != "calendar" %}{% endif %} + {% if calendar_range != "week" %}{% endif %} + {% if view_mode == "calendar" and calendar_range != "season" %}{% endif %} + + + {% if view_mode == "list" %} + + {% endif %} + +
+ +
+ + {% if view_mode == "calendar" %} + + + {% if calendar_range != "season" %} + + {% endif %} + {% endif %} + + {# Calendar/List segmented toggle -- member_list.html's Members/Guardians/Both pattern. #} + +
{% endblock filter_strip %} {% block panel %} -
-
- - - - - - - - - - - - - {% for event in events %} + {% if view_mode == "list" %} +
+
+
{% trans "Title" %}{% trans "Kind" %}{% trans "When" %}{% trans "Teams" %}{% trans "Location" %}
+ - - - - - - + + + + + + - {% empty %} - - - - {% endfor %} - -
- {{ event.title }} - {% if event.series_id %} - {% lucide "repeat" size=12 %} - {% endif %} - - - {{ event.get_kind_display }} - - {{ event.start|date:"D j M Y H:i" }}{% for team in event.teams.all %}{{ team.short_name }}{% if not forloop.last %}, {% endif %}{% empty %}{% endfor %}{{ event.location.name|default:"—" }} - {% if event.can_manage %} -
- {% lucide "pencil" size=14 %} {% trans "Edit" %} - -
- {% endif %} -
{% trans "Title" %}{% trans "Kind" %}{% trans "When" %}{% trans "Teams" %}{% trans "Location" %}
{% trans "No events." %}
+ + + {% for event in events %} + + + {{ event.title }} + {% if event.series_id %} + {% lucide "repeat" size=12 %} + {% endif %} + + + + {{ event.get_kind_display }} + + + {{ event.start|date:"D j M Y H:i" }} + {% for team in event.teams.all %}{{ team.short_name }}{% if not forloop.last %}, {% endif %}{% empty %}{% endfor %} + {{ event.location.name|default:"—" }} + + {% if event.can_manage %} +
+ {% lucide "pencil" size=14 %} {% trans "Edit" %} + +
+ {% endif %} + + + {% empty %} + + {% trans "No events." %} + + {% endfor %} + + +
-
- {% include "management/_pagination.html" %} + {% include "management/_pagination.html" %} - {% comment %} Dialogs live outside the table: may only contain elements. {% endcomment %} - {% for event in events %} - {% if event.can_manage %} - - + + + {% endif %} + {% endfor %} + {% elif calendar_range == "week" %} +
+
+ {% blocktrans with start=calendar.week_start|date:"j M" end=calendar.week_end|date:"j M Y" %}{{ start }} – {{ end }}{% endblocktrans %} +
+
+ {% with hours_span=calendar.hours|length|add:"-1" %} +
+
+
+ {% for day in calendar.days %} +
+ {{ day.date|date:"D" }} + {{ day.date|date:"j" }} +
+ {% endfor %} +
+
+ +
+ {% for hour in calendar.hours %} + {{ hour|stringformat:"02d" }}:00 + {% endfor %} +
+ {% for day in calendar.days %} + + {% endfor %} +
+
+ {% endwith %} +
+
+ {% elif calendar_range == "month" %} +
+
+ {{ anchor|date:"F Y" }} +
+
+ {% for cell in calendar.weeks.0 %} +
{{ cell.date|date:"D" }}
+ {% endfor %} +
+
+ {% for week in calendar.weeks %} + {% for cell in week %} +
+
{{ cell.date|date:"j" }}
+
+ {% for event in cell.events|slice:":3" %} + + + {{ event.title }} + {% if event.series_id %}{% lucide "repeat" size=10 %}{% endif %} + + {% endfor %} + {% if cell.events|length > 3 %} + {% with extra_count=cell.events|length|add:"-3" %} + + {% blocktrans count counter=extra_count %}+{{ counter }} more{% plural %}+{{ counter }} more{% endblocktrans %} + + {% endwith %} + {% endif %} +
+
+ {% endfor %} + {% endfor %} +
+
+ {% elif calendar_range == "season" %} + {% if not calendar %} +
+ {% lucide "calendar-x" size=20 %} + {% trans "Pick a season above to see its calendar." %} +
+ {% else %} +
+ {% for month in calendar.months %} +
+
{{ month.label|date:"F Y" }}
+
+ {% for cell in month.weeks.0 %} + {{ cell.date|date:"D"|slice:":1" }} + {% endfor %} +
+
+ {% for week in month.weeks %} + {% for cell in week %} + {% if cell.count %} + + {{ cell.date|date:"j" }} + {{ cell.count }} + + {% else %} + + {{ cell.date|date:"j" }} + + {% endif %} + {% endfor %} + {% endfor %} +
+
+ {% empty %} +

{% trans "This season has no months to show." %}

+ {% endfor %} +
{% endif %} - {% endfor %} + {% endif %} {% endblock panel %} diff --git a/management/templates/management/event_series_form.html b/management/templates/management/event_series_form.html index cef14a7..a6fa6ff 100644 --- a/management/templates/management/event_series_form.html +++ b/management/templates/management/event_series_form.html @@ -4,78 +4,197 @@ {% block heading %}{% if update_view %}{% blocktrans %}Edit {{ object }}{% endblocktrans %}{% else %}{% trans "New series" %}{% endif %}{% endblock heading %} {% block panel %} -
-
-
- {% csrf_token %} + + {% csrf_token %} - {% for error in form.non_field_errors %} -
- {{ error }} + {% for error in form.non_field_errors %} +
+ {{ error }} +
+ {% endfor %} + +
+
+
+ {% lucide "clipboard-list" size=18 %} +
+
{% trans "What's happening?" %}
+
{% trans "Pick a kind to reveal only the fields that matter for it -- it applies to every occurrence this series generates." %}
- {% endfor %} - -
- {% form_field form.title %} - {% form_field form.kind %}
-
-

{% trans "Repeats" %}

+
+ {# Real radios, not a JS-synced facade over a hidden + {% if value == "training" %}{% lucide "dumbbell" size=20 %} + {% elif value == "game" %}{% lucide "swords" size=20 %} + {% elif value == "tournament" %}{% lucide "trophy" size=20 %} + {% elif value == "meeting" %}{% lucide "message-square" size=20 %} + {% elif value == "social" %}{% lucide "party-popper" size=20 %} + {% elif value == "other" %}{% lucide "circle-ellipsis" size=20 %} + {% else %}{% lucide "calendar" size=20 %} + {% endif %} + {{ label }} + + {% endfor %} +
+ {% if form.kind.errors %} +

{{ form.kind.errors|join:" " }}

+ {% endif %} +
+ +
+ {% form_field form.title %} +
+
+
+ +
+ {% lucide "sparkles" size=16 %} + {% trans "This line updates live as you fill in the form below." %} +
+ +
+
+
+ {% lucide "repeat" size=18 %} +
+
{% trans "Repeats" %}
+
{% trans "The friendly pattern below, or drop into a raw recurrence rule for anything unusual." %}
+
+
+ + {% trans "Only used for a weekly pattern -- a monthly one repeats on the same day of the month as the first occurrence below." as weekdays_help %}
{% form_field form.frequency %} {% form_field form.interval %} + {% form_field form.weekdays help_text=weekdays_help %} {% form_field form.dtstart %} {% form_field form.until %}
- {% trans "Only used for a weekly pattern -- a monthly one repeats on the same day of the month as the first occurrence above." as weekdays_help %} - {% form_field form.weekdays help_text=weekdays_help %}
{% trans "Advanced: raw recurrence rule" %}
{% form_field form.advanced_rrule %}
+
+
-
-

{% trans "Audience" %}

-
+
+
+
+ {% lucide "users" size=18 %} +
+
{% trans "Who's invited" %}
+
{% trans "Teams and groups invite every current member automatically." %}
+
+
+ + {% if "club_wide" in form.fields %} +
+ {% form_field form.club_wide show_as_toggle=True %} +
+ {% endif %} + +
{% form_field form.teams %} {% form_field form.groups %} - {% if "club_wide" in form.fields %} - {% form_field form.club_wide %} - {% endif %}
{% form_field form.invited_members %} {% form_field form.excluded_members %}
+
+
-
-

{% trans "Where" %}

-
- {% form_field form.location %} - {% form_field form.opponent %} +
+
+
+ {% lucide "calendar-clock" size=18 %} +
+
{% trans "Where & timing" %}
+
{% trans "Venue, and how long each occurrence runs relative to its start." %}
+
-
-

{% trans "Timing" %}

-
+
+ {% form_field form.location %} +
+ {% form_field form.opponent %} +
+
+ +
{% form_field form.duration_hours %} {% form_field form.duration_minutes %} {% form_field form.gathering_minutes_before %} {% form_field form.deadline_minutes_before %}
- -
- {% lucide "arrow-left" size=16 %} {% trans "Cancel" %} - -
- +
-
+ +
+ {% lucide "arrow-left" size=16 %} {% trans "Cancel" %} + +
+ {% endblock panel %} {% block extra_body %} + {% endblock extra_body %} diff --git a/management/tests.py b/management/tests.py index 798da0a..3cd5552 100644 --- a/management/tests.py +++ b/management/tests.py @@ -4634,6 +4634,28 @@ class EventManagementTests(ManagementTestBase): self.assertContains(response, reverse("management:event_delete", args=[own_event.pk])) self.assertNotContains(response, reverse("management:event_delete", args=[other_event.pk])) + def test_the_week_calendar_marks_a_series_occurrence_with_the_repeat_icon(self): + series = EventSeries.objects.create(club=self.club, title="Weekly Training", kind=Event.EventKind.TRAINING, dtstart=timezone.now(), rrule="FREQ=WEEKLY;COUNT=1") + occurrence = Event.objects.create(club=self.club, title="Weekly Training", start=timezone.now(), series=series) + occurrence.teams.add(self.own_team) + standalone = Event.objects.create(club=self.club, title="One-off Training", start=timezone.now() + datetime.timedelta(hours=1)) + standalone.teams.add(self.own_team) + self.client.force_login(self.own_team_coach) + + response = self.club_get("event_list") # default view=calendar, range=week + + self.assertContains(response, 'aria-label="Part of a series"', count=1) + + def test_the_month_calendar_marks_a_series_occurrence_with_the_repeat_icon(self): + series = EventSeries.objects.create(club=self.club, title="Weekly Training", kind=Event.EventKind.TRAINING, dtstart=timezone.now(), rrule="FREQ=WEEKLY;COUNT=1") + occurrence = Event.objects.create(club=self.club, title="Weekly Training", start=timezone.now(), series=series) + occurrence.teams.add(self.own_team) + self.client.force_login(self.own_team_coach) + + response = self.club_get("event_list", params={"range": "month"}) + + self.assertContains(response, 'aria-label="Part of a series"', count=1) + def test_a_manager_only_sees_events_for_teams_they_manage(self): own_event = Event.objects.create(club=self.club, title="My event", start=timezone.now() + datetime.timedelta(days=1)) own_event.teams.add(self.own_team) @@ -5003,14 +5025,25 @@ class EventDetailDisplayTests(ManagementTestBase): self.assertContains(response, "Peter Player") self.assertContains(response, "Bringing the kit bag") - def test_the_rsvp_modal_groups_responses_into_collapsible_status_sections(self): + def test_the_rsvp_modal_offers_a_filter_pill_per_status_with_responses(self): event = self.make_event() Attendance.objects.filter(event=event, member=self.player).update(status=Attendance.AttendanceStatus.PRESENT) response = self.club_get("event_detail", event.pk) - self.assertContains(response, "') def test_the_details_card_shows_gathering_and_deadline_even_when_unset(self): event = self.make_event() diff --git a/management/views.py b/management/views.py index 1cfff26..fb928c8 100644 --- a/management/views.py +++ b/management/views.py @@ -2290,6 +2290,7 @@ class EventDetailView(ClubStaffRequiredMixin, DetailView): referee_management_needed=referee_management_needed, attendance_groups=attendance_groups, has_attendance_rows=any(group["rows"] for group in attendance_groups), + attendance_row_count=sum(len(group["rows"]) for group in attendance_groups), referees=referees, referee_candidates=referee_candidates, referees_full=referees_full, diff --git a/static/css/app.css b/static/css/app.css index 363a82a..3052d2e 100644 --- a/static/css/app.css +++ b/static/css/app.css @@ -3708,6 +3708,9 @@ .max-h-60 { max-height: calc(var(--spacing) * 60); } + .max-h-96 { + max-height: calc(var(--spacing) * 96); + } .min-h-6 { min-height: calc(var(--spacing) * 6); } @@ -3795,6 +3798,9 @@ .w-full { width: 100%; } + .w-px { + width: 1px; + } .max-w-2xl { max-width: var(--container-2xl); } @@ -3840,6 +3846,9 @@ .flex-1 { flex: 1; } + .flex-shrink { + flex-shrink: 1; + } .shrink { flex-shrink: 1; } @@ -5054,6 +5063,11 @@ width: calc(var(--spacing) * 16); } } + .sm\:w-44 { + @media (width >= 40rem) { + width: calc(var(--spacing) * 44); + } + } .sm\:grid-cols-2 { @media (width >= 40rem) { grid-template-columns: repeat(2, minmax(0, 1fr)); @@ -5141,6 +5155,11 @@ grid-template-columns: repeat(3, minmax(0, 1fr)); } } + .xl\:grid-cols-4 { + @media (width >= 80rem) { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + } .xl\:grid-cols-\[1\.6fr_1fr\] { @media (width >= 80rem) { grid-template-columns: 1.6fr 1fr; diff --git a/static/css/management.css b/static/css/management.css index df36963..61b4397 100644 --- a/static/css/management.css +++ b/static/css/management.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"Barlow", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--color-sky-500:oklch(68.5% .169 237.323);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Barlow Condensed", ui-sans-serif, system-ui, sans-serif;--color-ink:#0b1220;--color-navy:#101e36;--color-steel:#1b2b47;--color-hairline:#1e2b42;--color-paper:#f4f5f7;--color-line:#e3e6eb;--color-rule:#eef0f3;--color-edge:#d6dae1;--color-stroke:#c9cfd8;--color-muted:#6c7787;--color-dim:#8b95a4;--color-slate:#3a4658;--color-on-dark:#93a0b4;--color-on-dark-dim:#7c8aa0;--color-on-dark-faint:#5c6b85;--color-club:var(--tenant-club,#e4002b);--color-club-dark:var(--tenant-club-dark,#b00021);--color-club-content:var(--tenant-club-content,#fff);--color-sidebar-bg:var(--tenant-sidebar-bg,var(--color-ink));--color-sidebar-fg:var(--tenant-sidebar-fg,#fff);--color-sidebar-fg-dim:var(--color-sidebar-fg)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-sidebar-fg-dim:color-mix(in srgb, var(--color-sidebar-fg) 68%, var(--color-sidebar-bg))}}:root,:host{--color-sidebar-fg-faint:var(--color-sidebar-fg)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-sidebar-fg-faint:color-mix(in srgb, var(--color-sidebar-fg) 38%, var(--color-sidebar-bg))}}:root,:host{--color-sidebar-hairline:var(--color-sidebar-fg)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-sidebar-hairline:color-mix(in srgb, var(--color-sidebar-fg) 16%, var(--color-sidebar-bg))}}:root,:host{--color-sidebar-chip:var(--color-sidebar-fg)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-sidebar-chip:color-mix(in srgb, var(--color-sidebar-fg) 24%, var(--color-sidebar-bg))}}:root,:host{--color-ok:#14a05a;--color-ok-bg:#e6f6ee;--color-ok-border:#bfe7d3;--color-ok-text:#0c7a43;--color-warn:#f0a22e;--color-warn-bg:#fff5e4;--color-warn-border:#f6e0b8;--color-warn-text:#9a6410;--color-warn-deep:#7a4e08;--color-danger-bg:#fdecec;--color-danger-border:#f5c9ce;--color-info:#14b8e8;--color-info-bg:#eaf7fc;--color-info-border:#c3e7f4;--color-info-text:#0a6f91;--color-row-sel:#fff7f8;--color-row-focus:#f4f9ff;--color-subhead:#f8f9fa;--color-violet:#7c5cfc;--radius-box:.75rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{background:var(--color-paper);color:var(--color-slate);font-family:var(--font-sans)}}@layer components{.btn{border-radius:var(--radius-box);height:2.25rem;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:var(--color-ink);color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding-inline:1rem;font-size:.8125rem;font-weight:800;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.85}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-club);color:#fff}.btn-success{background:var(--color-ok);color:#fff}.btn-warning{background:var(--color-warn);color:var(--color-ink)}.btn-error{background:var(--color-club-dark);color:#fff}.btn-info{background:var(--color-info);color:#fff}.btn-ghost{color:var(--color-ink);background:0 0}.btn-ghost:hover{background:var(--color-rule);opacity:1}.btn-outline{color:var(--color-ink);border-color:var(--color-stroke);background:#fff}.btn-outline:hover{background:var(--color-subhead);opacity:1}.btn-outline.btn-primary,.btn-outline.btn-error{color:var(--color-club-dark);border-color:var(--color-danger-border);background:#fff}.btn-outline.btn-success{color:var(--color-ok-text);border-color:var(--color-ok-border);background:#fff}.btn-outline.btn-info{color:var(--color-info-text);border-color:var(--color-info-border);background:#fff}.btn-sm{height:1.875rem;padding-inline:.75rem;font-size:.75rem}.btn-xs{gap:.25rem;height:1.5rem;padding-inline:.5rem;font-size:.6875rem}.btn-square{width:2.25rem;padding-inline:0}.badge{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:var(--color-rule);color:var(--color-slate);border:1px solid var(--color-line);white-space:nowrap;border-radius:6px;align-items:center;gap:.25rem;padding:.15rem .6rem;font-size:.6875rem;font-weight:700;display:inline-flex}.badge-sm{padding:.1rem .45rem;font-size:.625rem}.badge-xs{padding:.05rem .35rem;font-size:.5625rem}.badge-success{background:var(--color-ok-bg);color:var(--color-ok-text);border-color:var(--color-ok-border)}.badge-error{background:var(--color-danger-bg);color:var(--color-club-dark);border-color:var(--color-danger-border)}.badge-warning{background:var(--color-warn-bg);color:var(--color-warn-text);border-color:var(--color-warn-border)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge-ghost,.badge-outline{color:var(--color-muted);border-color:var(--color-edge);background:#fff}.badge-neutral{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.card{border:1px solid var(--color-line);border-radius:var(--radius-box);background:#fff}.card-body{flex-direction:column;gap:.5rem;padding:1.125rem;display:flex}.card-title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);align-items:center;gap:.5rem;font-size:1rem;font-weight:800;display:flex}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table thead tr{background:var(--color-subhead);border-bottom:1px solid var(--color-line)}.table thead th{text-align:left;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);padding:.5rem 1rem;font-size:.6875rem;font-weight:700}.table tbody tr{border-bottom:1px solid var(--color-rule)}.table tbody tr:last-child{border-bottom:none}.table tbody tr.cursor-pointer:hover{background:var(--color-subhead)}.table tbody td{color:var(--color-ink);vertical-align:middle;padding:.75rem 1rem}.alert{border-radius:var(--radius-box);border:1px solid var(--color-line);background:#fff;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.alert-error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-club-dark)}.alert-warning{background:var(--color-warn-bg);border-color:var(--color-warn-border);color:var(--color-warn-deep)}.alert-success{background:var(--color-ok-bg);border-color:var(--color-ok-border);color:var(--color-ok-text)}.alert-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.avatar>div{border-radius:999px;overflow:hidden}.avatar-placeholder>div{background:var(--color-steel);color:#fff;font-family:var(--font-display);justify-content:center;align-items:center;font-weight:800;display:flex}progress.progress{appearance:none;background:var(--color-rule);border:none;border-radius:999px;width:100%;height:.375rem;overflow:hidden}progress.progress::-webkit-progress-bar{background:var(--color-rule)}progress.progress::-webkit-progress-value{background:var(--color-ink)}progress.progress::-moz-progress-bar{background:var(--color-ink)}progress.progress-success::-webkit-progress-value{background:var(--color-ok)}progress.progress-success::-moz-progress-bar{background:var(--color-ok)}progress.progress-warning::-webkit-progress-value{background:var(--color-warn)}progress.progress-warning::-moz-progress-bar{background:var(--color-warn)}progress.progress-error::-webkit-progress-value{background:var(--color-club)}progress.progress-error::-moz-progress-bar{background:var(--color-club)}.input,.select,.textarea,.file-input{border:1px solid var(--color-edge);width:100%;color:var(--color-ink);font-family:var(--font-sans);background:#fff;border-radius:.5rem;height:2.25rem;padding:.5rem .75rem;font-size:.875rem}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236C7787' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2rem}.file-input{color:var(--color-dim);align-items:center;padding-block:.3125rem;display:flex}.file-input::file-selector-button{appearance:none;background:var(--color-ink);color:#fff;height:1.5rem;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:.375rem;margin-right:.75rem;padding-inline:.75rem;font-size:.6875rem;font-weight:800;transition:opacity .15s}.file-input::file-selector-button{appearance:none;background:var(--color-ink);color:#fff;height:1.5rem;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:.375rem;margin-right:.75rem;padding-inline:.75rem;font-size:.6875rem;font-weight:800;transition:opacity .15s}.file-input:hover::file-selector-button{opacity:.85}.file-input:hover::file-selector-button{opacity:.85}.input:focus,.select:focus,.textarea:focus,.file-input:focus-within{outline:2px solid var(--color-club);outline-offset:-1px;border-color:var(--color-club)}.textarea{height:auto;min-height:6rem}.input-error,.select-error,.textarea-error{border-color:var(--color-club);color:var(--color-club-dark)}.input-lg{height:3rem;font-family:var(--font-mono);letter-spacing:.2em;text-align:center;font-size:1.125rem}.otp{gap:.5rem;display:inline-flex;position:relative}.otp span{border:1px solid var(--color-edge);width:2.75rem;height:3rem;font-family:var(--font-mono);color:var(--color-ink);background:#fff;border-radius:.5rem;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.otp:focus-within span{border-color:var(--color-club)}.otp input{color:#0000;width:100%;height:100%;caret-color:var(--color-ink);background:0 0;border:none;outline:none;padding:0;position:absolute;inset:0}.otp-lg span{width:3.25rem;height:3.5rem;font-size:1.375rem}.checkbox{border:1.5px solid var(--color-stroke);width:1.125rem;height:1.125rem;accent-color:var(--color-club);border-radius:.25rem}.toggle{width:2.5rem;height:1.375rem;accent-color:var(--color-ok);border-radius:999px}.form-control{flex-direction:column;display:flex}.label-text{color:var(--color-slate);font-size:.8125rem;font-weight:600}.label-text-alt{color:var(--color-muted);font-size:.75rem}.link{color:var(--color-club-dark);text-decoration:none}.link-hover:hover{text-decoration:underline}.divide-y>*+*{border-top:1px solid var(--color-rule)}dialog.modal{border-radius:var(--radius-box);background:0 0;border:none;max-width:none;max-height:none;margin:auto;padding:0}dialog.modal::backdrop{background:#0b12208c}dialog.modal .modal-box{border:1px solid var(--color-line);border-radius:var(--radius-box);background:#fff;width:32rem;max-width:91vw;max-height:85vh;padding:1.5rem;overflow-y:auto}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.modal-backdrop{display:none}.drawer-backdrop{z-index:50;background:#0b122000;transition:background-color .2s;display:none;position:fixed;inset:0}.drawer-backdrop.visible{display:block}.drawer-backdrop.open{background:#0b12208c}.drawer{border-left:1px solid var(--color-line);background:#fff;flex-direction:column;width:420px;max-width:91vw;height:100%;transition:transform .2s;display:flex;position:absolute;top:0;right:0;transform:translate(100%)}.drawer-backdrop.open .drawer{transform:translate(0)}.crest{border-radius:999px}.team-chip{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-line);background:var(--color-paper);color:var(--color-muted);cursor:pointer;border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:700;transition:background-color .15s,color .15s,border-color .15s}.team-chip:hover:not(:disabled){border-color:var(--color-club);color:var(--color-ink)}.team-chip.placed,.team-chip:disabled{background:var(--color-ink);color:#fff;border-color:var(--color-ink);cursor:default}.nav-item{height:2.5rem;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--color-sidebar-fg-dim);border-radius:.5rem;align-items:center;gap:.625rem;padding-inline:.75rem;font-size:1rem;font-weight:700;display:flex}.nav-item:hover{color:var(--color-sidebar-fg)}.nav-item.active{background:var(--color-club);color:var(--color-club-content)}.nav-subitem{height:1.875rem;color:var(--color-sidebar-fg-faint);align-items:center;gap:.5rem;padding-left:1.375rem;font-size:.875rem;display:flex}.nav-subitem:hover,.nav-subitem.active{color:var(--color-sidebar-fg);font-weight:600}.bg-base-100{background:#fff}.menu{margin:0;padding:.375rem;list-style:none}.menu li a{font-family:var(--font-sans);color:var(--color-ink);cursor:pointer;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;display:block}.menu li a:hover{background:var(--color-rule)}.menu li a.menu-active{background:var(--color-club);color:#fff}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-\[3px\]{top:3px}.top-full{top:100%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-\[3px\]{right:3px}.bottom-full{bottom:100%}.left-0{left:0}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[3px\]{left:3px}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.my-6{margin-block:calc(var(--spacing) * 6)}.ms-auto{margin-inline-start:auto}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-8\.5{height:calc(var(--spacing) * 8.5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-44{height:calc(var(--spacing) * 44)}.h-48{height:calc(var(--spacing) * 48)}.h-72{height:calc(var(--spacing) * 72)}.h-\[3px\]{height:3px}.h-\[7px\]{height:7px}.h-\[22px\]{height:22px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[52px\]{height:52px}.h-\[54px\]{height:54px}.h-\[68px\]{height:68px}.h-\[180px\]{height:180px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-60{max-height:calc(var(--spacing) * 60)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[7px\]{width:7px}.w-\[36rem\]{width:36rem}.w-\[68px\]{width:68px}.w-\[236px\]{width:236px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-\[35\%\]{max-width:35%}.max-w-\[91vw\]{max-width:91vw}.max-w-\[1440px\]{max-width:1440px}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scrollbar-gutter-stable{scrollbar-gutter:stable}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[14px\]{border-radius:14px}.rounded-box{border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#2C3B56\]{border-color:#2c3b56}.border-\[\#DDE1E7\]{border-color:#dde1e7}.border-club{border-color:var(--color-club)}.border-club-dark{border-color:var(--color-club-dark)}.border-danger-border{border-color:var(--color-danger-border)}.border-edge{border-color:var(--color-edge)}.border-hairline{border-color:var(--color-hairline)}.border-info{border-color:var(--color-info)}.border-info-border{border-color:var(--color-info-border)}.border-ink{border-color:var(--color-ink)}.border-line{border-color:var(--color-line)}.border-ok{border-color:var(--color-ok)}.border-on-dark-faint{border-color:var(--color-on-dark-faint)}.border-rule{border-color:var(--color-rule)}.border-sidebar-hairline{border-color:var(--color-sidebar-hairline)}.border-stroke{border-color:var(--color-stroke)}.border-violet\/30{border-color:#7c5cfc4d}@supports (color:color-mix(in lab, red, red)){.border-violet\/30{border-color:color-mix(in oklab, var(--color-violet) 30%, transparent)}}.border-warn{border-color:var(--color-warn)}.border-l-club-dark{border-left-color:var(--color-club-dark)}.border-l-info{border-left-color:var(--color-info)}.border-l-warn{border-left-color:var(--color-warn)}.bg-\[var\(--club\)\]{background-color:var(--club)}.bg-club{background-color:var(--color-club)}.bg-danger-bg{background-color:var(--color-danger-bg)}.bg-edge{background-color:var(--color-edge)}.bg-hairline{background-color:var(--color-hairline)}.bg-info-bg{background-color:var(--color-info-bg)}.bg-ink{background-color:var(--color-ink)}.bg-ok{background-color:var(--color-ok)}.bg-paper{background-color:var(--color-paper)}.bg-row-focus{background-color:var(--color-row-focus)}.bg-row-sel{background-color:var(--color-row-sel)}.bg-rule{background-color:var(--color-rule)}.bg-sidebar-bg{background-color:var(--color-sidebar-bg)}.bg-sidebar-chip{background-color:var(--color-sidebar-chip)}.bg-sidebar-hairline{background-color:var(--color-sidebar-hairline)}.bg-steel{background-color:var(--color-steel)}.bg-subhead{background-color:var(--color-subhead)}.bg-violet\/10{background-color:#7c5cfc1a}@supports (color:color-mix(in lab, red, red)){.bg-violet\/10{background-color:color-mix(in oklab, var(--color-violet) 10%, transparent)}}.bg-warn{background-color:var(--color-warn)}.bg-white{background-color:var(--color-white)}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.stroke-2{stroke-width:2px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-4\.5{padding:calc(var(--spacing) * 4.5)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[18px\]{padding:18px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[3px\]{padding-inline:3px}.px-\[18px\]{padding-inline:18px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-\[5px\]{padding-block:5px}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[22px\]{padding-bottom:22px}.pb-\[26px\]{padding-bottom:26px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.text-\[34px\]{font-size:34px}.text-\[56px\]{font-size:56px}.leading-\[\.94\]{--tw-leading:.94;line-height:.94}.leading-\[\.95\]{--tw-leading:.95;line-height:.95}.leading-\[\.96\]{--tw-leading:.96;line-height:.96}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-\[\#4A5566\]{color:#4a5566}.text-club{color:var(--color-club)}.text-club-content{color:var(--color-club-content)}.text-club-dark{color:var(--color-club-dark)}.text-dim{color:var(--color-dim)}.text-edge{color:var(--color-edge)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-text{color:var(--color-info-text)}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-ok{color:var(--color-ok)}.text-ok-text{color:var(--color-ok-text)}.text-on-dark{color:var(--color-on-dark)}.text-on-dark-dim{color:var(--color-on-dark-dim)}.text-on-dark-faint{color:var(--color-on-dark-faint)}.text-sidebar-fg{color:var(--color-sidebar-fg)}.text-sidebar-fg-dim{color:var(--color-sidebar-fg-dim)}.text-sidebar-fg-faint{color:var(--color-sidebar-fg-faint)}.text-sky-500{color:var(--color-sky-500)}.text-slate{color:var(--color-slate)}.text-violet{color:var(--color-violet)}.text-warn{color:var(--color-warn)}.text-warn-text{color:var(--color-warn-text)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-\[\.72\]{opacity:.72}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[-24px_0_60px_rgba\(11\,18\,32\,\.2\)\]{--tw-shadow:-24px 0 60px var(--tw-shadow-color,#0b122033);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_24px_60px_rgba\(11\,18\,32\,\.18\)\]{--tw-shadow:0 24px 60px var(--tw-shadow-color,#0b12202e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_3px_0_0_var\(--color-info\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--color-info));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.empty\:hidden:empty{display:none}@media (hover:hover){.hover\:border-white:hover{border-color:var(--color-white)}.hover\:bg-ink:hover{background-color:var(--color-ink)}.hover\:bg-rule:hover{background-color:var(--color-rule)}.hover\:bg-sidebar-hairline:hover{background-color:var(--color-sidebar-hairline)}.hover\:bg-steel:hover{background-color:var(--color-steel)}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\:text-club:hover{color:var(--color-club)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:text-sidebar-fg:hover{color:var(--color-sidebar-fg)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-16{height:calc(var(--spacing) * 16)}.sm\:w-16{width:calc(var(--spacing) * 16)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:w-fit{width:fit-content}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-\[1\.6fr_1fr\]{grid-template-columns:1.6fr 1fr}.xl\:grid-cols-\[1\.35fr_1fr\]{grid-template-columns:1.35fr 1fr}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-ext-800-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"Barlow", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--color-sky-500:oklch(68.5% .169 237.323);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Barlow Condensed", ui-sans-serif, system-ui, sans-serif;--color-ink:#0b1220;--color-navy:#101e36;--color-steel:#1b2b47;--color-hairline:#1e2b42;--color-paper:#f4f5f7;--color-line:#e3e6eb;--color-rule:#eef0f3;--color-edge:#d6dae1;--color-stroke:#c9cfd8;--color-muted:#6c7787;--color-dim:#8b95a4;--color-slate:#3a4658;--color-on-dark:#93a0b4;--color-on-dark-dim:#7c8aa0;--color-on-dark-faint:#5c6b85;--color-club:var(--tenant-club,#e4002b);--color-club-dark:var(--tenant-club-dark,#b00021);--color-club-content:var(--tenant-club-content,#fff);--color-sidebar-bg:var(--tenant-sidebar-bg,var(--color-ink));--color-sidebar-fg:var(--tenant-sidebar-fg,#fff);--color-sidebar-fg-dim:var(--color-sidebar-fg)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-sidebar-fg-dim:color-mix(in srgb, var(--color-sidebar-fg) 68%, var(--color-sidebar-bg))}}:root,:host{--color-sidebar-fg-faint:var(--color-sidebar-fg)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-sidebar-fg-faint:color-mix(in srgb, var(--color-sidebar-fg) 38%, var(--color-sidebar-bg))}}:root,:host{--color-sidebar-hairline:var(--color-sidebar-fg)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-sidebar-hairline:color-mix(in srgb, var(--color-sidebar-fg) 16%, var(--color-sidebar-bg))}}:root,:host{--color-sidebar-chip:var(--color-sidebar-fg)}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-sidebar-chip:color-mix(in srgb, var(--color-sidebar-fg) 24%, var(--color-sidebar-bg))}}:root,:host{--color-ok:#14a05a;--color-ok-bg:#e6f6ee;--color-ok-border:#bfe7d3;--color-ok-text:#0c7a43;--color-warn:#f0a22e;--color-warn-bg:#fff5e4;--color-warn-border:#f6e0b8;--color-warn-text:#9a6410;--color-warn-deep:#7a4e08;--color-danger-bg:#fdecec;--color-danger-border:#f5c9ce;--color-info:#14b8e8;--color-info-bg:#eaf7fc;--color-info-border:#c3e7f4;--color-info-text:#0a6f91;--color-row-sel:#fff7f8;--color-row-focus:#f4f9ff;--color-subhead:#f8f9fa;--color-violet:#7c5cfc;--radius-box:.75rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{background:var(--color-paper);color:var(--color-slate);font-family:var(--font-sans)}}@layer components{.btn{border-radius:var(--radius-box);height:2.25rem;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:var(--color-ink);color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding-inline:1rem;font-size:.8125rem;font-weight:800;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.85}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-club);color:#fff}.btn-success{background:var(--color-ok);color:#fff}.btn-warning{background:var(--color-warn);color:var(--color-ink)}.btn-error{background:var(--color-club-dark);color:#fff}.btn-info{background:var(--color-info);color:#fff}.btn-ghost{color:var(--color-ink);background:0 0}.btn-ghost:hover{background:var(--color-rule);opacity:1}.btn-outline{color:var(--color-ink);border-color:var(--color-stroke);background:#fff}.btn-outline:hover{background:var(--color-subhead);opacity:1}.btn-outline.btn-primary,.btn-outline.btn-error{color:var(--color-club-dark);border-color:var(--color-danger-border);background:#fff}.btn-outline.btn-success{color:var(--color-ok-text);border-color:var(--color-ok-border);background:#fff}.btn-outline.btn-info{color:var(--color-info-text);border-color:var(--color-info-border);background:#fff}.btn-sm{height:1.875rem;padding-inline:.75rem;font-size:.75rem}.btn-xs{gap:.25rem;height:1.5rem;padding-inline:.5rem;font-size:.6875rem}.btn-square{width:2.25rem;padding-inline:0}.badge{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:var(--color-rule);color:var(--color-slate);border:1px solid var(--color-line);white-space:nowrap;border-radius:6px;align-items:center;gap:.25rem;padding:.15rem .6rem;font-size:.6875rem;font-weight:700;display:inline-flex}.badge-sm{padding:.1rem .45rem;font-size:.625rem}.badge-xs{padding:.05rem .35rem;font-size:.5625rem}.badge-success{background:var(--color-ok-bg);color:var(--color-ok-text);border-color:var(--color-ok-border)}.badge-error{background:var(--color-danger-bg);color:var(--color-club-dark);border-color:var(--color-danger-border)}.badge-warning{background:var(--color-warn-bg);color:var(--color-warn-text);border-color:var(--color-warn-border)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.badge-ghost,.badge-outline{color:var(--color-muted);border-color:var(--color-edge);background:#fff}.badge-neutral{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.card{border:1px solid var(--color-line);border-radius:var(--radius-box);background:#fff}.card-body{flex-direction:column;gap:.5rem;padding:1.125rem;display:flex}.card-title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);align-items:center;gap:.5rem;font-size:1rem;font-weight:800;display:flex}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table thead tr{background:var(--color-subhead);border-bottom:1px solid var(--color-line)}.table thead th{text-align:left;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);padding:.5rem 1rem;font-size:.6875rem;font-weight:700}.table tbody tr{border-bottom:1px solid var(--color-rule)}.table tbody tr:last-child{border-bottom:none}.table tbody tr.cursor-pointer:hover{background:var(--color-subhead)}.table tbody td{color:var(--color-ink);vertical-align:middle;padding:.75rem 1rem}.alert{border-radius:var(--radius-box);border:1px solid var(--color-line);background:#fff;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.alert-error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-club-dark)}.alert-warning{background:var(--color-warn-bg);border-color:var(--color-warn-border);color:var(--color-warn-deep)}.alert-success{background:var(--color-ok-bg);border-color:var(--color-ok-border);color:var(--color-ok-text)}.alert-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.avatar>div{border-radius:999px;overflow:hidden}.avatar-placeholder>div{background:var(--color-steel);color:#fff;font-family:var(--font-display);justify-content:center;align-items:center;font-weight:800;display:flex}progress.progress{appearance:none;background:var(--color-rule);border:none;border-radius:999px;width:100%;height:.375rem;overflow:hidden}progress.progress::-webkit-progress-bar{background:var(--color-rule)}progress.progress::-webkit-progress-value{background:var(--color-ink)}progress.progress::-moz-progress-bar{background:var(--color-ink)}progress.progress-success::-webkit-progress-value{background:var(--color-ok)}progress.progress-success::-moz-progress-bar{background:var(--color-ok)}progress.progress-warning::-webkit-progress-value{background:var(--color-warn)}progress.progress-warning::-moz-progress-bar{background:var(--color-warn)}progress.progress-error::-webkit-progress-value{background:var(--color-club)}progress.progress-error::-moz-progress-bar{background:var(--color-club)}.input,.select,.textarea,.file-input{border:1px solid var(--color-edge);width:100%;color:var(--color-ink);font-family:var(--font-sans);background:#fff;border-radius:.5rem;height:2.25rem;padding:.5rem .75rem;font-size:.875rem}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236C7787' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2rem}.file-input{color:var(--color-dim);align-items:center;padding-block:.3125rem;display:flex}.file-input::file-selector-button{appearance:none;background:var(--color-ink);color:#fff;height:1.5rem;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:.375rem;margin-right:.75rem;padding-inline:.75rem;font-size:.6875rem;font-weight:800;transition:opacity .15s}.file-input::file-selector-button{appearance:none;background:var(--color-ink);color:#fff;height:1.5rem;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:.375rem;margin-right:.75rem;padding-inline:.75rem;font-size:.6875rem;font-weight:800;transition:opacity .15s}.file-input:hover::file-selector-button{opacity:.85}.file-input:hover::file-selector-button{opacity:.85}.input:focus,.select:focus,.textarea:focus,.file-input:focus-within{outline:2px solid var(--color-club);outline-offset:-1px;border-color:var(--color-club)}.textarea{height:auto;min-height:6rem}.input-error,.select-error,.textarea-error{border-color:var(--color-club);color:var(--color-club-dark)}.input-lg{height:3rem;font-family:var(--font-mono);letter-spacing:.2em;text-align:center;font-size:1.125rem}.otp{gap:.5rem;display:inline-flex;position:relative}.otp span{border:1px solid var(--color-edge);width:2.75rem;height:3rem;font-family:var(--font-mono);color:var(--color-ink);background:#fff;border-radius:.5rem;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.otp:focus-within span{border-color:var(--color-club)}.otp input{color:#0000;width:100%;height:100%;caret-color:var(--color-ink);background:0 0;border:none;outline:none;padding:0;position:absolute;inset:0}.otp-lg span{width:3.25rem;height:3.5rem;font-size:1.375rem}.checkbox{border:1.5px solid var(--color-stroke);width:1.125rem;height:1.125rem;accent-color:var(--color-club);border-radius:.25rem}.toggle{width:2.5rem;height:1.375rem;accent-color:var(--color-ok);border-radius:999px}.form-control{flex-direction:column;display:flex}.label-text{color:var(--color-slate);font-size:.8125rem;font-weight:600}.label-text-alt{color:var(--color-muted);font-size:.75rem}.link{color:var(--color-club-dark);text-decoration:none}.link-hover:hover{text-decoration:underline}.divide-y>*+*{border-top:1px solid var(--color-rule)}dialog.modal{border-radius:var(--radius-box);background:0 0;border:none;max-width:none;max-height:none;margin:auto;padding:0}dialog.modal::backdrop{background:#0b12208c}dialog.modal .modal-box{border:1px solid var(--color-line);border-radius:var(--radius-box);background:#fff;width:32rem;max-width:91vw;max-height:85vh;padding:1.5rem;overflow-y:auto}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.modal-backdrop{display:none}.drawer-backdrop{z-index:50;background:#0b122000;transition:background-color .2s;display:none;position:fixed;inset:0}.drawer-backdrop.visible{display:block}.drawer-backdrop.open{background:#0b12208c}.drawer{border-left:1px solid var(--color-line);background:#fff;flex-direction:column;width:420px;max-width:91vw;height:100%;transition:transform .2s;display:flex;position:absolute;top:0;right:0;transform:translate(100%)}.drawer-backdrop.open .drawer{transform:translate(0)}.crest{border-radius:999px}.team-chip{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-line);background:var(--color-paper);color:var(--color-muted);cursor:pointer;border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:700;transition:background-color .15s,color .15s,border-color .15s}.team-chip:hover:not(:disabled){border-color:var(--color-club);color:var(--color-ink)}.team-chip.placed,.team-chip:disabled{background:var(--color-ink);color:#fff;border-color:var(--color-ink);cursor:default}.nav-item{height:2.5rem;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--color-sidebar-fg-dim);border-radius:.5rem;align-items:center;gap:.625rem;padding-inline:.75rem;font-size:1rem;font-weight:700;display:flex}.nav-item:hover{color:var(--color-sidebar-fg)}.nav-item.active{background:var(--color-club);color:var(--color-club-content)}.nav-subitem{height:1.875rem;color:var(--color-sidebar-fg-faint);align-items:center;gap:.5rem;padding-left:1.375rem;font-size:.875rem;display:flex}.nav-subitem:hover,.nav-subitem.active{color:var(--color-sidebar-fg);font-weight:600}.bg-base-100{background:#fff}.menu{margin:0;padding:.375rem;list-style:none}.menu li a{font-family:var(--font-sans);color:var(--color-ink);cursor:pointer;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;display:block}.menu li a:hover{background:var(--color-rule)}.menu li a.menu-active{background:var(--color-club);color:#fff}.cal-week-inner{min-width:55rem}.cal-week-header{border-bottom:1px solid var(--color-line);display:flex}.cal-week-gutter-spacer{flex-shrink:0;width:3.5rem}.cal-week-daycol-header{text-align:center;border-left:1px solid var(--color-rule);flex:1 1 0;min-width:7.5rem;padding:.5rem .25rem}.cal-week-daycol-header.is-today{background:var(--color-row-focus)}.cal-daycol-dow{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:.6875rem;font-weight:700;display:block}.cal-week-daycol-header.is-today .cal-daycol-dow{color:var(--color-club-dark)}.cal-daycol-num{font-family:var(--font-display);color:var(--color-ink);font-size:1.25rem;font-weight:800;display:block}.cal-week-body{display:flex;position:relative}.cal-week-gridlines{pointer-events:none;position:absolute;inset:0}.cal-hour-line{background:var(--color-rule);height:1px;position:absolute;left:0;right:0}.cal-week-gutter{flex-shrink:0;width:3.5rem;position:relative}.cal-hour-label{font-family:var(--font-mono);color:var(--color-dim);white-space:nowrap;font-size:.6875rem;position:absolute;right:.625rem;transform:translateY(-50%)}.cal-week-daycol{border-left:1px solid var(--color-rule);flex:1 1 0;min-width:7.5rem;position:relative}.cal-week-daycol.is-today{background:var(--color-row-focus)}.cal-block-slot{box-sizing:border-box;position:absolute}.cal-block{border-left:3px solid;border-radius:.375rem;flex-direction:column;gap:.125rem;margin:1px;padding:.25rem .375rem;text-decoration:none;transition:opacity .15s;display:flex;position:absolute;inset:0;overflow:hidden}.cal-block:hover{opacity:.82}.cal-block-time{font-family:var(--font-mono);opacity:.85;white-space:nowrap;font-size:.625rem;font-weight:600}.cal-block-title{text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:700;line-height:1.15;overflow:hidden}.cal-block-game{background:var(--color-danger-bg);border-color:var(--color-club-dark);color:var(--color-club-dark)}.cal-block-training{background:var(--color-info-bg);border-color:var(--color-info);color:var(--color-info-text)}.cal-block-tournament{background:var(--color-warn-bg);border-color:var(--color-warn);color:var(--color-warn-text)}.cal-block-meeting{background:var(--color-rule);border-color:var(--color-ink);color:var(--color-ink)}.cal-block-social{background:#efebff}@supports (color:color-mix(in lab, red, red)){.cal-block-social{background:color-mix(in srgb, var(--color-violet) 12%, white)}}.cal-block-social{border-color:var(--color-violet);color:var(--color-violet)}.cal-block-other{border-color:var(--color-edge);color:var(--color-muted);background:#fff}.cal-month-daynames{border-bottom:1px solid var(--color-line);background:var(--color-subhead);grid-template-columns:repeat(7,1fr);display:grid}.cal-month-dayname{text-align:center;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);padding:.4rem .25rem;font-size:.625rem;font-weight:700}.cal-month-grid{border-top:1px solid var(--color-line);border-left:1px solid var(--color-line);grid-template-columns:repeat(7,1fr);display:grid}.cal-month-cell{border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:#fff;flex-direction:column;gap:.25rem;min-height:6.75rem;padding:.375rem;display:flex}.cal-month-cell.is-outside{background:var(--color-paper)}.cal-month-cell.is-outside .cal-month-cell-num{color:var(--color-dim)}.cal-month-cell.is-today{background:var(--color-row-focus)}.cal-month-cell-num{font-family:var(--font-display);color:var(--color-ink);font-size:.875rem;font-weight:800}.cal-month-cell.is-today .cal-month-cell-num{background:var(--color-club);width:1.375rem;height:1.375rem;color:var(--color-club-content);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.cal-month-cell-events{flex-direction:column;gap:.1875rem;display:flex;overflow:hidden}.cal-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:.25rem;align-items:center;gap:.3125rem;padding:.0625rem .25rem;font-size:.625rem;font-weight:600;line-height:1.4;text-decoration:none;display:flex;overflow:hidden}.cal-chip-game{background:var(--color-danger-bg);color:var(--color-club-dark)}.cal-chip-training{background:var(--color-info-bg);color:var(--color-info-text)}.cal-chip-tournament{background:var(--color-warn-bg);color:var(--color-warn-text)}.cal-chip-meeting{background:var(--color-rule);color:var(--color-ink)}.cal-chip-social{background:#efebff}@supports (color:color-mix(in lab, red, red)){.cal-chip-social{background:color-mix(in srgb, var(--color-violet) 12%, white)}}.cal-chip-social{color:var(--color-violet)}.cal-chip-other{background:var(--color-paper);color:var(--color-muted)}.cal-dot{background:currentColor;border-radius:999px;flex-shrink:0;width:.375rem;height:.375rem}.cal-chip-more{color:var(--color-muted);padding:.0625rem .25rem;font-size:.625rem;font-weight:600;text-decoration:none}.cal-chip-more:hover{color:var(--color-ink);text-decoration:underline}.cal-season-daynames{grid-template-columns:repeat(7,1fr);margin-bottom:.25rem;display:grid}.cal-season-dayname{text-align:center;font-family:var(--font-mono);color:var(--color-dim);text-transform:uppercase;font-size:.5625rem}.cal-season-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-season-cell{aspect-ratio:1;border-radius:.25rem;flex-direction:column;justify-content:center;align-items:center;gap:.0625rem;text-decoration:none;display:flex}.cal-season-daynum{font-family:var(--font-mono);color:var(--color-slate);font-size:.625rem}.cal-season-cell.is-outside .cal-season-daynum{color:var(--color-dim);opacity:.6}.cal-season-cell.is-today{background:var(--color-row-focus)}.cal-season-cell.is-today .cal-season-daynum{color:var(--color-club-dark);font-weight:700}.cal-season-cell.has-events{cursor:pointer}.cal-season-cell.has-events:hover{background:var(--color-subhead)}.cal-season-count{background:var(--color-club);min-width:.875rem;height:.875rem;color:var(--color-club-content);font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;padding:0 .1875rem;font-size:.5rem;font-weight:700;line-height:1;display:inline-flex}.event-section-header{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.event-section-icon{background:var(--color-rule);width:2.25rem;height:2.25rem;color:var(--color-ink);border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.event-section-icon-accent{background:var(--color-danger-bg);color:var(--color-club-dark)}.event-section-title{font-family:var(--font-display);letter-spacing:.03em;color:var(--color-ink);text-transform:uppercase;font-size:.9375rem;font-weight:800}.event-section-hint{color:var(--color-muted);margin-top:.125rem;font-size:.8125rem}.kind-grid{grid-template-columns:repeat(2,1fr);gap:.625rem;display:grid}@media (min-width:640px){.kind-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.kind-grid{grid-template-columns:repeat(6,1fr)}}.kind-card{border:1.5px solid var(--color-line);border-radius:var(--radius-box);color:var(--color-muted);cursor:pointer;text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:.875rem .5rem;transition:border-color .15s,background-color .15s,color .15s;display:flex}.kind-card:hover{border-color:var(--color-stroke);color:var(--color-ink)}.kind-card:has(input:focus-visible){outline:2px solid var(--color-club);outline-offset:2px}.kind-card-label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.kind-card:has(input:checked){border-color:var(--color-ink);background:var(--color-subhead);color:var(--color-ink)}.kind-card:has(input:checked)[data-kind=game]{border-color:var(--color-club-dark);background:var(--color-danger-bg);color:var(--color-club-dark)}.kind-card:has(input:checked)[data-kind=training]{border-color:var(--color-info);background:var(--color-info-bg);color:var(--color-info-text)}.kind-card:has(input:checked)[data-kind=tournament]{border-color:var(--color-warn);background:var(--color-warn-bg);color:var(--color-warn-text)}.kind-card:has(input:checked)[data-kind=social]{border-color:var(--color-violet);background:#efebff}@supports (color:color-mix(in lab, red, red)){.kind-card:has(input:checked)[data-kind=social]{background:color-mix(in srgb, var(--color-violet) 12%, white)}}.kind-card:has(input:checked)[data-kind=social]{color:var(--color-violet)}.event-clubwide-toggle{border:1px solid var(--color-line);background:var(--color-paper);border-radius:.625rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.event-summary{color:var(--color-slate);border-style:dashed;align-items:center;gap:.75rem;padding:.875rem 1.125rem;font-size:.875rem;display:flex}.event-summary-icon{background:var(--color-club);width:2rem;height:2rem;color:var(--color-club-content);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-\[3px\]{top:3px}.top-full{top:100%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-\[3px\]{right:3px}.bottom-full{bottom:100%}.left-0{left:0}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[3px\]{left:3px}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.ms-auto{margin-inline-start:auto}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-8\.5{height:calc(var(--spacing) * 8.5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-44{height:calc(var(--spacing) * 44)}.h-48{height:calc(var(--spacing) * 48)}.h-72{height:calc(var(--spacing) * 72)}.h-\[3px\]{height:3px}.h-\[7px\]{height:7px}.h-\[22px\]{height:22px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[52px\]{height:52px}.h-\[54px\]{height:54px}.h-\[68px\]{height:68px}.h-\[180px\]{height:180px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[7px\]{width:7px}.w-\[36rem\]{width:36rem}.w-\[68px\]{width:68px}.w-\[236px\]{width:236px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-\[35\%\]{max-width:35%}.max-w-\[91vw\]{max-width:91vw}.max-w-\[1440px\]{max-width:1440px}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scrollbar-gutter-stable{scrollbar-gutter:stable}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[14px\]{border-radius:14px}.rounded-box{border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#2C3B56\]{border-color:#2c3b56}.border-\[\#DDE1E7\]{border-color:#dde1e7}.border-club{border-color:var(--color-club)}.border-club-dark{border-color:var(--color-club-dark)}.border-danger-border{border-color:var(--color-danger-border)}.border-edge{border-color:var(--color-edge)}.border-hairline{border-color:var(--color-hairline)}.border-info{border-color:var(--color-info)}.border-info-border{border-color:var(--color-info-border)}.border-ink{border-color:var(--color-ink)}.border-line{border-color:var(--color-line)}.border-ok{border-color:var(--color-ok)}.border-on-dark-faint{border-color:var(--color-on-dark-faint)}.border-rule{border-color:var(--color-rule)}.border-sidebar-hairline{border-color:var(--color-sidebar-hairline)}.border-stroke{border-color:var(--color-stroke)}.border-violet\/30{border-color:#7c5cfc4d}@supports (color:color-mix(in lab, red, red)){.border-violet\/30{border-color:color-mix(in oklab, var(--color-violet) 30%, transparent)}}.border-warn{border-color:var(--color-warn)}.border-l-club-dark{border-left-color:var(--color-club-dark)}.border-l-info{border-left-color:var(--color-info)}.border-l-warn{border-left-color:var(--color-warn)}.bg-\[var\(--club\)\]{background-color:var(--club)}.bg-club{background-color:var(--color-club)}.bg-danger-bg{background-color:var(--color-danger-bg)}.bg-edge{background-color:var(--color-edge)}.bg-hairline{background-color:var(--color-hairline)}.bg-info-bg{background-color:var(--color-info-bg)}.bg-ink{background-color:var(--color-ink)}.bg-ok{background-color:var(--color-ok)}.bg-paper{background-color:var(--color-paper)}.bg-row-focus{background-color:var(--color-row-focus)}.bg-row-sel{background-color:var(--color-row-sel)}.bg-rule{background-color:var(--color-rule)}.bg-sidebar-bg{background-color:var(--color-sidebar-bg)}.bg-sidebar-chip{background-color:var(--color-sidebar-chip)}.bg-sidebar-hairline{background-color:var(--color-sidebar-hairline)}.bg-steel{background-color:var(--color-steel)}.bg-subhead{background-color:var(--color-subhead)}.bg-violet\/10{background-color:#7c5cfc1a}@supports (color:color-mix(in lab, red, red)){.bg-violet\/10{background-color:color-mix(in oklab, var(--color-violet) 10%, transparent)}}.bg-warn{background-color:var(--color-warn)}.bg-white{background-color:var(--color-white)}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.stroke-2{stroke-width:2px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-4\.5{padding:calc(var(--spacing) * 4.5)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[18px\]{padding:18px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-\[3px\]{padding-inline:3px}.px-\[18px\]{padding-inline:18px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-\[5px\]{padding-block:5px}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[22px\]{padding-bottom:22px}.pb-\[26px\]{padding-bottom:26px}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.text-\[34px\]{font-size:34px}.text-\[56px\]{font-size:56px}.leading-\[\.94\]{--tw-leading:.94;line-height:.94}.leading-\[\.95\]{--tw-leading:.95;line-height:.95}.leading-\[\.96\]{--tw-leading:.96;line-height:.96}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-\[\#4A5566\]{color:#4a5566}.text-club{color:var(--color-club)}.text-club-content{color:var(--color-club-content)}.text-club-dark{color:var(--color-club-dark)}.text-dim{color:var(--color-dim)}.text-edge{color:var(--color-edge)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-text{color:var(--color-info-text)}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-ok{color:var(--color-ok)}.text-ok-text{color:var(--color-ok-text)}.text-on-dark{color:var(--color-on-dark)}.text-on-dark-dim{color:var(--color-on-dark-dim)}.text-on-dark-faint{color:var(--color-on-dark-faint)}.text-sidebar-fg{color:var(--color-sidebar-fg)}.text-sidebar-fg-dim{color:var(--color-sidebar-fg-dim)}.text-sidebar-fg-faint{color:var(--color-sidebar-fg-faint)}.text-sky-500{color:var(--color-sky-500)}.text-slate{color:var(--color-slate)}.text-violet{color:var(--color-violet)}.text-warn{color:var(--color-warn)}.text-warn-text{color:var(--color-warn-text)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-\[\.72\]{opacity:.72}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[-24px_0_60px_rgba\(11\,18\,32\,\.2\)\]{--tw-shadow:-24px 0 60px var(--tw-shadow-color,#0b122033);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_24px_60px_rgba\(11\,18\,32\,\.18\)\]{--tw-shadow:0 24px 60px var(--tw-shadow-color,#0b12202e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_3px_0_0_var\(--color-info\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--color-info));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.empty\:hidden:empty{display:none}@media (hover:hover){.hover\:border-white:hover{border-color:var(--color-white)}.hover\:bg-ink:hover{background-color:var(--color-ink)}.hover\:bg-rule:hover{background-color:var(--color-rule)}.hover\:bg-sidebar-hairline:hover{background-color:var(--color-sidebar-hairline)}.hover\:bg-steel:hover{background-color:var(--color-steel)}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\:text-club:hover{color:var(--color-club)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:text-sidebar-fg:hover{color:var(--color-sidebar-fg)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-16{height:calc(var(--spacing) * 16)}.sm\:w-16{width:calc(var(--spacing) * 16)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:w-fit{width:fit-content}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[1\.6fr_1fr\]{grid-template-columns:1.6fr 1fr}.xl\:grid-cols-\[1\.35fr_1fr\]{grid-template-columns:1.35fr 1fr}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-ext-800-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file