@fifthbell/brokaw 0.1.47 → 0.1.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/components/live-program/LiveProgram.d.ts +2 -1
  2. package/dist/components/live-program/LiveProgram.js +257 -32
  3. package/dist/components/live-program/assets.d.ts +8 -8
  4. package/dist/components/live-program/assets.js +8 -8
  5. package/dist/components/live-program/components/slides/ArticleSlide.js +12 -2
  6. package/dist/components/live-program/components/slides/LiveEventSlide.d.ts +9 -0
  7. package/dist/components/live-program/components/slides/LiveEventSlide.js +86 -0
  8. package/dist/components/live-program/hooks/useSSE.js +72 -32
  9. package/dist/components/live-program/i18n.js +15 -0
  10. package/dist/components/live-program/segments/LiveEventSegment.d.ts +4 -0
  11. package/dist/components/live-program/segments/LiveEventSegment.js +27 -0
  12. package/dist/components/live-program/segments/MarketsSegment.js +3 -14
  13. package/dist/components/live-program/segments/WeatherSegment.js +11 -76
  14. package/dist/components/live-program/segments/fetchLiveEvents.d.ts +20 -0
  15. package/dist/components/live-program/segments/fetchLiveEvents.js +76 -0
  16. package/dist/components/live-program/segments/index.d.ts +2 -0
  17. package/dist/components/live-program/segments/index.js +2 -0
  18. package/dist/live-program/main.d.ts +1 -0
  19. package/dist/live-program/main.js +10 -0
  20. package/dist/live-program-page/fifthbell/audio/pipes.ogg +0 -0
  21. package/dist/live-program-page/fifthbell/images/berlin.jpg +0 -0
  22. package/dist/live-program-page/fifthbell/images/fifthbell.png +0 -0
  23. package/dist/live-program-page/fifthbell/images/nyc.jpg +0 -0
  24. package/dist/live-program-page/fifthbell/images/nyse.jpg +0 -0
  25. package/dist/live-program-page/fifthbell/images/santiago.jpg +0 -0
  26. package/dist/live-program-page/fifthbell/images/seismograph.jpg +0 -0
  27. package/dist/live-program-page/fifthbell/images/tokyo.jpg +0 -0
  28. package/dist/live-program-page/index.html +16 -0
  29. package/dist/live-program-page/live-program.css +3 -0
  30. package/dist/live-program-page/live-program.js +76 -0
  31. package/dist/renderer.d.ts +2 -1
  32. package/dist/renderer.js +1 -1
  33. package/dist/renderer.node.d.ts +8 -0
  34. package/dist/renderer.node.js +61 -0
  35. package/dist/utils/sofascore.d.ts +1 -1
  36. package/dist/utils/sofascore.js +2 -2
  37. package/package.json +6 -2
  38. package/src/styles/compiled.css +1 -1
  39. package/src/templates/partials/components/breaking-news/live-updates-column.hbs +4 -4
  40. package/src/templates/partials/components/breaking-news.hbs +1 -1
  41. package/src/templates/partials/headers/header-main.hbs +5 -2
  42. package/src/templates/partials/headers/header-minimal.hbs +1 -1
  43. package/src/templates/partials/shell/doc-start-standard.hbs +1 -1
