apptify 0.2.0

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,25 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Apptify contributors
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.
22
+
23
+ Demo photographs and Apple product imagery are not covered by this license.
24
+ See public/images/SOURCES.md for their provenance. Apple is a trademark of
25
+ Apple Inc. This project is independent and is not endorsed by Apple Inc.
package/README.md ADDED
@@ -0,0 +1,294 @@
1
+ # Apptify
2
+
3
+ 面向桌面与移动端的个人 Vue 3 组件库。统一使用 `<apple-*>` 前缀,保留 Vuetify 的 Ripple 指令,而不继承它的整套 Material 组件外观。
4
+
5
+ 设计借鉴 Apple 网站的排版、留白、层次与交互节奏;不是 Apple 官方产品,也不声称全部控件都与 Apple 网站逐像素一致。表格、级联选择、验证码、下拉刷新等能力是在同一套视觉语言下的扩展。
6
+
7
+ 当前导出并注册 **68 个组件**:基础 9 个、表单 18 个、内容与移动交互 29 个、弹层 10 个、动效 2 个。其中 `AppleOverlayHost` 是由 Provider 自动挂载的基础设施,通常直接使用其余 67 个即可。完整实际 API 见 [组件参考](docs/COMPONENTS.md)。
8
+
9
+ ## 本地运行与安装
10
+
11
+ 项目尚未发布到 npm。不要把 `npm install apptify` 当成已发布包的安装方式。
12
+
13
+ 建议使用 Node.js 22 LTS 或 24 LTS;测试工具不支持奇数版本的 Node.js。
14
+
15
+ 在本仓库执行:
16
+
17
+ ```sh
18
+ npm ci
19
+ npm run dev
20
+ ```
21
+
22
+ 开发服务器地址以终端输出为准。开发页面是可交互的组件工作台,不是组件库的业务页面模板。
23
+
24
+ 在另一个项目中使用本地包:
25
+
26
+ ```sh
27
+ # 在本仓库构建并生成 apptify-0.1.0.tgz
28
+ npm run build
29
+ npm pack
30
+
31
+ # 在消费项目执行,将路径替换为实际包路径
32
+ npm install /absolute/path/apptify/apptify-0.1.0.tgz
33
+ npm install vue@^3.5 vuetify@^3.9
34
+ ```
35
+
36
+ Vue 与 Vuetify 是 peer dependencies。图标使用 `lucide-vue-next`,图片预览的缩放与手势使用 `@panzoom/panzoom`。本库没有要求安装 Vuetify 插件或导入其完整样式,也不需要 `<v-app>`。
37
+
38
+ ## 接入应用
39
+
40
+ JavaScript 和 TypeScript 项目都可直接使用。消费项目不需要 TypeScript、`tsconfig.json` 或 `<script setup>`;普通 `<script>` 与 Options API 是完整支持的用法。随包提供的类型声明也可以为 JavaScript 编辑器提供补全。
41
+
42
+ ```js
43
+ // src/main.js
44
+ import { createApp } from 'vue'
45
+ import { createAppleUI } from 'apptify'
46
+ import 'apptify/style.css'
47
+ import App from './App.vue'
48
+
49
+ const apple = createAppleUI({
50
+ theme: 'system',
51
+ motion: 'auto',
52
+ persist: true,
53
+ storageKey: 'my-app:appearance',
54
+ })
55
+
56
+ createApp(App).use(apple).mount('#app')
57
+ ```
58
+
59
+ ```vue
60
+ <!-- App.vue -->
61
+ <template>
62
+ <apple-provider>
63
+ <main>
64
+ <apple-container>
65
+ <apple-card title="个人资料" subtitle="保持联系。">
66
+ <apple-input v-model="name" label="姓名" autocomplete="name" />
67
+ <template #actions>
68
+ <apple-button @click="save">保存</apple-button>
69
+ </template>
70
+ </apple-card>
71
+ </apple-container>
72
+ </main>
73
+ </apple-provider>
74
+ </template>
75
+
76
+ <script>
77
+ export default {
78
+ data: () => ({ name: '' }),
79
+ methods: {
80
+ save() {
81
+ this.$apple.notify('资料已保存', { tone: 'success' })
82
+ },
83
+ },
84
+ }
85
+ </script>
86
+ ```
87
+
88
+ 这是 Options API 用法。插件注册 PascalCase 名称,Vue 模板同时支持 `<AppleCard>` 和 `<apple-card>`。所有组件也可命名导入并局部注册。
89
+
90
+ `AppleProvider` 应包住业务 UI。它应用主题变量、监听系统偏好、提供同主题的 Teleport 目标,并自动渲染 `AppleOverlayHost`。**不要在同一上下文再额外渲染一份 Host。** 根 Provider 不传属性时复用插件上下文;嵌套 Provider 或显式指定 `theme` / `motion` 的 Provider 会建立局部上下文。嵌套 Provider 未指定的主题与动效属性跟随父级更新。
91
+
92
+ `this.$apple` 始终指向插件级上下文。局部 Provider 内的组件如需使用局部主题、通知或弹层,使用 Options API 注入:
93
+
94
+ ```js
95
+ import { appleKey } from 'apptify'
96
+
97
+ export default {
98
+ inject: { apple: { from: appleKey } },
99
+ methods: {
100
+ showMessage() {
101
+ this.apple.notify('使用当前 Provider 的通知')
102
+ },
103
+ },
104
+ }
105
+ ```
106
+
107
+ 也导出 `useApple()` 供 Composition API 的 `setup()` 使用,但不需要为接入组件库重写现有 Options API 页面。
108
+
109
+ ## 主题与动效
110
+
111
+ 内置主题为 `light`、`dark`、`graphite`、`rose`;`system` 表示跟随系统浅深色。主题即时生效,不需要刷新页面。设置 `persist: true` 才会保存主题名称、动效等级并同步其他标签页的同名存储设置;自定义主题定义应通过初始化 `themes` 配置或启动时的 `register()` 再次提供。
112
+
113
+ ```js
114
+ this.$apple.theme.set('dark')
115
+ this.$apple.theme.register('forest', {
116
+ accent: '#237047',
117
+ 'accent-text': '#ffffff',
118
+ bg: '#f4f7f5',
119
+ surface: '#ffffff',
120
+ }, 'light')
121
+ this.$apple.theme.set('forest')
122
+ this.$apple.motion.set('reduced')
123
+ ```
124
+
125
+ `register(name, tokens, scheme)` 自动补齐对应浅色或深色主题的默认 token。可覆盖 `bg`、`surface`、`surface-alt`、`text`、`secondary`、`border`、`accent`、`accent-text`、`danger`、`success`、`warning`、`shadow`、`radius`,对应 `--apple-*` CSS 变量。注册后先调用 `set()` 才会切换;`system` 是保留名称。
126
+
127
+ | 动效值 | 行为 |
128
+ | --- | --- |
129
+ | `auto` | 自动遵循系统减少动态效果偏好。 |
130
+ | `full` | 在全局策略与系统偏好允许时使用完整动效。 |
131
+ | `reduced` | 减少位移、缩放和持续动态,保留必要状态反馈。 |
132
+ | `none` | 关闭动效,包括按钮 Ripple。 |
133
+ | `inherit` | 组件默认值,继承当前 Provider 的策略;不是全局配置值。 |
134
+
135
+ 全局 `none` / `reduced` 是动效上限,安全优先。组件可以再降低动效,但 `motion="full"` 不能越过全局限制或系统的减少动态效果偏好。支持 `motion` 的组件以 [API 表](docs/COMPONENTS.md) 为准;静态布局组件不需要动效属性。
136
+
137
+ ```vue
138
+ <apple-card motion="none" zoom="none" title="静态内容" />
139
+ <apple-button :ripple="false">仅关闭这个按钮的波纹</apple-button>
140
+ ```
141
+
142
+ ## Dialog 与反向通道
143
+
144
+ ```js
145
+ const dialog = this.$apple.dialog({
146
+ title: '删除文件?',
147
+ message: '此操作不能撤销。',
148
+ confirmText: '删除',
149
+ cancelText: '取消',
150
+ tone: 'danger',
151
+ })
152
+
153
+ const confirmed = await dialog.result
154
+ // 默认确认返回 true,取消返回 false,关闭按钮 / Escape 返回 undefined。
155
+ if (confirmed === true) this.$apple.notify('文件已删除', { tone: 'success' })
156
+ ```
157
+
158
+ 每次调用创建独立层。`dialog` 句柄含 `id`、`close(value?)`、`update(patch)` 与 `result` Promise。`this.$apple.overlays.closeTop()` 只关闭最上面的非通知弹层;已有层不会被新层覆盖。声明式 `<apple-dialog v-model="opened">` 与命令式弹层共享焦点栈和滚动锁。
159
+
160
+ 自定义弹层组件接收 `close`、`sendMessage` 两个 prop。下面的编辑组件通过反向通道请求父调用方保存,父调用方再打开第二层确认。
161
+
162
+ ```vue
163
+ <!-- ProfileEditor.vue -->
164
+ <template>
165
+ <apple-input v-model="name" label="姓名" />
166
+ <apple-button :loading="saving" @click="save">保存资料</apple-button>
167
+ </template>
168
+
169
+ <script>
170
+ export default {
171
+ props: {
172
+ initialName: { type: String, default: '' },
173
+ close: { type: Function, required: true },
174
+ sendMessage: { type: Function, required: true },
175
+ },
176
+ data() { return { name: this.initialName, saving: false } },
177
+ methods: {
178
+ async save() {
179
+ this.saving = true
180
+ try {
181
+ const result = await this.sendMessage('profile:save', { name: this.name })
182
+ if (result?.saved) this.close(result)
183
+ } finally {
184
+ this.saving = false
185
+ }
186
+ },
187
+ },
188
+ }
189
+ </script>
190
+ ```
191
+
192
+ ```js
193
+ import ProfileEditor from './ProfileEditor.vue'
194
+
195
+ export default {
196
+ methods: {
197
+ async editProfile() {
198
+ const editor = this.$apple.dialog({
199
+ title: '编辑资料',
200
+ component: ProfileEditor,
201
+ props: { initialName: '小明' },
202
+ confirmText: '',
203
+ cancelText: '取消',
204
+ onMessage: async (channel, payload) => {
205
+ if (channel !== 'profile:save') return
206
+ const confirmation = this.$apple.dialog({
207
+ title: '保存修改?',
208
+ message: `将姓名更新为 ${payload.name}。`,
209
+ })
210
+ if (await confirmation.result !== true) return { saved: false }
211
+ // 在这里执行实际业务请求;该示例只返回结果。
212
+ return { saved: true, name: payload.name }
213
+ },
214
+ })
215
+ const result = await editor.result
216
+ if (result?.saved) this.$apple.notify('资料已保存', { tone: 'success' })
217
+ },
218
+ },
219
+ }
220
+ ```
221
+
222
+ 通用消息总线也有真实的返回值通道,而不只是单向通知:
223
+
224
+ ```js
225
+ const unsubscribe = this.$apple.onMessage('profile:read', () => ({ name: '小明' }))
226
+ const responses = this.$apple.sendMessage('profile:read')
227
+ console.log(responses[0].name)
228
+ unsubscribe()
229
+ ```
230
+
231
+ `sendMessage()` 同步调用监听器,返回所有监听器返回值组成的数组;异步监听器返回 Promise,可用 `Promise.all()` 等待。动态弹层的 `sendMessage()` 若有专属 `onMessage`,直接返回该回调结果;未设置时才回退到当前上下文消息总线。长期监听请在 `beforeUnmount` 中调用取消订阅函数。
232
+
233
+ ## 通知与图片
234
+
235
+ ```js
236
+ const notice = this.$apple.notify('正在同步', { duration: 0 })
237
+ notice.update({ message: '同步完成', tone: 'success', duration: 2500 })
238
+ // 或 notice.close()
239
+ ```
240
+
241
+ 通知独立堆叠,默认 4 秒,`duration: 0` 常驻,悬停或键盘焦点进入时暂停倒计时。需要动作按钮时直接使用 `<apple-snackbar action="撤销" @action="undo" />`;命令式 `notify()` 当前没有 action 配置。
242
+
243
+ ```vue
244
+ <apple-image
245
+ src="/images/workspace.webp"
246
+ alt="桌面工作区"
247
+ :gallery="['/images/workspace.webp', '/images/detail.webp']"
248
+ :index="0"
249
+ />
250
+
251
+ <apple-image-viewer
252
+ v-model="previewOpen"
253
+ v-model:index="previewIndex"
254
+ :images="[{ src: '/images/workspace.webp', alt: '桌面工作区' }]"
255
+ loop
256
+ />
257
+ ```
258
+
259
+ 示例图片路径需要替换为业务资源。`AppleImage` 默认支持点击预览,可用 `:preview="false"` 关闭。独立 Viewer 支持图库、缩放、拖动、旋转、触屏手势、键盘切换和有标签的工具按钮;核心图片交互由已有图库引擎处理。
260
+
261
+ ## 移动端与边界
262
+
263
+ - 弹层、抽屉、底部面板和通知考虑安全区;布局基于可用宽度,而不是把屏幕横竖方向等同于设备类型。
264
+ - 提供下拉刷新、无限加载、侧滑操作、验证码、级联选择、ActionSheet 等组件,保留桌面按钮或键盘入口。
265
+ - 日期、时间、颜色和基础 Select 使用浏览器原生选择能力;弹出界面随操作系统变化,不宣称它们在所有平台都长得完全一样。
266
+ - Upload 负责本地文件选择、拖放与限制校验,不自动上传文件;Table 支持客户端排序、分页、固定行高虚拟滚动与列宽拖拽,不含服务端分页协议。
267
+ - 导入阶段避免直接访问浏览器全局;这不等于已完成 SSR 全部组件的服务端渲染、hydration、跨请求隔离和主题首屏验证。SSR 接入时每个请求创建独立实例,并自行验证水合行为。
268
+ - 本项目不是浏览器、屏幕阅读器和实体设备兼容矩阵认证。即使桌面/移动视口检查通过,也不代表已覆盖 iOS Safari、Android WebView、触控笔、软键盘与所有真机组合。
269
+
270
+ ## 从旧项目迁移
271
+
272
+ | 旧方式 | 新方式与差异 |
273
+ | --- | --- |
274
+ | `<apple-card title subtitle text icon icon-color>` | 保留这些属性与默认 slot,并增加 `media`、`title`、`icon`、`actions` slots。 |
275
+ | `zoom="big/small/none"`、`shadow="normal/static/focused/none"` | 继续支持;新默认 `zoom="small"`,不保证旧尺寸和缩放数值完全一致。 |
276
+ | `icon="mdi-home"` | 不再识别 MDI 字符串。导入 Lucide 组件并通过 `:icon="Home"` 传入;Card 的字符串 icon 被当作图片 URL。 |
277
+ | `globalTheme` / `fancyAnimation` 模块常量 | 改用响应式 `theme.set()` / `motion.set()`;不需要刷新,也不要再直接读写旧 localStorage 键。 |
278
+ | `sendMessage('showSnackbar', { type, text })` | 在 `this.$apple.sendMessage()` 或当前注入上下文上兼容;`showSnackBar`、`showMessage` 别名也保留。 |
279
+ | `sendMessage('showDiag', { title, message })` | 仍可通过当前上下文发送;推荐使用返回独立句柄与 Promise 的 `dialog()`。 |
280
+ | `btn: [{ bgColor, text, clickEvent }]` | **不直接兼容**。简单对话框用 `confirmText` / `cancelText`,复杂交互用声明式 `#footer` 或动态组件。 |
281
+ | `sendMessage('closeDiag')` | 关闭当前上下文最上面的非通知弹层;不会一次关闭全部层。 |
282
+ | `<e-img src squared gallery index>` | 改为 `<apple-image>`,并补上必需的 `alt`;不注册旧 `e-img` 名称。 |
283
+
284
+ ## 验证命令
285
+
286
+ ```sh
287
+ npm run typecheck
288
+ npm test
289
+ npm run build
290
+ npm run test:e2e
291
+ npm run test:package
292
+ ```
293
+
294
+ 命令是否通过以当前执行结果为准。`build` 生成组件库 `dist/`、类型声明与工作台 `site/`。源码中的行为测试不代替消费项目的业务测试与真机验证。
@@ -0,0 +1 @@
1
+ @property --apple-bg{syntax: "<color>"; inherits: true; initial-value: #f5f5f7;}@property --apple-surface{syntax: "<color>"; inherits: true; initial-value: #fff;}@property --apple-surface-alt{syntax: "<color>"; inherits: true; initial-value: #f0f0f2;}@property --apple-text{syntax: "<color>"; inherits: true; initial-value: #1d1d1f;}@property --apple-secondary{syntax: "<color>"; inherits: true; initial-value: #6e6e73;}@property --apple-border{syntax: "<color>"; inherits: true; initial-value: #d2d2d7;}@property --apple-accent{syntax: "<color>"; inherits: true; initial-value: #0071e3;}@property --apple-accent-text{syntax: "<color>"; inherits: true; initial-value: #fff;}@property --apple-danger{syntax: "<color>"; inherits: true; initial-value: #c93830;}@property --apple-success{syntax: "<color>"; inherits: true; initial-value: #248245;}@property --apple-warning{syntax: "<color>"; inherits: true; initial-value: #996600;}.apple-provider{--apple-duration: .3s;--apple-fast: .12s;--apple-theme-duration: .26s;--v-theme-overlay-multiplier: .4;--apple-hover: color-mix(in srgb, var(--apple-text) 5%, var(--apple-surface));--apple-pressed: color-mix(in srgb, var(--apple-text) 10%, var(--apple-surface));--apple-selected: color-mix(in srgb, var(--apple-text) 8%, var(--apple-surface));--apple-ease: cubic-bezier(.2,.65,.3,1);color:var(--apple-text);background:var(--apple-bg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased;accent-color:var(--apple-accent);min-width:0;transition:--apple-bg var(--apple-theme-duration) ease,--apple-surface var(--apple-theme-duration) ease,--apple-surface-alt var(--apple-theme-duration) ease,--apple-text var(--apple-theme-duration) ease,--apple-secondary var(--apple-theme-duration) ease,--apple-border var(--apple-theme-duration) ease,--apple-accent var(--apple-theme-duration) ease,--apple-accent-text var(--apple-theme-duration) ease,--apple-danger var(--apple-theme-duration) ease,--apple-success var(--apple-theme-duration) ease,--apple-warning var(--apple-theme-duration) ease}.apple-provider *,.apple-provider *:before,.apple-provider *:after{box-sizing:border-box;letter-spacing:0}.apple-provider button,.apple-provider input,.apple-provider textarea,.apple-provider select{font:inherit}.apple-provider button{cursor:pointer}.apple-provider button:disabled,.apple-provider [aria-disabled=true]{cursor:not-allowed}.apple-provider :focus-visible{outline:3px solid color-mix(in srgb,var(--apple-accent) 65%,transparent);outline-offset:3px}.apple-provider [data-apple-motion=none],.apple-provider[data-apple-motion=none],.apple-provider [data-motion=none]{--apple-duration: 0ms;--apple-fast: 0ms;--apple-theme-duration: 0ms}.apple-provider [data-apple-motion=reduced],.apple-provider[data-apple-motion=reduced],.apple-provider [data-motion=reduced]{--apple-duration: 80ms}.apple-provider[data-apple-motion=none] *,.apple-provider [data-apple-motion=none] *,.apple-provider [data-motion=none] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.apple-provider[data-apple-motion=reduced] .apple-card,.apple-provider [data-apple-motion=reduced] .apple-card{transform:none!important}.apple-provider[data-apple-motion=reduced] .apple-spin,.apple-provider[data-apple-motion=reduced] .apple-control__spinner{animation:none}.apple-button{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border:1px solid transparent;border-radius:999px;font-weight:500;line-height:1.4;background:var(--apple-accent);color:var(--apple-accent-text);text-decoration:none;overflow:hidden;vertical-align:middle;transition:background var(--apple-duration),box-shadow var(--apple-duration),opacity var(--apple-duration);max-width:100%;white-space:normal}.apple-button--secondary,.apple-button--outline{border-color:var(--apple-accent);background:transparent;color:var(--apple-accent)}.apple-button--ghost{background:transparent;color:var(--apple-accent)}.apple-button--danger{background:var(--apple-danger)}.apple-button--small{padding:7px 16px;min-height:36px;font-size:13px}.apple-button--large{min-height:50px;padding:12px 28px;font-size:17px}.apple-button--icon{width:44px;height:44px;padding:0;flex-shrink:0}.apple-button--icon.apple-button--small{width:36px;height:36px}.apple-button:disabled{opacity:.45}.apple-button{transition:background-color var(--apple-fast),color var(--apple-fast),border-color var(--apple-fast),box-shadow var(--apple-fast)}.apple-button__content{position:relative;z-index:1;display:inline-flex;gap:8px;align-items:center;justify-content:center;min-width:0;pointer-events:none}@media(hover:hover){.apple-button:not(:disabled):hover{background:color-mix(in srgb,var(--apple-accent) 90%,white)}.apple-button--secondary:not(:disabled):hover,.apple-button--outline:not(:disabled):hover{background:color-mix(in srgb,var(--apple-accent) 7%,transparent)}.apple-button--ghost:not(:disabled):hover{background:transparent;color:color-mix(in srgb,var(--apple-accent) 80%,var(--apple-text))}.apple-button--danger:not(:disabled):hover{background:color-mix(in srgb,var(--apple-danger) 90%,white)}}.apple-button:not(:disabled):active{background:color-mix(in srgb,var(--apple-accent) 80%,black)}.apple-button--secondary:not(:disabled):active,.apple-button--outline:not(:disabled):active{background:color-mix(in srgb,var(--apple-accent) 15%,transparent)}.apple-button--ghost:not(:disabled):active{background:transparent;color:var(--apple-text)}.apple-button--danger:not(:disabled):active{background:color-mix(in srgb,var(--apple-danger) 80%,black)}.apple-provider .v-ripple__animation--in{opacity:.1}.apple-provider .v-ripple__animation--out{opacity:0}.apple-link{display:inline-flex;align-items:center;gap:3px;color:var(--apple-accent);text-decoration:none}.apple-link:hover{text-decoration:underline}.apple-card{position:relative;background:var(--apple-surface);border-radius:var(--apple-radius);overflow:hidden;min-width:0;transition:transform var(--apple-duration) var(--apple-ease),box-shadow var(--apple-duration) var(--apple-ease)}.apple-card--shadow-normal,.apple-card--shadow-static{box-shadow:var(--apple-shadow)}.apple-card--shadow-focused{box-shadow:0 8px 32px #00000026}.apple-card__body{padding:26px}.apple-card__heading{display:flex;align-items:center;gap:12px}.apple-card h3{font-size:23px;line-height:1.25;font-weight:650;margin:0;overflow-wrap:anywhere}.apple-card h3 a{color:inherit;text-decoration:none}.apple-card__eyebrow{margin:0 0 9px;color:var(--apple-secondary);font-size:12px;font-weight:600}.apple-card__subtitle{color:var(--apple-secondary);margin:8px 0 0}.apple-card__text{margin:14px 0 0}.apple-card__image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.apple-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}@media(hover:hover)and (pointer:fine){.apple-card--zoom-small[data-apple-motion=full]:hover{transform:translateY(-3px)}.apple-card--zoom-big[data-apple-motion=full]:hover{transform:translateY(-4px) scale(1.02)}.apple-card--shadow-normal[data-apple-motion=full]:hover{box-shadow:0 10px 32px #0000001f}}.apple-container{width:100%;padding-inline:24px;margin-inline:auto}.apple-stack{display:flex;min-width:0}.apple-grid{display:grid;min-width:0}.apple-stack>*,.apple-grid>*{min-width:0}.apple-image{margin:0;position:relative;min-width:0;border-radius:var(--apple-radius)}.apple-image__surface{position:relative;width:100%;height:100%;background:var(--apple-surface-alt);overflow:hidden;border-radius:inherit;transition:transform var(--apple-duration) var(--apple-ease),box-shadow var(--apple-duration) var(--apple-ease)}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.apple-image--loaded[data-apple-motion=full]:hover{z-index:1}.apple-image--loaded[data-apple-motion=full]:hover>.apple-image__surface{transform:scale(1.04);box-shadow:var(--apple-shadow)}}.apple-image__trigger{display:flex;width:100%;height:100%;padding:0;border:0;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:transparent;color:var(--apple-secondary)}.apple-image img{display:block;width:100%;height:100%}.apple-image__zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#1d1d1f;background:#ffffffe0}.apple-image figcaption{position:absolute;bottom:0;background:var(--apple-surface);padding:8px 12px}.apple-search{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;background:var(--apple-surface-alt);border:1px solid transparent;border-radius:8px;color:var(--apple-secondary)}.apple-search{transition:background-color var(--apple-fast),border-color var(--apple-fast),box-shadow var(--apple-fast)}.apple-search:focus-within{border-color:var(--apple-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-accent) 20%,transparent)}.apple-search input{width:100%;min-width:0;padding:10px 0;color:var(--apple-text);border:0;outline:0;background:transparent}.apple-search input::-webkit-search-cancel-button{display:none}.apple-provider .apple-search input:focus-visible{outline:none;box-shadow:none}.apple-search button{display:grid;place-items:center;border:0;background:transparent;color:inherit;padding:5px}.apple-spin{animation:apple-spin 1s linear infinite}.apple-selection{position:relative;isolation:isolate}.apple-selection-indicator{display:block;position:absolute;left:0;top:0;z-index:-1;pointer-events:none;background:var(--apple-selected);border-radius:inherit;transition:transform var(--apple-duration) var(--apple-ease),width var(--apple-duration) var(--apple-ease),height var(--apple-duration) var(--apple-ease),background-color var(--apple-fast)}.apple-selection-indicator[hidden]{display:none}.apple-auto-size{min-width:0}.apple-auto-size__inner{display:flow-root;min-width:0}.apple-page-enter-active,.apple-page-leave-active,.apple-slide-x-enter-active,.apple-slide-x-leave-active,.apple-slide-y-enter-active,.apple-slide-y-leave-active{transition:transform var(--apple-duration) var(--apple-ease)}.apple-page-enter-from,.apple-slide-y-enter-from{transform:translateY(22px)}.apple-page-leave-to,.apple-slide-y-leave-to{transform:translateY(-16px)}.apple-slide-x-enter-from{transform:translate(24px)}.apple-slide-x-leave-to{transform:translate(-24px)}.apple-fade-enter-active,.apple-fade-leave-active{transition:opacity var(--apple-fast) ease}.apple-fade-enter-from,.apple-fade-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){.apple-page-enter-from,.apple-page-leave-to,.apple-slide-x-enter-from,.apple-slide-x-leave-to,.apple-slide-y-enter-from,.apple-slide-y-leave-to{transform:none}}@media(prefers-reduced-motion:reduce){.apple-provider{--apple-duration: 80ms}.apple-provider *,.apple-provider *:before,.apple-provider *:after{scroll-behavior:auto!important}.apple-card{transform:none!important}.apple-spin{animation:none}}@media(max-width:600px){.apple-container{padding-inline:16px}.apple-button--small{min-height:44px}.apple-card__body{padding:22px}}.apple-field{display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--apple-text);font:inherit}.apple-field__label{font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.apple-field__required,.apple-field__message.is-error{color:var(--apple-danger)}.apple-field__message{margin:0;color:var(--apple-secondary);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.apple-field__counter{align-self:flex-end;color:var(--apple-secondary);font-size:12px;font-variant-numeric:tabular-nums}.apple-control{box-sizing:border-box;min-width:0;width:100%;min-height:48px;border:1px solid var(--apple-border);border-radius:8px;padding:11px 14px;background:var(--apple-surface);color:var(--apple-text);font:inherit;font-size:16px;line-height:1.5;transition:border-color var(--apple-duration-fast, .12s) ease,box-shadow var(--apple-duration-fast, .12s) ease,background-color var(--apple-duration-fast, .12s) ease,color var(--apple-duration-fast, .12s) ease}.apple-field .apple-control{font-size:16px}.apple-control::placeholder{color:var(--apple-secondary);opacity:1}.apple-control:hover:not(:disabled){border-color:color-mix(in srgb,var(--apple-secondary) 60%,var(--apple-border))}.apple-control:focus{border-color:var(--apple-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-accent) 20%,transparent)}.apple-field.has-error .apple-control,.apple-field.has-error .apple-input-wrap{border-color:var(--apple-danger)}.apple-control:disabled,.apple-choice:has(input:disabled),.apple-switch-row:has(input:disabled),.apple-field .is-disabled{opacity:.5;cursor:not-allowed}.apple-control:disabled{background:var(--apple-surface-alt)}.apple-input-wrap{display:flex;align-items:center;min-width:0;border:1px solid var(--apple-border);border-radius:8px;background:var(--apple-surface);transition:border-color var(--apple-duration-fast, .12s) ease,box-shadow var(--apple-duration-fast, .12s) ease,background-color var(--apple-duration-fast, .12s) ease}.apple-input-wrap:hover:not(:has(input:disabled)){border-color:color-mix(in srgb,var(--apple-secondary) 60%,var(--apple-border))}.apple-input-wrap:focus-within{border-color:var(--apple-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-accent) 20%,transparent)}.apple-input-wrap>.apple-control,.apple-input-wrap>.apple-control:focus,.apple-input-wrap>.apple-control:focus-visible{border:0;background:transparent;box-shadow:none;outline:none}.apple-input-wrap>.apple-control:disabled{background:transparent}.apple-input-wrap:has(input:disabled){background:var(--apple-surface-alt)}.apple-input__affix{display:inline-flex;align-items:center;flex-shrink:0;max-width:35%;padding-inline:12px;color:var(--apple-secondary);overflow-wrap:anywhere}.apple-input__affix+.apple-control{padding-inline-start:0}.apple-field__icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:0;border-radius:6px;color:var(--apple-secondary);background:transparent;cursor:pointer;transition:background-color var(--apple-duration-fast, .12s) ease,color var(--apple-duration-fast, .12s) ease}.apple-field__icon:hover:not(:disabled){color:var(--apple-text);background:var(--apple-surface-alt)}.apple-field__icon:active:not(:disabled){background:color-mix(in srgb,var(--apple-text) 15%,var(--apple-surface))}.apple-field__icon:focus-visible,.apple-stepper__button:focus-visible,.apple-rate__star:focus-visible{outline:3px solid var(--apple-accent);outline-offset:2px}.apple-field__icon:disabled,.apple-stepper__button:disabled{opacity:.4;cursor:not-allowed}.apple-control__spinner{flex-shrink:0;margin-inline:12px;color:var(--apple-accent);animation:apple-control-spin .9s linear infinite}.apple-textarea{min-height:104px;display:block}.apple-select-wrap{position:relative;display:flex;align-items:center;min-width:0}.apple-select{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-inline-end:42px;cursor:pointer;text-align:start}.apple-select:active:not(:disabled){background:color-mix(in srgb,var(--apple-text) 7%,var(--apple-surface))}.apple-select .is-placeholder{color:var(--apple-secondary)}.apple-select__chevron,.apple-select-wrap>.apple-control__spinner{position:absolute;inset-inline-end:14px;pointer-events:none;color:var(--apple-secondary)}.apple-select-wrap>.apple-control__spinner{margin:0}.apple-input-wrap>.apple-select__chevron{position:static;flex-shrink:0;margin-inline-end:14px}.apple-select__chevron{transition:transform var(--apple-duration) var(--apple-ease)}.apple-select__chevron.is-open{transform:rotate(180deg)}.apple-autocomplete{position:relative;min-width:0}.apple-field-menu{position:absolute;top:calc(100% + 6px);inset-inline:0;z-index:40;box-sizing:border-box;overflow:hidden;border:1px solid var(--apple-border);border-radius:10px;background:color-mix(in srgb,var(--apple-surface) 78%,transparent);-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);box-shadow:var(--apple-shadow)}.apple-field-menu-enter-active,.apple-field-menu-leave-active{transition:height var(--apple-duration) var(--apple-ease),transform var(--apple-duration) var(--apple-ease)}.apple-field-menu-enter-from,.apple-field-menu-leave-to{transform:translateY(-6px)}.apple-autocomplete__list{max-height:min(280px,50vh);margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;list-style:none;scrollbar-width:thin}.apple-autocomplete__option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;min-height:44px;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:14px;overflow-wrap:anywhere;transition:background-color var(--apple-duration-fast, .12s) ease,color var(--apple-duration-fast, .12s) ease}.apple-autocomplete__option>span{min-width:0}.apple-autocomplete__option>svg{flex-shrink:0;color:var(--apple-text)}.apple-autocomplete__option.is-active,.apple-autocomplete__option[aria-selected=true]{background:var(--apple-surface-alt)}.apple-autocomplete__option:active:not(.is-disabled){background:color-mix(in srgb,var(--apple-text) 15%,var(--apple-surface))}.apple-autocomplete__option.is-disabled{pointer-events:none}.apple-autocomplete__empty{padding:16px 12px;color:var(--apple-secondary);font-size:14px}.apple-choice{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.apple-choice__label{min-width:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.apple-checkbox,.apple-radio{box-sizing:border-box;flex-shrink:0;width:20px;height:20px;margin:0;accent-color:var(--apple-accent);cursor:inherit}.apple-checkbox:focus-visible,.apple-radio:focus-visible{outline:3px solid color-mix(in srgb,var(--apple-accent) 40%,transparent);outline-offset:3px}.apple-radio-group{display:flex;flex-direction:column;gap:3px;min-width:0}.apple-radio-group.is-inline{flex-direction:row;gap:8px 24px;flex-wrap:wrap}.apple-switch-row{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;min-height:44px;cursor:pointer}.apple-switch{position:relative;flex:0 0 50px;width:50px;height:30px}.apple-switch>input{position:absolute;top:-7px;right:0;bottom:-7px;left:0;z-index:1;width:100%;height:44px;margin:0;opacity:0;cursor:inherit}.apple-switch__track{display:block;width:50px;height:30px;border-radius:20px;background:color-mix(in srgb,var(--apple-secondary) 28%,var(--apple-surface));transition:background var(--apple-duration) var(--apple-ease)}.apple-switch__track:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0002;transition:transform var(--apple-duration) var(--apple-ease)}.apple-switch>input:checked+.apple-switch__track{background:var(--apple-success)}.apple-switch>input:checked+.apple-switch__track:after{transform:translate(20px)}.apple-switch>input:focus-visible+.apple-switch__track{outline:3px solid var(--apple-accent);outline-offset:3px}.apple-switch__track>.apple-control__spinner{position:absolute;z-index:2;top:6px;left:6px;margin:0}.apple-switch>input:checked+.apple-switch__track>.apple-control__spinner{left:26px}.apple-slider-row{display:flex;align-items:center;gap:16px;min-width:0;min-height:44px}.apple-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:0;height:44px;margin:0;background:transparent;cursor:pointer}.apple-slider::-webkit-slider-runnable-track{height:6px;border-radius:4px;background:linear-gradient(to right,var(--apple-accent) var(--apple-slider-progress),var(--apple-surface-alt) var(--apple-slider-progress))}.apple-slider::-moz-range-track{height:6px;border-radius:4px;background:linear-gradient(to right,var(--apple-accent) var(--apple-slider-progress),var(--apple-surface-alt) var(--apple-slider-progress))}.apple-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;border:1px solid var(--apple-border);background:var(--apple-surface);box-shadow:0 2px 5px #0002;transition:background-color var(--apple-duration-fast, .12s) ease,border-color var(--apple-duration-fast, .12s) ease,box-shadow var(--apple-duration-fast, .12s) ease}.apple-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;border:1px solid var(--apple-border);background:var(--apple-surface);box-shadow:0 2px 5px #0002;transition:background-color var(--apple-duration-fast, .12s) ease,border-color var(--apple-duration-fast, .12s) ease,box-shadow var(--apple-duration-fast, .12s) ease}.apple-slider:hover:not(:disabled)::-webkit-slider-thumb{background:color-mix(in srgb,var(--apple-accent) 16%,var(--apple-surface));border-color:var(--apple-accent)}.apple-slider:hover:not(:disabled)::-moz-range-thumb{background:color-mix(in srgb,var(--apple-accent) 16%,var(--apple-surface));border-color:var(--apple-accent)}.apple-slider:active:not(:disabled)::-webkit-slider-thumb{background:var(--apple-accent);border-color:var(--apple-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--apple-accent) 16%,transparent)}.apple-slider:active:not(:disabled)::-moz-range-thumb{background:var(--apple-accent);border-color:var(--apple-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--apple-accent) 16%,transparent)}.apple-slider:focus-visible{outline:3px solid var(--apple-accent);outline-offset:9px}.apple-slider:disabled{opacity:.4;cursor:not-allowed}.apple-slider__value{flex-shrink:0;min-width:3ch;max-width:35%;text-align:end;font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.apple-stepper{display:inline-grid;grid-template-columns:44px minmax(50px,86px) 44px;align-self:flex-start;max-width:100%;border:1px solid var(--apple-border);border-radius:8px;overflow:visible;background:var(--apple-surface)}.apple-stepper>.apple-control{width:100%;padding-inline:5px;border:0;border-radius:0;background:transparent;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.apple-stepper>.apple-control::-webkit-outer-spin-button,.apple-stepper>.apple-control::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.apple-stepper__button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;border:0;border-radius:0;color:var(--apple-accent);background:transparent;cursor:pointer;transition:background-color var(--apple-duration-fast, .12s) ease,color var(--apple-duration-fast, .12s) ease}.apple-stepper__button:first-child{border-radius:7px 0 0 7px}.apple-stepper__button:last-child{border-radius:0 7px 7px 0}.apple-stepper__button:hover:not(:disabled){background:var(--apple-surface-alt)}.apple-stepper__button:active:not(:disabled){background:color-mix(in srgb,var(--apple-text) 15%,var(--apple-surface))}.apple-segmented{position:relative;display:flex;align-items:stretch;flex-wrap:wrap;gap:3px;min-width:0;padding:3px;border-radius:8px;background:var(--apple-surface-alt);isolation:isolate}.apple-segmented__item{position:relative;display:flex;flex:1 1 70px;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:44px;padding:8px 12px;border-radius:6px;font-size:14px;line-height:1.4;text-align:center;cursor:pointer;overflow-wrap:anywhere;transition:background var(--apple-duration) var(--apple-ease),box-shadow var(--apple-duration) var(--apple-ease)}.apple-segmented__item{z-index:1;background:transparent}.apple-segmented__item{color:var(--apple-secondary);transition:color var(--apple-fast)}.apple-segmented__item.is-selected{color:var(--apple-text)}.apple-segmented__item:hover:not(.is-disabled){color:color-mix(in srgb,var(--apple-text) 75%,var(--apple-secondary))}.apple-segmented__item:active:not(.is-disabled){color:var(--apple-text)}.apple-segmented>.apple-selection-indicator{border-radius:6px;background:var(--apple-surface);box-shadow:0 1px 5px #0002}.apple-segmented__item:has(input:focus-visible){outline:3px solid var(--apple-accent);outline-offset:1px}.apple-date-input{min-width:0;max-width:100%}.apple-color-row{position:relative;display:flex;align-items:center;gap:12px}.apple-color-picker{box-sizing:border-box;width:56px;height:44px;padding:4px;border:1px solid var(--apple-border);border-radius:8px;background:var(--apple-surface);cursor:pointer}.apple-color-picker>span{display:block;width:100%;height:100%;border-radius:5px;background:var(--apple-picked-color)}.apple-color-picker:focus-visible{outline:3px solid var(--apple-accent);outline-offset:2px}.apple-color-picker:disabled{opacity:.5;cursor:not-allowed}.apple-color__value{font-size:14px;font-variant-numeric:tabular-nums}.apple-color-menu{width:min(280px,100%);inset-inline-end:auto;padding:14px}.apple-color-plane{position:relative;height:170px;border-radius:8px;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);touch-action:none;cursor:crosshair}.apple-color-plane__thumb{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0005;pointer-events:none}.apple-color-hue{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:100%;height:14px;margin:18px 0;border-radius:8px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer}.apple-color-hue::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:3px solid var(--apple-surface);border-radius:50%;background:transparent;box-shadow:0 0 0 1px #0004}.apple-color-hue::-moz-range-thumb{width:16px;height:16px;border:3px solid var(--apple-surface);border-radius:50%;background:transparent;box-shadow:0 0 0 1px #0004}.apple-color-hex{display:flex;align-items:center;gap:12px;color:var(--apple-secondary);font-size:12px}.apple-color-hex .apple-control{min-height:38px;padding:5px 10px;text-transform:uppercase}.apple-color-swatches{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-top:14px}.apple-color-swatch{aspect-ratio:1;min-width:0;border:1px solid #8885;border-radius:5px;cursor:pointer}.apple-color-swatch[aria-pressed=true]{outline:2px solid var(--apple-accent);outline-offset:2px}.apple-upload{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 16px;border:1px dashed var(--apple-border);border-radius:8px;background:var(--apple-surface);transition:border-color var(--apple-duration),background var(--apple-duration)}.apple-upload.is-dragging{border-color:var(--apple-accent);background:color-mix(in srgb,var(--apple-accent) 7%,var(--apple-surface))}.apple-upload:has(input:focus-visible){outline:3px solid var(--apple-accent);outline-offset:2px}.apple-upload__trigger{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding-inline:16px;color:var(--apple-accent);cursor:pointer;font-size:14px;font-weight:600}.apple-upload__files{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.apple-upload__file{display:flex;align-items:center;gap:12px;min-width:0;padding:8px 10px;border-bottom:1px solid var(--apple-border);font-size:13px}.apple-upload__file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apple-upload__file-size{color:var(--apple-secondary);flex-shrink:0;font-variant-numeric:tabular-nums}.apple-form{min-width:0}.apple-form__fields{display:grid;gap:22px;min-width:0;margin:0;padding:0;border:0}.apple-otp{display:grid;grid-template-columns:repeat(var(--apple-otp-length),minmax(0,48px));gap:8px;min-width:0}.apple-field .apple-otp__digit{min-width:0;width:100%;padding:10px 0;text-align:center;font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}.apple-cascader{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.apple-cascader>.apple-field{flex:1 1 130px}.apple-rate{display:flex;flex-wrap:wrap;align-items:center;gap:0;min-height:44px}.apple-rate__star{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:6px;color:var(--apple-secondary);background:transparent;cursor:pointer}.apple-rate__star svg{fill:transparent;stroke-width:1.5px;transition:fill var(--apple-duration),color var(--apple-duration)}.apple-rate__star.is-filled{color:var(--apple-warning)}.apple-rate__star.is-filled svg{fill:currentColor}.apple-rate__star:hover{background:transparent;transform:none}.apple-rate__star:focus:not(:focus-visible){outline:none;box-shadow:none}.apple-rate__star:disabled,.apple-rate__star[aria-disabled=true]{cursor:default}.apple-rate__star:disabled{opacity:.4}.apple-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}[data-apple-motion=none] .apple-control__spinner,[data-apple-motion=reduced] .apple-control__spinner{animation:none}.apple-field[data-apple-motion=none] *,.apple-field[data-apple-motion=none] *:after{transition:none!important}@keyframes apple-control-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.apple-control__spinner{animation:none}.apple-field *,.apple-field *:after{transition-duration:.01ms!important}}@media(max-width:480px){.apple-otp{gap:4px}.apple-field__label{font-size:13px}.apple-upload{padding:16px 10px}}.apple-date-anchor{position:relative;min-width:0}.apple-date-input{min-height:48px;padding-inline-start:12px}.apple-date-segments{display:flex;align-items:center;flex:1;flex-wrap:wrap;gap:0;min-width:0;padding-block:7px;font-variant-numeric:tabular-nums}.apple-date-segment{box-sizing:content-box;min-width:2ch;width:2ch;max-width:4ch;height:30px;border:0;border-radius:3px;padding:0 1px;background:transparent;color:var(--apple-text);text-align:center;font:inherit;font-size:16px;font-variant-numeric:tabular-nums;outline:none!important;box-shadow:none!important}.apple-date-segment[data-part=year]{width:4ch}.apple-date-segment::placeholder{color:var(--apple-secondary);opacity:1}.apple-date-segment:focus{background:color-mix(in srgb,var(--apple-accent) 12%,transparent)}.apple-date-separator{flex:0 0 auto;min-width:.35ch;white-space:pre;color:var(--apple-secondary);font-size:16px}.apple-date-menu{position:absolute;top:calc(100% + 8px);inset-inline-start:0;z-index:45;box-sizing:border-box;width:332px;max-width:min(100%,calc(100vw - 32px));border:1px solid var(--apple-border);border-radius:12px;background:color-mix(in srgb,var(--apple-surface) 82%,transparent);-webkit-backdrop-filter:blur(26px) saturate(145%);backdrop-filter:blur(26px) saturate(145%);box-shadow:var(--apple-shadow);color:var(--apple-text);overflow:hidden;isolation:isolate}.apple-calendar{padding:12px}.apple-calendar__header{display:flex;align-items:center;gap:2px;margin-bottom:8px}.apple-calendar__heading{display:flex;align-items:center;justify-content:flex-start;flex:1;gap:6px;min-width:0;min-height:40px;padding:6px;border:0;border-radius:6px;color:var(--apple-text);background:transparent;text-align:left;font:inherit;font-weight:600;cursor:pointer}.apple-calendar__header .apple-field__icon{width:36px;height:40px}.apple-calendar__week,.apple-calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.apple-calendar__weekdays{margin-bottom:6px;color:var(--apple-secondary);font-size:12px;text-align:center;line-height:28px}.apple-calendar__week{margin-block:2px}.apple-calendar__week>span{display:flex;justify-content:center;min-width:0}.apple-calendar__day,.apple-calendar__choice{box-sizing:border-box;border:0;border-radius:8px;background:transparent;color:var(--apple-text);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--apple-duration-fast, .12s) ease,color var(--apple-duration-fast, .12s) ease}.apple-calendar__day{width:100%;aspect-ratio:1;padding:0;max-height:40px;position:relative}.apple-calendar__day.is-other-month{color:var(--apple-secondary)}.apple-calendar__day[aria-current=date]:after{position:absolute;bottom:4px;left:calc(50% - 2px);content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.apple-calendar__day:not(.is-selected):hover:not(:disabled),.apple-calendar__choice:not(.is-selected):hover:not(:disabled),.apple-calendar__heading:hover,.apple-calendar__time-values button:not(.is-selected):hover{background:var(--apple-surface-alt)}.apple-calendar__day:active:not(:disabled),.apple-calendar__choice:active:not(:disabled),.apple-calendar__heading:active,.apple-calendar__time-values button:active{background:color-mix(in srgb,var(--apple-text) 15%,var(--apple-surface))}.apple-calendar__day.is-selected,.apple-calendar__choice.is-selected,.apple-calendar__time-values button.is-selected{color:var(--apple-text);background:color-mix(in srgb,var(--apple-text) 12%,var(--apple-surface));font-weight:600}.apple-calendar__day:disabled{color:var(--apple-secondary);opacity:.35;cursor:not-allowed}.apple-calendar__day:focus-visible,.apple-calendar__choice:focus-visible,.apple-calendar__heading:focus-visible,.apple-calendar__tabs button:focus-visible,.apple-calendar__time-values button:focus-visible{outline:2px solid var(--apple-accent);outline-offset:-2px}.apple-calendar__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px 0}.apple-calendar__choice{min-height:48px}.apple-calendar__tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:12px 12px 0;padding:3px;border-radius:8px;background:var(--apple-surface-alt);isolation:isolate}.apple-calendar__tabs>button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:5px 10px;border:0;border-radius:6px;color:var(--apple-text);background:transparent;font:inherit;font-size:13px;cursor:pointer}.apple-calendar__tabs>.apple-selection-indicator{border-radius:6px;background:var(--apple-surface);box-shadow:0 1px 3px #0002}.apple-calendar__tabs>button{color:var(--apple-secondary);transition:color var(--apple-fast)}.apple-calendar__tabs>button[aria-selected=true]{color:var(--apple-text)}.apple-calendar__tabs>button:hover{color:color-mix(in srgb,var(--apple-text) 75%,var(--apple-secondary));background:transparent}.apple-calendar__tabs>button:active{color:var(--apple-text);background:transparent}.apple-calendar__time{display:flex;justify-content:center;gap:12px;padding:20px 16px 12px}.apple-calendar__time-column{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;text-align:center;color:var(--apple-secondary);font-size:13px}.apple-calendar__time-column .apple-control{min-height:40px;padding:5px;text-align:center;font-variant-numeric:tabular-nums}.apple-calendar__time-values{display:flex;flex-direction:column;height:176px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-block:1px solid var(--apple-border)}.apple-calendar__time-values>button{flex:0 0 40px;border:0;border-radius:6px;background:transparent;color:var(--apple-text);font:inherit;font-size:15px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--apple-duration-fast, .12s) ease}.apple-calendar__footer{display:flex;align-items:center;gap:10px;padding:8px 12px 12px;border-top:1px solid var(--apple-border)}.apple-calendar__text,.apple-calendar__done{min-height:36px;padding:6px 10px;border:0;border-radius:999px;color:var(--apple-accent);background:transparent;font:inherit;font-size:13px;cursor:pointer;transition:color var(--apple-duration-fast, .12s) ease,background-color var(--apple-duration-fast, .12s) ease}.apple-calendar__text:hover{color:color-mix(in srgb,var(--apple-accent) 76%,var(--apple-text))}.apple-calendar__text:active{color:var(--apple-text)}.apple-calendar__text:disabled{opacity:.4;cursor:not-allowed}.apple-calendar__done{margin-inline-start:auto;color:var(--apple-accent-text);background:var(--apple-accent);padding-inline:16px}.apple-calendar__done:hover{background:color-mix(in srgb,var(--apple-accent) 90%,var(--apple-text))}.apple-calendar__done:active{background:color-mix(in srgb,var(--apple-accent) 78%,var(--apple-text))}.apple-date-pop-enter-active,.apple-date-pop-leave-active{overflow:hidden;transition:height var(--apple-duration, .24s) var(--apple-ease),transform var(--apple-duration, .24s) var(--apple-ease)}.apple-date-pop-enter-from,.apple-date-pop-leave-to{transform:translateY(-8px)}.apple-calendar-forward-enter-active,.apple-calendar-forward-leave-active,.apple-calendar-backward-enter-active,.apple-calendar-backward-leave-active{transition:transform var(--apple-duration, .24s) var(--apple-ease)}.apple-calendar-forward-enter-from,.apple-calendar-backward-leave-to{transform:translate(25px)}.apple-calendar-forward-leave-to,.apple-calendar-backward-enter-from{transform:translate(-25px)}@media(max-width:380px){.apple-calendar{padding:8px}.apple-calendar__header .apple-field__icon{width:30px}.apple-calendar__day{font-size:13px}.apple-date-input{padding-inline-start:8px}}.apple-content-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.apple-tabs,.apple-accordion,.apple-table,.apple-tree,.apple-list,.apple-carousel,.apple-pull-refresh,.apple-infinite-scroll,.apple-swipe-cell,.apple-marquee{min-width:0;max-width:100%;color:var(--apple-text)}.apple-tabs button,.apple-pagination button,.apple-accordion button,.apple-table button,.apple-tree button,.apple-list button,.apple-tag button,.apple-alert button,.apple-steps button,.apple-carousel button,.apple-pull-refresh button,.apple-infinite-scroll button,.apple-swipe-cell button,.apple-back-top,.apple-marquee button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.apple-tabs button:disabled,.apple-pagination button:disabled,.apple-accordion button:disabled,.apple-table button:disabled,.apple-tree button:disabled,.apple-list button:disabled,.apple-tag button:disabled,.apple-steps button:disabled,.apple-carousel button:disabled,.apple-pull-refresh button:disabled,.apple-infinite-scroll button:disabled,.apple-swipe-cell button:disabled,.apple-back-top:disabled,.apple-marquee button:disabled{cursor:not-allowed;opacity:.42}.apple-tabs :focus-visible,.apple-pagination :focus-visible,.apple-breadcrumbs :focus-visible,.apple-accordion :focus-visible,.apple-table :focus-visible,.apple-tree :focus-visible,.apple-list :focus-visible,.apple-tag :focus-visible,.apple-alert :focus-visible,.apple-steps :focus-visible,.apple-carousel :focus-visible,.apple-pull-refresh :focus-visible,.apple-infinite-scroll :focus-visible,.apple-swipe-cell :focus-visible,.apple-back-top:focus-visible,.apple-marquee :focus-visible{outline:3px solid var(--apple-accent);outline-offset:3px}.apple-content-icon-button{display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:inherit;background:transparent;border:0;border-radius:50%}.apple-content-icon-button:hover:not(:disabled){background:color-mix(in srgb,var(--apple-text) 6%,transparent)}.apple-content-icon-button,.apple-tag button,.apple-carousel__arrows button,.apple-pull-refresh__button,.apple-infinite-scroll__status button{transition:color var(--apple-fast),background-color var(--apple-fast),border-color var(--apple-fast)}.apple-content-icon-button:active:not(:disabled),.apple-tag button:active:not(:disabled),.apple-carousel__arrows button:active:not(:disabled),.apple-pull-refresh__button:active:not(:disabled),.apple-infinite-scroll__status button:active:not(:disabled){background:var(--apple-pressed)}.apple-tone-neutral{--apple-tone: var(--apple-secondary)}.apple-tone-accent,.apple-tone-info{--apple-tone: var(--apple-accent)}.apple-tone-danger{--apple-tone: var(--apple-danger)}.apple-tone-success{--apple-tone: var(--apple-success)}.apple-tone-warning{--apple-tone: var(--apple-warning)}.apple-tabs__list{position:relative;display:flex;align-items:stretch;gap:28px;overflow-x:auto;overscroll-behavior-inline:contain;border-bottom:1px solid var(--apple-border);scrollbar-width:none}.apple-tabs__list::-webkit-scrollbar{display:none}.apple-tabs__tab{position:relative;flex:0 0 auto;min-height:48px;max-width:100%;padding:10px 0 13px;border:0;background:transparent;color:var(--apple-secondary);font-size:14px!important;font-weight:500!important;overflow-wrap:anywhere}.apple-tabs__tab{transition:color var(--apple-fast),background-color var(--apple-fast)}.apple-tabs__tab.is-active{color:var(--apple-text)}.apple-tabs__tab:hover:not(:disabled){color:color-mix(in srgb,var(--apple-text) 75%,var(--apple-secondary))}.apple-tabs__tab:active:not(:disabled){color:var(--apple-text)}.apple-tabs--underline .apple-selection-indicator{background:transparent;border-radius:0}.apple-tabs--underline .apple-selection-indicator:after{position:absolute;inset:auto 0 0;height:2px;background:var(--apple-text);content:""}.apple-tabs--bar .apple-tabs__list{gap:0;border:0;border-radius:8px 8px 0 0;background:var(--apple-surface-alt)}.apple-tabs--bar .apple-tabs__tab{flex:1 0 auto;padding-inline:18px}.apple-tabs--bar .apple-selection-indicator{border-radius:8px 8px 0 0}.apple-tabs__tab:focus-visible{outline-offset:-4px;border-radius:4px}.apple-tabs__panel{min-width:0;padding-top:20px}.apple-tabs__panel:empty{padding-top:0}.apple-tabs__viewport{overflow:hidden}.apple-tabs__viewport>div{position:relative}.apple-tab-panel-enter-active,.apple-tab-panel-leave-active{transition:transform var(--apple-duration) var(--apple-ease)}.apple-tab-panel-leave-active{position:absolute;top:0;width:100%}.apple-tab-panel-enter-from,.apple-tabs.is-backward .apple-tab-panel-leave-to{transform:translate(100%)}.apple-tab-panel-leave-to,.apple-tabs.is-backward .apple-tab-panel-enter-from{transform:translate(-100%)}.apple-breadcrumbs{font-size:13px;color:var(--apple-secondary)}.apple-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;padding:0;margin:0;list-style:none}.apple-breadcrumbs li{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.apple-breadcrumbs a,.apple-breadcrumbs button{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:transparent;font:inherit;color:inherit;text-decoration:none;cursor:pointer;transition:color var(--apple-fast)}.apple-breadcrumbs a:hover,.apple-breadcrumbs button:hover{text-decoration:none;color:var(--apple-text)}.apple-breadcrumbs a:active,.apple-breadcrumbs button:active{color:var(--apple-accent)}.apple-breadcrumbs [aria-current]{color:var(--apple-text)}.apple-breadcrumbs svg{flex-shrink:0;opacity:.5}.apple-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;max-width:100%}.apple-pagination button{display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--apple-secondary);font-size:13px;font-variant-numeric:tabular-nums;transition:background-color var(--apple-fast),color var(--apple-fast)}.apple-pagination button:hover:not(:disabled){background:var(--apple-surface-alt)}.apple-pagination button:active:not(:disabled){background:var(--apple-pressed)}.apple-pagination button.is-active{background:var(--apple-accent);color:var(--apple-accent-text)}.apple-pagination button.is-active:hover:not(:disabled){background:color-mix(in srgb,var(--apple-accent) 92%,var(--apple-text))}.apple-pagination button.is-active:active:not(:disabled){background:color-mix(in srgb,var(--apple-accent) 80%,var(--apple-text))}.apple-pagination__gap{display:inline-flex;justify-content:center;align-items:center;width:12px;color:var(--apple-secondary)}.apple-accordion__item{border-bottom:1px solid var(--apple-border)}.apple-accordion__item:first-child{border-top:1px solid var(--apple-border)}.apple-accordion h3{margin:0;font-size:17px;font-weight:600}.apple-accordion h3 button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:68px;padding:18px 0;border:0;background:transparent;color:var(--apple-text);text-align:left}.apple-accordion h3 button span{min-width:0;overflow-wrap:anywhere}.apple-accordion h3 svg{flex-shrink:0;color:var(--apple-secondary);transition:transform var(--apple-duration) var(--apple-ease)}.apple-accordion__item.is-open h3 svg{transform:rotate(180deg)}.apple-accordion__content{padding:0 32px 24px 0;color:var(--apple-secondary);font-size:14px;line-height:1.7;overflow-wrap:anywhere}.apple-accordion__region{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--apple-duration) var(--apple-ease)}.apple-accordion__item.is-open .apple-accordion__region{grid-template-rows:1fr}.apple-accordion__clip{min-height:0;overflow:hidden}.apple-accordion h3 button{padding-inline:12px;transition:color var(--apple-fast),background-color var(--apple-fast)}.apple-accordion h3 button:hover:not(:disabled){background:var(--apple-hover)}.apple-accordion h3 button:active:not(:disabled){background:var(--apple-pressed)}.apple-accordion__content{padding-left:12px}.apple-table{font-size:13px}.apple-table__scroll{overflow-x:auto;overscroll-behavior-inline:contain}.apple-table table{width:100%;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left}.apple-table th{position:relative;box-sizing:border-box;height:48px;padding:0 16px;border-bottom:1px solid var(--apple-border);background:var(--apple-surface-alt);font-weight:500;color:var(--apple-secondary);white-space:nowrap}.apple-table td{padding:14px 16px;border-bottom:1px solid var(--apple-border);line-height:1.5;overflow-wrap:anywhere}.apple-table tbody tr{transition:background-color var(--apple-fast)}.apple-table tbody tr.is-selected{background:var(--apple-selected)}.apple-table tbody tr:hover{background:var(--apple-hover)}.apple-table tbody tr:active{background:var(--apple-pressed)}.apple-table .apple-table__select{width:44px;padding:0 12px}.apple-table__select input{display:block;width:18px;height:18px;accent-color:var(--apple-accent);cursor:pointer}.apple-table__select input:disabled{cursor:not-allowed}.apple-table__sort{display:inline-flex;align-items:center;gap:6px;min-height:44px;max-width:100%;padding:0 8px;margin-inline:-8px;color:inherit;background:transparent;border:0;border-radius:4px;text-align:inherit;transition:color var(--apple-fast),background-color var(--apple-fast)}.apple-table__sort:hover:not(:disabled){color:var(--apple-text);background:var(--apple-hover)}.apple-table__sort:active:not(:disabled){color:var(--apple-text);background:var(--apple-pressed)}.apple-table__sort svg{transition:transform var(--apple-duration) var(--apple-ease)}.apple-table__sort svg.is-ascending{transform:rotate(180deg)}.apple-table__sort svg.is-unsorted{opacity:.35}.apple-table td.apple-table__empty{height:140px;text-align:center;color:var(--apple-secondary)}.apple-table__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:12px;color:var(--apple-secondary)}.apple-table__resize{position:absolute;z-index:2;top:0;right:-4px;width:10px;height:100%;cursor:col-resize;touch-action:none}.apple-table__resize:after{position:absolute;top:12px;bottom:12px;left:4px;width:2px;background:var(--apple-border);content:"";transition:background-color var(--apple-fast)}.apple-table__resize:hover:after,.apple-table__resize:focus-visible:after{background:var(--apple-secondary)}.apple-table__resize:active:after{background:var(--apple-text)}.apple-table__resize[aria-disabled]{cursor:not-allowed}.apple-table--virtual .apple-table__scroll{overflow:auto}.apple-table--virtual thead th{position:sticky;z-index:3;top:0}.apple-table--virtual td{box-sizing:border-box;height:var(--apple-row-height);padding-block:0}.apple-table--virtual .apple-table__cell{max-height:calc(var(--apple-row-height) - 2px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.apple-table .apple-table__spacer,.apple-table .apple-table__spacer:hover{background:transparent}.apple-table .apple-table__spacer td{height:0;padding:0;border:0}.apple-tree,.apple-tree ul{padding:0;margin:0;list-style:none}.apple-tree li{border-radius:6px}.apple-tree li:focus-visible{outline:none}.apple-tree li:focus-visible>.apple-tree__row{outline:3px solid var(--apple-accent);outline-offset:-2px}.apple-tree__row{position:relative;display:flex;align-items:center;gap:4px;min-height:44px;padding-block:2px;padding-inline-end:8px;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color var(--apple-fast),color var(--apple-fast)}.apple-tree__row>span:last-child{min-width:0;overflow-wrap:anywhere}.apple-tree__row:hover:not(.is-disabled){background:var(--apple-hover)}.apple-tree__row:active:not(.is-disabled){background:var(--apple-pressed)}.apple-tree__row.is-selected{color:var(--apple-text)}.apple-tree>.apple-selection-indicator{border-radius:6px}.apple-tree__row.is-disabled{opacity:.45;cursor:not-allowed}.apple-tree__toggle,.apple-tree__spacer{display:inline-flex;flex:0 0 36px;align-items:center;justify-content:center;width:36px;height:40px;padding:0;border:0;background:transparent;color:var(--apple-secondary)}.apple-tree__toggle svg{transition:transform var(--apple-duration) var(--apple-ease)}.apple-tree__toggle.is-open svg{transform:rotate(90deg)}.apple-list{position:relative;padding:0;margin:0;list-style:none}.apple-list>li+li{border-top:1px solid var(--apple-border)}.apple-list__item{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;min-height:60px;padding:12px 2px;border:0;background:transparent;text-decoration:none;color:var(--apple-text);text-align:left}button.apple-list__item:hover,a.apple-list__item:hover{background:color-mix(in srgb,var(--apple-text) 3%,transparent)}.apple-list__item.is-selected>svg{color:var(--apple-accent)}.apple-list__copy{display:flex;flex-direction:column;gap:4px;min-width:0}.apple-list__label{font-size:14px;overflow-wrap:anywhere}.apple-list__description{color:var(--apple-secondary);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.apple-list__item>svg{flex-shrink:0;color:var(--apple-secondary)}.apple-list__item{position:relative;padding-inline:8px;transition:background-color var(--apple-fast),color var(--apple-fast)}.apple-list__item:active:not(:disabled){background:var(--apple-pressed)}.apple-list-row-enter-active,.apple-list-row-leave-active,.apple-list-row-move{transition:transform var(--apple-duration) var(--apple-ease)}.apple-list-row-enter-from{transform:translateY(24px)}.apple-list-row-leave-to{transform:translate(100%)}.apple-list-row-leave-active{position:absolute;width:100%}.apple-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;overflow:hidden;vertical-align:middle;border-radius:50%;background:var(--apple-surface-alt);color:var(--apple-secondary);font-weight:600;line-height:1}.apple-avatar--square{border-radius:8px}.apple-avatar img{width:100%;height:100%;object-fit:cover}.apple-avatar-group{display:flex;align-items:center;flex-wrap:wrap;padding-left:7px}.apple-avatar-group>.apple-avatar{margin-left:-7px;border:2px solid var(--apple-surface)}.apple-avatar-group__more{font-size:11px;font-weight:500}.apple-badge{position:relative;display:inline-flex;align-items:center;vertical-align:middle}.apple-badge__value{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:19px;height:19px;padding:0 5px;transform:translate(45%,-40%);border:2px solid var(--apple-surface);border-radius:20px;background:var(--apple-tone, var(--apple-danger));color:#fff;white-space:nowrap;font-size:10px;line-height:1;font-weight:600}.apple-badge__value--dot{min-width:10px;width:10px;height:10px;padding:0}.apple-badge--standalone .apple-badge__value{position:static;transform:none}.apple-tag{display:inline-flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;max-width:100%;min-height:26px;padding:3px 9px;border-radius:5px;background:color-mix(in srgb,var(--apple-tone, var(--apple-secondary)) 10%,var(--apple-surface));color:var(--apple-tone, var(--apple-secondary));font-size:11px;font-weight:500;line-height:1.5;vertical-align:middle;overflow-wrap:anywhere}.apple-tag button{display:inline-flex;flex:0 0 22px;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px -5px -2px 0;padding:0;border:0;border-radius:3px;background:transparent;color:inherit}.apple-tag button:hover:not(:disabled){background:color-mix(in srgb,var(--apple-tone, var(--apple-secondary)) 12%,transparent)}.apple-alert{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid color-mix(in srgb,var(--apple-tone) 18%,var(--apple-border));border-radius:8px;background:color-mix(in srgb,var(--apple-tone) 5%,var(--apple-surface));color:var(--apple-text);font-size:13px;line-height:1.6}.apple-alert>svg{flex:0 0 auto;margin-top:1px;color:var(--apple-tone)}.apple-alert__copy{flex:1;min-width:0;overflow-wrap:anywhere}.apple-alert strong{font-size:13px;font-weight:600}.apple-alert p{margin:4px 0 0;color:var(--apple-secondary)}.apple-alert>button{margin:-11px -11px -11px -4px}.apple-progress{display:flex;align-items:center;gap:12px;min-width:0}.apple-progress__track{flex:1;height:5px;overflow:hidden;border-radius:5px;background:var(--apple-surface-alt)}.apple-progress__fill{display:block;height:100%;border-radius:inherit;background:var(--apple-tone, var(--apple-accent));transition:width var(--apple-duration) var(--apple-ease)}.apple-progress__value{min-width:38px;text-align:right;color:var(--apple-secondary);font-size:12px;font-variant-numeric:tabular-nums}.apple-progress.is-indeterminate .apple-progress__fill{width:35%;animation:apple-progress 1.4s ease-in-out infinite}.apple-spinner{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--apple-secondary);vertical-align:middle;font-size:13px}.apple-spinner>svg{flex-shrink:0;animation:apple-spin 1s linear infinite}.apple-skeleton{min-width:0}.apple-skeleton__layout{display:flex;align-items:flex-start;gap:14px;width:100%;height:100%}.apple-skeleton__avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--apple-surface-alt)}.apple-skeleton__lines{display:flex;flex:1;flex-direction:column;gap:10px;min-width:0;padding-top:3px}.apple-skeleton__lines span{display:block;height:12px;border-radius:4px;background:var(--apple-surface-alt)}.apple-skeleton__block{display:block;flex-shrink:0;background:var(--apple-surface-alt);border-radius:4px}.apple-skeleton__avatar{border-radius:50%}.apple-skeleton--avatar{width:44px;height:44px}.apple-skeleton--avatar .apple-skeleton__avatar{width:100%;height:100%}.apple-skeleton--avatar .apple-skeleton__layout{display:block}.apple-skeleton--card .apple-skeleton__layout,.apple-skeleton--list .apple-skeleton__layout,.apple-skeleton--table .apple-skeleton__layout{flex-direction:column}.apple-skeleton--card .apple-skeleton__lines{width:100%}.apple-skeleton__image{width:100%;aspect-ratio:16 / 10;border-radius:8px}.apple-skeleton--image .apple-skeleton__image{height:100%}.apple-skeleton__row{display:flex;gap:14px;width:100%;padding-block:8px}.apple-skeleton__table-row{display:grid;gap:24px;width:100%;padding:12px 0;border-bottom:1px solid var(--apple-border)}.apple-skeleton__table-row .apple-skeleton__block{height:12px}.apple-skeleton__table-row:first-child{background:var(--apple-surface-alt)}.apple-skeleton__table-row:first-child .apple-skeleton__block{background:var(--apple-border)}.apple-skeleton.is-animated .apple-skeleton__block{animation:apple-skeleton 1.8s ease-in-out infinite}.apple-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 20px;text-align:center;color:var(--apple-secondary)}.apple-empty>svg{margin-bottom:2px;opacity:.7}.apple-empty h3{margin:0;color:var(--apple-text);font-size:16px;font-weight:600}.apple-empty p{max-width:360px;margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.apple-empty>:last-child:not(h3):not(p):not(svg){margin-top:8px}.apple-divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:var(--apple-secondary);font-size:12px}.apple-divider:before,.apple-divider:after{flex:1;height:1px;background:var(--apple-border);content:""}.apple-divider:empty:after{display:none}.apple-divider--vertical{display:inline-flex;align-self:stretch;width:1px;min-height:20px;margin:0 12px;vertical-align:middle;background:var(--apple-border)}.apple-divider--vertical:before,.apple-divider--vertical:after{display:none}.apple-steps{display:flex;align-items:flex-start;padding:0;margin:0;list-style:none;overflow-x:auto}.apple-steps>li{position:relative;flex:1 0 84px;min-width:0}.apple-steps>li:not(:last-child):after{position:absolute;z-index:0;top:17px;left:calc(50% + 22px);right:calc(-50% + 22px);height:1px;content:"";background:var(--apple-border)}.apple-steps>li>div,.apple-steps>li>button{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;min-height:44px;padding:0 6px 8px;border:0;background:transparent;text-align:center;color:var(--apple-secondary)}.apple-steps>li>button{transition:color var(--apple-fast),background-color var(--apple-fast)}.apple-steps>li>button:hover:not(:disabled){background:var(--apple-hover)}.apple-steps>li>button:active:not(:disabled){background:var(--apple-pressed)}.apple-steps__number{z-index:1;display:flex;flex:0 0 34px;align-items:center;justify-content:center;box-sizing:border-box;width:34px;height:34px;border:1px solid var(--apple-border);border-radius:50%;background:var(--apple-surface);font-size:13px;transition:color var(--apple-fast),background-color var(--apple-fast),border-color var(--apple-fast)}.apple-steps__number>span{display:inline-flex;align-items:center;justify-content:center}.apple-step-symbol-enter-active,.apple-step-symbol-leave-active{transition:opacity var(--apple-fast)}.apple-step-symbol-enter-from,.apple-step-symbol-leave-to{opacity:0}.apple-steps .is-current .apple-steps__number{border-color:var(--apple-accent);background:var(--apple-accent);color:var(--apple-accent-text)}.apple-steps .is-complete .apple-steps__number{border-color:transparent;background:color-mix(in srgb,var(--apple-accent) 10%,var(--apple-surface));color:var(--apple-accent)}.apple-steps .is-current .apple-steps__copy strong{color:var(--apple-text)}.apple-steps__copy{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;max-width:100%;text-align:center;overflow-wrap:anywhere}.apple-steps__copy strong{font-size:13px;font-weight:500;transition:color var(--apple-fast)}.apple-steps__copy>span{font-size:11px;line-height:1.5}.apple-timeline{padding:0;margin:0;list-style:none}.apple-timeline>li{position:relative;display:flex;gap:16px;min-height:70px;padding-bottom:26px}.apple-timeline>li:last-child{padding-bottom:0}.apple-timeline>li:not(:last-child):before{position:absolute;top:15px;bottom:-3px;left:4px;width:1px;content:"";background:var(--apple-border)}.apple-timeline__point{position:relative;flex:0 0 9px;width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--apple-tone, var(--apple-accent))}.apple-timeline__copy{display:flex;flex-direction:column;gap:5px;min-width:0}.apple-timeline time{color:var(--apple-secondary);font-size:11px}.apple-timeline strong{font-size:14px;font-weight:500}.apple-timeline p{margin:0;color:var(--apple-secondary);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.apple-timeline--horizontal{display:flex;overflow-x:auto;overscroll-behavior-inline:contain}.apple-timeline--horizontal>li{flex:1 0 150px;flex-direction:column;gap:12px;min-width:0;padding:0 20px 0 0}.apple-timeline--horizontal>li:not(:last-child):before{top:10px;bottom:auto;left:15px;width:calc(100% - 18px);height:1px}.apple-carousel__track{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;border-radius:8px}.apple-carousel__track::-webkit-scrollbar{display:none}.apple-carousel__slide{position:relative;flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}.apple-carousel__slide>img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}.apple-carousel__caption{padding:18px 0 0}.apple-carousel__caption h3{margin:0;font-size:20px;font-weight:600}.apple-carousel__caption p{margin:8px 0 0;color:var(--apple-secondary);font-size:14px;line-height:1.6}.apple-carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px}.apple-carousel__dots{display:flex;flex-wrap:wrap;align-items:center;min-width:0}.apple-carousel__dots button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:44px;padding:0;border:0;background:transparent}.apple-carousel__dots button span{width:6px;height:6px;border-radius:6px;background:var(--apple-border);transition:width var(--apple-duration) var(--apple-ease),background var(--apple-duration) var(--apple-ease)}.apple-carousel__dots button.is-active span{width:20px;background:var(--apple-text)}.apple-carousel__arrows{display:flex;flex:0 0 auto;gap:8px}.apple-carousel__arrows button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--apple-surface-alt);color:var(--apple-text)}.apple-carousel__arrows button:hover:not(:disabled){background:color-mix(in srgb,var(--apple-secondary) 18%,var(--apple-surface))}.apple-pull-refresh__indicator{display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;color:var(--apple-secondary);font-size:12px;transition:height var(--apple-duration) var(--apple-ease)}.apple-pull-refresh[aria-busy=true] .apple-pull-refresh__indicator svg{animation:apple-spin 1s linear infinite}.apple-pull-refresh__button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:8px auto 0;padding:0 12px;border:0;background:transparent;color:var(--apple-accent);font-size:12px!important}.apple-infinite-scroll__status{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;min-height:64px;color:var(--apple-secondary);font-size:12px}.apple-infinite-scroll__status button{min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--apple-accent);font-size:12px}.apple-swipe-cell{overflow:hidden;border-bottom:1px solid var(--apple-border)}.apple-swipe-cell__content{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:8px 0}.apple-swipe-cell__content>:not(button){min-width:0;overflow-wrap:anywhere}.apple-swipe-cell__actions{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--apple-duration) var(--apple-ease)}.apple-swipe-cell.is-open .apple-swipe-cell__actions{grid-template-rows:1fr}.apple-swipe-cell__clip{min-height:0;overflow:hidden}.apple-swipe-cell__buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 0 12px}.apple-floating-group{position:fixed;z-index:25;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:10px;max-height:calc(100dvh - 40px)}.apple-back-top{position:relative;order:1000;display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--apple-border);border-radius:50%;background:var(--apple-surface);color:var(--apple-text);box-shadow:var(--apple-shadow);transition:color var(--apple-fast),background-color var(--apple-fast),border-color var(--apple-fast)}.apple-back-top--fixed{position:fixed;z-index:25;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom))}.apple-back-top:hover:not(:disabled){background:var(--apple-surface-alt)}.apple-back-top:active:not(:disabled){background:var(--apple-pressed)}.apple-floating-action-enter-active,.apple-floating-action-leave-active{transition:transform var(--apple-duration) var(--apple-ease),opacity var(--apple-fast)}.apple-floating-action-enter-from,.apple-floating-action-leave-to{transform:translateY(24px);opacity:0}.apple-marquee{display:flex;align-items:center;gap:8px;padding:0 8px 0 14px;min-height:44px;background:var(--apple-surface-alt);border-radius:6px;font-size:12px}.apple-marquee__viewport{flex:1;min-width:0;overflow:hidden}.apple-marquee__track{display:flex;width:max-content;animation:apple-marquee var(--apple-marquee-duration) linear infinite}.apple-marquee__track>span{padding-right:70px;white-space:nowrap}.apple-marquee.is-paused .apple-marquee__track,.apple-marquee:hover .apple-marquee__track,.apple-marquee__viewport:focus-within .apple-marquee__track{animation-play-state:paused}.apple-statistic{min-width:0;max-width:100%}.apple-statistic__label{color:var(--apple-secondary);font-size:13px}.apple-statistic__value{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;margin-top:8px;color:var(--apple-text);font-variant-numeric:tabular-nums}.apple-statistic__value strong{min-width:0;font-size:32px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.apple-statistic__value>span{color:var(--apple-secondary);font-size:14px}.apple-statistic p{margin:8px 0 0;color:var(--apple-secondary);font-size:12px;line-height:1.5}@keyframes apple-spin{to{transform:rotate(360deg)}}@keyframes apple-progress{0%{transform:translate(-110%)}to{transform:translate(390%)}}@keyframes apple-skeleton{50%{opacity:.45}}@keyframes apple-marquee{to{transform:translate(-50%)}}[data-motion=none] .apple-carousel__track,.apple-carousel[data-motion=none] .apple-carousel__track,[data-motion=reduced] .apple-carousel__track,.apple-carousel[data-motion=reduced] .apple-carousel__track{scroll-behavior:auto}.apple-spinner[data-motion=none]>svg,.apple-progress[data-motion=none] .apple-progress__fill,.apple-skeleton[data-motion=none] span,.apple-marquee[data-motion=none] .apple-marquee__track,.apple-pull-refresh[data-motion=none] .apple-pull-refresh__indicator svg,.apple-spinner[data-motion=reduced]>svg,.apple-progress[data-motion=reduced] .apple-progress__fill,.apple-skeleton[data-motion=reduced] span,.apple-marquee[data-motion=reduced] .apple-marquee__track,.apple-pull-refresh[data-motion=reduced] .apple-pull-refresh__indicator svg{animation:none}:is([data-apple-motion=reduced],[data-apple-motion=none]) :is(.apple-spinner>svg,.apple-progress__fill,.apple-skeleton span,.apple-marquee__track,.apple-pull-refresh__indicator svg){animation:none!important}:is([data-apple-motion=reduced],[data-apple-motion=none]) .apple-carousel__track{scroll-behavior:auto}:is([data-apple-motion=reduced],[data-apple-motion=none]) .apple-marquee__track,.apple-marquee:is([data-motion=reduced],[data-motion=none]) .apple-marquee__track{width:auto}:is([data-apple-motion=reduced],[data-apple-motion=none]) .apple-marquee__track>span,.apple-marquee:is([data-motion=reduced],[data-motion=none]) .apple-marquee__track>span{padding:10px 0;white-space:normal;overflow-wrap:anywhere}:is([data-apple-motion=reduced],[data-apple-motion=none]) :is(.apple-marquee__track>span[aria-hidden],.apple-marquee>button),.apple-marquee:is([data-motion=reduced],[data-motion=none]) :is(.apple-marquee__track>span[aria-hidden],button){display:none}@media(max-width:480px){.apple-tabs__list{gap:22px}.apple-pagination{gap:2px}.apple-table th,.apple-table td{padding-inline:12px}.apple-table__footer{flex-direction:column;align-items:stretch}.apple-table__footer>span{font-size:12px}.apple-carousel__caption h3{font-size:18px}}@media(prefers-reduced-motion:reduce){.apple-carousel__track{scroll-behavior:auto}.apple-spinner>svg,.apple-progress.is-indeterminate .apple-progress__fill,.apple-skeleton.is-animated span,.apple-marquee__track,.apple-pull-refresh[aria-busy=true] .apple-pull-refresh__indicator svg{animation:none}.apple-marquee__track{width:auto}.apple-marquee__track>span{padding:10px 0;white-space:normal;overflow-wrap:anywhere}.apple-marquee__track>span[aria-hidden],.apple-marquee>button{display:none}}.apple-navibar{--apple-navibar-height: 64px;position:relative;min-width:0;width:100%;color:var(--apple-text)}.apple-navibar--fixed{height:var(--apple-navibar-height)}.apple-navibar__bar{box-sizing:border-box;position:relative;z-index:70;height:var(--apple-navibar-height);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding-inline:30px;border-bottom:1px solid color-mix(in srgb,var(--apple-border) 50%,transparent);background:color-mix(in srgb,var(--apple-surface) 90%,transparent);-webkit-backdrop-filter:blur(2px) saturate(2);backdrop-filter:blur(2px) saturate(2)}.apple-navibar--fixed>.apple-navibar__bar{position:fixed;inset:0 0 auto}.apple-navibar__brand{min-width:0;font-size:20px;font-weight:650}.apple-navibar__brand a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.apple-navibar__links{display:flex;align-self:stretch;align-items:stretch;gap:32px;min-width:0}.apple-navibar__item{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:1px 0 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--apple-secondary);font:inherit;font-size:13px;text-decoration:none;cursor:pointer;overflow-wrap:anywhere;transition:color var(--apple-fast)}.apple-navibar__item.is-active{color:var(--apple-text);border-bottom-color:var(--apple-text)}.apple-navibar__item:hover:not(:disabled):not([aria-disabled=true]){color:var(--apple-text)}.apple-navibar__item[aria-disabled=true]{opacity:.42;cursor:not-allowed}.apple-navibar__actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;min-width:0}.apple-navibar__toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.apple-navibar [hidden]{display:none}.apple-navibar :focus-visible{outline:3px solid var(--apple-accent);outline-offset:-3px}.apple-navibar.is-collapsed{--apple-navibar-height: 58px}.apple-navibar.is-collapsed .apple-navibar__bar{grid-template-columns:minmax(0,1fr) auto 44px;gap:4px;padding-inline:17px}.apple-navibar.is-collapsed .apple-navibar__brand{font-size:19px}.apple-navibar.is-collapsed .apple-navibar__links{position:absolute;inset:100% 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - var(--apple-navibar-height));overflow-y:auto;padding:10px 17px 16px;border-bottom:1px solid var(--apple-border);background:color-mix(in srgb,var(--apple-surface) 96%,transparent);-webkit-backdrop-filter:blur(2px) saturate(2);backdrop-filter:blur(2px) saturate(2)}.apple-navibar.is-collapsed .apple-navibar__links[hidden]{display:none}.apple-navibar.is-collapsed .apple-navibar__item{justify-content:flex-start;padding:10px 12px;border-bottom:0;text-align:left}.apple-navibar.is-collapsed .apple-navibar__item.is-active{font-weight:600}.apple-overlay-host{display:contents}.apple-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#00000061}.apple-modal{box-sizing:border-box;position:relative;display:flex;flex-direction:column;width:min(100%,var(--apple-overlay-width, 480px));max-width:100%;max-height:calc(100dvh - 40px);color:var(--apple-text, #1d1d1f);background:var(--apple-surface, #fff);border:1px solid var(--apple-border, #d2d2d7);border-radius:var(--apple-radius, 8px);box-shadow:0 24px 90px #0000002e;overflow:hidden;outline:none;transition:width var(--apple-duration, .32s) var(--apple-ease, ease),background-color var(--apple-duration, .32s),color var(--apple-duration, .32s),border-color var(--apple-duration, .32s)}.apple-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-shrink:0;padding:24px 24px 12px}.apple-modal-heading{min-width:0;padding-top:5px}.apple-modal-heading h2{margin:0;font-size:22px;line-height:1.25;font-weight:650;overflow-wrap:anywhere}.apple-modal-body{min-height:0;padding:12px 24px 24px;overflow-y:auto;overscroll-behavior:contain;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.apple-modal-body>:first-child{margin-top:0}.apple-modal-body>:last-child{margin-bottom:0}.apple-modal-body p{color:var(--apple-secondary, #6e6e73)}.apple-modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 24px 24px;flex-shrink:0}.apple-overlay-button{box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;max-width:100%;border:1px solid transparent;border-radius:999px;padding:10px 21px;font:inherit;font-size:14px;font-weight:550;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;background:var(--apple-accent, #0071e3);color:var(--apple-accent-text, #fff);cursor:pointer;transition:opacity var(--apple-duration, .22s),background-color var(--apple-duration, .22s)}.apple-overlay-button--secondary{color:var(--apple-accent, #0071e3);background:transparent;border-color:currentColor}.apple-overlay-button--danger{background:var(--apple-danger, #d93025);color:#fff}.apple-overlay-icon{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:50%;font:inherit;background:transparent;color:var(--apple-secondary, #6e6e73);cursor:pointer;transition:background-color var(--apple-fast, .12s),color var(--apple-fast, .12s)}.apple-overlay-icon:focus-visible,.apple-overlay-button:focus-visible,.apple-menu-item:focus-visible,.apple-action-sheet-item:focus-visible,.apple-action-sheet-cancel:focus-visible,.apple-snackbar-action:focus-visible{outline:3px solid var(--apple-accent, #0071e3);outline-offset:3px}.apple-overlay-button:disabled,.apple-overlay-icon:disabled,.apple-menu-item:disabled,.apple-action-sheet-item:disabled{opacity:.42;cursor:not-allowed}.apple-overlay-backdrop--drawer{justify-content:flex-end;padding:0}.apple-drawer{height:100dvh;max-height:100dvh;border-radius:0;border-block:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.apple-drawer--left{margin-right:auto;padding-left:env(safe-area-inset-left)}.apple-drawer--right{padding-right:env(safe-area-inset-right)}.apple-drawer .apple-modal-body{flex:1}.apple-overlay-backdrop--sheet{align-items:flex-end;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.apple-sheet{width:min(100%,max(var(--apple-overlay-width, 540px),540px));max-height:calc(100dvh - max(20px,env(safe-area-inset-top)));border-radius:8px 8px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}.apple-sheet-handle{width:34px;height:4px;margin:10px auto 0;flex-shrink:0;border-radius:999px;background:var(--apple-border, #d2d2d7)}.apple-sheet .apple-modal-header{padding-top:12px}.apple-snackbar-stack{position:fixed;z-index:3000;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:min(420px,calc(100vw - 40px));max-height:calc(100dvh - 40px);pointer-events:none}.apple-snackbar-stack>.apple-auto-size{overflow:visible!important}.apple-modal-body .apple-auto-size__inner>:first-child{margin-top:0}.apple-modal-body .apple-auto-size__inner>:last-child{margin-bottom:0}.apple-snackbar-list{position:relative;display:flex;flex-direction:column;gap:10px}.apple-snackbar-position{min-width:0}.apple-snackbar{display:flex;align-items:center;gap:12px;box-sizing:border-box;padding:12px 12px 12px 16px;width:100%;border:1px solid var(--apple-border, #d2d2d7);border-radius:8px;background:var(--apple-surface, #fff);color:var(--apple-text, #1d1d1f);box-shadow:var(--apple-shadow, 0 4px 24px rgb(0 0 0 / 12%));pointer-events:auto}.apple-snackbar-symbol{flex-shrink:0;color:var(--apple-accent, #0071e3)}.apple-snackbar--success .apple-snackbar-symbol{color:var(--apple-success, #248a3d)}.apple-snackbar--warning .apple-snackbar-symbol{color:var(--apple-warning, #af7000)}.apple-snackbar--danger .apple-snackbar-symbol,.apple-snackbar--error .apple-snackbar-symbol{color:var(--apple-danger, #d93025)}.apple-snackbar-content{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.apple-snackbar-content strong{font-weight:600}.apple-snackbar-action{flex-shrink:0;max-width:30%;min-height:44px;border:0;padding:8px;border-radius:8px;background:transparent;color:var(--apple-accent, #0071e3);font:inherit;font-size:14px;cursor:pointer;overflow-wrap:anywhere}.apple-popover-anchor{display:inline-flex;max-width:100%;vertical-align:middle}.apple-popover{box-sizing:border-box;position:fixed;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;padding:18px;border:1px solid color-mix(in srgb,var(--apple-border, #d2d2d7) 65%,transparent);border-radius:8px;color:var(--apple-text, #1d1d1f);background:color-mix(in srgb,var(--apple-surface, #fff) 82%,transparent);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);box-shadow:0 12px 36px #00000024;font-size:14px;line-height:1.5;overflow-wrap:anywhere;outline:none;transition:width var(--apple-duration, .32s) var(--apple-ease, ease),background-color var(--apple-fast, .12s)}.apple-tooltip{max-width:min(280px,calc(100vw - 24px));padding:7px 11px;color:var(--apple-surface, #fff);background:var(--apple-text, #1d1d1f);border:0;font-size:12px;font-weight:500;pointer-events:auto}.apple-menu{padding:6px}.apple-menu-item{position:relative;overflow:hidden;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;border:0;padding:10px 12px;border-radius:5px;color:var(--apple-text, #1d1d1f);background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--apple-fast, .12s),color var(--apple-fast, .12s)}.apple-menu-item--danger{color:var(--apple-danger, #d93025)}.apple-menu-item svg{flex-shrink:0}.apple-menu-copy{display:flex;flex-direction:column;flex:1;min-width:0;overflow-wrap:anywhere}.apple-menu-copy small{color:var(--apple-secondary, #6e6e73);font-size:12px}.apple-action-sheet .apple-modal-body{padding:4px 16px 16px}.apple-action-sheet-message{margin:0 8px 16px;font-size:14px;text-align:center}.apple-action-sheet-items{display:flex;flex-direction:column}.apple-action-sheet-item{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:12px;border:0;border-top:1px solid var(--apple-border, #d2d2d7);background:transparent;color:var(--apple-accent, #0071e3);font:inherit;text-align:center;cursor:pointer;overflow-wrap:anywhere;transition:background-color var(--apple-fast, .12s),color var(--apple-fast, .12s)}.apple-action-sheet-item span{min-width:0}.apple-action-sheet-item small{display:block;color:var(--apple-secondary, #6e6e73);font-size:12px}.apple-action-sheet-item--danger{color:var(--apple-danger, #d93025)}.apple-action-sheet-cancel{width:100%;margin-top:12px}.apple-image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;color:#fff;background:#000000eb;outline:0}.apple-viewer-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;touch-action:none}.apple-viewer-image{display:block;width:auto!important;height:auto!important;max-width:calc(100% - 64px);max-height:calc(100% - 160px);object-fit:contain;-webkit-user-select:none;user-select:none}.apple-viewer-title{position:absolute;top:max(20px,env(safe-area-inset-top));left:64px;right:64px;text-align:center;overflow-wrap:anywhere;pointer-events:none}.apple-viewer-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.apple-image-viewer .apple-overlay-icon{color:#fff;background:#202022cc}.apple-viewer-close{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));z-index:2}.apple-viewer-prev,.apple-viewer-next{position:absolute;top:calc(50% - 22px);z-index:2}.apple-viewer-prev{left:max(12px,env(safe-area-inset-left))}.apple-viewer-next{right:max(12px,env(safe-area-inset-right))}.apple-viewer-toolbar{display:flex;align-items:center;gap:6px;position:absolute;z-index:2;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);padding:6px;max-width:calc(100vw - 24px);border:1px solid rgb(255 255 255 / 14%);border-radius:999px;background:#202022e5}.apple-viewer-toolbar .apple-overlay-icon{background:transparent}.apple-viewer-count{white-space:nowrap;text-align:center;min-width:54px;font-size:12px;font-variant-numeric:tabular-nums}.apple-viewer-error,.apple-viewer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;color:#fff}.apple-viewer-empty{height:100%}.apple-overlay-spin{animation:apple-overlay-spin .8s linear infinite}@keyframes apple-overlay-spin{to{transform:rotate(360deg)}}.apple-modal-presence-enter-active,.apple-modal-presence-leave-active{transition:background-color var(--apple-overlay-duration, .32s) var(--apple-ease, ease)}.apple-modal-presence-enter-active .apple-modal,.apple-modal-presence-leave-active .apple-modal{transition:transform var(--apple-overlay-duration, .32s) var(--apple-ease, cubic-bezier(.2, .8, .2, 1));will-change:transform}.apple-modal-presence-enter-from,.apple-modal-presence-leave-to{background-color:transparent}.apple-modal-presence-enter-from .apple-dialog,.apple-modal-presence-leave-to .apple-dialog{transform:translateY(32px) scale(.97)}.apple-modal-presence-enter-from .apple-drawer--right,.apple-modal-presence-leave-to .apple-drawer--right{transform:translate(100%)}.apple-modal-presence-enter-from .apple-drawer--left,.apple-modal-presence-leave-to .apple-drawer--left{transform:translate(-100%)}.apple-modal-presence-enter-from .apple-sheet,.apple-modal-presence-leave-to .apple-sheet{transform:translateY(100%)}.apple-popover-presence-enter-active,.apple-popover-presence-leave-active{transition:transform var(--apple-overlay-duration, .32s) var(--apple-ease, ease),opacity var(--apple-overlay-duration, .32s) var(--apple-ease, ease)}.apple-popover-presence-enter-from,.apple-popover-presence-leave-to{transform:translateY(-10px);opacity:0}.apple-toast-enter-active,.apple-toast-leave-active{transition:transform var(--apple-overlay-duration, .32s) var(--apple-ease, cubic-bezier(.2, .8, .2, 1))}.apple-toast-enter-from,.apple-toast-leave-to{transform:translate(calc(100% + 48px))}.apple-toast-stack-move{transition:transform var(--apple-duration, .32s) var(--apple-ease, ease)}.apple-viewer-presence-enter-active,.apple-viewer-presence-leave-active{transition:opacity var(--apple-overlay-duration, .32s) var(--apple-ease, ease)}.apple-viewer-presence-enter-from,.apple-viewer-presence-leave-to{opacity:0}.apple-modal-presence-leave-active,.apple-popover-presence-leave-active,.apple-viewer-presence-leave-active,.apple-toast-leave-active{pointer-events:none}[data-apple-motion=reduced].apple-overlay-backdrop{transition-property:opacity}[data-apple-motion=reduced].apple-modal-presence-enter-from,[data-apple-motion=reduced].apple-modal-presence-leave-to{opacity:0;background:#00000061}[data-apple-motion=reduced].apple-overlay-backdrop .apple-modal,[data-apple-motion=reduced].apple-popover,[data-apple-motion=reduced].apple-snackbar{transform:none!important}[data-apple-motion=reduced].apple-toast-enter-active,[data-apple-motion=reduced].apple-toast-leave-active{transition-property:opacity}[data-apple-motion=reduced].apple-toast-enter-from,[data-apple-motion=reduced].apple-toast-leave-to{opacity:0}[data-apple-motion=none].apple-overlay-backdrop,[data-apple-motion=none] .apple-modal,[data-apple-motion=none].apple-snackbar,[data-apple-motion=none].apple-popover,[data-apple-motion=none].apple-image-viewer,[data-apple-motion=none] .apple-overlay-icon,[data-apple-motion=none] .apple-menu-item,[data-apple-motion=none] .apple-action-sheet-item,[data-apple-motion=none] .apple-overlay-spin,.apple-image-viewer[data-apple-motion=none] *,.apple-image-viewer[data-apple-motion=reduced] *{transition:none!important;animation:none!important}.apple-overlay-icon:not(:disabled):active,.apple-menu-item:not(:disabled):active,.apple-action-sheet-item:not(:disabled):active{background:color-mix(in srgb,var(--apple-text, #1d1d1f) 16%,var(--apple-surface, #fff))}@media(hover:hover)and (pointer:fine){.apple-overlay-icon:not(:disabled):hover,.apple-menu-item:not(:disabled):hover,.apple-action-sheet-item:not(:disabled):hover{background:color-mix(in srgb,var(--apple-text, #1d1d1f) 7%,transparent)}.apple-overlay-icon:not(:disabled):active,.apple-menu-item:not(:disabled):active,.apple-action-sheet-item:not(:disabled):active{background:color-mix(in srgb,var(--apple-text, #1d1d1f) 16%,var(--apple-surface, #fff))}.apple-overlay-button:not(:disabled):hover{opacity:.87}.apple-image-viewer .apple-overlay-icon:hover{background:#505054e5}.apple-image-viewer .apple-overlay-icon:active{background:#6a6a6ef2}}@media(max-width:600px){.apple-overlay-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.apple-modal{max-height:calc(100dvh - 24px)}.apple-modal-header{gap:8px;padding:18px 18px 8px}.apple-modal-heading h2{font-size:20px}.apple-modal-body{padding:10px 18px 20px}.apple-modal-footer{padding:12px 18px 20px}.apple-modal-footer>.apple-button{flex:1}.apple-overlay-backdrop--drawer{padding:0}.apple-drawer{width:min(100%,var(--apple-overlay-width, 440px));max-height:100dvh}.apple-overlay-backdrop--sheet{padding:0}.apple-sheet{width:100%;max-height:calc(100dvh - max(24px,env(safe-area-inset-top)))}.apple-snackbar-stack{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px)}.apple-viewer-prev,.apple-viewer-next{width:40px;height:44px}}