@nomideusz/svelte-calendar 0.6.5 → 0.6.8

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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Bartosz Dymet
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A themeable **Svelte 5** calendar with **Day/Week Planner & Agenda** views, touch-first mobile views, and a smart auto-theme that adapts to any page.
4
4
 
5
+ **[Live demo → svelte-calendar.xyz](https://svelte-calendar.xyz/)**
6
+
5
7
  ## Installation
6
8
 
7
9
  ```bash
@@ -9,3 +9,5 @@ export { createMappedAdapter } from './mapped.js';
9
9
  export type { FieldMapping, MappedAdapterOptions, MutationHandler } from './mapped.js';
10
10
  export { createCompositeAdapter } from './composite.js';
11
11
  export type { CompositeAdapterOptions } from './composite.js';
12
+ export { createJmapAdapter } from './jmap.js';
13
+ export type { JmapClient, JmapCalendarAdapterOptions } from './jmap.js';
@@ -3,3 +3,4 @@ export { createRestAdapter } from './rest.js';
3
3
  export { createRecurringAdapter } from './recurring.js';
4
4
  export { createMappedAdapter } from './mapped.js';
5
5
  export { createCompositeAdapter } from './composite.js';
6
+ export { createJmapAdapter } from './jmap.js';
@@ -0,0 +1,22 @@
1
+ import type { CalendarAdapter } from './types.js';
2
+ export interface JmapClient {
3
+ request(calls: any[]): Promise<{
4
+ methodResponses: [string, any, string][];
5
+ }>;
6
+ }
7
+ export interface JmapCalendarAdapterOptions {
8
+ getAccountId: () => string;
9
+ calendarId?: string;
10
+ timeZone?: string;
11
+ /** Map JMAP calendar color/category names */
12
+ calendars?: {
13
+ id: string;
14
+ name: string;
15
+ color: string;
16
+ }[] | (() => {
17
+ id: string;
18
+ name: string;
19
+ color: string;
20
+ }[]);
21
+ }
22
+ export declare function createJmapAdapter(client: JmapClient, options: JmapCalendarAdapterOptions): CalendarAdapter;
@@ -0,0 +1,130 @@
1
+ export function createJmapAdapter(client, options) {
2
+ const getAccountId = options.getAccountId;
3
+ const timeZone = options.timeZone ?? 'Etc/UTC';
4
+ function parseIsoDuration(duration) {
5
+ const match = /^P(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/i.exec(duration);
6
+ if (!match)
7
+ return 0;
8
+ const days = Number(match[1] ?? 0);
9
+ const hours = Number(match[2] ?? 0);
10
+ const minutes = Number(match[3] ?? 0);
11
+ const seconds = Number(match[4] ?? 0);
12
+ return (((days * 24 + hours) * 60 + minutes) * 60 + seconds) * 1000;
13
+ }
14
+ function parseEventStart(event) {
15
+ if (event.utcStart)
16
+ return new Date(event.utcStart);
17
+ if (event.start) {
18
+ if (event.showWithoutTime) {
19
+ const [datePart] = event.start.split('T');
20
+ const [year, month, day] = datePart.split('-').map(Number);
21
+ return new Date(year, month - 1, day);
22
+ }
23
+ return new Date(event.start);
24
+ }
25
+ return new Date();
26
+ }
27
+ function parseEventEnd(event, start) {
28
+ if (event.utcEnd)
29
+ return new Date(event.utcEnd);
30
+ if (event.duration) {
31
+ return new Date(start.getTime() + parseIsoDuration(event.duration));
32
+ }
33
+ if (event.showWithoutTime) {
34
+ return new Date(start.getFullYear(), start.getMonth(), start.getDate(), 23, 59, 59, 999);
35
+ }
36
+ return new Date(start.getTime() + 60 * 60 * 1000);
37
+ }
38
+ function firstLocation(event) {
39
+ if (!event.locations)
40
+ return undefined;
41
+ for (const location of Object.values(event.locations)) {
42
+ if (location.name)
43
+ return location.name;
44
+ if (location.description)
45
+ return location.description;
46
+ }
47
+ return undefined;
48
+ }
49
+ function resolveCalendars() {
50
+ const cal = options.calendars;
51
+ if (typeof cal === 'function')
52
+ return cal();
53
+ return cal ?? [];
54
+ }
55
+ return {
56
+ async fetchEvents(range) {
57
+ const accountId = getAccountId();
58
+ if (!accountId)
59
+ return [];
60
+ const filter = {
61
+ after: range.start.toISOString(),
62
+ before: range.end.toISOString()
63
+ };
64
+ if (options.calendarId) {
65
+ filter.inCalendar = options.calendarId;
66
+ }
67
+ const response = await client.request([
68
+ [
69
+ 'CalendarEvent/query',
70
+ {
71
+ accountId,
72
+ filter,
73
+ expandRecurrences: true,
74
+ timeZone,
75
+ limit: 500
76
+ },
77
+ 'ceq'
78
+ ],
79
+ [
80
+ 'CalendarEvent/get',
81
+ {
82
+ accountId,
83
+ '#ids': { resultOf: 'ceq', name: 'CalendarEvent/query', path: '/ids' },
84
+ properties: [
85
+ 'id',
86
+ 'calendarIds',
87
+ 'title',
88
+ 'description',
89
+ 'start',
90
+ 'duration',
91
+ 'timeZone',
92
+ 'showWithoutTime',
93
+ 'utcStart',
94
+ 'utcEnd',
95
+ 'locations'
96
+ ]
97
+ },
98
+ 'ceg'
99
+ ]
100
+ ]);
101
+ const queryResponse = response.methodResponses?.find(r => r[0] === 'CalendarEvent/query' || r[2] === 'ceq');
102
+ const getResponse = response.methodResponses?.find(r => r[0] === 'CalendarEvent/get' || r[2] === 'ceg');
103
+ if (queryResponse?.[0] === 'error') {
104
+ const error = queryResponse[1];
105
+ throw new Error(error.description ?? error.type ?? 'CalendarEvent/query failed');
106
+ }
107
+ if (!getResponse || getResponse[0] === 'error') {
108
+ return [];
109
+ }
110
+ const jmapEvents = getResponse[1].list ?? [];
111
+ const currentCalendars = resolveCalendars();
112
+ return jmapEvents.map((jmapEvent) => {
113
+ const start = parseEventStart(jmapEvent);
114
+ const end = parseEventEnd(jmapEvent, start);
115
+ const calendarIds = Object.keys(jmapEvent.calendarIds ?? {});
116
+ const associatedCal = currentCalendars.find((c) => calendarIds.includes(c.id));
117
+ return {
118
+ id: jmapEvent.id,
119
+ title: jmapEvent.title?.trim() || '(No title)',
120
+ start,
121
+ end,
122
+ allDay: !!jmapEvent.showWithoutTime,
123
+ location: firstLocation(jmapEvent),
124
+ color: associatedCal?.color,
125
+ category: associatedCal?.name
126
+ };
127
+ });
128
+ }
129
+ };
130
+ }
package/dist/index.d.ts CHANGED
@@ -3,8 +3,8 @@ export { Calendar } from './calendar/index.js';
3
3
  export type { CalendarView } from './calendar/index.js';
4
4
  export { createEventStore, createViewState, createSelection, createDragState, } from './engine/index.js';
5
5
  export type { EventStore, ViewState, ViewStateOptions, CalendarViewId, BuiltInViewId, ViewMode, Selection, DragState, DragMode, DragPayload, } from './engine/index.js';
6
- export { createMemoryAdapter, createRestAdapter, createRecurringAdapter, createMappedAdapter, createCompositeAdapter } from './adapters/index.js';
7
- export type { CalendarAdapter, WritableCalendarAdapter, DateRange, RestAdapterOptions, RecurringEvent, RecurringAdapterOptions, FieldMapping, MappedAdapterOptions, MutationHandler, CompositeAdapterOptions, } from './adapters/index.js';
6
+ export { createMemoryAdapter, createRestAdapter, createRecurringAdapter, createMappedAdapter, createCompositeAdapter, createJmapAdapter } from './adapters/index.js';
7
+ export type { CalendarAdapter, WritableCalendarAdapter, DateRange, RestAdapterOptions, RecurringEvent, RecurringAdapterOptions, FieldMapping, MappedAdapterOptions, MutationHandler, CompositeAdapterOptions, JmapClient, JmapCalendarAdapterOptions, } from './adapters/index.js';
8
8
  export { createClock, startOfWeek, fmtH, fmtTime, fmtDuration, weekdayShort, weekdayLong, monthShort, monthLong, dateShort, dateWithWeekday, fmtDay, fmtWeekRange, setDefaultLocale, getDefaultLocale, is24HourLocale, defaultLabels, setLabels, resetLabels, getLabels, toZonedTime, fromZonedTime, nowInZone, formatInTimeZone, generatePalette, extractAccent, VIVID_PALETTE, isMultiDay, isAllDay, segmentForDay, createTextMeasure, initTextMeasure, } from './core/index.js';
9
9
  export type { Clock, TimelineEvent, BlockedSlot, DaySegment, CalendarLabels, EventStatus, TextMeasure, TextMeasureOptions, ContentFit, } from './core/index.js';
10
10
  export { auto, neutral, midnight, presets } from './theme/index.js';
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ export { Calendar } from './calendar/index.js';
5
5
  // ─── Engine (reactive state) ────────────────────────────
6
6
  export { createEventStore, createViewState, createSelection, createDragState, } from './engine/index.js';
7
7
  // ─── Adapters ───────────────────────────────────────────
8
- export { createMemoryAdapter, createRestAdapter, createRecurringAdapter, createMappedAdapter, createCompositeAdapter } from './adapters/index.js';
8
+ export { createMemoryAdapter, createRestAdapter, createRecurringAdapter, createMappedAdapter, createCompositeAdapter, createJmapAdapter } from './adapters/index.js';
9
9
  // ─── Core: clock, time, locale, types ───────────────────
10
10
  export { createClock, startOfWeek, fmtH, fmtTime, fmtDuration, weekdayShort, weekdayLong, monthShort, monthLong, dateShort, dateWithWeekday, fmtDay, fmtWeekRange, setDefaultLocale, getDefaultLocale, is24HourLocale, defaultLabels, setLabels, resetLabels, getLabels, toZonedTime, fromZonedTime, nowInZone, formatInTimeZone, generatePalette, extractAccent, VIVID_PALETTE, isMultiDay, isAllDay, segmentForDay, createTextMeasure, initTextMeasure, } from './core/index.js';
11
11
  // ─── Themes ─────────────────────────────────────────────
@@ -297,14 +297,15 @@
297
297
  const result: PositionedEvent[] = infos.map(({ startMs: _s, endMs: _e, ...info }) => {
298
298
  const laneH = Math.max(MIN_EVENT_H, availH / info.groupMaxRow - EVENT_GAP);
299
299
  const topPx = contentTop + info.row * (availH / info.groupMaxRow);
300
+ // Vertical labels: text runs along lane height, columns stack across duration width.
300
301
  const fit = measure.fitContent({
301
302
  title: info.ev.title,
302
303
  subtitle: info.ev.subtitle,
303
304
  location: info.ev.location,
304
305
  time: `${fmtTime(info.ev.start, locale)} – ${fmtTime(info.ev.end, locale)}`,
305
306
  tags: info.ev.tags,
306
- maxWidth: info.width - 16,
307
- maxHeight: laneH - 16,
307
+ maxWidth: laneH - 16,
308
+ maxHeight: info.width - 16,
308
309
  });
309
310
  return { ...info, topPx, heightPx: laneH, isNext: info.isNext, fit };
310
311
  });
@@ -327,8 +328,8 @@
327
328
  subtitle: draggedEv.subtitle,
328
329
  location: draggedEv.location,
329
330
  tags: draggedEv.tags,
330
- maxWidth: dragW - 16,
331
- maxHeight: dragH - 16,
331
+ maxWidth: dragH - 16,
332
+ maxHeight: dragW - 16,
332
333
  }),
333
334
  });
334
335
  }
@@ -1106,18 +1107,21 @@
1106
1107
  cursor: default;
1107
1108
  }
1108
1109
 
1109
- /* Event inner */
1110
+ /* Event inner — vertical text along lane height (day filmstrip) */
1110
1111
  .fs-ev-inner {
1112
+ writing-mode: vertical-rl;
1113
+ text-orientation: mixed;
1114
+ transform: rotate(180deg);
1111
1115
  display: flex;
1112
- flex-direction: column;
1113
- align-items: flex-start;
1116
+ flex-direction: row;
1117
+ align-items: center;
1114
1118
  justify-content: center;
1115
- gap: 3px;
1116
- width: 100%;
1119
+ gap: 6px;
1117
1120
  height: 100%;
1121
+ max-width: 100%;
1118
1122
  overflow: hidden;
1119
1123
  box-sizing: border-box;
1120
- padding: 6px 8px;
1124
+ padding: 8px 4px;
1121
1125
  }
1122
1126
  .fs-ev-live {
1123
1127
  flex-shrink: 0;
@@ -1143,12 +1147,15 @@
1143
1147
  overflow: hidden;
1144
1148
  text-overflow: ellipsis;
1145
1149
  white-space: nowrap;
1150
+ max-height: 100%;
1151
+ flex-shrink: 0;
1146
1152
  }
1147
1153
  .fs-ev-time {
1148
1154
  font: 400 10px/1 var(--dt-mono, ui-monospace, monospace);
1149
1155
  color: var(--dt-text-2, rgba(148, 163, 184, 0.72));
1150
1156
  opacity: 0.7;
1151
1157
  white-space: nowrap;
1158
+ flex-shrink: 0;
1152
1159
  }
1153
1160
  .fs-ev-sub {
1154
1161
  font: 400 11px/1 var(--dt-sans, system-ui, sans-serif);
@@ -1157,6 +1164,8 @@
1157
1164
  white-space: nowrap;
1158
1165
  overflow: hidden;
1159
1166
  text-overflow: ellipsis;
1167
+ max-height: 100%;
1168
+ flex-shrink: 0;
1160
1169
  }
1161
1170
  .fs-ev-loc {
1162
1171
  font: 400 10px/1 var(--dt-sans, system-ui, sans-serif);
@@ -1164,8 +1173,15 @@
1164
1173
  white-space: nowrap;
1165
1174
  overflow: hidden;
1166
1175
  text-overflow: ellipsis;
1176
+ max-height: 100%;
1177
+ flex-shrink: 0;
1178
+ }
1179
+ .fs-ev-tags {
1180
+ display: flex;
1181
+ flex-direction: row;
1182
+ gap: 4px;
1183
+ flex-shrink: 0;
1167
1184
  }
1168
- .fs-ev-tags { display: flex; gap: 4px; flex-wrap: wrap; }
1169
1185
  .fs-ev-tag {
1170
1186
  font: 500 8px/1 var(--dt-sans, system-ui, sans-serif);
1171
1187
  color: var(--ev-color, var(--dt-accent));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomideusz/svelte-calendar",
3
- "version": "0.6.5",
3
+ "version": "0.6.8",
4
4
  "description": "A themeable Svelte 5 calendar with Day and Week views — Planner and Agenda.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -75,5 +75,6 @@
75
75
  "repository": {
76
76
  "type": "git",
77
77
  "url": "https://github.com/nomideusz/svelte-calendar"
78
- }
78
+ },
79
+ "homepage": "https://svelte-calendar.xyz/"
79
80
  }
@@ -1 +1 @@
1
- .tb.svelte-n03zvd{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--dt-surface, #10141c);border-bottom:1px solid var(--dt-border, rgba(148, 163, 184, .07));border-radius:10px 10px 0 0;flex-wrap:wrap}.tb-nav.svelte-n03zvd{display:flex;align-items:center;gap:4px}.tb-btn.svelte-n03zvd{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;padding:4px 6px;border-radius:6px;font:500 11px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);transition:background .1s,color .1s}.tb-btn.svelte-n03zvd:hover{background:var(--dt-accent-dim, rgba(239, 68, 68, .18));color:var(--dt-text, rgba(226, 232, 240, .85))}.tb-today.svelte-n03zvd{padding:4px 10px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07))}.tb-label.svelte-n03zvd{font:500 13px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);color:var(--dt-text, rgba(226, 232, 240, .85));letter-spacing:.01em;flex:1;min-width:0}.tb-links.svelte-n03zvd{display:flex;gap:6px}.tb-link.svelte-n03zvd{font:400 12px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);color:var(--dt-text-2, rgba(148, 163, 184, .55));border:1px solid var(--dt-border, rgba(148, 163, 184, .07));padding:4px 8px;border-radius:5px;text-decoration:none;transition:color .1s,border-color .1s}.tb-link.svelte-n03zvd:hover{color:var(--dt-text, rgba(226, 232, 240, .85));border-color:var(--dt-text-2, rgba(148, 163, 184, .25))}.tb-group.svelte-n03zvd{display:flex;gap:2px;background:var(--dt-bg, #0b0e14);border-radius:6px;padding:2px}.tb-seg.svelte-n03zvd{border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;font:600 12px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);padding:5px 12px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase;transition:background .1s,color .1s}.tb-seg.svelte-n03zvd:hover{color:var(--dt-text, rgba(226, 232, 240, .85))}.tb-seg-active.svelte-n03zvd{background:var(--dt-accent, #ef4444);color:var(--dt-btn-text, #fff)}.tb-concepts.svelte-n03zvd{display:flex;gap:3px;background:var(--dt-bg, #0b0e14);border-radius:6px;padding:2px}.tb-pill.svelte-n03zvd{border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;font:400 12px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);padding:4px 9px;border-radius:4px;letter-spacing:.02em;transition:background .1s,color .1s;white-space:nowrap}.tb-pill.svelte-n03zvd:hover{color:var(--dt-text, rgba(226, 232, 240, .85))}.tb-pill-active.svelte-n03zvd{background:var(--dt-surface, #10141c);color:var(--dt-text, rgba(226, 232, 240, .85))}.cal.svelte-1b53e7w{position:relative;height:var(--cal-h, 600px);background:var(--dt-bg, #0b0e14);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--dt-border, rgba(148, 163, 184, .07))}.cal-body.svelte-1b53e7w{flex:1;min-height:0;overflow:hidden}.cal-empty.svelte-1b53e7w{display:flex;align-items:center;justify-content:center;height:100%;font:400 13px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);color:var(--dt-text-3, rgba(100, 116, 139, .55))}.cal-loading.svelte-1b53e7w{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--dt-accent, #ef4444) 50%,transparent 100%);animation:svelte-1b53e7w-cal-slide 1.2s ease-in-out infinite}@keyframes svelte-1b53e7w-cal-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.fs.svelte-1g84p58{--dt-bg: #0b0e14;--dt-surface: #10141c;--dt-border: rgba(148, 163, 184, .07);--dt-border-day: rgba(148, 163, 184, .14);--dt-text: rgba(226, 232, 240, .92);--dt-text-2: rgba(148, 163, 184, .72);--dt-text-3: rgba(100, 116, 139, .7);--dt-accent: #ef4444;--dt-accent-dim: rgba(239, 68, 68, .18);--dt-glow: rgba(239, 68, 68, .35);--dt-today-bg: rgba(239, 68, 68, .025);--dt-btn-text: #fff;--dt-scrollbar: rgba(148, 163, 184, .12);--dt-night: #06080d;--dt-mono: "SF Mono", "Cascadia Code", "Fira Code", Consolas, monospace;--dt-sans: system-ui, -apple-system, "Segoe UI", sans-serif;position:relative;background:var(--dt-bg);border:1px solid var(--dt-border);border-radius:10px;overflow:hidden;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.fs-scroll.svelte-1g84p58{width:100%;height:100%;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--dt-scrollbar) transparent}.fs-scroll.svelte-1g84p58::-webkit-scrollbar{height:5px}.fs-scroll.svelte-1g84p58::-webkit-scrollbar-thumb{background:var(--dt-scrollbar);border-radius:4px}.fs-scroll.svelte-1g84p58::-webkit-scrollbar-track{background:transparent}.fs-grabbing.svelte-1g84p58{cursor:grabbing}.fs-track.svelte-1g84p58{position:relative;height:100%}.fs-day.svelte-1g84p58{position:absolute;top:0;height:100%;border-left:1px solid var(--dt-border-day);box-sizing:border-box;transition:background .2s}.fs-day.svelte-1g84p58:first-of-type{border-left:none}.fs-today.svelte-1g84p58{background:var(--dt-today-bg)}.fs-past.svelte-1g84p58{opacity:.7}.fs-day-hd.svelte-1g84p58{display:flex;align-items:center;gap:8px;padding:10px 14px;height:38px;box-sizing:border-box;border-bottom:1px solid var(--dt-border)}.fs-day-name.svelte-1g84p58{font:600 12px / 1 var(--dt-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--dt-text-2);white-space:nowrap}.fs-today.svelte-1g84p58 .fs-day-name:where(.svelte-1g84p58){color:var(--dt-accent)}.fs-tick.svelte-1g84p58{position:absolute;top:38px;bottom:0;width:0}.fs-tick.svelte-1g84p58:before{content:"";position:absolute;top:18px;bottom:0;width:1px;background:var(--dt-border)}.fs-tick-lb.svelte-1g84p58{position:absolute;top:2px;left:5px;font:500 10px / 1 var(--dt-mono);color:var(--dt-text-3);white-space:nowrap;pointer-events:none}.fs-tick--half.svelte-1g84p58{bottom:auto;height:26px}.fs-tick--half.svelte-1g84p58:before{top:18px;height:6px;bottom:auto;opacity:.4}.fs-tick--night.svelte-1g84p58:before{opacity:.3}.fs-tick--night.svelte-1g84p58 .fs-tick-lb:where(.svelte-1g84p58){opacity:.5}.fs-night.svelte-1g84p58{position:absolute;top:0;height:100%;background:var(--dt-night);cursor:pointer;transition:width .3s ease;overflow:hidden;border-left:1px solid rgba(148,163,184,.04);border-right:1px solid rgba(148,163,184,.04)}.fs-night--open.svelte-1g84p58{cursor:default;background:color-mix(in srgb,var(--dt-night) 90%,var(--dt-bg))}.fs-night-band.svelte-1g84p58{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:4px;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.fs-night-label.svelte-1g84p58{font:500 10px / 1 var(--dt-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--dt-text-3);white-space:nowrap}.fs-night-chevron.svelte-1g84p58{font:400 9px / 1 var(--dt-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--dt-text-3);opacity:.5}.fs-night-toggle.svelte-1g84p58{position:absolute;top:8px;right:8px;z-index:2;font:500 10px / 1 var(--dt-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--dt-text-3);background:#94a3b80f;border:1px solid rgba(148,163,184,.08);padding:4px 10px;border-radius:4px;cursor:pointer;transition:color .15s}.fs-night-toggle.svelte-1g84p58:hover{color:var(--dt-text-2)}.fs-now.svelte-1g84p58{position:absolute;top:0;bottom:0;z-index:10;pointer-events:none;transform:translate(-1px)}.fs-now-line.svelte-1g84p58{position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--dt-accent);box-shadow:0 0 8px var(--dt-glow)}.fs-now-tag.svelte-1g84p58{position:absolute;top:8px;left:8px;font:700 11px / 1 var(--dt-mono);color:var(--dt-accent);background:color-mix(in srgb,var(--dt-bg) 92%,var(--dt-accent));border:1px solid var(--dt-accent-dim);padding:3px 6px;border-radius:4px;white-space:nowrap;z-index:1}.fs-now-sec.svelte-1g84p58{font-weight:400;opacity:.5;font-size:10px}.fs-btn.svelte-1g84p58{position:absolute;bottom:14px;right:14px;z-index:20;display:inline-flex;align-items:center;gap:5px;padding:5px 13px 5px 9px;font:600 11px / 1 var(--dt-sans);color:var(--dt-btn-text);background:var(--dt-accent);border:none;border-radius:100px;cursor:pointer;box-shadow:0 2px 16px var(--dt-glow);transition:transform .12s ease,box-shadow .12s ease}.fs-btn.svelte-1g84p58 svg:where(.svelte-1g84p58){width:13px;height:13px}.fs-btn.svelte-1g84p58:hover{transform:scale(1.06);box-shadow:0 4px 24px var(--dt-glow)}.fs-btn.svelte-1g84p58:active{transform:scale(.96)}.fs-event.svelte-1g84p58{position:absolute;z-index:6;border-radius:6px;cursor:pointer;background:color-mix(in srgb,var(--ev-color) 15%,transparent);border-top:3px solid var(--ev-color);overflow:hidden;display:flex;align-items:center;justify-content:center;transition:box-shadow .12s,background .12s}.fs-event.svelte-1g84p58:hover{background:color-mix(in srgb,var(--ev-color) 28%,transparent);box-shadow:0 2px 12px color-mix(in srgb,var(--ev-color) 25%,transparent)}.fs-event--selected.svelte-1g84p58{box-shadow:0 0 0 2px var(--ev-color),0 2px 14px color-mix(in srgb,var(--ev-color) 35%,transparent)}.fs-event--current.svelte-1g84p58{background:color-mix(in srgb,var(--ev-color) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ev-color) 20%,transparent)}.fs-event--dragging.svelte-1g84p58{opacity:.85;z-index:50;box-shadow:0 4px 24px #00000059;cursor:grabbing;transition:none}.fs-ev-inner.svelte-1g84p58{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;gap:6px;max-height:100%;overflow:hidden;padding:8px 4px}.fs-ev-live.svelte-1g84p58{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--ev-color)}.fs-ev-title.svelte-1g84p58{font:600 13px / 1.15 var(--dt-sans);color:var(--dt-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-ev-time.svelte-1g84p58{font:400 10px / 1 var(--dt-mono);color:var(--dt-text-2);opacity:.7;white-space:nowrap}.fs-ev-sub.svelte-1g84p58{font:400 11px / 1 var(--dt-sans);color:var(--dt-text-2);opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-ev-tags.svelte-1g84p58{display:flex;gap:4px}.fs-ev-tag.svelte-1g84p58{font:500 8px / 1 var(--dt-sans);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 18%,transparent);padding:1px 4px;border-radius:3px;white-space:nowrap}.fs-event.svelte-1g84p58:focus-visible,.fs-night.svelte-1g84p58:focus-visible{outline:2px solid var(--dt-accent);outline-offset:2px}.fs-night.svelte-1g84p58:hover{background:color-mix(in srgb,var(--dt-night) 85%,var(--dt-text-3))}.dt.svelte-p4fcuu{--dt-bg: #0b0e14;--dt-surface: #10141c;--dt-border: rgba(148, 163, 184, .07);--dt-border-day: rgba(148, 163, 184, .14);--dt-text: rgba(226, 232, 240, .85);--dt-text-2: rgba(148, 163, 184, .55);--dt-text-3: rgba(100, 116, 139, .55);--dt-accent: #ef4444;--dt-accent-dim: rgba(239, 68, 68, .18);--dt-glow: rgba(239, 68, 68, .35);--dt-today-bg: rgba(239, 68, 68, .02);--dt-btn-text: #fff;--dt-scrollbar: rgba(148, 163, 184, .12);--dt-header: 34px;--dt-ruler: 16px;--dt-mono: "SF Mono", "Cascadia Code", "Fira Code", Consolas, monospace;--dt-sans: system-ui, -apple-system, "Segoe UI", sans-serif;position:relative;height:160px;background:var(--dt-bg);border:1px solid var(--dt-border);border-radius:10px;overflow:hidden;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.dt-scroll.svelte-p4fcuu{width:100%;height:100%;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--dt-scrollbar) transparent}.dt-scroll.svelte-p4fcuu::-webkit-scrollbar{height:5px}.dt-scroll.svelte-p4fcuu::-webkit-scrollbar-thumb{background:var(--dt-scrollbar);border-radius:4px}.dt-scroll.svelte-p4fcuu::-webkit-scrollbar-track{background:transparent}.dt-grabbing.svelte-p4fcuu{cursor:grabbing}.dt-track.svelte-p4fcuu{position:relative;height:100%}.dt-day.svelte-p4fcuu{position:absolute;top:0;height:100%;border-left:1px solid var(--dt-border-day);box-sizing:border-box}.dt-day.svelte-p4fcuu:first-of-type{border-left:none}.dt-today.svelte-p4fcuu{background:var(--dt-today-bg)}.dt-day-hd.svelte-p4fcuu{display:flex;align-items:baseline;gap:8px;padding:9px 14px;height:var(--dt-header);box-sizing:border-box;border-bottom:1px solid var(--dt-border)}.dt-day-nm.svelte-p4fcuu{font:600 11px / 1 var(--dt-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--dt-text-2);white-space:nowrap}.dt-today.svelte-p4fcuu .dt-day-nm:where(.svelte-p4fcuu){color:var(--dt-accent)}.dt-tick.svelte-p4fcuu{position:absolute;top:var(--dt-header);bottom:0;width:0}.dt-tick.svelte-p4fcuu:before{content:"";position:absolute;top:var(--dt-ruler);bottom:0;width:1px;background:var(--dt-border)}.dt-tick-lb.svelte-p4fcuu{position:absolute;top:1px;left:5px;font:500 9px / 1 var(--dt-mono);color:var(--dt-text-3);white-space:nowrap;pointer-events:none}.dt-tick--h.svelte-p4fcuu{bottom:auto;height:calc(var(--dt-ruler) + 8px)}.dt-tick--h.svelte-p4fcuu:before{top:var(--dt-ruler);height:6px;bottom:auto;opacity:.45}.dt-now.svelte-p4fcuu{position:absolute;top:0;bottom:0;z-index:10;pointer-events:none;transform:translate(-1px)}.dt-now-line.svelte-p4fcuu{position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--dt-accent);box-shadow:0 0 10px var(--dt-glow),0 0 24px var(--dt-accent-dim);animation:svelte-p4fcuu-now-pulse 3s ease-in-out infinite}@keyframes svelte-p4fcuu-now-pulse{0%,to{box-shadow:0 0 10px var(--dt-glow),0 0 24px var(--dt-accent-dim)}50%{box-shadow:0 0 16px var(--dt-glow),0 0 36px var(--dt-glow)}}.dt-now-tag.svelte-p4fcuu{position:absolute;top:7px;left:8px;font:700 10px / 1 var(--dt-mono);color:var(--dt-accent);background:var(--dt-bg);border:1px solid var(--dt-accent-dim);padding:3px 6px;border-radius:4px;white-space:nowrap;z-index:1}.dt-now-sec.svelte-p4fcuu{font-weight:400;opacity:.5;font-size:9px}.dt-fog.svelte-p4fcuu{position:absolute;top:0;bottom:0;width:48px;pointer-events:none;z-index:5}.dt-fog--l.svelte-p4fcuu{left:0;background:linear-gradient(to right,var(--dt-bg),transparent)}.dt-fog--r.svelte-p4fcuu{right:0;background:linear-gradient(to left,var(--dt-bg),transparent)}.dt-btn.svelte-p4fcuu{position:absolute;bottom:14px;right:14px;z-index:20;display:inline-flex;align-items:center;gap:5px;padding:5px 13px 5px 9px;font:600 11px / 1 var(--dt-sans);color:var(--dt-btn-text);background:var(--dt-accent);border:none;border-radius:100px;cursor:pointer;box-shadow:0 2px 16px var(--dt-glow);transition:transform .12s ease,box-shadow .12s ease}.dt-btn.svelte-p4fcuu svg:where(.svelte-p4fcuu){width:13px;height:13px}.dt-btn.svelte-p4fcuu:hover{transform:scale(1.06);box-shadow:0 4px 24px var(--dt-glow)}.dt-btn.svelte-p4fcuu:active{transform:scale(.96)}.dt-event.svelte-p4fcuu{position:absolute;height:28px;z-index:6;border-radius:5px;padding:0 8px;display:flex;align-items:center;gap:4px;cursor:pointer;background:color-mix(in srgb,var(--ev-color) 22%,transparent);border-left:3px solid var(--ev-color);transition:box-shadow .12s,transform 80ms}.dt-event.svelte-p4fcuu:hover{box-shadow:0 2px 10px color-mix(in srgb,var(--ev-color) 30%,transparent);transform:translateY(-1px)}.dt-event--selected.svelte-p4fcuu{box-shadow:0 0 0 2px var(--ev-color),0 2px 12px color-mix(in srgb,var(--ev-color) 40%,transparent)}.dt-event--dragging.svelte-p4fcuu{opacity:.85;z-index:50;box-shadow:0 4px 24px #00000059;cursor:grabbing;transition:none}.dt-ev-title.svelte-p4fcuu{font:600 10px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);color:var(--dt-text, #e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-ev-sub.svelte-p4fcuu{font:400 9px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);color:var(--dt-text-2, rgba(148, 163, 184, .6));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-ev-tag.svelte-p4fcuu{font:500 7px / 1 var(--dt-sans, "Outfit", system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 20%,transparent);padding:1px 3px;border-radius:2px;white-space:nowrap;flex-shrink:0}.wg.svelte-j4rvbp{position:relative;background:var(--dt-bg, #fff);border:1px solid var(--dt-border, rgba(0, 0, 0, .08));border-radius:10px;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.wg-body.svelte-j4rvbp{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--dt-scrollbar, rgba(0, 0, 0, .08)) transparent}.wg-body.svelte-j4rvbp::-webkit-scrollbar{width:4px}.wg-body.svelte-j4rvbp::-webkit-scrollbar-thumb{background:var(--dt-scrollbar, rgba(0, 0, 0, .1));border-radius:4px}.wg-body.svelte-j4rvbp::-webkit-scrollbar-track{background:transparent}.wg-week.svelte-j4rvbp{display:flex;border-bottom:1px solid var(--dt-border, rgba(0, 0, 0, .08))}.wg-week--current.svelte-j4rvbp{background:var(--dt-today-bg, rgba(239, 68, 68, .02))}.wg-gutter.svelte-j4rvbp{flex-shrink:0;width:48px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--dt-border, rgba(0, 0, 0, .08))}.wg-gutter-month.svelte-j4rvbp{font:800 11px / 1 var(--dt-sans, system-ui, sans-serif);letter-spacing:.06em;color:var(--dt-text-2, rgba(0, 0, 0, .45));writing-mode:vertical-rl;transform:rotate(180deg)}.wg-week-body.svelte-j4rvbp{flex:1;min-width:0;display:flex;flex-direction:column}.wg-days.svelte-j4rvbp{display:flex;flex:1}.wg-cell.svelte-j4rvbp{flex:1;position:relative;min-height:130px;padding:0 4px 8px;border-right:1px solid var(--dt-border, rgba(0, 0, 0, .06));cursor:pointer;transition:background .15s}.wg-cell.svelte-j4rvbp:last-child{border-right:none}.wg-cell.svelte-j4rvbp:hover{background:var(--dt-hover, rgba(0, 0, 0, .015))}.wg-cell--today.svelte-j4rvbp{background:var(--dt-today-bg, rgba(239, 68, 68, .03))}.wg-cell--today.svelte-j4rvbp:hover{background:#ef44440d}.wg-cell--past.svelte-j4rvbp{opacity:.55}.wg-cell--past.svelte-j4rvbp:hover{opacity:.75}.wg-cell--weekend.svelte-j4rvbp{background:var(--dt-weekend-bg, rgba(0, 0, 0, .012))}.wg-cell-hd.svelte-j4rvbp{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 0;border-bottom:1px solid var(--dt-border, rgba(0, 0, 0, .04));margin-bottom:4px}.wg-day-wd.svelte-j4rvbp{font:400 11px / 1 var(--dt-sans, system-ui, sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--dt-text-3, rgba(0, 0, 0, .35))}.wg-cell-hd--today.svelte-j4rvbp .wg-day-wd:where(.svelte-j4rvbp){color:var(--dt-accent, #ef4444);font-weight:600}.wg-day-num.svelte-j4rvbp{font:700 14px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .85))}.wg-day-num--today.svelte-j4rvbp{background:var(--dt-accent, #ef4444);color:#fff;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px}.wg-cell-events.svelte-j4rvbp{display:flex;flex-direction:column;gap:3px}.wg-ev.svelte-j4rvbp{display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px;padding:3px 6px;border-radius:4px;background:color-mix(in srgb,var(--ev-color) 12%,transparent);cursor:pointer;overflow:hidden;transition:background .12s}.wg-ev.svelte-j4rvbp:hover{background:color-mix(in srgb,var(--ev-color) 22%,transparent)}.wg-ev--selected.svelte-j4rvbp{box-shadow:0 0 0 1.5px var(--ev-color)}.wg-ev--current.svelte-j4rvbp{background:color-mix(in srgb,var(--ev-color) 18%,transparent)}.wg-ev-time.svelte-j4rvbp{font:400 10px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .4));flex-shrink:0;white-space:nowrap}.wg-ev-title.svelte-j4rvbp{font:500 12px / 1.1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .85));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wg-ev-sub.svelte-j4rvbp{font:400 10px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .4));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wg-ev-tags.svelte-j4rvbp{display:flex;gap:3px;flex-shrink:0}.wg-ev-tag.svelte-j4rvbp{font:500 8px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:1px 4px;border-radius:3px;white-space:nowrap}.wg-ev-more.svelte-j4rvbp{font:500 10px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .35));padding:2px 8px;cursor:pointer}.wg-ev-more.svelte-j4rvbp:hover{color:var(--dt-text-2, rgba(0, 0, 0, .55))}.wg-now.svelte-j4rvbp{position:absolute;left:0;right:0;z-index:4;pointer-events:none;display:flex;align-items:center;gap:0}.wg-now-time.svelte-j4rvbp{flex-shrink:0;font:500 9px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-accent, #ef4444);padding:1px 4px;background:color-mix(in srgb,var(--dt-accent, #ef4444) 12%,var(--dt-bg, #fff));border-radius:3px;margin-left:-2px}.wg-now-line.svelte-j4rvbp{flex:1;height:1px;background:var(--dt-accent, #ef4444);opacity:.35}.wg-btn.svelte-j4rvbp{position:absolute;bottom:14px;right:14px;z-index:20;display:inline-flex;align-items:center;gap:5px;padding:5px 13px 5px 9px;font:600 11px / 1 var(--dt-sans, system-ui, sans-serif);color:#fff;background:var(--dt-accent, #ef4444);border:none;border-radius:100px;cursor:pointer;box-shadow:0 2px 16px color-mix(in srgb,var(--dt-accent, #ef4444) 35%,transparent);transition:transform .12s ease,box-shadow .12s ease}.wg-btn.svelte-j4rvbp svg:where(.svelte-j4rvbp){width:13px;height:13px}.wg-btn.svelte-j4rvbp:hover{transform:scale(1.06)}.wg-btn.svelte-j4rvbp:active{transform:scale(.96)}.wg-cell.svelte-j4rvbp:focus-visible{outline:2px solid var(--dt-accent, #ef4444);outline-offset:-2px}.wg-ev.svelte-j4rvbp:focus-visible{outline:2px solid var(--ev-color, var(--dt-accent, #ef4444));outline-offset:1px}.wg-ev--dragging.svelte-j4rvbp{opacity:.6;cursor:grabbing;box-shadow:0 2px 8px #0003}.ag.svelte-gg2mx3{position:relative;background:var(--dt-bg, #111);border:1px solid var(--dt-border, rgba(255, 255, 255, .06));border-radius:10px;overflow:hidden;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;color:var(--dt-text, rgba(255, 255, 255, .92));font-family:var(--dt-sans, system-ui, sans-serif)}.ag-header.svelte-gg2mx3{display:flex;justify-content:space-between;align-items:center;padding:14px 20px 10px;border-bottom:1px solid var(--dt-border, rgba(255, 255, 255, .06));flex-shrink:0}.ag-header-left.svelte-gg2mx3{display:flex;align-items:baseline;gap:10px}.ag-title.svelte-gg2mx3{font-size:14px;font-weight:600;line-height:1}.ag-subtitle.svelte-gg2mx3{font-size:12px;font-family:var(--dt-mono, monospace);color:var(--dt-text-2, rgba(255, 255, 255, .5))}.ag-clock.svelte-gg2mx3{font-size:13px;font-weight:600;font-family:var(--dt-mono, monospace);color:var(--dt-accent, #ff6b4a)}.ag-header-right.svelte-gg2mx3{display:flex;align-items:center;gap:8px}.ag-stat.svelte-gg2mx3{font-size:11px;color:var(--dt-text-3, rgba(255, 255, 255, .3));font-family:var(--dt-mono, monospace)}.ag-stat-sep.svelte-gg2mx3{font-size:11px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-progress-track.svelte-gg2mx3{width:52px;height:3px;background:var(--dt-border, rgba(255, 255, 255, .06));border-radius:2px;overflow:hidden}.ag-progress-fill.svelte-gg2mx3{height:100%;background:var(--dt-accent, #ff6b4a);border-radius:2px;opacity:.5;transition:width 1s linear}.ag-body.svelte-gg2mx3{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--dt-border) transparent}.ag-body.svelte-gg2mx3::-webkit-scrollbar{width:4px}.ag-body.svelte-gg2mx3::-webkit-scrollbar-thumb{background:var(--dt-border);border-radius:2px}.ag-card.svelte-gg2mx3{display:flex;align-items:stretch;border-radius:8px;background:var(--dt-surface, #191919);border:1px solid var(--dt-border, rgba(255, 255, 255, .06));overflow:hidden;cursor:pointer;transition:border-color .15s}.ag-card.svelte-gg2mx3:hover{border-color:color-mix(in srgb,var(--ev-color) 40%,transparent)}.ag-card.svelte-gg2mx3:focus-visible{outline:2px solid var(--dt-accent, #ff6b4a);outline-offset:2px}.ag-card--selected.svelte-gg2mx3{border-color:var(--ev-color);background:color-mix(in srgb,var(--ev-color) 6%,var(--dt-surface, #191919))}.ag-card-stripe.svelte-gg2mx3{width:3px;background:var(--ev-color, var(--dt-accent));flex-shrink:0}.ag-card-body.svelte-gg2mx3{padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.ag-card-title.svelte-gg2mx3{font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-card-meta.svelte-gg2mx3{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .5));font-family:var(--dt-mono, monospace);line-height:1}.ag-card-dur.svelte-gg2mx3{margin-left:6px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-card-sub.svelte-gg2mx3{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .45));line-height:1}.ag-card-tags.svelte-gg2mx3{display:flex;gap:4px;flex-wrap:wrap}.ag-card-tag.svelte-gg2mx3{font:500 9px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:2px 5px;border-radius:3px;white-space:nowrap}.ag-card-progress.svelte-gg2mx3{height:3px;background:var(--dt-border, rgba(255, 255, 255, .06));border-radius:2px;overflow:hidden;margin-top:2px}.ag-card-progress-fill.svelte-gg2mx3{height:100%;background:var(--ev-color, var(--dt-accent));border-radius:2px;transition:width 1s linear}.ag-empty{display:flex;align-items:center;justify-content:center;padding:40px 20px;font-size:13px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-q.svelte-gg2mx3{display:grid;grid-template-columns:.65fr 1.8fr .55fr;gap:0;flex:1;padding:8px 0 10px;min-height:0}.ag-q-label.svelte-gg2mx3{font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dt-text-3, rgba(255, 255, 255, .25));margin-bottom:8px;padding:0 12px;font-family:var(--dt-sans, system-ui, sans-serif)}.ag-q-empty.svelte-gg2mx3{display:flex;align-items:center;justify-content:center;flex:1;font-size:13px;font-weight:300;color:var(--dt-text-3, rgba(255, 255, 255, .25))}.ag-q-status.svelte-gg2mx3{padding:0 0 0 14px;border-right:1px solid var(--dt-border, rgba(255, 255, 255, .06));display:flex;flex-direction:column}.ag-q-now.svelte-gg2mx3{padding:8px 10px;border-radius:8px;background:var(--dt-surface, #191919);border:1px solid color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);cursor:pointer;transition:border-color .15s;margin-right:10px}.ag-q-now.svelte-gg2mx3:hover{border-color:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 35%,transparent)}.ag-q-now.svelte-gg2mx3:focus-visible{outline:2px solid var(--dt-accent, #ff6b4a);outline-offset:2px}.ag-q-now--selected.svelte-gg2mx3{border-color:var(--ev-color, var(--dt-accent))}.ag-q-now-dot.svelte-gg2mx3{width:6px;height:6px;border-radius:50%;background:var(--ev-color, var(--dt-accent, #ff6b4a));margin-bottom:6px;animation:svelte-gg2mx3-ag-pulse 2.5s ease-in-out infinite}@keyframes svelte-gg2mx3-ag-pulse{0%,to{opacity:1}50%{opacity:.4}}.ag-q-now-title.svelte-gg2mx3{font-size:11px;font-weight:600;line-height:1.2;color:var(--dt-text, rgba(255, 255, 255, .92));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.ag-q-now-time.svelte-gg2mx3{font-size:9px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .35));margin-bottom:6px}.ag-q-now-track.svelte-gg2mx3{height:2px;background:var(--dt-border, rgba(255, 255, 255, .06));border-radius:1px;overflow:hidden}.ag-q-now-fill.svelte-gg2mx3{height:100%;background:var(--ev-color, var(--dt-accent, #ff6b4a));border-radius:1px;transition:width 1s linear}.ag-q-free.svelte-gg2mx3{padding:8px 10px;margin-right:10px}.ag-q-free-label.svelte-gg2mx3{font-size:12px;font-weight:300;color:var(--dt-text-3, rgba(255, 255, 255, .25));margin-bottom:2px}.ag-q-free-next{font-size:10px;font-weight:500;line-height:1.2;color:var(--dt-text-2, rgba(255, 255, 255, .5));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.ag-q-free-until{font-size:9px;font-family:var(--dt-mono, monospace);color:var(--dt-accent, #ff6b4a);opacity:.6}.ag-q-queue.svelte-gg2mx3{padding:0 16px;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column}.ag-q-queue.svelte-gg2mx3::-webkit-scrollbar{display:none}.ag-q-card.svelte-gg2mx3{display:flex;align-items:stretch;border-radius:10px;background:var(--dt-surface, #191919);border:1px solid var(--dt-border, rgba(255, 255, 255, .06));overflow:hidden;cursor:pointer;margin-bottom:6px;transition:border-color .15s,transform .1s}.ag-q-card.svelte-gg2mx3:hover{border-color:color-mix(in srgb,var(--ev-color) 40%,transparent)}.ag-q-card.svelte-gg2mx3:focus-visible{outline:2px solid var(--dt-accent, #ff6b4a);outline-offset:2px}.ag-q-card--selected.svelte-gg2mx3{border-color:var(--ev-color);background:color-mix(in srgb,var(--ev-color) 6%,var(--dt-surface, #191919))}.ag-q-card--hero.svelte-gg2mx3{background:color-mix(in srgb,var(--ev-color) 8%,var(--dt-surface, #191919));border-color:color-mix(in srgb,var(--ev-color) 25%,transparent)}.ag-q-card--hero.svelte-gg2mx3 .ag-q-card-title:where(.svelte-gg2mx3){font-size:16px;font-weight:700}.ag-q-card--hero.svelte-gg2mx3 .ag-q-card-eta:where(.svelte-gg2mx3){font-size:11px;background:color-mix(in srgb,var(--dt-accent, #ff6b4a) 18%,transparent);padding:2px 7px;border-radius:4px}.ag-q-card--hero.svelte-gg2mx3 .ag-q-card-body:where(.svelte-gg2mx3){padding:14px 16px}.ag-q-card-stripe.svelte-gg2mx3{width:3.5px;background:var(--ev-color, var(--dt-accent));flex-shrink:0}.ag-q-card-body.svelte-gg2mx3{padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.ag-q-card-top.svelte-gg2mx3{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ag-q-card-title.svelte-gg2mx3{font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.ag-q-card-eta.svelte-gg2mx3{font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--dt-accent, #ff6b4a);flex-shrink:0;white-space:nowrap}.ag-q-card-meta.svelte-gg2mx3{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .5));font-family:var(--dt-mono, monospace);line-height:1}.ag-q-card-dur.svelte-gg2mx3{margin-left:6px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-q-card-sub.svelte-gg2mx3{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .45));line-height:1}.ag-q-card-tags.svelte-gg2mx3{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.ag-q-card-tag.svelte-gg2mx3{font:500 9px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:2px 5px;border-radius:3px;white-space:nowrap}.ag-q-done.svelte-gg2mx3{border-left:1px solid var(--dt-border, rgba(255, 255, 255, .06));overflow-y:auto;scrollbar-width:none;padding:0 14px 0 10px}.ag-q-done.svelte-gg2mx3::-webkit-scrollbar{display:none}.ag-q-done-item.svelte-gg2mx3{display:flex;align-items:center;gap:5px;padding:3px 0;opacity:.35;cursor:pointer}.ag-q-done-item.svelte-gg2mx3:hover{opacity:.6}.ag-q-done-item.svelte-gg2mx3:focus-visible{outline:2px solid var(--dt-accent, #ff6b4a);outline-offset:2px;opacity:.6}.ag-q-done-item--selected.svelte-gg2mx3{opacity:.7}.ag-q-done-check.svelte-gg2mx3{font-size:9px;color:var(--dt-success, rgba(120, 200, 140, .7));flex-shrink:0}.ag-q-done-title.svelte-gg2mx3{font-size:10px;line-height:1.2;color:var(--dt-text-3, rgba(255, 255, 255, .35));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:line-through;text-decoration-color:var(--dt-text-3, rgba(255, 255, 255, .15))}.ag-log.svelte-gg2mx3{flex:1;padding:8px 20px 12px;overflow-y:auto;scrollbar-width:none;opacity:.7}.ag-log.svelte-gg2mx3::-webkit-scrollbar{display:none}.ag-log-row.svelte-gg2mx3{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--dt-border, rgba(255, 255, 255, .04));cursor:pointer;transition:opacity .15s}.ag-log-row.svelte-gg2mx3:last-child{border-bottom:none}.ag-log-row.svelte-gg2mx3:hover{opacity:1}.ag-log-row.svelte-gg2mx3:focus-visible{outline:2px solid var(--dt-accent, #ff6b4a);outline-offset:2px}.ag-log-row--selected.svelte-gg2mx3{opacity:1;background:color-mix(in srgb,var(--ev-color) 6%,transparent);border-radius:6px;padding-left:8px;padding-right:8px}.ag-log-check.svelte-gg2mx3{font-size:10px;color:var(--dt-success, rgba(120, 200, 140, .5));flex-shrink:0}.ag-log-time.svelte-gg2mx3{font-size:11px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .3));width:64px;flex-shrink:0}.ag-log-dot.svelte-gg2mx3{width:5px;height:5px;border-radius:50%;flex-shrink:0;opacity:.6}.ag-log-title.svelte-gg2mx3{font-size:13px;font-weight:500;line-height:1.2;color:var(--dt-text-2, rgba(255, 255, 255, .55));flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:line-through;text-decoration-color:var(--dt-border, rgba(255, 255, 255, .08))}.ag-log-dur.svelte-gg2mx3{font-size:10px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .2));flex-shrink:0}.ag-plan.svelte-gg2mx3{flex:1;padding:8px 20px 12px;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:6px}.ag-plan.svelte-gg2mx3::-webkit-scrollbar{display:none}.ag-plan-card.svelte-gg2mx3{display:flex;align-items:stretch;border-radius:10px;background:var(--dt-surface, #191919);border:1px solid var(--dt-border, rgba(255, 255, 255, .06));overflow:hidden;cursor:pointer;transition:border-color .15s}.ag-plan-card.svelte-gg2mx3:hover{border-color:color-mix(in srgb,var(--ev-color) 35%,transparent)}.ag-plan-card.svelte-gg2mx3:focus-visible{outline:2px solid var(--dt-accent, #ff6b4a);outline-offset:2px}.ag-plan-card--selected.svelte-gg2mx3{border-color:var(--ev-color);background:color-mix(in srgb,var(--ev-color) 6%,var(--dt-surface, #191919))}.ag-plan-card--first.svelte-gg2mx3{background:color-mix(in srgb,var(--ev-color) 5%,var(--dt-surface, #191919));border-color:color-mix(in srgb,var(--ev-color) 15%,transparent)}.ag-plan-stripe.svelte-gg2mx3{width:3.5px;background:var(--ev-color, var(--dt-accent));flex-shrink:0}.ag-plan-body.svelte-gg2mx3{padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.ag-plan-top.svelte-gg2mx3{display:flex;align-items:baseline;gap:8px}.ag-plan-order.svelte-gg2mx3{font-size:10px;font-weight:700;color:var(--dt-text-3, rgba(255, 255, 255, .2));font-family:var(--dt-mono, monospace);flex-shrink:0}.ag-plan-title.svelte-gg2mx3{font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-plan-card--first.svelte-gg2mx3 .ag-plan-title:where(.svelte-gg2mx3){font-size:16px;font-weight:700}.ag-plan-meta.svelte-gg2mx3{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .5));font-family:var(--dt-mono, monospace);line-height:1}.ag-plan-dur.svelte-gg2mx3{margin-left:6px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-plan-sub.svelte-gg2mx3{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .45));line-height:1;padding-left:22px}.ag-plan-tags.svelte-gg2mx3{display:flex;gap:4px;flex-wrap:wrap;padding-left:22px;margin-top:2px}.ag-plan-tag.svelte-gg2mx3{font:500 9px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:2px 5px;border-radius:3px;white-space:nowrap}.ag-badge.svelte-gg2mx3{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:3px}.ag-badge--past.svelte-gg2mx3{color:var(--dt-text-3, rgba(255, 255, 255, .3));background:var(--dt-border, rgba(255, 255, 255, .06))}.ag-badge--future.svelte-gg2mx3{color:var(--dt-accent, #ff6b4a);background:color-mix(in srgb,var(--dt-accent, #ff6b4a) 12%,transparent)}.ag-wday.svelte-gg2mx3{border-bottom:1px solid var(--dt-border, rgba(255, 255, 255, .06))}.ag-wday--today.svelte-gg2mx3{background:color-mix(in srgb,var(--dt-accent, #ff6b4a) 4%,transparent)}.ag-wday--past.svelte-gg2mx3{opacity:.4}.ag-wday-head.svelte-gg2mx3{display:flex;justify-content:space-between;align-items:center;padding:10px 20px}.ag-wday-head-left.svelte-gg2mx3{display:flex;align-items:center;gap:8px}.ag-wday-badge.svelte-gg2mx3{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dt-accent, #ff6b4a);background:color-mix(in srgb,var(--dt-accent, #ff6b4a) 12%,transparent);padding:2px 7px;border-radius:3px}.ag-wday-badge--muted.svelte-gg2mx3{color:var(--dt-text-2, rgba(255, 255, 255, .5));background:color-mix(in srgb,var(--dt-text-2, rgba(255, 255, 255, .5)) 10%,transparent)}.ag-wday-name.svelte-gg2mx3{font-size:13px;font-weight:600}.ag-wday-date.svelte-gg2mx3{font-size:11px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-wday-count.svelte-gg2mx3{font-size:11px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-wday-empty.svelte-gg2mx3{padding:4px 20px 10px;font-size:12px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-wday-expanded.svelte-gg2mx3{padding:0 20px 12px}.ag-wslot.svelte-gg2mx3{margin-bottom:6px}.ag-wslot-header.svelte-gg2mx3{display:flex;align-items:baseline;gap:8px;padding:4px 0}.ag-wslot-time.svelte-gg2mx3{font-size:12px;font-weight:600;font-family:var(--dt-mono, monospace)}.ag-wslot-now.svelte-gg2mx3{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dt-accent, #ff6b4a)}.ag-wslot-eta.svelte-gg2mx3{font-size:11px;font-weight:500;color:var(--dt-accent, #ff6b4a)}.ag-wslot-cards.svelte-gg2mx3{display:flex;flex-direction:column;gap:4px}.ag-wslot-cards--multi.svelte-gg2mx3{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px}.ag-wday-past-line.svelte-gg2mx3{font-size:10px;color:var(--dt-text-3, rgba(255, 255, 255, .3));padding:6px 0 0;opacity:.5}.ag-wday-compact.svelte-gg2mx3{padding:0 20px 10px}.ag-compact.svelte-gg2mx3{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer}.ag-compact.svelte-gg2mx3:hover .ag-compact-title:where(.svelte-gg2mx3){color:var(--dt-text)}.ag-compact.svelte-gg2mx3:focus-visible{outline:2px solid var(--dt-accent, #ff6b4a);outline-offset:2px}.ag-compact--past.svelte-gg2mx3{opacity:.4}.ag-compact--past.svelte-gg2mx3 .ag-compact-title:where(.svelte-gg2mx3){text-decoration:line-through;text-decoration-color:var(--dt-text-3)}.ag-compact-dot.svelte-gg2mx3{width:5px;height:5px;border-radius:50%;background:var(--ev-color, var(--dt-accent));flex-shrink:0}.ag-compact-time.svelte-gg2mx3{font-size:11px;font-family:var(--dt-mono, monospace);color:var(--dt-text-2, rgba(255, 255, 255, .5));min-width:64px;flex-shrink:0}.ag-compact-title.svelte-gg2mx3{font-size:12px;font-weight:500;color:var(--dt-text-2, rgba(255, 255, 255, .5));flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.ag-compact-dur.svelte-gg2mx3{font-size:10px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .3));flex-shrink:0}.ag-compact-sub.svelte-gg2mx3{font-size:10px;color:var(--dt-text-3, rgba(255, 255, 255, .35));flex-shrink:0}.ag-compact-tag.svelte-gg2mx3{font:500 8px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 12%,transparent);padding:1px 4px;border-radius:3px;white-space:nowrap;flex-shrink:0}.ag-compact-more.svelte-gg2mx3{font-size:11px;color:var(--dt-text-3);padding:2px 0 0 13px}
1
+ .fs.svelte-mrwdy7{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.fs--auto.svelte-mrwdy7{overflow:visible}.fs-scroll.svelte-mrwdy7{width:100%;height:100%;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;cursor:default;scrollbar-width:thin;scrollbar-color:var(--dt-scrollbar, rgba(0, 0, 0, .08)) transparent}.fs--auto.svelte-mrwdy7 .fs-scroll:where(.svelte-mrwdy7){height:auto;overflow:visible}.fs-scroll.svelte-mrwdy7::-webkit-scrollbar{height:5px}.fs-scroll.svelte-mrwdy7::-webkit-scrollbar-thumb{background:var(--dt-scrollbar, rgba(0, 0, 0, .08));border-radius:4px}.fs-scroll.svelte-mrwdy7::-webkit-scrollbar-track{background:transparent}.fs-readonly.svelte-mrwdy7{cursor:grab}.fs-grabbing.svelte-mrwdy7{cursor:grabbing}.fs-track.svelte-mrwdy7{position:relative;height:100%}.fs-day.svelte-mrwdy7{position:absolute;top:0;height:100%;border-left:1px solid var(--dt-border-day, rgba(148, 163, 184, .14));box-sizing:border-box}.fs-day.svelte-mrwdy7:first-of-type{border-left:none}.fs-today.svelte-mrwdy7{background:var(--dt-today-bg, rgba(239, 68, 68, .025))}.fs-past.svelte-mrwdy7{opacity:.7}.fs-disabled.svelte-mrwdy7{opacity:.35;background:repeating-linear-gradient(45deg,transparent,transparent 6px,var(--dt-border, rgba(148, 163, 184, .07)) 6px,var(--dt-border, rgba(148, 163, 184, .07)) 7px)!important}.fs-blocked.svelte-mrwdy7{position:absolute;top:18px;bottom:0;z-index:3;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--dt-text, rgba(148, 163, 184, .85)) 4%,transparent),color-mix(in srgb,var(--dt-text, rgba(148, 163, 184, .85)) 4%,transparent) 4px,transparent 4px,transparent 8px);border-radius:4px;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px}.fs-blocked-label.svelte-mrwdy7{font:500 9px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(100, 116, 139, .55));text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.fs-day-header-custom.svelte-mrwdy7{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:4;pointer-events:auto;white-space:nowrap}.fs-tick.svelte-mrwdy7{position:absolute;top:0;bottom:0;width:0}.fs-tick.svelte-mrwdy7:before{content:"";position:absolute;top:18px;bottom:0;width:1px;background:var(--dt-border, rgba(148, 163, 184, .07))}.fs-tick-lb.svelte-mrwdy7{position:absolute;top:2px;left:5px;font:500 10px/1 var(--dt-mono, ui-monospace, monospace);color:var(--dt-text-3, rgba(100, 116, 139, .7));white-space:nowrap;pointer-events:none}.fs-tick--half.svelte-mrwdy7{bottom:auto;height:26px}.fs-tick--half.svelte-mrwdy7:before{top:18px;height:6px;bottom:auto;opacity:.4}.fs-now.svelte-mrwdy7{position:absolute;top:0;bottom:0;z-index:10;pointer-events:none;transform:translate(-1px)}.fs-now-line.svelte-mrwdy7{position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--dt-accent, #2563eb);box-shadow:0 0 8px var(--dt-glow, rgba(239, 68, 68, .35))}.fs-now-tag.svelte-mrwdy7{position:absolute;top:8px;left:8px;font:700 11px/1 var(--dt-mono, ui-monospace, monospace);color:var(--dt-accent, #2563eb);background:color-mix(in srgb,var(--dt-bg, #ffffff) 92%,var(--dt-accent, #2563eb));border:1px solid var(--dt-accent-dim, rgba(239, 68, 68, .18));padding:3px 6px;border-radius:4px;white-space:nowrap;z-index:1}.fs-now-sec.svelte-mrwdy7{font-weight:400;opacity:.5;font-size:10px}.fs-date-label.svelte-mrwdy7{position:absolute;top:22px;left:50%;transform:translate(-50%);z-index:20;font:600 11px/1 var(--dt-sans, system-ui, sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--dt-text, rgba(226, 232, 240, .85));background:color-mix(in srgb,var(--dt-surface, var(--dt-bg, #ffffff)) 85%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:8px 16px;border-radius:8px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07));pointer-events:none;white-space:nowrap}.fs-nav.svelte-mrwdy7{position:absolute;top:22px;right:14px;z-index:20;display:flex;gap:2px;background:color-mix(in srgb,var(--dt-surface, var(--dt-bg, #ffffff)) 85%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;padding:2px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07))}.fs-nav-pill.svelte-mrwdy7{border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;font:600 11px / 1 var(--dt-sans, system-ui, sans-serif);padding:6px 12px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;transition:background .1s,color .1s;display:inline-flex;align-items:center;justify-content:center}.fs-nav-pill.svelte-mrwdy7:hover{color:var(--dt-text, rgba(226, 232, 240, .85))}.fs-nav-today.svelte-mrwdy7{max-width:60px;overflow:hidden;white-space:nowrap;transition:max-width .25s ease,padding .25s ease,opacity .2s ease}.fs-nav-today--hidden.svelte-mrwdy7{max-width:0;padding-left:0;padding-right:0;opacity:0;pointer-events:none}.fs-nav-pill.svelte-mrwdy7:focus-visible{outline:2px solid color-mix(in srgb,var(--dt-accent, #2563eb) 55%,transparent);outline-offset:2px}.fs-allday.svelte-mrwdy7{position:absolute;left:0;right:0;display:flex;gap:6px;padding:0 8px;z-index:7;overflow-x:auto;scrollbar-width:none;pointer-events:auto}.fs-allday.svelte-mrwdy7::-webkit-scrollbar{display:none}.fs-ad.svelte-mrwdy7{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--ev-color) 18%,var(--dt-surface, var(--dt-bg, #ffffff)));border-left:3px solid var(--ev-color);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background .15s}.fs-ad.svelte-mrwdy7:hover{background:color-mix(in srgb,var(--ev-color) 28%,var(--dt-surface, var(--dt-bg, #ffffff)))}.fs-ad.svelte-mrwdy7:focus-visible{outline:2px solid color-mix(in srgb,var(--dt-accent, #2563eb) 55%,transparent);outline-offset:2px}.fs-ad--selected.svelte-mrwdy7{background:color-mix(in srgb,var(--ev-color) 30%,var(--dt-surface, var(--dt-bg, #ffffff)));border-left-width:4px}.fs-ad-dot.svelte-mrwdy7{width:6px;height:6px;border-radius:50%;background:var(--ev-color);flex-shrink:0}.fs-ad-title.svelte-mrwdy7{font-size:.7rem;font-weight:500;color:var(--dt-text, #e2e8f0);max-width:120px;overflow:hidden;text-overflow:ellipsis}.fs-ad-span.svelte-mrwdy7{font-size:.6rem;color:var(--dt-text-2, rgba(148, 163, 184, .55));flex-shrink:0}.fs-event.svelte-mrwdy7{position:absolute;z-index:6;border-radius:6px;cursor:pointer;background:color-mix(in srgb,var(--ev-color) 15%,var(--dt-surface, var(--dt-bg, #ffffff)));overflow:hidden;display:flex;align-items:center;justify-content:center;transition:box-shadow .12s,background .12s}.fs-event.svelte-mrwdy7:hover{background:color-mix(in srgb,var(--ev-color) 25%,var(--dt-surface, var(--dt-bg, #ffffff)));box-shadow:0 2px 12px color-mix(in srgb,var(--ev-color) 25%,transparent)}.fs-event--selected.svelte-mrwdy7{box-shadow:0 0 0 2px var(--ev-color),0 2px 14px color-mix(in srgb,var(--ev-color) 35%,transparent)}.fs-event--current.svelte-mrwdy7{background:color-mix(in srgb,var(--ev-color) 22%,var(--dt-surface, var(--dt-bg, #ffffff)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ev-color) 20%,transparent)}.fs-event--next.svelte-mrwdy7{background:color-mix(in srgb,var(--ev-color) 12%,var(--dt-surface, var(--dt-bg, #ffffff)));border:1px dashed color-mix(in srgb,var(--ev-color) 35%,transparent)}.fs-event--dragging.svelte-mrwdy7{opacity:.85;z-index:50;box-shadow:0 4px 24px #00000059;cursor:grabbing;transition:none}.fs-event--cancelled.svelte-mrwdy7{opacity:.5}.fs-event--cancelled.svelte-mrwdy7 .fs-ev-title:where(.svelte-mrwdy7){text-decoration:line-through}.fs-event--tentative.svelte-mrwdy7{opacity:.65;border:1px dashed color-mix(in srgb,var(--ev-color) 40%,transparent)}.fs-event--full.svelte-mrwdy7{opacity:.55}.fs-event--limited.svelte-mrwdy7{opacity:.65;border:1px dashed color-mix(in srgb,var(--ev-color) 40%,transparent)}.fs-event--readonly.svelte-mrwdy7{cursor:default}.fs-ev-inner.svelte-mrwdy7{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;height:100%;max-width:100%;overflow:hidden;box-sizing:border-box;padding:8px 4px}.fs-ev-live.svelte-mrwdy7{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--ev-color)}.fs-ev-next-badge.svelte-mrwdy7{flex-shrink:0;font:600 8px/1 var(--dt-sans, system-ui, sans-serif);text-transform:uppercase;letter-spacing:.06em;color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:2px 5px;border-radius:3px;white-space:nowrap}.fs-ev-title.svelte-mrwdy7{font:600 13px/1.15 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(226, 232, 240, .92));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-height:100%;flex-shrink:0}.fs-ev-time.svelte-mrwdy7{font:400 10px/1 var(--dt-mono, ui-monospace, monospace);color:var(--dt-text-2, rgba(148, 163, 184, .72));opacity:.7;white-space:nowrap;flex-shrink:0}.fs-ev-sub.svelte-mrwdy7{font:400 11px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-2, rgba(148, 163, 184, .72));opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:100%;flex-shrink:0}.fs-ev-loc.svelte-mrwdy7{font:400 10px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(148, 163, 184, .5));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:100%;flex-shrink:0}.fs-ev-tags.svelte-mrwdy7{display:flex;flex-direction:row;gap:4px;flex-shrink:0}.fs-ev-tag.svelte-mrwdy7{font:500 8px/1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 18%,transparent);padding:1px 4px;border-radius:3px;white-space:nowrap}.fs-event.svelte-mrwdy7:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.wg.svelte-j4rvbp{position:relative;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.wg--auto.svelte-j4rvbp{overflow:visible}.wg-body.svelte-j4rvbp{flex:1;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;padding-top:48px;scrollbar-width:thin;scrollbar-color:var(--dt-scrollbar, rgba(0, 0, 0, .08)) transparent}.wg--auto.svelte-j4rvbp .wg-body:where(.svelte-j4rvbp){overflow-y:visible}.wg-body.svelte-j4rvbp::-webkit-scrollbar{width:4px}.wg-body.svelte-j4rvbp::-webkit-scrollbar-thumb{background:var(--dt-scrollbar, rgba(0, 0, 0, .1));border-radius:4px}.wg-body.svelte-j4rvbp::-webkit-scrollbar-track{background:transparent}.wg-week.svelte-j4rvbp{display:flex;border-radius:10px;margin:12px 8px;border:1.5px solid var(--dt-border, rgba(0, 0, 0, .08));overflow:hidden}.wg-week--current.svelte-j4rvbp{background:var(--dt-today-bg, rgba(239, 68, 68, .02));border:2.5px solid var(--dt-accent, #2563eb);box-shadow:0 0 0 1px color-mix(in srgb,var(--dt-accent, #2563eb) 15%,transparent)}.wg-week-body.svelte-j4rvbp{flex:1;min-width:0;display:flex;flex-direction:column}.wg-days.svelte-j4rvbp{display:flex;flex:1}.wg-cell.svelte-j4rvbp{flex:1;position:relative;min-height:170px;padding:4px 4px 8px;border-right:1px solid var(--dt-border, rgba(0, 0, 0, .06));cursor:pointer;transition:background .15s}.wg-cell.svelte-j4rvbp:last-child{border-right:none}.wg-cell.svelte-j4rvbp:hover{background:var(--dt-hover, rgba(0, 0, 0, .015))}.wg-cell--today.svelte-j4rvbp{background:var(--dt-today-bg, rgba(239, 68, 68, .03))}.wg-cell--today.svelte-j4rvbp:hover{background:#ef44440d}.wg-cell.svelte-j4rvbp{opacity:.55}.wg-cell.svelte-j4rvbp:hover{opacity:.75}.wg-week--current.svelte-j4rvbp .wg-cell:where(.svelte-j4rvbp){opacity:1}.wg-week--current.svelte-j4rvbp .wg-cell--past:where(.svelte-j4rvbp){opacity:.8}.wg-week--current.svelte-j4rvbp .wg-cell--past:where(.svelte-j4rvbp):hover{opacity:.9}.wg-cell--weekend.svelte-j4rvbp{background:var(--dt-weekend-bg, rgba(0, 0, 0, .012))}.wg-cell--disabled.svelte-j4rvbp{background:repeating-linear-gradient(45deg,transparent,transparent 6px,var(--dt-border, rgba(0, 0, 0, .06)) 6px,var(--dt-border, rgba(0, 0, 0, .06)) 7px)!important}.wg-blocked.svelte-j4rvbp{display:flex;align-items:center;gap:3px;padding:2px 4px;border-radius:3px;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--dt-text, rgba(0,0,0,.85)) 4%,transparent),color-mix(in srgb,var(--dt-text, rgba(0,0,0,.85)) 4%,transparent) 3px,transparent 3px,transparent 6px);margin-bottom:2px;min-height:14px}.wg-blocked-label.svelte-j4rvbp{font:500 8px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .3));text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.wg-cell-custom-header.svelte-j4rvbp{padding:0 4px 2px}.wg-cell-hd.svelte-j4rvbp{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:4px 5px 2px 0;margin-bottom:2px}.wg-day-wd.svelte-j4rvbp{font:400 10px / 1 var(--dt-sans, system-ui, sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--dt-text-3, rgba(0, 0, 0, .3))}.wg-week--current.svelte-j4rvbp .wg-day-wd:where(.svelte-j4rvbp){color:var(--dt-text-2, rgba(0, 0, 0, .5))}.wg-cell-hd--today.svelte-j4rvbp .wg-day-wd:where(.svelte-j4rvbp){color:var(--dt-accent, #2563eb);font-weight:600}.wg-day-num.svelte-j4rvbp{font:700 14px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .85))}.wg-week--current.svelte-j4rvbp .wg-day-num:where(.svelte-j4rvbp){color:var(--dt-text, rgba(0, 0, 0, .95))}.wg-day-num--today.svelte-j4rvbp{color:var(--dt-accent, #2563eb);font-weight:900}.wg-cell-month.svelte-j4rvbp{position:absolute;left:4px;top:4px;writing-mode:vertical-rl;transform:rotate(180deg);font:800 22px / 1 var(--dt-sans, system-ui, sans-serif);letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb,var(--dt-text, rgba(255,255,255,.85)) 4%,transparent);pointer-events:none;white-space:nowrap}.wg-week--current.svelte-j4rvbp .wg-cell-month:where(.svelte-j4rvbp){color:color-mix(in srgb,var(--dt-text, rgba(255,255,255,.85)) 8%,transparent)}.wg-allday.svelte-j4rvbp{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.wg-ad.svelte-j4rvbp{display:flex;align-items:center;gap:3px;padding:2px 5px;border-radius:3px;background:color-mix(in srgb,var(--ev-color) 22%,var(--dt-surface, var(--dt-bg, #ffffff)));cursor:pointer;overflow:hidden;transition:background .12s;min-height:18px}.wg-ad--drag-preview.svelte-j4rvbp{position:relative;z-index:8;opacity:.95;pointer-events:none;box-shadow:0 6px 18px color-mix(in srgb,var(--ev-color) 26%,rgba(0,0,0,.22));outline:1px solid color-mix(in srgb,var(--ev-color) 42%,transparent);cursor:grabbing}.wg-ad.svelte-j4rvbp:hover{background:color-mix(in srgb,var(--ev-color) 32%,var(--dt-surface, var(--dt-bg, #ffffff)))}.wg-ad--start.svelte-j4rvbp{border-left:2.5px solid var(--ev-color)}.wg-ad--mid.svelte-j4rvbp{border-radius:0;border-left:1px dashed color-mix(in srgb,var(--ev-color) 40%,transparent)}.wg-ad--end.svelte-j4rvbp:not(.wg-ad--start){border-radius:0 3px 3px 0;border-left:1px dashed color-mix(in srgb,var(--ev-color) 40%,transparent)}.wg-ad--selected.svelte-j4rvbp{box-shadow:0 0 0 1.5px var(--ev-color)}.wg-ad-title.svelte-j4rvbp{font:500 10px / 1.1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .85));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.wg-ad-cont.svelte-j4rvbp{font-size:8px;color:var(--ev-color);flex-shrink:0;line-height:1}.wg-ad-arrow.svelte-j4rvbp{font-size:8px;color:var(--ev-color);flex-shrink:0;margin-left:auto;line-height:1}.wg-cell-events.svelte-j4rvbp{position:relative;display:flex;flex-direction:column;gap:3px}.wg-ev.svelte-j4rvbp{display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px;padding:3px 6px;border-radius:4px;background:color-mix(in srgb,var(--ev-color) 15%,var(--dt-surface, var(--dt-bg, #ffffff)));cursor:pointer;overflow:hidden;transition:background .12s}.wg-ev.svelte-j4rvbp:hover{background:color-mix(in srgb,var(--ev-color) 25%,var(--dt-surface, var(--dt-bg, #ffffff)))}.wg-ev--drag-preview.svelte-j4rvbp{position:relative;z-index:8;opacity:.95;pointer-events:none;background:color-mix(in srgb,var(--ev-color) 28%,var(--dt-surface, var(--dt-bg, #ffffff)));box-shadow:0 6px 18px color-mix(in srgb,var(--ev-color) 24%,rgba(0,0,0,.22));outline:1px solid color-mix(in srgb,var(--ev-color) 42%,transparent);cursor:grabbing}.wg-ev--selected.svelte-j4rvbp{box-shadow:0 0 0 1.5px var(--ev-color)}.wg-ev--current.svelte-j4rvbp{background:color-mix(in srgb,var(--ev-color) 22%,var(--dt-surface, var(--dt-bg, #ffffff)))}.wg-ev--cancelled.svelte-j4rvbp{opacity:.5}.wg-ev--cancelled.svelte-j4rvbp .wg-ev-title:where(.svelte-j4rvbp){text-decoration:line-through}.wg-ev--tentative.svelte-j4rvbp{opacity:.65;border:1px dashed color-mix(in srgb,var(--ev-color) 40%,transparent)}.wg-ev--full.svelte-j4rvbp{opacity:.55}.wg-ev--limited.svelte-j4rvbp{opacity:.65;border:1px dashed color-mix(in srgb,var(--ev-color) 40%,transparent)}.wg-ev--readonly.svelte-j4rvbp{cursor:default}.wg-ev-time.svelte-j4rvbp{font:400 10px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .4));flex-shrink:0;white-space:nowrap}.wg-ev-title.svelte-j4rvbp{font:500 12px / 1.1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .85));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wg-ev-loc.svelte-j4rvbp{font:400 9px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .35));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.wg-ev-more.svelte-j4rvbp{font:500 10px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .35));padding:2px 8px;cursor:pointer}.wg-ev-more.svelte-j4rvbp:hover{color:var(--dt-text-2, rgba(0, 0, 0, .55))}.wg-nav.svelte-j4rvbp{position:absolute;top:22px;right:14px;z-index:20;display:flex;gap:2px;background:color-mix(in srgb,var(--dt-surface, var(--dt-bg, #ffffff)) 85%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;padding:2px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07));animation:svelte-j4rvbp-wg-nav-in .2s ease both}@keyframes svelte-j4rvbp-wg-nav-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.wg-nav-pill.svelte-j4rvbp{border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;font:600 11px / 1 var(--dt-sans, system-ui, sans-serif);padding:6px 12px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;transition:background .1s,color .1s;display:inline-flex;align-items:center;justify-content:center}.wg-nav-pill.svelte-j4rvbp:hover{color:var(--dt-text, rgba(226, 232, 240, .85))}.wg-nav-pill.svelte-j4rvbp:focus-visible{outline:2px solid color-mix(in srgb,var(--dt-accent, #2563eb) 55%,transparent);outline-offset:2px}.wg-cell.svelte-j4rvbp:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:-2px}.wg-ev.svelte-j4rvbp:focus-visible{outline:2px solid var(--ev-color, var(--dt-accent, #2563eb));outline-offset:1px}.wg-ev--dragging.svelte-j4rvbp{opacity:.6;cursor:grabbing;box-shadow:0 2px 8px #0003}.ag-date-label.svelte-n8lbn1{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:20;font:600 11px/1 var(--dt-sans, system-ui, sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--dt-text, rgba(226, 232, 240, .85));background:color-mix(in srgb,var(--dt-surface, var(--dt-bg, #ffffff)) 85%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:8px 16px;border-radius:8px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07));pointer-events:none;white-space:nowrap}.ag-nav.svelte-n8lbn1{position:absolute;top:10px;right:14px;z-index:20;display:flex;gap:2px;background:color-mix(in srgb,var(--dt-surface, var(--dt-bg, #ffffff)) 85%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;padding:2px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07))}.ag-nav-pill.svelte-n8lbn1{border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;font:600 11px / 1 var(--dt-sans, system-ui, sans-serif);padding:6px 12px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;transition:background .1s,color .1s;display:inline-flex;align-items:center;justify-content:center}.ag-nav-pill.svelte-n8lbn1:hover{color:var(--dt-text, rgba(226, 232, 240, .85))}.ag-nav-today.svelte-n8lbn1{max-width:60px;overflow:hidden;white-space:nowrap;transition:max-width .25s ease,padding .25s ease,opacity .2s ease}.ag-nav-today--hidden.svelte-n8lbn1{max-width:0;padding-left:0;padding-right:0;opacity:0;pointer-events:none}.ag-nav-pill.svelte-n8lbn1:focus-visible{outline:2px solid color-mix(in srgb,var(--dt-accent, #2563eb) 55%,transparent);outline-offset:2px}.ag.svelte-n8lbn1{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;height:100%;width:100%;min-width:0;box-sizing:border-box;color:var(--dt-text, rgba(255, 255, 255, .92));font-family:var(--dt-sans, system-ui, sans-serif)}.ag--auto.svelte-n8lbn1{height:auto;overflow:visible}.ag--disabled.svelte-n8lbn1{background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,color-mix(in srgb,var(--dt-text, rgba(255, 255, 255, .92)) 4%,transparent) 6px,color-mix(in srgb,var(--dt-text, rgba(255, 255, 255, .92)) 4%,transparent) 12px)}.ag-body.svelte-n8lbn1{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding-top:44px;scrollbar-width:thin;scrollbar-color:var(--dt-border) transparent}.ag--auto.svelte-n8lbn1 .ag-body:where(.svelte-n8lbn1){overflow-y:visible;min-height:auto}.ag--mobile.svelte-n8lbn1 .ag-body:where(.svelte-n8lbn1){padding-top:8px}.ag-body.svelte-n8lbn1::-webkit-scrollbar{width:4px}.ag-body.svelte-n8lbn1::-webkit-scrollbar-thumb{background:var(--dt-border);border-radius:2px}.ag-allday.svelte-n8lbn1{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--dt-border, rgba(148, 163, 184, .07))}.ag-allday-label.svelte-n8lbn1{font:600 10px/1 var(--dt-sans, system-ui, sans-serif);text-transform:uppercase;letter-spacing:.06em;color:var(--dt-text-2, rgba(148, 163, 184, .55));white-space:nowrap;flex-shrink:0}.ag-allday-items.svelte-n8lbn1{display:flex;flex-wrap:wrap;gap:6px}.ag-allday-chip.svelte-n8lbn1{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;background:color-mix(in srgb,var(--ev-color) 12%,var(--dt-surface, var(--dt-bg, #ffffff)));border:1px solid color-mix(in srgb,var(--ev-color) 20%,transparent);cursor:pointer;transition:background .15s,border-color .15s}.ag-allday-chip.svelte-n8lbn1:hover{background:color-mix(in srgb,var(--ev-color) 22%,var(--dt-surface, var(--dt-bg, #ffffff)));border-color:color-mix(in srgb,var(--ev-color) 35%,transparent)}.ag-allday-chip.svelte-n8lbn1:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.ag-allday-chip--selected.svelte-n8lbn1{border-color:var(--ev-color);background:color-mix(in srgb,var(--ev-color) 18%,var(--dt-surface, var(--dt-bg, #ffffff)))}.ag-allday-dot.svelte-n8lbn1{width:6px;height:6px;border-radius:50%;background:var(--ev-color);flex-shrink:0}.ag-allday-title.svelte-n8lbn1{font:500 .75rem/1.2 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(226, 232, 240, .85));white-space:nowrap}.ag-card.svelte-n8lbn1{display:flex;align-items:stretch;border-radius:10px;background:color-mix(in srgb,var(--ev-color) 15%,var(--dt-surface, var(--dt-bg, #ffffff)));border:1px solid color-mix(in srgb,var(--ev-color) 10%,var(--dt-border, rgba(255, 255, 255, .06)));overflow:hidden;cursor:pointer;transition:background .15s,border-color .15s}.ag-card.svelte-n8lbn1:hover{background:color-mix(in srgb,var(--ev-color) 25%,var(--dt-surface, var(--dt-bg, #ffffff)));border-color:color-mix(in srgb,var(--ev-color) 40%,transparent)}.ag-card.svelte-n8lbn1:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.ag-card--selected.svelte-n8lbn1{border-color:var(--ev-color);background:color-mix(in srgb,var(--ev-color) 22%,var(--dt-surface, var(--dt-bg, #ffffff)))}.ag-card--cancelled.svelte-n8lbn1{opacity:.5}.ag-card--cancelled.svelte-n8lbn1 .ag-card-title:where(.svelte-n8lbn1){text-decoration:line-through}.ag-card--tentative.svelte-n8lbn1{opacity:.65;border-style:dashed}.ag-card--full.svelte-n8lbn1{opacity:.55}.ag-card--limited.svelte-n8lbn1{opacity:.65;border-style:dashed}.ag-card-body.svelte-n8lbn1{padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.ag-card-top.svelte-n8lbn1{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0}.ag-card-title.svelte-n8lbn1{font-size:13px;font-weight:600;line-height:1.3;word-break:break-word;flex:1;min-width:0}.ag-card-meta.svelte-n8lbn1{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .5));font-family:var(--dt-mono, monospace);line-height:1}.ag-card-dur.svelte-n8lbn1{margin-left:6px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-card-sub.svelte-n8lbn1{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .45));line-height:1}.ag-card-loc.svelte-n8lbn1{font-size:10px;color:var(--dt-text-3, rgba(255, 255, 255, .35));line-height:1}.ag-card-tags.svelte-n8lbn1{display:flex;gap:4px;flex-wrap:wrap}.ag-card-tag.svelte-n8lbn1{font:500 9px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:2px 5px;border-radius:3px;white-space:nowrap}.ag-card--q.svelte-n8lbn1{margin-bottom:6px;transition:border-color .15s,transform .1s}.ag-card--q.svelte-n8lbn1 .ag-card-body:where(.svelte-n8lbn1){gap:3px}.ag-card--q.svelte-n8lbn1 .ag-card-tags:where(.svelte-n8lbn1){margin-top:2px}.ag-card-eta.svelte-n8lbn1{font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--dt-accent, #2563eb);flex-shrink:0;white-space:nowrap}.ag-card--hero.svelte-n8lbn1{background:color-mix(in srgb,var(--ev-color) 22%,var(--dt-surface, var(--dt-bg, #ffffff)));border-color:color-mix(in srgb,var(--ev-color) 30%,transparent)}.ag-card--hero.svelte-n8lbn1 .ag-card-title:where(.svelte-n8lbn1){font-size:16px;font-weight:700}.ag-card--hero.svelte-n8lbn1 .ag-card-eta:where(.svelte-n8lbn1){font-size:11px;background:color-mix(in srgb,var(--dt-accent, #2563eb) 18%,transparent);padding:2px 7px;border-radius:4px}.ag-card--hero.svelte-n8lbn1 .ag-card-body:where(.svelte-n8lbn1){padding:14px 16px}.ag-card--plan.svelte-n8lbn1 .ag-card-body:where(.svelte-n8lbn1){padding:12px 14px;gap:3px}.ag-card--plan.svelte-n8lbn1 .ag-card-top:where(.svelte-n8lbn1){align-items:baseline}.ag-card-order.svelte-n8lbn1{font-size:10px;font-weight:700;color:var(--dt-text-3, rgba(255, 255, 255, .2));font-family:var(--dt-mono, monospace);flex-shrink:0}.ag-card--plan.svelte-n8lbn1 .ag-card-title:where(.svelte-n8lbn1){font-size:14px}.ag-card--first.svelte-n8lbn1{background:color-mix(in srgb,var(--ev-color) 20%,var(--dt-surface, var(--dt-bg, #ffffff)));border-color:color-mix(in srgb,var(--ev-color) 25%,transparent)}.ag-card--first.svelte-n8lbn1 .ag-card-title:where(.svelte-n8lbn1){font-size:16px;font-weight:700}.ag-card--plan.svelte-n8lbn1 .ag-card-sub:where(.svelte-n8lbn1){padding-left:22px}.ag-card--plan.svelte-n8lbn1 .ag-card-tags:where(.svelte-n8lbn1){padding-left:22px;margin-top:2px}.ag-q.svelte-n8lbn1{display:grid;grid-template-columns:1fr 1.8fr;gap:0;flex:1;padding:8px 0 10px;min-height:0}.ag--mobile.svelte-n8lbn1 .ag-q:where(.svelte-n8lbn1){grid-template-columns:1fr;min-height:auto}.ag--mobile.svelte-n8lbn1 .ag-q-status:where(.svelte-n8lbn1){border-right:none;border-bottom:1px solid var(--dt-border, rgba(255, 255, 255, .06));padding-bottom:10px;margin-bottom:8px;overflow-y:visible}.ag--mobile.svelte-n8lbn1 .ag-q-queue:where(.svelte-n8lbn1){overflow-y:visible;padding-bottom:16px}.ag--mobile.svelte-n8lbn1 .ag-card-meta:where(.svelte-n8lbn1){line-height:1.3;padding-bottom:1px}.ag--mobile.svelte-n8lbn1 .ag-card-body:where(.svelte-n8lbn1){padding:14px 16px}.ag--mobile.svelte-n8lbn1 .ag-card-title:where(.svelte-n8lbn1){font-size:15px}.ag--mobile.svelte-n8lbn1 .ag-card--hero:where(.svelte-n8lbn1) .ag-card-title:where(.svelte-n8lbn1){font-size:18px}.ag--mobile.svelte-n8lbn1 .ag-card--hero:where(.svelte-n8lbn1) .ag-card-body:where(.svelte-n8lbn1){padding:16px 18px}.ag--mobile.svelte-n8lbn1 .ag-log-row:where(.svelte-n8lbn1){padding:12px 0}.ag--mobile.svelte-n8lbn1 .ag-card--plan:where(.svelte-n8lbn1) .ag-card-body:where(.svelte-n8lbn1){padding:14px 16px}.ag--mobile.svelte-n8lbn1 .ag-card--plan:where(.svelte-n8lbn1) .ag-card-title:where(.svelte-n8lbn1){font-size:15px}.ag--mobile.svelte-n8lbn1 .ag-nav-pill:where(.svelte-n8lbn1){padding:10px 16px}.ag-q-label.svelte-n8lbn1{font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dt-text-3, rgba(255, 255, 255, .25));margin-bottom:8px;padding:0 12px;font-family:var(--dt-sans, system-ui, sans-serif)}.ag-q-empty.svelte-n8lbn1{display:flex;align-items:center;justify-content:center;flex:1;font-size:13px;font-weight:300;color:var(--dt-text-3, rgba(255, 255, 255, .25))}.ag-q-status.svelte-n8lbn1{padding:0 10px 0 14px;border-right:1px solid var(--dt-border, rgba(255, 255, 255, .06));display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none}.ag-q-status.svelte-n8lbn1::-webkit-scrollbar{display:none}.ag-q-done-section.svelte-n8lbn1{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--dt-border, rgba(255, 255, 255, .06))}.ag-q-clock.svelte-n8lbn1{font-size:10px;font-weight:600;font-family:var(--dt-mono, monospace);color:var(--dt-accent, #2563eb);margin-left:4px}.ag-q-now.svelte-n8lbn1{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,var(--dt-surface, var(--dt-bg, #ffffff)));border:1px solid color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);cursor:pointer;transition:background .15s,border-color .15s;margin-right:10px}.ag-q-now.svelte-n8lbn1:hover{background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 25%,var(--dt-surface, var(--dt-bg, #ffffff)));border-color:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 35%,transparent)}.ag-q-now.svelte-n8lbn1:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.ag-q-now--selected.svelte-n8lbn1{border-color:var(--ev-color, var(--dt-accent))}.ag-q-now-dot.svelte-n8lbn1{width:6px;height:6px;border-radius:50%;background:var(--ev-color, var(--dt-accent, #2563eb));margin-bottom:6px;animation:svelte-n8lbn1-ag-pulse 2.5s ease-in-out infinite}@keyframes svelte-n8lbn1-ag-pulse{0%,to{opacity:1}50%{opacity:.4}}.ag-q-now-title.svelte-n8lbn1{font-size:11px;font-weight:600;line-height:1.2;color:var(--dt-text, rgba(255, 255, 255, .92));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.ag-q-now-time.svelte-n8lbn1{font-size:9px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .35));margin-bottom:6px}.ag-q-now-track.svelte-n8lbn1{height:2px;background:var(--dt-border, rgba(255, 255, 255, .06));border-radius:1px;overflow:hidden}.ag-q-now-fill.svelte-n8lbn1{height:100%;background:var(--ev-color, var(--dt-accent, #2563eb));border-radius:1px;transition:width 1s linear}.ag-q-free.svelte-n8lbn1{padding:8px 10px;margin-right:10px}.ag-q-free-label.svelte-n8lbn1{font-size:12px;font-weight:300;color:var(--dt-text-3, rgba(255, 255, 255, .25));margin-bottom:2px}.ag-q-queue.svelte-n8lbn1{padding:0 16px;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column}.ag-q-queue.svelte-n8lbn1::-webkit-scrollbar{display:none}.ag-q-done-item.svelte-n8lbn1{display:flex;align-items:center;gap:5px;padding:3px 0;opacity:.35;cursor:pointer}.ag-q-done-item.svelte-n8lbn1:hover{opacity:.6}.ag-q-done-item.svelte-n8lbn1:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px;opacity:.6}.ag-q-done-item--selected.svelte-n8lbn1{opacity:.7}.ag-q-done-check.svelte-n8lbn1{font-size:9px;color:var(--dt-success, rgba(120, 200, 140, .7));flex-shrink:0}.ag-q-done-title.svelte-n8lbn1{font-size:10px;line-height:1.2;color:var(--dt-text-3, rgba(255, 255, 255, .35));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:line-through;text-decoration-color:var(--dt-text-3, rgba(255, 255, 255, .15))}.ag-log.svelte-n8lbn1{flex:1;padding:8px 20px 12px;overflow-y:auto;scrollbar-width:none;opacity:.7}.ag-log.svelte-n8lbn1::-webkit-scrollbar{display:none}.ag-log-row.svelte-n8lbn1{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--dt-border, rgba(255, 255, 255, .04));cursor:pointer;transition:opacity .15s}.ag-log-row.svelte-n8lbn1:last-child{border-bottom:none}.ag-log-row.svelte-n8lbn1:hover{opacity:1}.ag-log-row.svelte-n8lbn1:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.ag-log-row--selected.svelte-n8lbn1{opacity:1;background:color-mix(in srgb,var(--ev-color) 6%,transparent);border-radius:6px;padding-left:8px;padding-right:8px}.ag-log-check.svelte-n8lbn1{font-size:10px;color:var(--dt-success, rgba(120, 200, 140, .5));flex-shrink:0}.ag-log-time.svelte-n8lbn1{font-size:11px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .3));width:64px;flex-shrink:0}.ag-log-dot.svelte-n8lbn1{width:5px;height:5px;border-radius:50%;flex-shrink:0;opacity:.6}.ag-log-title.svelte-n8lbn1{font-size:13px;font-weight:500;line-height:1.2;color:var(--dt-text-2, rgba(255, 255, 255, .55));flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:line-through;text-decoration-color:var(--dt-border, rgba(255, 255, 255, .08))}.ag-log-dur.svelte-n8lbn1{font-size:10px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .2));flex-shrink:0}.ag-compact-list.svelte-n8lbn1{flex:1;padding:8px 20px 12px;overflow-y:auto;scrollbar-width:none}.ag-compact-list.svelte-n8lbn1::-webkit-scrollbar{display:none}.ag-compact-row.svelte-n8lbn1{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer}.ag-compact-row--selected.svelte-n8lbn1{background:color-mix(in srgb,var(--ev-color) 10%,transparent);border-radius:4px;padding-left:6px;padding-right:6px}.ag-compact-row.svelte-n8lbn1:hover .ag-compact-row-title:where(.svelte-n8lbn1){color:var(--dt-text)}.ag-compact-row.svelte-n8lbn1:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.ag-compact-row-dot.svelte-n8lbn1{width:5px;height:5px;border-radius:50%;background:var(--ev-color, var(--dt-accent));flex-shrink:0}.ag-compact-row-time.svelte-n8lbn1{font-size:11px;font-family:var(--dt-mono, monospace);color:var(--dt-text-2, rgba(255, 255, 255, .5));min-width:64px;flex-shrink:0}.ag-compact-row-title.svelte-n8lbn1{font-size:12px;font-weight:500;color:var(--dt-text-2, rgba(255, 255, 255, .5));flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.ag-compact-row-dur.svelte-n8lbn1{font-size:10px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .3));flex-shrink:0}.ag-compact-row-sub.svelte-n8lbn1{font-size:10px;color:var(--dt-text-3, rgba(255, 255, 255, .35));flex-shrink:0}.ag-compact-row-tag.svelte-n8lbn1{font:500 8px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 12%,transparent);padding:1px 4px;border-radius:3px;white-space:nowrap;flex-shrink:0}.ag-compact-row--cancelled.svelte-n8lbn1{opacity:.5}.ag-compact-row--cancelled.svelte-n8lbn1 .ag-compact-row-title:where(.svelte-n8lbn1){text-decoration:line-through}.ag-compact-row--tentative.svelte-n8lbn1{opacity:.65}.ag--mobile.svelte-n8lbn1 .ag-compact-row:where(.svelte-n8lbn1){padding:8px 0}.ag--mobile.svelte-n8lbn1 .ag-compact-row-title:where(.svelte-n8lbn1){font-size:14px}.ag--mobile.svelte-n8lbn1 .ag-compact-row-time:where(.svelte-n8lbn1){font-size:12px}.ag-plan.svelte-n8lbn1{flex:1;padding:8px 20px 12px;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:6px}.ag-plan.svelte-n8lbn1::-webkit-scrollbar{display:none}.ag-nav.svelte-uhwfyj{position:absolute;top:10px;right:14px;z-index:20;display:flex;gap:2px;background:color-mix(in srgb,var(--dt-surface, var(--dt-bg, #ffffff)) 85%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;padding:2px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07))}.ag-nav-pill.svelte-uhwfyj{border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;font:600 11px / 1 var(--dt-sans, system-ui, sans-serif);padding:6px 12px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;transition:background .1s,color .1s;display:inline-flex;align-items:center;justify-content:center}.ag-nav-pill.svelte-uhwfyj:hover{color:var(--dt-text, rgba(226, 232, 240, .85))}.ag-nav-today.svelte-uhwfyj{max-width:60px;overflow:hidden;white-space:nowrap;transition:max-width .25s ease,padding .25s ease,opacity .2s ease}.ag-nav-today--hidden.svelte-uhwfyj{max-width:0;padding-left:0;padding-right:0;opacity:0;pointer-events:none}.ag-nav-pill.svelte-uhwfyj:focus-visible{outline:2px solid color-mix(in srgb,var(--dt-accent, #2563eb) 55%,transparent);outline-offset:2px}.ag.svelte-uhwfyj{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;height:100%;width:100%;min-width:0;box-sizing:border-box;color:var(--dt-text, rgba(255, 255, 255, .92));font-family:var(--dt-sans, system-ui, sans-serif)}.ag--auto.svelte-uhwfyj{height:auto;overflow:visible}.ag-body.svelte-uhwfyj{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;padding-top:44px;scrollbar-width:thin;scrollbar-color:var(--dt-border) transparent}.ag--auto.svelte-uhwfyj .ag-body:where(.svelte-uhwfyj){overflow-y:visible}.ag-body.svelte-uhwfyj::-webkit-scrollbar{width:4px}.ag-body.svelte-uhwfyj::-webkit-scrollbar-thumb{background:var(--dt-border);border-radius:2px}.ag-allday.svelte-uhwfyj{display:flex;flex-wrap:wrap;gap:4px;padding:4px 14px 6px}.ag-allday-chip.svelte-uhwfyj{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:5px;background:color-mix(in srgb,var(--ev-color) 12%,var(--dt-surface, var(--dt-bg, #ffffff)));border:1px solid color-mix(in srgb,var(--ev-color) 18%,transparent);cursor:pointer;transition:background .15s,border-color .15s}.ag-allday-chip.svelte-uhwfyj:hover{background:color-mix(in srgb,var(--ev-color) 22%,var(--dt-surface, var(--dt-bg, #ffffff)));border-color:color-mix(in srgb,var(--ev-color) 30%,transparent)}.ag-allday-chip.svelte-uhwfyj:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.ag-allday-chip--selected.svelte-uhwfyj{border-color:var(--ev-color);background:color-mix(in srgb,var(--ev-color) 18%,var(--dt-surface, var(--dt-bg, #ffffff)))}.ag-allday-dot.svelte-uhwfyj{width:5px;height:5px;border-radius:50%;background:var(--ev-color);flex-shrink:0}.ag-allday-title.svelte-uhwfyj{font:500 .7rem/1.2 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(226, 232, 240, .85));white-space:nowrap}.ag-card.svelte-uhwfyj{display:flex;align-items:stretch;border-radius:6px;background:color-mix(in srgb,var(--ev-color) 12%,var(--dt-surface, var(--dt-bg, #ffffff)));border:1px solid color-mix(in srgb,var(--ev-color) 8%,var(--dt-border, rgba(255, 255, 255, .06)));overflow:hidden;cursor:pointer;transition:background .15s,border-color .15s}.ag-card.svelte-uhwfyj:hover{background:color-mix(in srgb,var(--ev-color) 20%,var(--dt-surface, var(--dt-bg, #ffffff)));border-color:color-mix(in srgb,var(--ev-color) 30%,transparent)}.ag-card.svelte-uhwfyj:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.ag-card--selected.svelte-uhwfyj{border-color:var(--ev-color);background:color-mix(in srgb,var(--ev-color) 20%,var(--dt-surface, var(--dt-bg, #ffffff)))}.ag-card--cancelled.svelte-uhwfyj{opacity:.5}.ag-card--cancelled.svelte-uhwfyj .ag-card-title:where(.svelte-uhwfyj){text-decoration:line-through}.ag-card--tentative.svelte-uhwfyj{opacity:.65;border-style:dashed}.ag-card--full.svelte-uhwfyj{opacity:.55}.ag-card--limited.svelte-uhwfyj{opacity:.65;border-style:dashed}.ag-card-body.svelte-uhwfyj{padding:7px 10px;display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ag-card-title.svelte-uhwfyj{font-size:13px;font-weight:600;line-height:1.3;word-break:break-word;flex:1;min-width:0}.ag-card-meta.svelte-uhwfyj{display:flex;align-items:center;font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .5));font-family:var(--dt-mono, monospace);line-height:1}.ag-card-dur.svelte-uhwfyj{margin-left:6px;color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-card-eta.svelte-uhwfyj{margin-left:auto;font-size:10px;font-weight:600;color:color-mix(in srgb,var(--ev-color) 80%,var(--dt-text));opacity:.85;letter-spacing:.02em}.ag-card-sub.svelte-uhwfyj{font-size:11px;color:var(--dt-text-2, rgba(255, 255, 255, .45));line-height:1}.ag-card-loc.svelte-uhwfyj{font-size:10px;color:var(--dt-text-3, rgba(255, 255, 255, .35));line-height:1}.ag-card-tags.svelte-uhwfyj{display:flex;gap:4px;flex-wrap:wrap}.ag-card-tag.svelte-uhwfyj{font:500 9px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:2px 5px;border-radius:3px;white-space:nowrap}.ag-card-progress.svelte-uhwfyj{height:3px;background:var(--dt-border, rgba(255, 255, 255, .06));border-radius:2px;overflow:hidden;margin-top:2px}.ag-card-progress-fill.svelte-uhwfyj{height:100%;background:var(--ev-color, var(--dt-accent));border-radius:2px;transition:width 1s linear}.ag-wday.svelte-uhwfyj{border-bottom:1px solid var(--dt-border, rgba(255, 255, 255, .06))}.ag-wday--today.svelte-uhwfyj{background:color-mix(in srgb,var(--dt-accent, #2563eb) 2%,transparent)}.ag-wday--tomorrow.svelte-uhwfyj .ag-card:where(.svelte-uhwfyj){opacity:.82}.ag-wday--past.svelte-uhwfyj{opacity:.4}.ag-wday--past.svelte-uhwfyj .ag-wday-head:where(.svelte-uhwfyj){padding:8px 20px}.ag-wday--disabled.svelte-uhwfyj{position:relative}.ag-wday--disabled.svelte-uhwfyj:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 4px,rgba(128,128,128,.08) 4px,rgba(128,128,128,.08) 8px);pointer-events:none}.ag-wday-custom-header.svelte-uhwfyj{padding:2px 0 4px}.ag-wday-head.svelte-uhwfyj{display:flex;justify-content:space-between;align-items:center;padding:8px 20px}.ag-wday-head-left.svelte-uhwfyj{display:flex;align-items:center;gap:8px}.ag-wday-badge.svelte-uhwfyj{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dt-accent, #2563eb);background:color-mix(in srgb,var(--dt-accent, #2563eb) 12%,transparent);padding:2px 7px;border-radius:3px}.ag-wday-badge--muted.svelte-uhwfyj{color:var(--dt-text-2, rgba(255, 255, 255, .5));background:color-mix(in srgb,var(--dt-text-2, rgba(255, 255, 255, .5)) 10%,transparent)}.ag-wday-name.svelte-uhwfyj{font-size:13px;font-weight:600}.ag-wday-date.svelte-uhwfyj{font-size:11px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .3))}.ag-wday-empty.svelte-uhwfyj{padding:2px 20px 6px;font-size:11px;color:var(--dt-text-3, rgba(255, 255, 255, .2));font-style:italic}.ag-wday-expanded.svelte-uhwfyj{padding:0 20px 10px}.ag-wslot.svelte-uhwfyj{margin-bottom:4px}.ag-wslot-header.svelte-uhwfyj{display:flex;align-items:baseline;gap:8px;padding:2px 0}.ag-wslot-now.svelte-uhwfyj{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dt-accent, #2563eb)}.ag-wslot-cards.svelte-uhwfyj{display:flex;flex-direction:column;gap:4px}.ag-wslot-cards--multi.svelte-uhwfyj{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px}.ag-wday-past-line.svelte-uhwfyj{font-size:10px;color:var(--dt-text-3, rgba(255, 255, 255, .3));padding:6px 0 0;opacity:.5}.ag-wday-compact.svelte-uhwfyj{padding:0 20px 6px}.ag-compact.svelte-uhwfyj{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;min-width:0;overflow:hidden}.ag-compact--selected.svelte-uhwfyj{background:color-mix(in srgb,var(--ev-color) 10%,transparent);border-radius:4px;padding-left:6px;padding-right:6px}.ag-compact.svelte-uhwfyj:hover .ag-compact-title:where(.svelte-uhwfyj){color:var(--dt-text)}.ag-compact.svelte-uhwfyj:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.ag-compact-dot.svelte-uhwfyj{width:5px;height:5px;border-radius:50%;background:var(--ev-color, var(--dt-accent));flex-shrink:0}.ag-compact-time.svelte-uhwfyj{font-size:11px;font-family:var(--dt-mono, monospace);color:var(--dt-text-2, rgba(255, 255, 255, .5));min-width:40px;flex-shrink:0;white-space:nowrap}.ag-compact-title.svelte-uhwfyj{font-size:12px;font-weight:500;color:var(--dt-text-2, rgba(255, 255, 255, .5));flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.ag-compact-dur.svelte-uhwfyj{font-size:10px;font-family:var(--dt-mono, monospace);color:var(--dt-text-3, rgba(255, 255, 255, .3));flex-shrink:0;white-space:nowrap}.ag-compact-sub.svelte-uhwfyj{font-size:10px;color:var(--dt-text-3, rgba(255, 255, 255, .35));flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.ag-compact-loc.svelte-uhwfyj{font-size:9px;color:var(--dt-text-3, rgba(255, 255, 255, .3));flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.ag-compact--cancelled.svelte-uhwfyj{opacity:.5}.ag-compact--cancelled.svelte-uhwfyj .ag-compact-title:where(.svelte-uhwfyj){text-decoration:line-through}.ag-compact--tentative.svelte-uhwfyj{opacity:.65}.ag-compact--full.svelte-uhwfyj{opacity:.55}.ag-compact--limited.svelte-uhwfyj{opacity:.65}.ag-compact-tag.svelte-uhwfyj{font:500 8px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 12%,transparent);padding:1px 4px;border-radius:3px;white-space:nowrap;flex-shrink:0;max-width:80px;overflow:hidden;text-overflow:ellipsis}.ag-compact-more.svelte-uhwfyj{font-size:11px;color:var(--dt-text-3);padding:2px 0 0 13px}.ag--mobile.svelte-uhwfyj .ag-wday-head:where(.svelte-uhwfyj){padding:12px 16px}.ag--mobile.svelte-uhwfyj .ag-wday-expanded:where(.svelte-uhwfyj){padding:0 16px 12px}.ag--mobile.svelte-uhwfyj .ag-wday-compact:where(.svelte-uhwfyj){padding:0 16px 12px}.ag--mobile.svelte-uhwfyj .ag-card-body:where(.svelte-uhwfyj){padding:12px 14px}.ag--mobile.svelte-uhwfyj .ag-card-title:where(.svelte-uhwfyj){font-size:14px}.ag--mobile.svelte-uhwfyj .ag-compact:where(.svelte-uhwfyj){padding:8px 0}.ag--mobile.svelte-uhwfyj .ag-compact-title:where(.svelte-uhwfyj){font-size:14px}.ag--mobile.svelte-uhwfyj .ag-compact-time:where(.svelte-uhwfyj){font-size:12px}.ag--mobile.svelte-uhwfyj .ag-nav-pill:where(.svelte-uhwfyj){padding:10px 16px}.ag--mobile.svelte-uhwfyj .ag-wslot-cards--multi:where(.svelte-uhwfyj){grid-template-columns:1fr}.mb.svelte-zbkzcp{position:relative;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;overflow:hidden;background:var(--dt-bg, #fff);-webkit-tap-highlight-color:transparent}.mb--auto.svelte-zbkzcp{overflow:visible}.mb-allday.svelte-zbkzcp{display:flex;gap:4px;padding:4px 8px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--dt-border, rgba(0, 0, 0, .06));flex-shrink:0;align-items:center}.mb-allday.svelte-zbkzcp::-webkit-scrollbar{display:none}.mb-allday-chip.svelte-zbkzcp{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:5px;background:color-mix(in srgb,var(--ev-color) 12%,var(--dt-surface, #f9fafb));border:none;cursor:pointer;flex-shrink:0;transition:background .12s;-webkit-tap-highlight-color:transparent;max-width:160px}.mb-allday-chip.svelte-zbkzcp:active{background:color-mix(in srgb,var(--ev-color) 22%,var(--dt-surface, #f9fafb))}.mb-allday-chip--selected.svelte-zbkzcp{box-shadow:0 0 0 1.5px var(--ev-color)}.mb-allday-dot.svelte-zbkzcp{width:6px;height:6px;border-radius:50%;background:var(--ev-color);flex-shrink:0}.mb-allday-title.svelte-zbkzcp{font:500 11px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .87));white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.mb-allday-span.svelte-zbkzcp{font:400 10px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .38))}.mb-allday-more.svelte-zbkzcp{font:500 11px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-2, rgba(0, 0, 0, .54));white-space:nowrap;flex-shrink:0;padding:0 4px}.mb-grid.svelte-zbkzcp{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--dt-scrollbar, rgba(0, 0, 0, .08)) transparent;position:relative;padding-top:8px}.mb--auto.svelte-zbkzcp .mb-grid:where(.svelte-zbkzcp){overflow-y:visible}.mb-grid-inner.svelte-zbkzcp{position:relative;min-width:100%}.mb-hour.svelte-zbkzcp{position:absolute;left:0;right:0;display:flex;align-items:flex-start}.mb-hour-label.svelte-zbkzcp{width:40px;flex-shrink:0;font:500 11px/1 var(--dt-mono, ui-monospace, monospace);color:var(--dt-text-3, rgba(0, 0, 0, .38));text-align:right;padding-right:8px;padding-top:0;position:relative;top:-6px}.mb-hour-line.svelte-zbkzcp{flex:1;height:1px;background:var(--dt-border, rgba(0, 0, 0, .08))}.mb-hour--blocked.svelte-zbkzcp{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--dt-text, rgba(0, 0, 0, .87)) 3%,transparent),color-mix(in srgb,var(--dt-text, rgba(0, 0, 0, .87)) 3%,transparent) 4px,transparent 4px,transparent 8px)}.mb-blocked-label.svelte-zbkzcp{position:absolute;left:44px;top:50%;transform:translateY(-50%);font:500 9px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .38));text-transform:uppercase;letter-spacing:.04em}.mb-now.svelte-zbkzcp{position:absolute;left:0;right:0;z-index:10;display:flex;align-items:center;pointer-events:none}.mb-now-label.svelte-zbkzcp{width:40px;flex-shrink:0;text-align:right;padding-right:6px;font:700 10px/1 var(--dt-mono, ui-monospace, monospace);color:var(--dt-accent, #2563eb)}.mb-now-line.svelte-zbkzcp{flex:1;height:2px;background:var(--dt-accent, #2563eb);box-shadow:0 0 6px var(--dt-glow, rgba(37, 99, 235, .25));position:relative}.mb-now-line.svelte-zbkzcp:before{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--dt-accent, #2563eb)}.mb-event.svelte-zbkzcp{position:absolute;z-index:5;border-radius:8px;cursor:pointer;background:color-mix(in srgb,var(--ev-color) 12%,var(--dt-surface, #f9fafb));border:none;display:flex;align-items:stretch;overflow:hidden;transition:box-shadow .12s,background .12s;text-align:left;padding:0;-webkit-tap-highlight-color:transparent;min-height:24px}.mb-event.svelte-zbkzcp:active{background:color-mix(in srgb,var(--ev-color) 20%,var(--dt-surface, #f9fafb))}.mb-event--selected.svelte-zbkzcp{box-shadow:0 0 0 2px var(--ev-color),0 2px 12px color-mix(in srgb,var(--ev-color) 25%,transparent)}.mb-event--current.svelte-zbkzcp{background:color-mix(in srgb,var(--ev-color) 18%,var(--dt-surface, #f9fafb))}.mb-event--next.svelte-zbkzcp{background:color-mix(in srgb,var(--ev-color) 8%,var(--dt-surface, #f9fafb));border:1px dashed color-mix(in srgb,var(--ev-color) 35%,transparent)}.mb-event--cancelled.svelte-zbkzcp{opacity:.5}.mb-event--cancelled.svelte-zbkzcp .mb-ev-title:where(.svelte-zbkzcp){text-decoration:line-through}.mb-event--tentative.svelte-zbkzcp{opacity:.65;border:1px dashed color-mix(in srgb,var(--ev-color) 35%,transparent)}.mb-event--full.svelte-zbkzcp{opacity:.55}.mb-event--limited.svelte-zbkzcp{opacity:.65;border:1px dashed color-mix(in srgb,var(--ev-color) 35%,transparent)}.mb-ev-stripe.svelte-zbkzcp{width:4px;background:var(--ev-color);flex-shrink:0;border-radius:8px 0 0 8px}.mb-ev-body.svelte-zbkzcp{flex:1;min-width:0;padding:4px 8px;display:flex;flex-direction:column;gap:1px;justify-content:center}.mb-ev-title.svelte-zbkzcp{font:600 13px/1.2 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .87));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mb-ev-time.svelte-zbkzcp{font:400 11px/1 var(--dt-mono, ui-monospace, monospace);color:var(--dt-text-2, rgba(0, 0, 0, .54))}.mb-ev-sub.svelte-zbkzcp{font:400 11px/1.1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .38));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mb-ev-loc.svelte-zbkzcp{font:400 10px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .3));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mb-ev-tags.svelte-zbkzcp{display:flex;gap:4px;margin-top:2px}.mb-ev-tag.svelte-zbkzcp{font:500 9px/1 var(--dt-sans, system-ui, sans-serif);color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:2px 5px;border-radius:3px;white-space:nowrap}.mb-ev-live.svelte-zbkzcp{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--ev-color, var(--dt-accent));animation:svelte-zbkzcp-mb-pulse 2s ease-in-out infinite}.mb-ev-next-badge.svelte-zbkzcp{position:absolute;top:4px;right:4px;font:600 8px/1 var(--dt-sans, system-ui, sans-serif);text-transform:uppercase;letter-spacing:.06em;color:var(--ev-color, var(--dt-accent));background:color-mix(in srgb,var(--ev-color, var(--dt-accent)) 15%,transparent);padding:2px 5px;border-radius:3px;white-space:nowrap}@keyframes svelte-zbkzcp-mb-pulse{0%,to{opacity:1}50%{opacity:.4}}.mb-event.svelte-zbkzcp:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:2px}.mw.svelte-1d18hkf{position:relative;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;overflow:hidden;background:var(--dt-bg, #fff);-webkit-tap-highlight-color:transparent}.mw--auto.svelte-1d18hkf{overflow:visible}.mw-list.svelte-1d18hkf{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--dt-scrollbar, rgba(0, 0, 0, .08)) transparent}.mw--auto.svelte-1d18hkf .mw-list:where(.svelte-1d18hkf){overflow-y:visible}.mw-row.svelte-1d18hkf{display:flex;align-items:center;gap:12px;position:relative;padding:10px 12px;background:transparent;transition:background .12s;text-align:left;width:100%;-webkit-tap-highlight-color:transparent;border-bottom:1px solid var(--dt-border, rgba(0, 0, 0, .06));min-height:56px}.mw-row.svelte-1d18hkf:last-child{border-bottom:none}.mw-row.svelte-1d18hkf:has(.mw-row-target:where(.svelte-1d18hkf):active){background:color-mix(in srgb,var(--dt-accent, #2563eb) 6%,transparent)}.mw-row--today.svelte-1d18hkf{background:color-mix(in srgb,var(--dt-accent, #2563eb) 4%,transparent)}.mw-row--past.svelte-1d18hkf{opacity:.5}.mw-row--disabled.svelte-1d18hkf{background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,color-mix(in srgb,var(--dt-text, rgba(0, 0, 0, .87)) 4%,transparent) 6px,color-mix(in srgb,var(--dt-text, rgba(0, 0, 0, .87)) 4%,transparent) 12px)}.mw-row-target.svelte-1d18hkf{position:absolute;inset:0;z-index:0;border:none;background:transparent;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.mw-row-target.svelte-1d18hkf:disabled{cursor:default}.mw-row-target.svelte-1d18hkf:focus-visible{outline:2px solid var(--dt-accent, #2563eb);outline-offset:-2px}.mw-date.svelte-1d18hkf{display:flex;flex-direction:column;align-items:center;width:40px;flex-shrink:0;gap:2px;position:relative;z-index:1;pointer-events:none}.mw-day-name.svelte-1d18hkf{font:600 10px/1 var(--dt-sans, system-ui, sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--dt-text-3, rgba(0, 0, 0, .38))}.mw-day-name--today.svelte-1d18hkf{color:var(--dt-accent, #2563eb)}.mw-day-num.svelte-1d18hkf{font:700 18px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .87))}.mw-day-num--today.svelte-1d18hkf{background:var(--dt-accent, #2563eb);color:var(--dt-btn-text, #fff);width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:15px}.mw-events.svelte-1d18hkf{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;position:relative;z-index:2}.mw-empty.svelte-1d18hkf{font:400 12px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .25));font-style:italic}.mw-ev.svelte-1d18hkf{display:flex;align-items:center;gap:0;border-radius:6px;background:color-mix(in srgb,var(--ev-color) 10%,var(--dt-surface, #f9fafb));overflow:hidden;cursor:pointer;transition:background .12s;-webkit-tap-highlight-color:transparent;border:none;text-align:left;padding:0}.mw-ev.svelte-1d18hkf:active{background:color-mix(in srgb,var(--ev-color) 20%,var(--dt-surface, #f9fafb))}.mw-ev--selected.svelte-1d18hkf{box-shadow:0 0 0 1.5px var(--ev-color)}.mw-ev--current.svelte-1d18hkf{background:color-mix(in srgb,var(--ev-color) 16%,var(--dt-surface, #f9fafb))}.mw-ev--allday.svelte-1d18hkf{background:color-mix(in srgb,var(--ev-color) 14%,var(--dt-surface, #f9fafb))}.mw-ev--cancelled.svelte-1d18hkf{opacity:.5}.mw-ev--cancelled.svelte-1d18hkf .mw-ev-title:where(.svelte-1d18hkf){text-decoration:line-through}.mw-ev--tentative.svelte-1d18hkf{opacity:.65;border:1px dashed color-mix(in srgb,var(--ev-color) 35%,transparent)}.mw-ev--full.svelte-1d18hkf{opacity:.55}.mw-ev--limited.svelte-1d18hkf{opacity:.65;border:1px dashed color-mix(in srgb,var(--ev-color) 35%,transparent)}.mw-ev-stripe.svelte-1d18hkf{width:3px;align-self:stretch;background:var(--ev-color, var(--dt-accent));flex-shrink:0;border-radius:6px 0 0 6px}.mw-ev-body.svelte-1d18hkf{flex:1;min-width:0;padding:5px 8px;display:flex;align-items:baseline;gap:6px}.mw-ev-title.svelte-1d18hkf{font:500 12px/1.2 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(0, 0, 0, .87));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.mw-ev-time.svelte-1d18hkf{font:400 11px/1 var(--dt-mono, ui-monospace, monospace);color:var(--dt-text-3, rgba(0, 0, 0, .38));white-space:nowrap;flex-shrink:0}.mw-ev-more.svelte-1d18hkf{font:400 11px/1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(0, 0, 0, .38));padding:2px 0}.mw-chevron.svelte-1d18hkf{flex-shrink:0;color:var(--dt-text-3, rgba(0, 0, 0, .2));position:relative;z-index:1;pointer-events:none}.mw-ev.svelte-1d18hkf:focus-visible{outline:2px solid var(--ev-color, var(--dt-accent));outline-offset:1px}.cal.svelte-1b53e7w{position:relative;width:100%;min-width:0;height:var(--cal-h, 600px);background:var(--dt-bg, inherit);border-radius:var(--cal-r, 12px);overflow:clip;display:flex;flex-direction:column;border:1px solid var(--dt-border, rgba(148, 163, 184, .07));box-sizing:border-box}.cal--auto.svelte-1b53e7w{height:auto;overflow:visible}.cal-pills.svelte-1b53e7w{position:absolute;top:22px;bottom:auto;left:10px;z-index:20;display:flex;gap:2px;background:color-mix(in srgb,var(--dt-surface, var(--dt-bg, #ffffff)) 85%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;padding:2px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07))}.cal-pill.svelte-1b53e7w{border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;font:600 11px / 1 var(--dt-sans, system-ui, sans-serif);padding:6px 12px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;transition:background .1s,color .1s}.cal-pill.svelte-1b53e7w:hover{color:var(--dt-text, rgba(226, 232, 240, .85))}.cal-pill--active.svelte-1b53e7w{background:var(--dt-accent, #2563eb);color:var(--dt-btn-text, #fff)}.cal-pill.svelte-1b53e7w:focus-visible{outline:2px solid color-mix(in srgb,var(--dt-accent, #2563eb) 55%,transparent);outline-offset:2px}.cal-body.svelte-1b53e7w{flex:1;min-height:0;position:relative;overflow:hidden}.cal--auto.svelte-1b53e7w .cal-body:where(.svelte-1b53e7w){overflow:visible}.cal-empty.svelte-1b53e7w{display:flex;align-items:center;justify-content:center;height:100%;font:400 13px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text-3, rgba(100, 116, 139, .55))}.cal-loading.svelte-1b53e7w{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--dt-accent, #2563eb) 50%,transparent 100%);animation:svelte-1b53e7w-cal-slide 1.2s ease-in-out infinite}@keyframes svelte-1b53e7w-cal-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.cal-m-hd.svelte-1b53e7w{display:flex;align-items:center;gap:4px;padding:8px 8px 6px;border-bottom:1px solid var(--dt-border, rgba(148, 163, 184, .07));flex-shrink:0;min-height:44px}.cal-m-left.svelte-1b53e7w,.cal-m-right.svelte-1b53e7w{display:flex;align-items:center;gap:2px;flex-shrink:0}.cal-m-right.svelte-1b53e7w{justify-content:flex-end}.cal-m-nav.svelte-1b53e7w{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));border-radius:50%;cursor:pointer;transition:background .12s,color .12s;-webkit-tap-highlight-color:transparent;flex-shrink:0}.cal-m-nav.svelte-1b53e7w:hover{color:var(--dt-text, rgba(226, 232, 240, .85));background:color-mix(in srgb,var(--dt-text, rgba(226, 232, 240, .85)) 8%,transparent)}.cal-m-nav.svelte-1b53e7w:active{background:var(--dt-accent-dim, rgba(239, 68, 68, .12))}.cal-m-nav.svelte-1b53e7w:focus-visible{outline:2px solid color-mix(in srgb,var(--dt-accent, #2563eb) 55%,transparent);outline-offset:2px}.cal-m-pills.svelte-1b53e7w{display:flex;gap:2px;background:color-mix(in srgb,var(--dt-surface, var(--dt-bg, #ffffff)) 85%,transparent);border-radius:8px;padding:2px;border:1px solid var(--dt-border, rgba(148, 163, 184, .07));flex-shrink:0}.cal-m-pill.svelte-1b53e7w{border:none;background:transparent;color:var(--dt-text-2, rgba(148, 163, 184, .55));cursor:pointer;font:600 11px / 1 var(--dt-sans, system-ui, sans-serif);padding:5px 10px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;transition:background .1s,color .1s;-webkit-tap-highlight-color:transparent}.cal-m-pill.svelte-1b53e7w:hover{color:var(--dt-text, rgba(226, 232, 240, .85))}.cal-m-pill--active.svelte-1b53e7w{background:var(--dt-accent, #2563eb);color:var(--dt-btn-text, #fff)}.cal-m-title.svelte-1b53e7w{flex:1;text-align:center;font:600 14px / 1.2 var(--dt-sans, system-ui, sans-serif);color:var(--dt-text, rgba(226, 232, 240, .85));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cal-m-today-bar.svelte-1b53e7w{display:flex;justify-content:center;padding:12px 8px 6px;flex-shrink:0}.cal-m-today.svelte-1b53e7w{font:600 11px / 1 var(--dt-sans, system-ui, sans-serif);color:var(--dt-accent, #2563eb);background:color-mix(in srgb,var(--dt-accent, #2563eb) 10%,transparent);border:none;padding:5px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;transition:background .12s,color .12s;-webkit-tap-highlight-color:transparent;flex-shrink:0}.cal-m-today.svelte-1b53e7w:hover{background:color-mix(in srgb,var(--dt-accent, #2563eb) 18%,transparent)}.cal-m-today.svelte-1b53e7w:active{background:color-mix(in srgb,var(--dt-accent, #2563eb) 25%,transparent)}.cal-m-today.svelte-1b53e7w:focus-visible{outline:2px solid color-mix(in srgb,var(--dt-accent, #2563eb) 55%,transparent);outline-offset:2px}