@@ -3,6 +3,7 @@ export function useSSE({ url, onMessage, reconnectInterval = 3000, enabled = tru
3
3
  const [isConnected, setIsConnected] = useState(false);
4
4
  const [error, setError] = useState(null);
5
5
  const onMessageRef = useRef(onMessage);
6
+ const bufferRef = useRef('');
6
7
  useEffect(() => {
7
8
  onMessageRef.current = onMessage;
8
9
  }, [onMessage]);
@@ -13,42 +14,73 @@ export function useSSE({ url, onMessage, reconnectInterval = 3000, enabled = tru
13
14
  return;
14
15
  }
15
16
  let disposed = false;
16
- let eventSource = null;
17
+ let abortController = null;
17
18
  let reconnectTimer = null;
18
- const connect = () => {
19
- if (disposed) {
20
- return;
19
+ let reader = null;
20
+ const processLine = (line) => {
21
+ if (line.startsWith('data: ')) {
22
+ const dataStr = line.slice(6);
23
+ if (dataStr === '[DONE]')
24
+ return;
25
+ try {
26
+ const data = JSON.parse(dataStr);
27
+ console.log('[SSE] message:', data.type);
28
+ onMessageRef.current?.(data);
29
+ }
30
+ catch {
31
+ // partial data or non-JSON
32
+ }
21
33
  }
34
+ };
35
+ const onChunk = (chunk) => {
36
+ bufferRef.current += chunk;
37
+ const lines = bufferRef.current.split('\n');
38
+ bufferRef.current = lines.pop() || '';
39
+ for (const line of lines) {
40
+ const trimmed = line.trim();
41
+ if (trimmed)
42
+ processLine(trimmed);
43
+ }
44
+ };
45
+ const connect = async () => {
46
+ if (disposed)
47
+ return;
22
48
  try {
23
- eventSource = new EventSource(url);
24
- eventSource.onopen = () => {
25
- if (disposed) {
26
- return;
27
- }
28
- setIsConnected(true);
29
- setError(null);
30
- };
31
- eventSource.onmessage = (event) => {
32
- try {
33
- const data = JSON.parse(event.data);
34
- onMessageRef.current?.(data);
35
- }
36
- catch (err) {
37
- console.error('Failed to parse SSE data:', err);
38
- }
39
- };
40
- eventSource.onerror = () => {
41
- setIsConnected(false);
42
- setError(new Error('SSE connection error'));
43
- eventSource?.close();
44
- eventSource = null;
45
- if (!disposed) {
46
- reconnectTimer = window.setTimeout(connect, reconnectInterval);
47
- }
48
- };
49
+ abortController = new AbortController();
50
+ const response = await fetch(url, {
51
+ signal: abortController.signal,
52
+ cache: 'no-store',
53
+ });
54
+ if (!response.ok) {
55
+ throw new Error(`SSE fetch failed: ${response.status}`);
56
+ }
57
+ if (!response.body) {
58
+ throw new Error('SSE response has no body');
59
+ }
60
+ console.log('[SSE] connected to', url);
61
+ setIsConnected(true);
62
+ setError(null);
63
+ reader = response.body.getReader();
64
+ const decoder = new TextDecoder();
65
+ while (!disposed) {
66
+ const { done, value } = await reader.read();
67
+ if (done)
68
+ break;
69
+ onChunk(decoder.decode(value, { stream: true }));
70
+ }
49
71
  }
50
72
  catch (err) {
51
- setError(err);
73
+ if (disposed)
74
+ return;
75
+ if (err.name === 'AbortError')
76
+ return;
77
+ console.error('[SSE] error:', err);
78
+ setIsConnected(false);
79
+ setError(err instanceof Error ? err : new Error(String(err)));
80
+ }
81
+ finally {
82
+ reader = null;
83
+ abortController = null;
52
84
  if (!disposed) {
53
85
  reconnectTimer = window.setTimeout(connect, reconnectInterval);
54
86
  }
@@ -60,7 +92,15 @@ export function useSSE({ url, onMessage, reconnectInterval = 3000, enabled = tru
60
92
  if (reconnectTimer !== null) {
61
93
  window.clearTimeout(reconnectTimer);
62
94
  }
63
- eventSource?.close();
95
+ if (reader) {
96
+ try {
97
+ reader.cancel();
98
+ }
99
+ catch { /* no-op */ }
100
+ }
101
+ if (abortController) {
102
+ abortController.abort();
103
+ }
64
104
  };
65
105
  }, [enabled, url, reconnectInterval]);
66
106
  return { isConnected, error };
@@ -124,6 +124,21 @@ const translations = {
124
124
  es: 'Última actualización: {time}',
125
125
  it: 'Ultimo aggiornamento: {time}'
126
126
  },
127
+ 'segment.liveEvent': {
128
+ en: 'Live Event',
129
+ es: 'Evento en Vivo',
130
+ it: 'Evento in Diretta'
131
+ },
132
+ 'liveEvent.noUpdates': {
133
+ en: 'No updates yet',
134
+ es: 'Sin actualizaciones',
135
+ it: 'Nessun aggiornamento'
136
+ },
137
+ 'liveEvent.noLiveEvents': {
138
+ en: 'No live events',
139
+ es: 'No hay eventos en vivo',
140
+ it: 'Nessun evento in diretta'
141
+ },
127
142
  'city.NEW YORK': {
128
143
  en: 'NEW YORK',
129
144
  es: 'NUEVA YORK',
@@ -0,0 +1,4 @@
1
+ import type { LiveEventData } from './fetchLiveEvents.js';
2
+ import type { Segment } from './types.js';
3
+ import { type SupportedLanguage } from '../i18n.js';
4
+ export declare function createLiveEventSegment(liveEvent: LiveEventData | null, onDataUpdate?: (next: LiveEventData | null) => void, language?: SupportedLanguage): Segment;
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { LiveEventSlide } from '../components/slides/LiveEventSlide.js';
3
+ import { fetchLiveEvent } from './fetchLiveEvents.js';
4
+ import { t } from '../i18n.js';
5
+ function LiveEventSegmentRenderer({ event, progress, language }) {
6
+ if (!event) {
7
+ return (_jsx("div", { className: 'absolute inset-0 bg-black flex items-center justify-center', children: _jsx("p", { className: "text-white/50 text-2xl font-['Libre_Franklin']", children: t('liveEvent.noLiveEvents', language) }) }));
8
+ }
9
+ return (_jsx("div", { className: 'relative w-full h-full', children: _jsx(LiveEventSlide, { event: event, progress: progress, language: language }, event.title) }));
10
+ }
11
+ export function createLiveEventSegment(liveEvent, onDataUpdate, language = 'en') {
12
+ return {
13
+ id: 'live-event',
14
+ label: t('segment.liveEvent', language),
15
+ get itemCount() {
16
+ return liveEvent ? 1 : 0;
17
+ },
18
+ durationMsPerItem: 15000,
19
+ render: (itemIndex, progress) => (_jsx(LiveEventSegmentRenderer, { event: liveEvent, progress: progress, language: language }, 'live-event-0')),
20
+ prefetch: async () => {
21
+ if (!onDataUpdate)
22
+ return;
23
+ const fresh = await fetchLiveEvent(language);
24
+ onDataUpdate(fresh);
25
+ },
26
+ };
27
+ }
@@ -12,28 +12,17 @@ export async function fetchMarketData() {
12
12
  return marketCache.data;
13
13
  }
14
14
  try {
15
- const response = await fetch(`https://financialmodelingprep.com/stable/most-actives?apikey=a8mpam9ffQSf9ROfBBKovbPHRw25qtNH&_=${Date.now()}`);
15
+ const response = await fetch(`https://api.monitor.gaulatti.com/broadcast/markets?_=${Date.now()}`);
16
16
  if (!response.ok) {
17
17
  return marketCache?.data || [];
18
18
  }
19
19
  const data = await response.json();
20
- const marketData = data
21
- .filter((stock) => stock.price > 1 && Math.abs(stock.changesPercentage) < 200)
22
- .sort((a, b) => Math.abs(b.changesPercentage) - Math.abs(a.changesPercentage))
23
- .slice(0, 6)
24
- .map((stock) => ({
25
- symbol: stock.symbol,
26
- name: stock.name,
27
- price: stock.price,
28
- change: stock.change,
29
- changePercent: stock.changesPercentage
30
- }));
31
20
  marketCache = {
32
- data: marketData,
21
+ data,
33
22
  timestamp: now,
34
23
  updateTime: new Date().toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit' })
35
24
  };
36
- return marketData;
25
+ return data;
37
26
  }
38
27
  catch (error) {
39
28
  console.error('[MarketsSegment] Failed to fetch market data:', error);
@@ -4,74 +4,6 @@ import { Cloud, CloudRain, Sun, Wind } from 'lucide-react';
4
4
  import { FastAverageColor } from 'fast-average-color';
5
5
  import { FIFTHBELL_ASSETS } from '../assets.js';
6
6
  import { t } from '../i18n.js';
7
- const CITY_LOCATIONS = {
8
- 'New York': { lat: 40.7128, lon: -74.006 },
9
- 'San Juan': { lat: 18.4655, lon: -66.1057 },
10
- 'Los Angeles': { lat: 34.0522, lon: -118.2437 },
11
- Honolulu: { lat: 21.3099, lon: -157.8581 },
12
- 'Mexico City': { lat: 19.4326, lon: -99.1332 },
13
- Havana: { lat: 23.1136, lon: -82.3666 },
14
- London: { lat: 51.5074, lon: -0.1278 },
15
- Paris: { lat: 48.8566, lon: 2.3522 },
16
- Berlin: { lat: 52.52, lon: 13.405 },
17
- Rome: { lat: 41.9028, lon: 12.4964 },
18
- Madrid: { lat: 40.4168, lon: -3.7038 },
19
- Athens: { lat: 37.9838, lon: 23.7275 },
20
- Santiago: { lat: -33.4489, lon: -70.6693 },
21
- 'Buenos Aires': { lat: -34.6037, lon: -58.3816 },
22
- Rio: { lat: -22.9068, lon: -43.1729 },
23
- Lima: { lat: -12.0464, lon: -77.0428 },
24
- Caracas: { lat: 10.4806, lon: -66.9036 },
25
- Bogotá: { lat: 4.711, lon: -74.0721 },
26
- Tokyo: { lat: 35.6762, lon: 139.6503 },
27
- Seoul: { lat: 37.5665, lon: 126.978 },
28
- Shanghai: { lat: 31.2304, lon: 121.4737 },
29
- 'Hong Kong': { lat: 22.3193, lon: 114.1694 },
30
- Bangkok: { lat: 13.7563, lon: 100.5018 },
31
- Jakarta: { lat: -6.2088, lon: 106.8456 }
32
- };
33
- const REGIONS = [
34
- { region: 'North America', cities: ['New York', 'San Juan', 'Los Angeles', 'Honolulu', 'Mexico City', 'Havana'] },
35
- { region: 'Europe', cities: ['Rome', 'Berlin', 'Paris', 'Madrid', 'London', 'Athens'] },
36
- { region: 'South America', cities: ['Santiago', 'Buenos Aires', 'Rio', 'Lima', 'Caracas', 'Bogotá'] },
37
- { region: 'Asia', cities: ['Tokyo', 'Seoul', 'Shanghai', 'Hong Kong', 'Bangkok', 'Jakarta'] }
38
- ];
39
- function getWeatherCondition(weatherCode) {
40
- if (weatherCode === 0 || weatherCode === 1)
41
- return 'sunny';
42
- if (weatherCode === 2 || weatherCode === 3)
43
- return 'cloudy';
44
- if (weatherCode >= 51 && weatherCode <= 67)
45
- return 'rainy';
46
- if (weatherCode >= 71 && weatherCode <= 86)
47
- return 'rainy';
48
- if (weatherCode >= 95)
49
- return 'rainy';
50
- return 'cloudy';
51
- }
52
- async function fetchCityWeather(cityName) {
53
- const location = CITY_LOCATIONS[cityName];
54
- if (!location)
55
- return null;
56
- try {
57
- const response = await fetch(`https://api.open-meteo.com/v1/forecast?latitude=${location.lat}&longitude=${location.lon}&current=temperature_2m,weather_code&daily=temperature_2m_max,temperature_2m_min&temperature_unit=fahrenheit&timezone=auto`);
58
- if (!response.ok) {
59
- return null;
60
- }
61
- const data = await response.json();
62
- return {
63
- name: cityName,
64
- temp: Math.round(data.current.temperature_2m),
65
- condition: getWeatherCondition(data.current.weather_code),
66
- high: Math.round(data.daily.temperature_2m_max[0]),
67
- low: Math.round(data.daily.temperature_2m_min[0])
68
- };
69
- }
70
- catch (error) {
71
- console.error(`Failed to fetch weather for ${cityName}:`, error);
72
- return null;
73
- }
74
- }
75
7
  let weatherCache = null;
76
8
  const CACHE_DURATION_MS = 60 * 60 * 1000;
77
9
  export async function fetchWeatherData() {
@@ -79,16 +11,19 @@ export async function fetchWeatherData() {
79
11
  if (weatherCache && now - weatherCache.timestamp < CACHE_DURATION_MS) {
80
12
  return weatherCache.data;
81
13
  }
82
- const results = [];
83
- for (const regionDef of REGIONS) {
84
- const cityResults = await Promise.all(regionDef.cities.map((city) => fetchCityWeather(city)));
85
- const cities = cityResults.filter((city) => city !== null);
86
- if (cities.length > 0) {
87
- results.push({ region: regionDef.region, cities });
14
+ try {
15
+ const response = await fetch('https://api.monitor.gaulatti.com/broadcast/weather');
16
+ if (!response.ok) {
17
+ return weatherCache?.data || [];
88
18
  }
19
+ const data = await response.json();
20
+ weatherCache = { data, timestamp: now };
21
+ return data;
22
+ }
23
+ catch (error) {
24
+ console.error('Failed to fetch weather data:', error);
25
+ return weatherCache?.data || [];
89
26
  }
90
- weatherCache = { data: results, timestamp: now };
91
- return results;
92
27
  }
93
28
  function getWeatherIcon(condition, size = 48) {
94
29
  const iconProps = { size, strokeWidth: 2 };
@@ -0,0 +1,20 @@
1
+ import type { SupportedLanguage } from '../i18n.js';
2
+ export interface LiveEventUpdate {
3
+ timestamp?: string;
4
+ time?: string;
5
+ text?: string;
6
+ html?: string;
7
+ }
8
+ export interface LiveEventData {
9
+ category: string;
10
+ title: string;
11
+ excerpt?: string;
12
+ image: string;
13
+ alt?: string;
14
+ url: string;
15
+ liveUrl?: string;
16
+ sofascore_id?: number;
17
+ updatedAt: string;
18
+ updates: LiveEventUpdate[];
19
+ }
20
+ export declare function fetchLiveEvent(language?: SupportedLanguage): Promise<LiveEventData | null>;
@@ -0,0 +1,76 @@
1
+ function extractUpdatesFromAuburnaleEvent(updates) {
2
+ if (!updates || updates.length === 0)
3
+ return [];
4
+ return updates.map((u) => {
5
+ let text = '';
6
+ try {
7
+ const parsed = typeof u.content === 'string' ? JSON.parse(u.content) : u.content;
8
+ text = parsed?.root?.children?.[0]?.children?.[0]?.text || '';
9
+ }
10
+ catch {
11
+ text = String(u.content || '');
12
+ }
13
+ return {
14
+ timestamp: u.timestamp,
15
+ text: text || 'Update available',
16
+ };
17
+ });
18
+ }
19
+ async function fetchFromAuburnale(language) {
20
+ const baseUrl = typeof window !== 'undefined' ? `http://${window.location.hostname}:3000` : 'http://127.0.0.1:3000';
21
+ try {
22
+ const res = await fetch(`${baseUrl}/events?status=published&limit=1&sort=-eventDate&language=${language}`, {
23
+ signal: AbortSignal.timeout(3000),
24
+ });
25
+ if (!res.ok)
26
+ return null;
27
+ const body = await res.json();
28
+ const items = body.data || [];
29
+ const event = items.find((e) => typeof e.sofascore_id === 'number' && e.sofascore_id > 0);
30
+ if (!event)
31
+ return null;
32
+ return {
33
+ category: event.categories?.[0]?.name || 'EVENT',
34
+ title: event.title,
35
+ excerpt: '',
36
+ image: event.featuredImage?.url || '',
37
+ alt: event.featuredImage?.alt || event.title,
38
+ url: `/${event.slug}`,
39
+ sofascore_id: event.sofascore_id,
40
+ updatedAt: event.eventDate || new Date().toISOString(),
41
+ updates: extractUpdatesFromAuburnaleEvent(event.updates),
42
+ };
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ export async function fetchLiveEvent(language = 'en') {
49
+ try {
50
+ const response = await fetch(`https://cdn.fifthbell.com/content/homepage-current-${language}.json?_=${Date.now()}`, { cache: 'no-store' });
51
+ if (!response.ok) {
52
+ return fetchFromAuburnale(language);
53
+ }
54
+ const data = await response.json();
55
+ const main = data.breakingNews?.main;
56
+ if (!main || !main.title) {
57
+ return fetchFromAuburnale(language);
58
+ }
59
+ return {
60
+ category: main.category || 'LIVE',
61
+ title: main.title,
62
+ excerpt: main.excerpt,
63
+ image: main.image || '',
64
+ alt: main.alt || main.title,
65
+ url: main.url || '/',
66
+ liveUrl: main.liveUrl,
67
+ sofascore_id: main.sofascore_id,
68
+ updatedAt: data.updatedAt || new Date().toISOString(),
69
+ updates: data.breakingNews?.updates || [],
70
+ };
71
+ }
72
+ catch (error) {
73
+ console.error('Error fetching live event:', error);
74
+ return fetchFromAuburnale(language);
75
+ }
76
+ }
@@ -4,3 +4,5 @@ export { createArticlesSegment, fetchArticles, type NewsItem } from './ArticlesS
4
4
  export { createWeatherSegment, fetchWeatherData, type WeatherRegionData, type WeatherCityData } from './WeatherSegment.js';
5
5
  export { createEarthquakeSegment, fetchEarthquakes, type EarthquakeData } from './EarthquakeSegment.js';
6
6
  export * from './MarketsSegment.js';
7
+ export { createLiveEventSegment } from './LiveEventSegment.js';
8
+ export { fetchLiveEvent, type LiveEventData, type LiveEventUpdate } from './fetchLiveEvents.js';
@@ -4,3 +4,5 @@ export { createArticlesSegment, fetchArticles } from './ArticlesSegment.js';
4
4
  export { createWeatherSegment, fetchWeatherData } from './WeatherSegment.js';
5
5
  export { createEarthquakeSegment, fetchEarthquakes } from './EarthquakeSegment.js';
6
6
  export * from './MarketsSegment.js';
7
+ export { createLiveEventSegment } from './LiveEventSegment.js';
8
+ export { fetchLiveEvent } from './fetchLiveEvents.js';
@@ -0,0 +1 @@
1
+ import './style.css';
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /// <reference types="vite/client" />
3
+ import './style.css';
4
+ import React from 'react';
5
+ import ReactDOM from 'react-dom/client';
6
+ import LiveProgram from '../components/live-program/LiveProgram.js';
7
+ const root = document.getElementById('root');
8
+ if (root) {
9
+ ReactDOM.createRoot(root).render(_jsx(React.StrictMode, { children: _jsx(LiveProgram, { apiBaseUrl: import.meta.env.VITE_API_BASE_URL }) }));
10
+ }
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
6
+ <title>Live Program | fifthbell</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
+ <link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Encode+Sans+Condensed:wght@100;200;300;400;500;600;700;800;900&family=Encode+Sans:wght@100..900&family=Funnel+Display:wght@300..800&family=League+Gothic&family=Libre+Franklin:ital,wght@0,100..900;1,100..900&family=Outfit:wght@100..900&display=swap" rel="stylesheet" />
10
+ <script type="module" crossorigin src="./live-program.js"></script>
11
+ <link rel="stylesheet" crossorigin href="./live-program.css">
12
+ </head>
13
+ <body>
14
+ <div id="root"></div>
15
+ </body>
16
+ </html>
@@ -0,0 +1,3 @@
1
+ /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
+ @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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scrollbar-thumb:#0000;--tw-scrollbar-track:#0000;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-400:oklch(85.2% .199 91.936);--color-green-400:oklch(79.2% .209 151.711);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-950:oklch(26.2% .051 172.552);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-400:oklch(70.7% .165 254.624);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-xl:80rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--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;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--blur-2xl:40px;--aspect-video:16 / 9;--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)}}@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;-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}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-6{top:calc(var(--spacing) * 6)}.top-16{top:calc(var(--spacing) * 16)}.top-20{top:calc(var(--spacing) * 20)}.top-\[5px\]{top:5px}.top-\[100vh\]{top:100vh}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-8{right:calc(var(--spacing) * 8)}.right-24{right:calc(var(--spacing) * 24)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-8{bottom:calc(var(--spacing) * 8)}.bottom-24{bottom:calc(var(--spacing) * 24)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.left-24{left:calc(var(--spacing) * 24)}.left-\[5px\]{left:5px}.left-\[7px\]{left:7px}.left-\[9px\]{left:9px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-100{z-index:100}.z-\[60\]{z-index:60}.order-1{order:1}.order-2{order:2}.order-3{order:3}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-5{grid-column:span 5/span 5}.col-span-7{grid-column:span 7/span 7}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-6{margin-inline:calc(var(--spacing) * 6)}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-1{margin-top:calc(var(--spacing) * 1)}.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-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-12{margin-top:calc(var(--spacing) * 12)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.mb-24{margin-bottom:calc(var(--spacing) * 24)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!grid{display:grid!important}.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-\[3\/2\]{aspect-ratio:3/2}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-video{aspect-ratio:var(--aspect-video)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.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-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-50{height:calc(var(--spacing) * 50)}.h-\[180px\]{height:180px}.h-\[200px\]{height:200px}.h-\[360px\]{height:360px}.h-\[400px\]{height:400px}.h-auto{height:auto}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[120px\]{min-height:120px}.min-h-\[250px\]{min-height:250px}.min-h-\[740px\]{min-height:740px}.min-h-\[800px\]{min-height:800px}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.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-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-44{width:calc(var(--spacing) * 44)}.w-\[1200px\]{width:1200px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[592px\]{max-width:592px}.max-w-\[1440px\]{max-width:1440px}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-screen-xl{max-width:var(--breakpoint-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-50{--tw-scale-x:50%;--tw-scale-y:50%;--tw-scale-z:50%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-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)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thumb-slate-300{--tw-scrollbar-thumb:var(--color-slate-300);scrollbar-color:var(--tw-scrollbar-thumb) var(--tw-scrollbar-track)}.scrollbar-track-transparent{--tw-scrollbar-track:transparent;scrollbar-color:var(--tw-scrollbar-thumb) var(--tw-scrollbar-track)}.list-decimal{list-style-type:decimal}.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-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-rows-\[0fr\]{grid-template-rows:0fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-15{gap:calc(var(--spacing) * 15)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}: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)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.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-0{border-style:var(--tw-border-style);border-width:0}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-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{border-left-style:var(--tw-border-style);border-left-width:1px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#717273\]{border-color:#717273}.border-\[\#b21100\]{border-color:#b21100}.border-amber-500{border-color:var(--color-amber-500)}.border-emerald-500{border-color:var(--color-emerald-500)}.border-sky-500{border-color:var(--color-sky-500)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-400{border-color:var(--color-slate-400)}.border-white{border-color:var(--color-white)}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.\!bg-\[\#b21100\]{background-color:#b21100!important}.bg-\[\#0C0C0C\]{background-color:#0c0c0c}.bg-\[\#4FC3F7\]{background-color:#4fc3f7}.bg-\[\#b21100\]{background-color:#b21100}.bg-\[\#cc0000\]{background-color:#c00}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-50\/60{background-color:#fffbeb99}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\/60{background-color:color-mix(in oklab, var(--color-amber-50) 60%, transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black{background-color:var(--color-black)}.bg-black\/35{background-color:#00000059}@supports (color:color-mix(in lab, red, red)){.bg-black\/35{background-color:color-mix(in oklab, var(--color-black) 35%, transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/55{background-color:#0000008c}@supports (color:color-mix(in lab, red, red)){.bg-black\/55{background-color:color-mix(in oklab, var(--color-black) 55%, transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/60{background-color:#ecfdf599}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\/60{background-color:color-mix(in oklab, var(--color-emerald-50) 60%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-50\/60{background-color:#f0f9ff99}@supports (color:color-mix(in lab, red, red)){.bg-sky-50\/60{background-color:color-mix(in oklab, var(--color-sky-50) 60%, transparent)}}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/60{background-color:#f8fafc99}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/60{background-color:color-mix(in oklab, var(--color-slate-50) 60%, transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-500{background-color:var(--color-slate-500)}.bg-slate-600{background-color:var(--color-slate-600)}.bg-slate-700{background-color:var(--color-slate-700)}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.bg-white\/98{background-color:#fffffffa}@supports (color:color-mix(in lab, red, red)){.bg-white\/98{background-color:color-mix(in oklab, var(--color-white) 98%, transparent)}}.bg-\[radial-gradient\(circle_at_30\%_30\%\,rgba\(255\,255\,255\,0\.1\)\,transparent_60\%\)\]{background-image:radial-gradient(circle at 30% 30%,#ffffff1a,#0000 60%)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-cover{object-fit:cover}.object-center{object-position:center}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.p-16{padding:calc(var(--spacing) * 16)}.p-24{padding:calc(var(--spacing) * 24)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-24{padding-inline:calc(var(--spacing) * 24)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.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-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[11px\]{padding-block:11px}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pb-40{padding-bottom:calc(var(--spacing) * 40)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-12{padding-left:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-\[\'Encode_Sans\'\]{font-family:Encode Sans}.font-\[\'Encode_Sans_Condensed\'\]{font-family:Encode Sans Condensed}.font-\[\'JetBrains_Mono\'\]{font-family:JetBrains Mono}.font-\[\'Libre_Franklin\'\]{font-family:Libre Franklin}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.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-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--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-\[22px\]{font-size:22px}.text-\[40px\]{font-size:40px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-11{--tw-leading:calc(var(--spacing) * 11);line-height:calc(var(--spacing) * 11)}.leading-\[1\]{--tw-leading:1;line-height:1}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-\[45px\]{--tw-leading:45px;line-height:45px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.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-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[1px\]{--tw-tracking:1px;letter-spacing:1px}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.\[text-wrap\:balance\],.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.\!text-white{color:var(--color-white)!important}.text-\[\#0ea5e9\]{color:#0ea5e9}.text-\[\#4FC3F7\]{color:#4fc3f7}.text-\[\#0066cc\]{color:#06c}.text-\[\#121212\]{color:#121212}.text-\[\#F9FAFB\]{color:#f9fafb}.text-\[\#b21100\]{color:#b21100}.text-amber-700{color:var(--color-amber-700)}.text-black{color:var(--color-black)}.text-blue-400{color:var(--color-blue-400)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-orange-500{color:var(--color-orange-500)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-700{color:var(--color-red-700)}.text-sky-700{color:var(--color-sky-700)}.text-slate-50{color:var(--color-slate-50)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.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)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.underline{text-decoration-line:underline}.decoration-\[\#b21100\]{text-decoration-color:#b21100}.decoration-\[\#b21100\]\/20{text-decoration-color:oklab(48.4929% .165121 .0972804/.2)}.decoration-4{text-decoration-thickness:4px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);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_0_12px_rgba\(79\,195\,247\,0\.5\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#4fc3f780);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_10px_20px_-12px_rgba\(204\,0\,0\,0\.9\)\]{--tw-shadow:0 10px 20px -12px var(--tw-shadow-color,#cc0000e6);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)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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-white{--tw-ring-color:var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-xl{--tw-blur:blur(var(--blur-xl));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,)}.grayscale{--tw-grayscale:grayscale(100%);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-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));-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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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,)}.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{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}.group-open\:grid-rows-\[1fr\]:is(:where(.group):is([open],:popover-open,:open) *){grid-template-rows:1fr}.group-open\:text-\[\#b21100\]:is(:where(.group):is([open],:popover-open,:open) *){color:#b21100}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-\[1\.02\]:is(:where(.group):hover *){scale:1.02}.group-hover\:text-\[\#0A66C2\]:is(:where(.group):hover *){color:#0a66c2}.group-hover\:text-\[\#25D366\]:is(:where(.group):hover *){color:#25d366}.group-hover\:text-\[\#26A5E4\]:is(:where(.group):hover *){color:#26a5e4}.group-hover\:text-\[\#0085ff\]:is(:where(.group):hover *){color:#0085ff}.group-hover\:text-\[\#1877F2\]:is(:where(.group):hover *){color:#1877f2}.group-hover\:text-\[\#FF4500\]:is(:where(.group):hover *){color:#ff4500}.group-hover\:text-slate-900:is(:where(.group):hover *){color:var(--color-slate-900)}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.marker\:hidden ::-webkit-details-marker{display:none}.marker\:hidden::-webkit-details-marker{display:none}.placeholder\:text-slate-400::placeholder{color:var(--color-slate-400)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\:h-2:before{content:var(--tw-content);height:calc(var(--spacing) * 2)}.before\:w-2:before{content:var(--tw-content);width:calc(var(--spacing) * 2)}.before\:-translate-y-1\/2:before{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.before\:rounded-sm:before{content:var(--tw-content);border-radius:var(--radius-sm)}.before\:bg-\[\#b21100\]:before{content:var(--tw-content);background-color:#b21100}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-\[\#0A66C2\]:hover{border-color:#0a66c2}.hover\:border-\[\#25D366\]:hover{border-color:#25d366}.hover\:border-\[\#26A5E4\]:hover{border-color:#26a5e4}.hover\:border-\[\#0085ff\]:hover{border-color:#0085ff}.hover\:border-\[\#1877F2\]:hover{border-color:#1877f2}.hover\:border-\[\#FF4500\]:hover{border-color:#ff4500}.hover\:border-\[\#b21100\]:hover{border-color:#b21100}.hover\:border-slate-900:hover{border-color:var(--color-slate-900)}.hover\:border-slate-950:hover{border-color:var(--color-slate-950)}.hover\:bg-\[\#8a0d00\]:hover{background-color:#8a0d00}.hover\:bg-\[\#8f0d00\]:hover{background-color:#8f0d00}.hover\:bg-\[\#b21100\]:hover{background-color:#b21100}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-\[\#000000\]:hover{color:#000}.hover\:text-\[\#0085ff\]:hover{color:#0085ff}.hover\:text-\[\#E4405F\]:hover{color:#e4405f}.hover\:text-\[\#FF0000\]:hover{color:red}.hover\:text-\[\#b21100\]:hover{color:#b21100}.hover\:text-slate-300:hover{color:var(--color-slate-300)}.hover\:text-slate-950:hover{color:var(--color-slate-950)}.hover\:underline:hover{text-decoration-line:underline}.hover\:grayscale-0:hover{--tw-grayscale:grayscale(0%);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,)}}.focus\:ring-2:focus{--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)}.focus\:ring-\[\#b21100\]\/40:focus{--tw-ring-color:oklab(48.4929% .165121 .0972804/.4)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-2:focus-visible{--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)}.focus-visible\:ring-\[\#b21100\]:focus-visible{--tw-ring-color:#b21100}.focus-visible\:ring-\[\#cc0000\]:focus-visible{--tw-ring-color:#c00}.focus-visible\:ring-offset-2:focus-visible{--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)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (width>=40rem){.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width>=48rem){.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:mb-12{margin-bottom:calc(var(--spacing) * 12)}.md\:flex{display:flex}.md\:grid{display:grid}.md\:inline{display:inline}.md\:min-h-\[900px\]{min-height:900px}.md\:\[transform\:rotate\(180deg\)\]{transform:rotate(180deg)}.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\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:justify-start{justify-content:flex-start}.md\:gap-6{gap:calc(var(--spacing) * 6)}:where(.md\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:py-8{padding-block:calc(var(--spacing) * 8)}.md\:py-20{padding-block:calc(var(--spacing) * 20)}.md\:pl-10{padding-left:calc(var(--spacing) * 10)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:text-\[44px\]{font-size:44px}.md\:leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.md\:leading-\[56px\]{--tw-leading:56px;line-height:56px}.md\:\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}}@media (width>=64rem){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-16{height:calc(var(--spacing) * 16)}.lg\:w-16{width:calc(var(--spacing) * 16)}.lg\:w-56{width:calc(var(--spacing) * 56)}.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-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:gap-4{gap:calc(var(--spacing) * 4)}.lg\:gap-6{gap:calc(var(--spacing) * 6)}.lg\:gap-8{gap:calc(var(--spacing) * 8)}:where(.lg\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}.lg\:rounded-lg{border-radius:var(--radius-lg)}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:pt-8{padding-top:calc(var(--spacing) * 8)}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\:leading-\[22px\]{--tw-leading:22px;line-height:22px}}@media (width>=80rem){.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:mt-0{margin-top:calc(var(--spacing) * 0)}.xl\:grid{display:grid}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:gap-8{gap:calc(var(--spacing) * 8)}.xl\:gap-12{gap:calc(var(--spacing) * 12)}.xl\:rounded-lg{border-radius:var(--radius-lg)}.xl\:rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.xl\:rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.xl\:px-0{padding-inline:calc(var(--spacing) * 0)}.xl\:px-4{padding-inline:calc(var(--spacing) * 4)}.xl\:px-8{padding-inline:calc(var(--spacing) * 8)}.xl\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.xl\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.xl\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.xl\:\[contain\:size\]{contain:size}}@media (prefers-color-scheme:dark){.dark\:border-\[\#ff2e1a\]{border-color:#ff2e1a}.dark\:border-slate-600{border-color:var(--color-slate-600)}.dark\:border-slate-700{border-color:var(--color-slate-700)}.dark\:border-slate-800{border-color:var(--color-slate-800)}.dark\:bg-\[\#ff2e1a\]{background-color:#ff2e1a}.dark\:bg-amber-950\/30{background-color:#4619014d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-950\/30{background-color:color-mix(in oklab, var(--color-amber-950) 30%, transparent)}}.dark\:bg-emerald-950\/30{background-color:#002c224d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-950\/30{background-color:color-mix(in oklab, var(--color-emerald-950) 30%, transparent)}}.dark\:bg-sky-950\/30{background-color:#052f4a4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-950\/30{background-color:color-mix(in oklab, var(--color-sky-950) 30%, transparent)}}.dark\:bg-slate-600{background-color:var(--color-slate-600)}.dark\:bg-slate-700{background-color:var(--color-slate-700)}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:bg-slate-800\/60{background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/60{background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.dark\:bg-slate-900{background-color:var(--color-slate-900)}.dark\:bg-slate-900\/40{background-color:#0f172b66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-900\/40{background-color:color-mix(in oklab, var(--color-slate-900) 40%, transparent)}}.dark\:bg-slate-900\/98{background-color:#0f172bfa}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-900\/98{background-color:color-mix(in oklab, var(--color-slate-900) 98%, transparent)}}.dark\:bg-slate-950{background-color:var(--color-slate-950)}.dark\:bg-slate-950\/40{background-color:#02061866}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/40{background-color:color-mix(in oklab, var(--color-slate-950) 40%, transparent)}}.dark\:text-\[\#4FC3F7\]{color:#4fc3f7}.dark\:text-\[\#ff2e1a\]{color:#ff2e1a}.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-emerald-300{color:var(--color-emerald-300)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-red-500{color:var(--color-red-500)}.dark\:text-sky-400{color:var(--color-sky-400)}.dark\:text-slate-100{color:var(--color-slate-100)}.dark\:text-slate-200{color:var(--color-slate-200)}.dark\:text-slate-300{color:var(--color-slate-300)}.dark\:text-slate-400{color:var(--color-slate-400)}.dark\:text-slate-500{color:var(--color-slate-500)}.dark\:text-slate-600{color:var(--color-slate-600)}.dark\:text-slate-700{color:var(--color-slate-700)}.dark\:text-white{color:var(--color-white)}.dark\:ring-slate-950{--tw-ring-color:var(--color-slate-950)}.dark\:group-open\:text-\[\#ff2e1a\]:is(:where(.group):is([open],:popover-open,:open) *){color:#ff2e1a}@media (hover:hover){.dark\:group-hover\:text-\[\#0A66C2\]:is(:where(.group):hover *){color:#0a66c2}.dark\:group-hover\:text-\[\#25D366\]:is(:where(.group):hover *){color:#25d366}.dark\:group-hover\:text-\[\#26A5E4\]:is(:where(.group):hover *){color:#26a5e4}.dark\:group-hover\:text-\[\#0085ff\]:is(:where(.group):hover *){color:#0085ff}.dark\:group-hover\:text-\[\#1877F2\]:is(:where(.group):hover *){color:#1877f2}.dark\:group-hover\:text-\[\#FF4500\]:is(:where(.group):hover *){color:#ff4500}.dark\:group-hover\:text-slate-100:is(:where(.group):hover *){color:var(--color-slate-100)}}.dark\:placeholder\:text-slate-500::placeholder{color:var(--color-slate-500)}@media (hover:hover){.dark\:hover\:border-\[\#0A66C2\]:hover{border-color:#0a66c2}.dark\:hover\:border-\[\#25D366\]:hover{border-color:#25d366}.dark\:hover\:border-\[\#26A5E4\]:hover{border-color:#26a5e4}.dark\:hover\:border-\[\#0085ff\]:hover{border-color:#0085ff}.dark\:hover\:border-\[\#1877F2\]:hover{border-color:#1877f2}.dark\:hover\:border-\[\#FF4500\]:hover{border-color:#ff4500}.dark\:hover\:border-\[\#ff2e1a\]:hover{border-color:#ff2e1a}.dark\:hover\:border-slate-100:hover{border-color:var(--color-slate-100)}.dark\:hover\:border-white:hover{border-color:var(--color-white)}.dark\:hover\:bg-\[\#cc2515\]:hover{background-color:#cc2515}.dark\:hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.dark\:hover\:bg-slate-900:hover{background-color:var(--color-slate-900)}.dark\:hover\:bg-slate-900\/50:hover{background-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-900\/50:hover{background-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.dark\:hover\:text-\[\#0085ff\]:hover{color:#0085ff}.dark\:hover\:text-\[\#E4405F\]:hover{color:#e4405f}.dark\:hover\:text-\[\#FF0000\]:hover{color:red}.dark\:hover\:text-\[\#ff2e1a\]:hover{color:#ff2e1a}.dark\:hover\:text-\[\#ffffff\]:hover{color:#fff}.dark\:hover\:text-white:hover{color:var(--color-white)}}}.\[\&_a\]\:text-\[\#4FC3F7\] a{color:#4fc3f7}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_img\]\:mt-2 img{margin-top:calc(var(--spacing) * 2)}.\[\&_img\]\:mt-3 img{margin-top:calc(var(--spacing) * 3)}.\[\&_img\]\:hidden img{display:none}.\[\&_img\]\:h-auto img{height:auto}.\[\&_img\]\:w-full img{width:100%}.\[\&_img\]\:rounded-lg img{border-radius:var(--radius-lg)}.\[\&_img\]\:rounded-md img{border-radius:var(--radius-md)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:\:-webkit-scrollbar\]\:h-1\.5::-webkit-scrollbar{height:calc(var(--spacing) * 1.5)}.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar{width:calc(var(--spacing) * 1.5)}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-slate-300::-webkit-scrollbar-thumb{background-color:var(--color-slate-300)}@media (prefers-color-scheme:dark){.dark\:\[\&\:\:-webkit-scrollbar-thumb\]\:bg-slate-600::-webkit-scrollbar-thumb{background-color:var(--color-slate-600)}}.\[\&\:\:-webkit-scrollbar-thumb\:hover\]\:bg-slate-400::-webkit-scrollbar-thumb:hover{background-color:var(--color-slate-400)}@media (prefers-color-scheme:dark){.dark\:\[\&\:\:-webkit-scrollbar-thumb\:hover\]\:bg-slate-500::-webkit-scrollbar-thumb:hover{background-color:var(--color-slate-500)}}.\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track{background-color:#0000}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-scrollbar-thumb{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-scrollbar-track{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";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:"<percentage>";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:"<length>";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:"<percentage>";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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
3
+ /*$vite$:1*/