diff --git a/android-client/app/src/main/AndroidManifest.xml b/android-client/app/src/main/AndroidManifest.xml
index 4022c94..73fe9da 100644
--- a/android-client/app/src/main/AndroidManifest.xml
+++ b/android-client/app/src/main/AndroidManifest.xml
@@ -9,6 +9,12 @@
+
+
+
+
+
+
@@ -45,6 +51,12 @@
android:exported="false"
android:windowSoftInputMode="adjustResize" />
+
+
+
= Build.VERSION_CODES.O) {
+ context.startForegroundService(intent)
+ } else {
+ context.startService(intent)
+ }
+ }
+
+ fun stop(context: Context) {
+ context.startService(
+ Intent(context, BackgroundService::class.java).setAction(ACTION_STOP)
+ )
+ }
+ }
+}
\ No newline at end of file
diff --git a/android-client/app/src/main/java/com/navi/client/MainActivity.kt b/android-client/app/src/main/java/com/navi/client/MainActivity.kt
index 7700671..56c7c95 100644
--- a/android-client/app/src/main/java/com/navi/client/MainActivity.kt
+++ b/android-client/app/src/main/java/com/navi/client/MainActivity.kt
@@ -15,6 +15,7 @@
import android.view.KeyEvent
import android.webkit.*
import android.webkit.CookieManager
+import android.webkit.JavascriptInterface
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
@@ -40,6 +41,16 @@
}
}
+ private val notifPermissionLauncher = registerForActivityResult(
+ ActivityResultContracts.RequestPermission()
+ ) { granted ->
+ // Tell the web page that the request finished (bridge async flow).
+ webView.evaluateJavascript(
+ "window.dispatchEvent(new CustomEvent('navi-perm-result',{detail:$granted}))",
+ null
+ )
+ }
+
private val filePickerLauncher = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { result ->
@@ -91,11 +102,21 @@
WebView.setWebContentsDebuggingEnabled(true)
webView = findViewById(R.id.webview)
setupWebView(prefs)
- webView.loadUrl(serverUrl)
+ // Deep link out of a notification: resume straight into the session.
+ val openUrl = intent?.getStringExtra("open_url")
+ if (!openUrl.isNullOrBlank()) {
+ webView.loadUrl(serverUrl + openUrl)
+ } else {
+ webView.loadUrl(serverUrl)
+ }
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
+ intent.getStringExtra("open_url")?.takeIf { it.isNotBlank() }?.let {
+ val prefs = getSharedPreferences("navi", Context.MODE_PRIVATE)
+ prefs.getString("server_url", null)?.let { base -> webView.loadUrl(base + it) }
+ }
intent.data?.let { uri ->
if (uri.scheme == "navi" && uri.host == "auth" && uri.path == "/callback") {
val sid = uri.getQueryParameter("sid")
@@ -127,6 +148,8 @@
userAgentString = "$userAgentString NaviAndroid/1.0"
}
+ webView.addJavascriptInterface(NaviBridge(), "NaviAndroid")
+
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
return if (shouldOpenExternally(request)) openExternal(request.url) else false
@@ -275,4 +298,58 @@
}
return super.onKeyDown(keyCode, event)
}
+
+ /**
+ * JS bridge exposed to the webclient as window.NaviAndroid. Methods run
+ * on the WebView's JavaBridge thread — context-only work there, UI
+ * threading for permission launches (the launcher must run on the
+ * activity's lifecycle thread).
+ */
+ private fun canRaiseNotifications(): Boolean {
+ return ContextCompat.checkSelfPermission(
+ this, Manifest.permission.POST_NOTIFICATIONS
+ ) == PackageManager.PERMISSION_GRANTED || Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU
+ }
+
+ /** JS bridge exposed to the webclient as window.NaviAndroid. */
+ inner class NaviBridge {
+
+ @JavascriptInterface
+ fun notify(title: String, body: String, openUrl: String) {
+ if (!canRaiseNotifications()) return
+ NaviNotifications.notifyTurn(applicationContext, title, body, openUrl)
+ }
+
+ @JavascriptInterface
+ fun hasNotificationPermission(): Boolean = NaviNotifications.hasPermission(this@MainActivity)
+
+ @JavascriptInterface
+ fun requestNotificationPermission() {
+ runOnUiThread {
+ notifPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)
+ }
+ }
+
+ @JavascriptInterface
+ fun enableBackgroundMode() = BackgroundService.start(applicationContext)
+
+ @JavascriptInterface
+ fun disableBackgroundMode() = BackgroundService.stop(applicationContext)
+
+ @JavascriptInterface
+ fun isIgnoringBatteryOptimizations(): Boolean =
+ NaviNotifications.isIgnoringBatteryOptimizations(applicationContext)
+
+ @JavascriptInterface
+ fun requestIgnoreBatteryOptimizations() {
+ runOnUiThread {
+ startActivity(
+ Intent(
+ android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
+ Uri.parse("package:$packageName")
+ )
+ )
+ }
+ }
+ }
}
diff --git a/android-client/app/src/main/java/com/navi/client/NaviNotifications.kt b/android-client/app/src/main/java/com/navi/client/NaviNotifications.kt
new file mode 100644
index 0000000..5dbe16b
--- /dev/null
+++ b/android-client/app/src/main/java/com/navi/client/NaviNotifications.kt
@@ -0,0 +1,69 @@
+package com.navi.client
+
+import android.Manifest
+import android.app.NotificationManager
+import android.app.PendingIntent
+import android.content.Context
+import android.content.Intent
+import android.content.pm.PackageManager
+import android.os.Build
+import android.os.PowerManager
+import androidx.core.app.NotificationCompat
+import androidx.core.content.ContextCompat
+
+/** Static helpers for channel setup + turn-complete notifications raised from the JS bridge. */
+object NaviNotifications {
+
+ fun hasPermission(context: Context): Boolean {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) return true
+ return ContextCompat.checkSelfPermission(
+ context, Manifest.permission.POST_NOTIFICATIONS
+ ) == PackageManager.PERMISSION_GRANTED
+ }
+
+ fun notifyTurn(context: Context, title: String, body: String, openUrl: String?) {
+ if (!hasPermission(context)) return
+ val nm = context.getSystemService(NotificationManager::class.java)
+ // Create on demand too: the background-service channel helper is only
+ // invoked once the foreground mode is ever enabled.
+ if (nm.getNotificationChannel(BackgroundService.CHANNEL_MSG) == null) {
+ // Mirror of BackgroundService setup kept minimal — no service needed.
+ createMessageChannel(nm)
+ }
+ val launch = Intent(context, MainActivity::class.java).apply {
+ flags = Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP
+ putExtra("open_url", openUrl ?: "")
+ }
+ val pending = PendingIntent.getActivity(
+ context, 0, launch,
+ PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
+ )
+ val notif = NotificationCompat.Builder(context, BackgroundService.CHANNEL_MSG)
+ .setSmallIcon(R.drawable.ic_notification)
+ .setContentTitle(title)
+ .setContentText(body)
+ .setStyle(NotificationCompat.BigTextStyle().bigText(body))
+ .setAutoCancel(true)
+ .setContentIntent(pending)
+ .build()
+ // Stable-ish id per session URL: a new answer of the same session replaces.
+ val id = (openUrl ?: "navi").hashCode()
+ nm.notify(id, notif)
+ }
+
+ private fun createMessageChannel(nm: NotificationManager) {
+ nm.createNotificationChannel(
+ android.app.NotificationChannel(
+ BackgroundService.CHANNEL_MSG,
+ "Navi · сообщения",
+ NotificationManager.IMPORTANCE_HIGH
+ )
+ )
+ }
+
+ /** Is the app exempt from Doze (battery optimization)? */
+ fun isIgnoringBatteryOptimizations(context: Context): Boolean {
+ val pm = context.getSystemService(PowerManager::class.java)
+ return pm.isIgnoringBatteryOptimizations(context.packageName)
+ }
+}
\ No newline at end of file
diff --git a/android-client/app/src/main/res/drawable/ic_notification.xml b/android-client/app/src/main/res/drawable/ic_notification.xml
new file mode 100644
index 0000000..1abbfce
--- /dev/null
+++ b/android-client/app/src/main/res/drawable/ic_notification.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webclient/dist/assets/index-B6EXLnRo.css b/webclient/dist/assets/index-B6EXLnRo.css
new file mode 100644
index 0000000..99e150e
--- /dev/null
+++ b/webclient/dist/assets/index-B6EXLnRo.css
@@ -0,0 +1 @@
+@charset "UTF-8";.container[data-v-308a2eeb]{padding:18px}.section[data-v-308a2eeb]{margin-bottom:48px}.section-title[data-v-308a2eeb],.block[data-v-308a2eeb]{margin-bottom:34px}.block-title[data-v-308a2eeb]{margin-bottom:22px}p[data-v-308a2eeb],.text[data-v-308a2eeb]{margin-bottom:15px}.hint[data-v-308a2eeb]{margin-top:8px}.list[data-v-308a2eeb]{padding-left:22px;margin-bottom:15px}.list-item[data-v-308a2eeb]{margin-bottom:8px}.list-nested[data-v-308a2eeb]{margin-top:8px}.table[data-v-308a2eeb]{margin-bottom:22px}.table-caption[data-v-308a2eeb]{margin-bottom:8px}.form-group[data-v-308a2eeb]{margin-bottom:15px}.label[data-v-308a2eeb]{margin-bottom:5px;display:block}.input[data-v-308a2eeb],.textarea[data-v-308a2eeb],.select[data-v-308a2eeb]{margin-top:5px}.toast[data-v-308a2eeb]{padding:15px}.toast-stack[data-v-308a2eeb]{gap:8px}.search-highlight[data-v-308a2eeb]{background:#7aa2f740;color:#7aa2f7;font-weight:600;padding:0 2px;border-radius:2px}.session-name-row[data-v-308a2eeb]{display:flex;align-items:center;gap:6px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recall-badge[data-v-308a2eeb]{color:var(--gn-color-accent);font-size:.85em;flex-shrink:0}.session-list-wrap[data-v-306ab182]{flex:1;overflow:hidden;display:flex;flex-direction:column}.session-scroller[data-v-306ab182]{flex:1;overflow-y:auto}.empty-sessions[data-v-306ab182]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--gn-color-text-dark);font-size:13px}.empty-sessions i[data-v-306ab182]{font-size:32px;opacity:.4}.empty-sessions p[data-v-306ab182]{margin:0}.sessions-loading[data-v-306ab182]{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 16px;color:var(--gn-color-text-dark);font-size:12px}.sessions-loading-more[data-v-306ab182]{padding:10px 16px 14px}.sessions-spinner[data-v-306ab182]{width:16px;height:16px;border:2px solid var(--gn-border-color-muted);border-top-color:var(--gn-color-secondary);border-radius:50%;animation:sessions-spin-306ab182 .8s linear infinite}@keyframes sessions-spin-306ab182{to{transform:rotate(360deg)}}.ptr-indicator[data-v-306ab182]{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;font-size:12px;color:var(--gn-color-text-dark);pointer-events:none;transition:opacity .15s,transform .15s;will-change:transform,opacity}.ptr-spinner[data-v-306ab182]{width:16px;height:16px;border:2px solid var(--gn-border-color-muted);border-top-color:var(--gn-color-secondary);border-radius:50%;transition:transform .15s}.ptr-spinning[data-v-306ab182]{animation:sessions-spin-306ab182 .8s linear infinite}.ptr-pulled[data-v-306ab182]{transition:transform .15s}@media(min-width:769px){.ptr-indicator[data-v-306ab182]{display:none}}.container[data-v-7de86c3c]{padding:18px}.section[data-v-7de86c3c]{margin-bottom:48px}.section-title[data-v-7de86c3c],.block[data-v-7de86c3c]{margin-bottom:34px}.block-title[data-v-7de86c3c]{margin-bottom:22px}p[data-v-7de86c3c],.text[data-v-7de86c3c]{margin-bottom:15px}.hint[data-v-7de86c3c]{margin-top:8px}.list[data-v-7de86c3c]{padding-left:22px;margin-bottom:15px}.list-item[data-v-7de86c3c]{margin-bottom:8px}.list-nested[data-v-7de86c3c]{margin-top:8px}.table[data-v-7de86c3c]{margin-bottom:22px}.table-caption[data-v-7de86c3c]{margin-bottom:8px}.form-group[data-v-7de86c3c]{margin-bottom:15px}.label[data-v-7de86c3c]{margin-bottom:5px;display:block}.input[data-v-7de86c3c],.textarea[data-v-7de86c3c],.select[data-v-7de86c3c]{margin-top:5px}.toast[data-v-7de86c3c]{padding:15px}.toast-stack[data-v-7de86c3c]{gap:8px}.sidebar-close-btn[data-v-7de86c3c]{display:none}@media(max-width:1279.98px){.sidebar-close-btn[data-v-7de86c3c]{display:flex}}.sidebar-search[data-v-7de86c3c]{display:none;padding:0 15px}.sidebar-search.is-open[data-v-7de86c3c]{display:block;padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--gn-border-color-muted)}.sidebar-search-inner[data-v-7de86c3c]{position:relative;display:flex;align-items:center;gap:5px}.sidebar-search-inner[data-v-7de86c3c] .search-field{flex:1;min-width:0}.sidebar-search-inner.is-loading[data-v-7de86c3c] .input-group-addon{position:relative!important}.sidebar-search-inner.is-loading[data-v-7de86c3c] .input-group-addon>i{display:none!important}.sidebar-search-inner.is-loading[data-v-7de86c3c] .input-group-addon:after{content:"";display:block;width:12px;height:12px;border:2px solid rgba(192,202,245,.24);border-top-color:#7aa2f7;border-radius:50%;animation:spin .6s linear infinite;margin:auto}.sessions-profiles[data-v-7de86c3c]{display:flex;gap:6px;padding:8px 15px 5px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.sessions-profiles[data-v-7de86c3c]::-webkit-scrollbar{display:none}.sessions-profiles .chip[data-v-7de86c3c]{flex:0 0 auto}.sessions-profiles[data-v-7de86c3c] .chip:before{display:none}.sessions-header-actions[data-v-7de86c3c]{display:flex;align-items:center;gap:2px}.search-toggle-btn[data-v-7de86c3c]{font-size:14px;color:#787c99;transition:color .15s}.search-toggle-btn.active[data-v-7de86c3c],.search-toggle-btn[data-v-7de86c3c]:hover{color:#c0caf5}.recall-filter-btn[data-v-7de86c3c]{font-size:14px;color:#787c99;transition:color .15s}.recall-filter-btn.active[data-v-7de86c3c],.recall-filter-btn[data-v-7de86c3c]:hover{color:var(--gn-color-secondary)}.special-filter-btn[data-v-7de86c3c]{font-size:14px;color:#787c99;transition:color .15s}.special-filter-btn.active[data-v-7de86c3c],.special-filter-btn[data-v-7de86c3c]:hover{color:var(--gn-color-secondary)}.sidebar-footer[data-v-7de86c3c]{padding:12px 16px;border-top:1px solid var(--gn-border-color-muted);display:flex;align-items:center;justify-content:space-between;gap:8px}.user-info[data-v-7de86c3c]{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;flex:1;min-width:0;cursor:pointer}.user-info:hover .user-name[data-v-7de86c3c]{color:var(--gn-color-text-light)}.user-name[data-v-7de86c3c]{font-size:13px;color:var(--gn-color-text-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer-actions[data-v-7de86c3c]{display:flex;align-items:center;gap:8px}.admin-link[data-v-7de86c3c]{text-decoration:none}.lightbox-dialog{max-width:90vw;min-width:280px}body .modal .lightbox-dialog .lightbox-panel{justify-content:center;cursor:default}body .modal .lightbox-panel .modal-body{max-height:90vh;padding:0;display:flex;align-items:center;justify-content:center}.lightbox-img{display:block;width:auto;height:auto;max-width:100%;max-height:90vh}.lightbox-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--gn-color-text-dark);font-size:13px}.lightbox-error i{font-size:32px}.selection-toolbar[data-v-b94aaefd]{position:fixed;transform:translate(-50%);z-index:900;pointer-events:all;background:var(--gn-color-warning);color:var(--gn-color-black)}.container[data-v-07ae46cf]{padding:18px}.section[data-v-07ae46cf]{margin-bottom:48px}.section-title[data-v-07ae46cf],.block[data-v-07ae46cf]{margin-bottom:34px}.block-title[data-v-07ae46cf]{margin-bottom:22px}p[data-v-07ae46cf],.text[data-v-07ae46cf]{margin-bottom:15px}.hint[data-v-07ae46cf]{margin-top:8px}.list[data-v-07ae46cf]{padding-left:22px;margin-bottom:15px}.list-item[data-v-07ae46cf]{margin-bottom:8px}.list-nested[data-v-07ae46cf]{margin-top:8px}.table[data-v-07ae46cf]{margin-bottom:22px}.table-caption[data-v-07ae46cf]{margin-bottom:8px}.form-group[data-v-07ae46cf]{margin-bottom:15px}.label[data-v-07ae46cf]{margin-bottom:5px;display:block}.input[data-v-07ae46cf],.textarea[data-v-07ae46cf],.select[data-v-07ae46cf]{margin-top:5px}.toast[data-v-07ae46cf]{padding:15px}.toast-stack[data-v-07ae46cf]{gap:8px}.artifacts-panel[data-v-07ae46cf]{container-type:inline-size;width:var(--artifacts-width, min(600px, 42vw));min-width:var(--artifacts-width, min(600px, 42vw));max-width:var(--artifacts-width, min(600px, 42vw));display:flex;flex-direction:column;background:var(--gn-color-black);border-left:2px solid var(--gn-border-color-muted);min-height:0;margin-right:calc(-1 * var(--artifacts-width, min(600px, 42vw)));opacity:0;pointer-events:none;transform:translate(100%);position:relative;transition:margin-right .22s ease,opacity .22s ease,transform .22s ease}.artifacts-panel.is-open[data-v-07ae46cf]{margin-right:0;opacity:1;pointer-events:auto;transform:translate(0)}.artifacts-panel.is-resizing[data-v-07ae46cf]{transition:none}.artifacts-resize-handle[data-v-07ae46cf]{position:absolute;top:0;left:-4px;bottom:0;width:8px;z-index:2;cursor:col-resize;touch-action:none}.artifacts-resize-handle[data-v-07ae46cf]:after{content:"";position:absolute;top:0;left:3px;width:1px;height:100%;background:transparent;transition:background .15s ease}.artifacts-resize-handle[data-v-07ae46cf]:hover:after,.artifacts-panel.is-resizing .artifacts-resize-handle[data-v-07ae46cf]:after{background:var(--gn-color-accent)}.artifacts-header[data-v-07ae46cf]{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-bottom:2px solid var(--gn-border-color-muted)}.artifacts-empty[data-v-07ae46cf]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--gn-color-text-dark);font-size:13px}.artifacts-tabs[data-v-07ae46cf]{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;flex:1;min-width:0}.artifacts-tab[data-v-07ae46cf]{min-width:0;white-space:nowrap}@container (max-width: 560px){.artifacts-tab[data-v-07ae46cf]{padding:4px 10px;font-size:11px;gap:6px}.artifacts-tabs[data-v-07ae46cf]{gap:6px}}@container (max-width: 490px){.artifacts-tab[data-v-07ae46cf]{padding:3px 8px;font-size:10px;gap:5px}}@container (max-width: 400px){.artifacts-tab[data-v-07ae46cf]{padding:2px 6px}.artifacts-tab-count[data-v-07ae46cf]{padding-left:3px}}@container (max-width: 360px){.artifacts-tab i[data-v-07ae46cf]{display:none}}.artifacts-tab-count[data-v-07ae46cf]{padding-left:4px;opacity:.72}.artifacts-tab-count.has-running[data-v-07ae46cf]{color:var(--gn-color-success);opacity:1}.artifacts-list[data-v-07ae46cf]{max-height:232px;overflow-y:auto;border-bottom:2px solid var(--gn-border-color-muted)}.viewed-images-group[data-v-07ae46cf]{flex-shrink:0;border-bottom:2px solid var(--gn-border-color-muted);background:var(--gn-surface-panel-muted)}.viewed-images-header[data-v-07ae46cf]{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;color:var(--gn-color-text-medium)}.viewed-images-header i[data-v-07ae46cf]{font-size:14px;color:var(--gn-color-secondary)}.viewed-images-grid[data-v-07ae46cf]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;padding:0 12px 12px;max-height:320px;overflow-y:auto}.viewed-image-thumb[data-v-07ae46cf]{width:100%;height:96px;object-fit:cover;border:1px solid var(--gn-border-color-muted);border-radius:6px;cursor:zoom-in;transition:border-color var(--gn-motion-fast) var(--gn-motion-ease),opacity var(--gn-motion-fast) var(--gn-motion-ease)}.viewed-image-thumb[data-v-07ae46cf]:hover{border-color:var(--gn-color-secondary);opacity:.85}.artifact-item[data-v-07ae46cf]{width:100%;min-height:50px;display:flex;align-items:center;gap:10px;padding:8px 12px;border:0;border-left:var(--gn-border-width-accent) solid transparent;background:transparent;color:var(--gn-color-text-light);text-align:left;cursor:pointer;transition:background var(--gn-motion-fast) var(--gn-motion-ease),border-color var(--gn-motion-fast) var(--gn-motion-ease)}.artifact-item[data-v-07ae46cf]:hover{background:color-mix(in srgb,var(--gn-color-text-light) 7%,transparent)}.artifact-item.is-active[data-v-07ae46cf]{border-left-color:var(--gn-color-secondary);background:var(--gn-surface-panel-muted)}.artifact-icon[data-v-07ae46cf]{display:inline-flex;flex-shrink:0;color:var(--gn-color-accent);font-size:20px}.artifact-info[data-v-07ae46cf]{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.artifact-title[data-v-07ae46cf],.artifact-detail-title[data-v-07ae46cf],.artifact-detail-filename[data-v-07ae46cf]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-title[data-v-07ae46cf]{font-size:13px;font-weight:500}.artifact-meta[data-v-07ae46cf]{font-size:11px;color:var(--gn-color-text-dark)}.artifact-detail[data-v-07ae46cf]{flex:1;min-height:0;display:flex;flex-direction:column}.artifact-detail-header[data-v-07ae46cf]{padding:12px 15px 8px}.artifact-detail-title[data-v-07ae46cf]{font-size:14px;font-weight:600;color:var(--gn-color-text-light)}.artifact-detail-filename[data-v-07ae46cf]{margin-top:3px;font-size:12px;color:var(--gn-color-text-dark)}.artifact-actions[data-v-07ae46cf]{display:flex;flex-wrap:wrap;gap:4px;padding:0 15px 12px}.artifact-preview[data-v-07ae46cf]{flex:1;min-height:0;border-top:2px solid var(--gn-border-color-muted);background:var(--gn-color-black)}.artifact-frame[data-v-07ae46cf],.artifact-image[data-v-07ae46cf],.artifact-video[data-v-07ae46cf]{width:100%;height:100%;border:0;display:block}.artifact-image[data-v-07ae46cf],.artifact-video[data-v-07ae46cf]{object-fit:contain}.artifact-source[data-v-07ae46cf]{height:100%;overflow:auto;background:var(--gn-color-black)}.artifact-source-code[data-v-07ae46cf],.artifact-source-error[data-v-07ae46cf]{margin:0;padding:14px;white-space:pre;font-family:var(--gn-font-family-base);font-size:12px;line-height:1.6;color:var(--gn-color-text-light)}.artifact-source-error[data-v-07ae46cf]{color:var(--gn-color-error)}.artifact-source-state[data-v-07ae46cf]{display:flex;align-items:center;gap:8px;padding:14px;color:var(--gn-color-text-dark);font-size:12px}.artifact-no-preview[data-v-07ae46cf]{height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--gn-color-text-dark);font-size:13px}.artifact-no-preview i[data-v-07ae46cf]{font-size:28px}.links-list[data-v-07ae46cf]{max-height:none;flex:1;overflow-y:auto}.link-item[data-v-07ae46cf]{text-decoration:none}.link-item .artifact-title[data-v-07ae46cf]{color:var(--gn-color-accent)}.link-item:hover .artifact-title[data-v-07ae46cf],.link-item.is-active .artifact-title[data-v-07ae46cf]{color:var(--gn-color-text-light)}.link-detail[data-v-07ae46cf]{padding:12px 15px;border-top:2px solid var(--gn-border-color-muted)}.link-detail-header[data-v-07ae46cf]{margin-bottom:8px}.link-detail-count[data-v-07ae46cf]{font-size:12px;color:var(--gn-color-text-dark)}.link-actions[data-v-07ae46cf]{display:flex;gap:6px}.files-list[data-v-07ae46cf]{max-height:none;flex:1;overflow-y:auto}.file-item[data-v-07ae46cf],.file-item.is-dir[data-v-07ae46cf]{cursor:default}.file-item.is-dir .artifact-title[data-v-07ae46cf]{color:var(--gn-color-text-medium)}.file-row-actions[data-v-07ae46cf]{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.file-item:hover .file-row-actions[data-v-07ae46cf]{opacity:1}.file-row-action[data-v-07ae46cf]{width:28px;height:28px;min-height:0;padding:0}@media(max-width:980px){.artifacts-panel[data-v-07ae46cf]{position:fixed;top:0;right:0;bottom:0;z-index:120;margin-right:0;transform:translate(100%);width:100vw;min-width:100vw;max-width:100vw}.artifacts-resize-handle[data-v-07ae46cf]{display:none}.artifacts-panel.is-open[data-v-07ae46cf]{transform:translate(0)}.artifacts-header[data-v-07ae46cf]{gap:6px;padding:0 10px}.artifacts-tab[data-v-07ae46cf]{padding:8px 10px;gap:4px}.artifacts-tab>span[data-v-07ae46cf]:not(.artifacts-tab-count){display:none}}@media(prefers-reduced-motion:reduce){.artifacts-panel[data-v-07ae46cf]{transition:none}}.files-toolbar[data-v-07ae46cf]{display:flex;align-items:center;justify-content:flex-end;padding:8px 12px 2px}.files-tab-wrap[data-v-07ae46cf]{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.files-refresh-btn[data-v-07ae46cf]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:980px){.files-refresh-btn[data-v-07ae46cf]{display:none}}.files-ptr[data-v-07ae46cf]{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;font-size:12px;color:var(--gn-color-text-dark);pointer-events:none;transition:opacity .15s,transform .15s;will-change:transform,opacity}.ptr-pulled[data-v-07ae46cf]{transition:transform .15s}@media(min-width:981px){.files-ptr[data-v-07ae46cf]{display:none}}.terminals-list[data-v-07ae46cf]{max-height:none;flex:1;overflow-y:auto}.terminal-item.is-closed[data-v-07ae46cf]{opacity:.6}.terminal-item .artifact-meta[data-v-07ae46cf]{white-space:normal;word-break:break-word;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.terminal-detail[data-v-07ae46cf]{flex:1;min-height:0;display:flex;flex-direction:column;border-top:2px solid var(--gn-border-color-muted);overflow-y:auto}.terminal-detail-header[data-v-07ae46cf]{padding:12px 15px 8px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.terminal-detail-title-wrap[data-v-07ae46cf]{min-width:0}.artifacts-tab-count.has-running[data-v-07ae46cf]{background:var(--gn-color-success);color:var(--gn-color-black)}.terminal-detail-title[data-v-07ae46cf]{font-size:14px;font-weight:600;color:var(--gn-color-text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-detail-close[data-v-07ae46cf]{flex-shrink:0}.terminal-detail-meta[data-v-07ae46cf]{margin-top:3px;font-size:12px;color:var(--gn-color-text-dark);word-break:break-word;line-height:1.5}.terminal-detail-grid[data-v-07ae46cf]{display:flex;flex-direction:column;gap:6px;padding:0 15px 12px;border-bottom:2px solid color-mix(in srgb,var(--gn-color-text-light) 12%,transparent)}.terminal-detail-row[data-v-07ae46cf]{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.terminal-detail-label[data-v-07ae46cf]{color:var(--gn-color-text-dark);flex-shrink:0}.terminal-detail-value[data-v-07ae46cf]{color:var(--gn-color-text-light);text-align:right;word-break:break-all}.terminal-detail-value.status-busy[data-v-07ae46cf]{color:var(--gn-color-success)}.terminal-detail-value.status-idle[data-v-07ae46cf]{color:var(--gn-color-secondary)}.terminal-detail-value.status-closed[data-v-07ae46cf]{color:var(--gn-color-error)}.terminal-detail-command[data-v-07ae46cf]{font-family:var(--gn-font-family-base);font-size:11px;color:var(--gn-color-accent)}.terminal-output-wrap[data-v-07ae46cf]{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--gn-color-black)}.terminal-output-header[data-v-07ae46cf]{padding:8px 15px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gn-color-text-dark);border-bottom:2px solid color-mix(in srgb,var(--gn-color-text-light) 12%,transparent)}.terminal-output[data-v-07ae46cf]{flex:1;margin:0;padding:14px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--gn-font-family-base);font-size:12px;line-height:1.6;color:var(--gn-color-text-light)}.login-overlay[data-v-07af6970]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--gn-color-black);z-index:9999}.login-card[data-v-07af6970]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 40px;border:1px solid var(--gn-border-color-muted);border-radius:16px;max-width:360px;width:90%}.login-logo[data-v-07af6970]{width:64px;height:64px}.login-title[data-v-07af6970]{font-size:24px;font-weight:700;color:var(--gn-color-text-light);margin:0}.login-subtitle[data-v-07af6970]{font-size:14px;color:var(--gn-color-text-medium);margin:0}.login-btn[data-v-07af6970]{margin-top:8px;width:100%;justify-content:center}.container[data-v-2f8cc0a8]{padding:18px}.section[data-v-2f8cc0a8]{margin-bottom:48px}.section-title[data-v-2f8cc0a8],.block[data-v-2f8cc0a8]{margin-bottom:34px}.block-title[data-v-2f8cc0a8]{margin-bottom:22px}p[data-v-2f8cc0a8],.text[data-v-2f8cc0a8]{margin-bottom:15px}.hint[data-v-2f8cc0a8]{margin-top:8px}.list[data-v-2f8cc0a8]{padding-left:22px;margin-bottom:15px}.list-item[data-v-2f8cc0a8]{margin-bottom:8px}.list-nested[data-v-2f8cc0a8]{margin-top:8px}.table[data-v-2f8cc0a8]{margin-bottom:22px}.table-caption[data-v-2f8cc0a8]{margin-bottom:8px}.form-group[data-v-2f8cc0a8]{margin-bottom:15px}.label[data-v-2f8cc0a8]{margin-bottom:5px;display:block}.input[data-v-2f8cc0a8],.textarea[data-v-2f8cc0a8],.select[data-v-2f8cc0a8]{margin-top:5px}.toast[data-v-2f8cc0a8]{padding:15px}.toast-stack[data-v-2f8cc0a8]{gap:8px}.offline-banner[data-v-2f8cc0a8]{display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 15px;background:#ff9e6426;color:#ff9e64;font-size:12px;border-bottom:1px solid rgba(255,158,100,.3)}.offline-banner i[data-v-2f8cc0a8]{font-size:16px;flex-shrink:0}.offline-slide-enter-active[data-v-2f8cc0a8],.offline-slide-leave-active[data-v-2f8cc0a8]{transition:max-height .25s ease,opacity .25s ease;overflow:hidden}.offline-slide-enter-from[data-v-2f8cc0a8],.offline-slide-leave-to[data-v-2f8cc0a8]{max-height:0;opacity:0}.offline-slide-enter-to[data-v-2f8cc0a8],.offline-slide-leave-from[data-v-2f8cc0a8]{max-height:48px;opacity:1}.welcome-sidebar-btn[data-v-0ba11e7d]{display:none;position:absolute;top:12px;left:12px}@media(max-width:1279.98px){.welcome-sidebar-btn[data-v-0ba11e7d]{display:flex}}.context-bar-pct[data-v-6810168f]{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--gn-color-success);white-space:nowrap}.context-bar-pct.is-warn[data-v-6810168f]{color:var(--gn-color-warning)}.context-bar-pct.is-crit[data-v-6810168f]{color:var(--gn-color-error)}.btn-artifacts-toggle[data-v-47d78bd2]{position:relative}.artifact-count[data-v-47d78bd2]{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-size:10px;line-height:1;background:var(--gn-color-secondary);color:var(--gn-color-black)}.recall-banner[data-v-47d78bd2]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:color-mix(in srgb,var(--gn-color-secondary) 12%,transparent);border-bottom:1px solid var(--gn-border-color-muted);font-size:12px;color:var(--gn-color-text-medium)}.recall-banner i[data-v-47d78bd2]{color:var(--gn-color-secondary);font-size:14px}.recall-text[data-v-47d78bd2]{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recall-btn[data-v-47d78bd2]{background:none;border:none;color:var(--gn-color-text-dark);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:4px;transition:color .15s,background .15s}.recall-btn[data-v-47d78bd2]:hover{color:var(--gn-color-text-medium);background:color-mix(in srgb,var(--gn-color-text-light) 6%,transparent)}.container[data-v-65a497ff]{padding:18px}.section[data-v-65a497ff]{margin-bottom:48px}.section-title[data-v-65a497ff],.block[data-v-65a497ff]{margin-bottom:34px}.block-title[data-v-65a497ff]{margin-bottom:22px}p[data-v-65a497ff],.text[data-v-65a497ff]{margin-bottom:15px}.hint[data-v-65a497ff]{margin-top:8px}.list[data-v-65a497ff]{padding-left:22px;margin-bottom:15px}.list-item[data-v-65a497ff]{margin-bottom:8px}.list-nested[data-v-65a497ff]{margin-top:8px}.table[data-v-65a497ff]{margin-bottom:22px}.table-caption[data-v-65a497ff]{margin-bottom:8px}.form-group[data-v-65a497ff]{margin-bottom:15px}.label[data-v-65a497ff]{margin-bottom:5px;display:block}.input[data-v-65a497ff],.textarea[data-v-65a497ff],.select[data-v-65a497ff]{margin-top:5px}.toast[data-v-65a497ff]{padding:15px}.toast-stack[data-v-65a497ff]{gap:8px}.content-card[data-v-65a497ff]{margin:8px 0;background:var(--gn-surface-panel);border:1px solid var(--gn-border-color-muted);border-radius:6px;overflow:hidden}.content-card summary[data-v-65a497ff]{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.content-card summary[data-v-65a497ff]::-webkit-details-marker{display:none}.content-icon[data-v-65a497ff]{font-size:20px;line-height:1;flex-shrink:0;color:var(--gn-color-text-medium)}.content-title[data-v-65a497ff]{flex:1;font-size:.9em;font-weight:500;color:var(--gn-color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-65a497ff] .badge{flex-shrink:0}.content-actions[data-v-65a497ff]{display:inline-flex;align-items:center;gap:2px}.content-actions .btn-icon[data-v-65a497ff]{width:26px;height:26px;font-size:18px;border-color:transparent}.content-chevron[data-v-65a497ff]{transition:transform .2s;color:var(--gn-color-text-dark)}.content-card[open] .content-chevron[data-v-65a497ff]{transform:rotate(180deg)}.content-body[data-v-65a497ff]{border-top:1px solid var(--gn-border-color-muted);overflow:auto}.content-iframe[data-v-65a497ff]{width:100%;height:300px;border:none;display:block}@media(min-width:768px){.content-iframe[data-v-65a497ff]{height:500px}}.content-image-wrap[data-v-65a497ff]{position:relative;min-height:160px}.content-image[data-v-65a497ff]{width:100%;max-height:60vh;object-fit:contain;cursor:zoom-in;display:block;background:var(--gn-surface-panel)}.content-image-skeleton[data-v-65a497ff]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--gn-color-grey) 12%,var(--gn-surface-panel));border-bottom:1px solid var(--gn-border-color-muted);color:var(--gn-color-text-dark)}.content-image-spinner[data-v-65a497ff]{animation:content-image-spin-65a497ff .9s linear infinite;font-size:22px}@keyframes content-image-spin-65a497ff{to{transform:rotate(360deg)}}.content-video[data-v-65a497ff]{width:100%;max-height:60vh;display:block;background:var(--gn-surface-panel)}.content-source[data-v-65a497ff]{max-height:500px;overflow:auto;background:var(--gn-color-black)}.content-source-code[data-v-65a497ff],.content-source-error[data-v-65a497ff]{margin:0;padding:14px;white-space:pre;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.6;color:var(--gn-color-text-light)}.content-source-error[data-v-65a497ff]{color:var(--gn-color-error)}.content-source-state[data-v-65a497ff]{display:flex;align-items:center;gap:8px;padding:14px;color:var(--gn-color-text-dark);font-size:12px}.content-unknown[data-v-65a497ff]{padding:24px;text-align:center;color:var(--gn-color-text-dark);display:flex;flex-direction:column;align-items:center;gap:10px}.unknown-icon[data-v-65a497ff]{font-size:2em;line-height:1}.unknown-name[data-v-65a497ff]{font-size:.95em;font-weight:500;color:var(--gn-color-text-light);word-break:break-word;max-width:100%}.unknown-open[data-v-65a497ff]{width:auto;text-decoration:none;font-size:.9em}.card-grid[data-v-9596a41c]{display:flex;flex-direction:column;gap:12px}.card-grid-title[data-v-9596a41c]{font-size:1rem;font-weight:600;color:var(--gn-color-text-light)}.card-grid-items[data-v-9596a41c]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:640px){.card-grid-items[data-v-9596a41c]{grid-template-columns:1fr}}.card-grid-item[data-v-9596a41c]{display:flex;flex-direction:column;background:color-mix(in srgb,var(--gn-color-grey) 12%,var(--gn-surface-panel));border:1px solid var(--gn-border-color-muted);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .1s}.card-grid-item[data-v-9596a41c]:hover,.card-grid-item[data-v-9596a41c]:focus{border-color:var(--gn-color-secondary);outline:none}.card-grid-item[data-v-9596a41c]:active{transform:scale(.99)}.card-image[data-v-9596a41c]{width:100%;height:140px;object-fit:cover;background:var(--gn-surface-panel)}.card-no-image[data-v-9596a41c]{width:100%;height:140px;display:flex;align-items:center;justify-content:center;color:var(--gn-color-text-dark);font-size:2rem;background:var(--gn-surface-panel)}.card-content[data-v-9596a41c]{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}.card-title[data-v-9596a41c]{font-weight:600;font-size:.95rem;color:var(--gn-color-text-light);line-height:1.3}.card-subtitle[data-v-9596a41c]{font-size:.8rem;color:var(--gn-color-text-dark)}.card-meta[data-v-9596a41c]{display:flex;flex-wrap:wrap;gap:8px}.card-meta-item[data-v-9596a41c]{display:flex;gap:4px;font-size:.75rem}.card-meta-label[data-v-9596a41c]{color:var(--gn-color-text-dark)}.card-meta-value[data-v-9596a41c]{color:var(--gn-color-text-light);font-weight:500}.card-description[data-v-9596a41c]{font-size:.8rem;color:var(--gn-color-text-light);line-height:1.4;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-grid-more[data-v-9596a41c]{text-align:center;font-size:.8rem;color:var(--gn-color-text-dark)}.card-modal-image[data-v-9596a41c]{width:100%;max-height:320px;object-fit:cover;background:var(--gn-surface-panel)}.card-modal-content[data-v-9596a41c]{padding:20px;display:flex;flex-direction:column;gap:18px}.card-modal-title[data-v-9596a41c]{margin:0;font-size:1.15rem;font-weight:600;color:var(--gn-color-text-light);text-transform:none}.card-modal-subtitle[data-v-9596a41c]{color:var(--gn-color-text-dark);font-size:.9rem}.card-modal-section[data-v-9596a41c]{display:flex;flex-direction:column;gap:10px}.card-modal-section-title[data-v-9596a41c]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gn-color-text-dark)}.card-modal-meta-grid[data-v-9596a41c]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.card-modal-meta-cell[data-v-9596a41c]{background:color-mix(in srgb,var(--gn-color-grey) 12%,var(--gn-surface-panel));border:1px solid var(--gn-border-color-muted);padding:10px}.card-modal-meta-label[data-v-9596a41c]{font-size:.7rem;color:var(--gn-color-text-dark);margin-bottom:4px}.card-modal-meta-value[data-v-9596a41c]{font-size:.9rem;color:var(--gn-color-text-light);font-weight:500}.card-modal-text[data-v-9596a41c]{margin:0;line-height:1.5;color:var(--gn-color-text-light)}.card-modal-details[data-v-9596a41c]{margin:0;display:grid;gap:8px}.card-modal-detail-row[data-v-9596a41c]{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--gn-border-color-muted)}.card-modal-detail-row[data-v-9596a41c]:last-child{border-bottom:none}.card-modal-detail-row dt[data-v-9596a41c]{color:var(--gn-color-text-dark);font-size:.85rem}.card-modal-detail-row dd[data-v-9596a41c]{margin:0;color:var(--gn-color-text-light);font-size:.85rem;text-align:right;word-break:break-word}.card-modal-actions[data-v-9596a41c]{display:flex;gap:10px;flex-wrap:wrap}.card-modal-action[data-v-9596a41c]{display:inline-flex;align-items:center;padding:8px 14px;background:color-mix(in srgb,var(--gn-color-secondary) 14%,var(--gn-surface-panel));color:var(--gn-color-secondary);text-decoration:none;font-size:.85rem;font-weight:500}.card-modal-action[data-v-9596a41c]:hover{background:var(--gn-border-color-muted)}.ui-form[data-v-4d9c6b33]{display:flex;flex-direction:column;gap:14px}.ui-form-title[data-v-4d9c6b33]{font-size:1rem;font-weight:600;color:var(--gn-color-text-light)}.ui-form-description[data-v-4d9c6b33]{font-size:.85rem;color:var(--gn-color-text-dark);line-height:1.4}.ui-form-fields[data-v-4d9c6b33]{display:flex;flex-direction:column;gap:14px}.ui-form-field[data-v-4d9c6b33]{display:flex;flex-direction:column;gap:4px}.ui-form-field.has-error .ui-form-input[data-v-4d9c6b33]{border-color:var(--gn-color-error)}.ui-form-label[data-v-4d9c6b33]{font-size:.85rem;font-weight:500;color:var(--gn-color-text-light)}.ui-form-required[data-v-4d9c6b33]{color:var(--gn-color-error);margin-left:2px}.ui-form-field-hint[data-v-4d9c6b33]{font-size:.75rem;color:var(--gn-color-text-dark)}.ui-form-input[data-v-4d9c6b33]{padding:10px 12px;background:var(--gn-surface-panel);border:1px solid var(--gn-border-color-muted);color:var(--gn-color-text-light);font-size:.9rem;outline:none;transition:border-color .15s}.ui-form-input[data-v-4d9c6b33]:focus{border-color:var(--gn-color-secondary)}.ui-form-input[data-v-4d9c6b33]::placeholder{color:var(--gn-color-text-dark)}select.ui-form-input[data-v-4d9c6b33]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236c7086' viewBox='0 0 256 256'%3E%3Cpath d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80A8 8 0 0 1 48 88h160a8 8 0 0 1 5.66 13.66z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}select.ui-form-input[multiple][data-v-4d9c6b33]{background-image:none;padding-right:12px;min-height:100px}.ui-form-checkbox[data-v-4d9c6b33]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--gn-color-text-light);cursor:pointer}.ui-form-checkbox input[data-v-4d9c6b33]{width:18px;height:18px;accent-color:var(--gn-color-secondary);cursor:pointer}.ui-form-error[data-v-4d9c6b33]{font-size:.8rem;color:var(--gn-color-error)}.ui-form-submit[data-v-4d9c6b33]{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start;padding:10px 18px;background:var(--gn-color-secondary);color:var(--gn-surface-panel);border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.ui-form-submit[data-v-4d9c6b33]:disabled{opacity:.5;cursor:not-allowed}.ui-form-submit[data-v-4d9c6b33]:not(:disabled):hover{opacity:.9}.ui-form-spinner[data-v-4d9c6b33]{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ui-form-spin-4d9c6b33 .8s linear infinite}@keyframes ui-form-spin-4d9c6b33{to{transform:rotate(360deg)}}.ui-form-submitted[data-v-4d9c6b33]{display:flex;flex-direction:column;gap:10px}.ui-form-submitted-note[data-v-4d9c6b33]{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--gn-color-secondary)}.ui-form-summary[data-v-4d9c6b33]{margin:0;display:grid;gap:8px}.ui-form-summary-row[data-v-4d9c6b33]{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--gn-border-color-muted)}.ui-form-summary-row[data-v-4d9c6b33]:last-child{border-bottom:none}.ui-form-summary-row dt[data-v-4d9c6b33]{color:var(--gn-color-text-dark);font-size:.85rem}.ui-form-summary-row dd[data-v-4d9c6b33]{margin:0;color:var(--gn-color-text-light);font-size:.85rem;text-align:right;word-break:break-word}.ui-component-card[data-v-5c9908d7]{margin:8px 0;background:var(--gn-surface-panel);border:1px solid var(--gn-border-color-muted);overflow:hidden}.ui-component-header[data-v-5c9908d7]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--gn-border-color-muted);-webkit-user-select:none;user-select:none}.ui-component-icon[data-v-5c9908d7]{font-size:1.2em;line-height:1}.ui-component-name[data-v-5c9908d7]{flex:1;font-size:.9em;font-weight:500;color:var(--gn-color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-component-badge[data-v-5c9908d7]{font-size:.7em;text-transform:uppercase;padding:2px 8px;background:color-mix(in srgb,var(--gn-color-secondary) 14%,var(--gn-surface-panel));color:var(--gn-color-secondary)}.ui-component-body[data-v-5c9908d7]{padding:12px 14px}.ui-component-fallback[data-v-5c9908d7]{color:var(--gn-color-text-dark)}.ui-component-fallback-title[data-v-5c9908d7]{font-size:.8rem;margin-bottom:8px;font-weight:500}.ui-component-fallback-json[data-v-5c9908d7]{margin:0;font-family:monospace;font-size:.8rem;white-space:pre-wrap}.stream-cursor[data-v-413d0a09]{display:inline-block;width:2px;height:1em;background:currentColor;margin-left:2px;vertical-align:text-bottom;animation:blink-413d0a09 1s step-end infinite}@keyframes blink-413d0a09{0%,to{opacity:1}50%{opacity:0}}.msg-rate-btn[data-v-413d0a09]{opacity:.55;transition:opacity .15s,color .15s}.msg-rate-btn[data-v-413d0a09]:hover{opacity:1}.msg-rate-btn.active[data-v-413d0a09]{opacity:1;color:var(--gn-color-secondary)}.compression-pending[data-v-cecede62]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:var(--gn-surface-panel-strong);color:var(--gn-color-text-dark);font-size:13px}.compression-pending i[data-v-cecede62]{font-size:16px}.message-list-wrap[data-v-5c05d9cd]{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.message-scroller[data-v-5c05d9cd]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;transition:opacity .25s ease;padding-top:16px}.message-scroller.is-hidden[data-v-5c05d9cd]{opacity:0;pointer-events:none}.message-row[data-v-5c05d9cd]{padding-bottom:32px;width:100%;max-width:920px;margin:0 auto;padding-left:24px;padding-right:24px;content-visibility:auto;contain-intrinsic-size:auto 140px}@media(max-width:767px){.message-row[data-v-5c05d9cd]{padding-left:10px;padding-right:10px}}.session-loading[data-v-5c05d9cd]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--gn-color-text-medium);pointer-events:none}.session-loading .animate-spin[data-v-5c05d9cd]{animation:session-spin-5c05d9cd 1s linear infinite}@keyframes session-spin-5c05d9cd{to{transform:rotate(360deg)}}.archive-loading[data-v-5c05d9cd]{position:absolute;top:8px;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;font-size:13px;color:var(--gn-color-text-medium);background:transparent;pointer-events:none}.animate-spin[data-v-5c05d9cd]{animation:spin-5c05d9cd 1s linear infinite}@keyframes spin-5c05d9cd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scroll-to-bottom-btn[data-v-5c05d9cd]{position:absolute;bottom:16px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--gn-color-secondary);color:var(--gn-color-black);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 2px 12px #0006;opacity:.9;transition:opacity .15s ease,transform .15s ease;z-index:10}.scroll-to-bottom-btn[data-v-5c05d9cd]:hover{opacity:1;transform:translateY(-2px)}.scroll-btn-enter-active[data-v-5c05d9cd],.scroll-btn-leave-active[data-v-5c05d9cd]{transition:opacity .2s ease,transform .2s ease}.scroll-btn-enter-from[data-v-5c05d9cd],.scroll-btn-leave-to[data-v-5c05d9cd]{opacity:0;transform:translateY(8px)}.file-preview-image[data-v-f0b09655]{position:relative}.file-preview-image .file-preview-remove[data-v-f0b09655]{position:absolute;top:-4px;right:-4px;background:var(--gn-surface-panel);border:1px solid var(--gn-border-color-muted);width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;color:var(--gn-color-text-dark)}.file-preview-image .file-preview-remove[data-v-f0b09655]:hover{color:var(--gn-color-error)}.file-preview-image.is-processing[data-v-f0b09655]{display:flex;align-items:center;justify-content:center;color:var(--gn-color-text-medium)}.file-preview-image.is-processing .ph-spin[data-v-f0b09655]{animation:spin-f0b09655 .9s linear infinite}@keyframes spin-f0b09655{to{transform:rotate(360deg)}}.sending-notice[data-v-c90111b2]{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:12px;color:var(--gn-color-text-medium);margin-bottom:4px}.sending-notice .ph-spin[data-v-c90111b2]{animation:sending-spin-c90111b2 .9s linear infinite}@keyframes sending-spin-c90111b2{to{transform:rotate(360deg)}}.task-chips[data-v-af03bea1]{display:flex;gap:8px;padding:4px 16px 0;flex-wrap:wrap}.fade-enter-active[data-v-af03bea1],.fade-leave-active[data-v-af03bea1]{transition:opacity .2s}.fade-enter-from[data-v-af03bea1],.fade-leave-to[data-v-af03bea1]{opacity:0}.reconnect-banner[data-v-afc23956]{display:flex;align-items:center;gap:8px;margin:8px 16px 0;font-size:13px}.create-key-body[data-v-db609bf3]{min-width:min(320px,100vw - 48px)}.show-token-body[data-v-1b3695e8]{min-width:min(420px,100vw - 48px)}.show-token-warning[data-v-1b3695e8]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-warning);display:flex;align-items:center;gap:6px}.show-token-warning i[data-v-1b3695e8]{font-size:1.1rem}.show-token-value[data-v-1b3695e8]{flex:1 1 0;font-family:monospace;font-size:.85rem;word-break:break-all;color:var(--gn-color-text-medium)}.api-keys-panel[data-v-2cf539c2]{margin-bottom:24px}.api-keys-header[data-v-2cf539c2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.api-keys-title[data-v-2cf539c2]{font-size:1.1rem;font-weight:600;margin:0;color:var(--gn-color-text-medium)}.api-keys-description[data-v-2cf539c2]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.api-keys-warning[data-v-2cf539c2]{margin-bottom:16px}.api-keys-warning i[data-v-2cf539c2]{font-size:16px;flex-shrink:0}.api-keys-loading[data-v-2cf539c2]{padding:24px;text-align:center}.api-keys-panel code[data-v-2cf539c2]{font-family:var(--gn-font-family-base);color:var(--gn-color-text-medium)}.notifications-panel[data-v-89bf3a51]{margin-bottom:24px}.notifications-title[data-v-89bf3a51]{font-size:1.1rem;font-weight:600;margin:0 0 12px;color:var(--gn-color-text-medium)}.notifications-description[data-v-89bf3a51]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.notifications-unsupported[data-v-89bf3a51]{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px}.notifications-unsupported i[data-v-89bf3a51]{font-size:16px;flex-shrink:0}.notifications-row[data-v-89bf3a51]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--gn-border-color-muted);border-radius:8px}.notifications-row-title[data-v-89bf3a51]{font-size:.9rem;color:var(--gn-color-text-medium)}.notifications-row-status[data-v-89bf3a51]{font-size:.8rem;color:var(--gn-color-text-dark);margin-top:2px}.reactions-panel[data-v-0a24e5f3]{margin-bottom:24px}.reactions-title[data-v-0a24e5f3]{font-size:1.1rem;font-weight:600;margin:0 0 12px;color:var(--gn-color-text-medium)}.reactions-description[data-v-0a24e5f3]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.reactions-alert[data-v-0a24e5f3]{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px}.reactions-alert i[data-v-0a24e5f3]{font-size:16px;flex-shrink:0}.reactions-loading[data-v-0a24e5f3]{padding:24px;text-align:center}.reactions-row[data-v-0a24e5f3]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:12px;border:1px solid var(--gn-border-color-muted);border-radius:8px}.reactions-row-title[data-v-0a24e5f3]{font-size:.9rem;color:var(--gn-color-text-medium);font-weight:500}.reactions-row-status[data-v-0a24e5f3]{font-size:.8rem;color:var(--gn-color-text-dark);margin-top:2px;max-width:420px}.reactions-instructions[data-v-0a24e5f3]{padding:14px 16px;margin-bottom:12px;border:1px solid var(--gn-border-color-muted);border-radius:8px}.reactions-instructions-textarea[data-v-0a24e5f3]{margin-top:10px}.reactions-instructions-actions[data-v-0a24e5f3]{margin-top:10px;display:flex;justify-content:flex-end}.reactions-history[data-v-0a24e5f3]{margin-top:14px}.reactions-history-title[data-v-0a24e5f3]{font-size:.85rem;font-weight:600;color:var(--gn-color-text-medium);margin-bottom:8px}.reactions-history-item[data-v-0a24e5f3]{padding:8px 10px;border-left:2px solid var(--gn-border-color-muted)}.reactions-history-item+.reactions-history-item[data-v-0a24e5f3]{margin-top:8px}.reactions-history-meta[data-v-0a24e5f3]{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--gn-color-text-dark)}.reactions-history-meta i[data-v-0a24e5f3]{font-size:12px}.reactions-history-text[data-v-0a24e5f3]{margin-top:4px;font-size:.8rem;color:var(--gn-color-text-medium);white-space:pre-wrap;word-break:break-word}.create-target-body[data-v-f6ec4fb5]{min-width:min(360px,100vw - 48px);display:flex;flex-direction:column;gap:15px}.create-target-hint[data-v-f6ec4fb5]{margin:0;font-size:.8125rem;color:var(--gn-color-text-medium)}.create-target-hint code[data-v-f6ec4fb5]{font-family:var(--gn-font-family-base)}.container[data-v-6049b504]{padding:18px}.section[data-v-6049b504]{margin-bottom:48px}.section-title[data-v-6049b504],.block[data-v-6049b504]{margin-bottom:34px}.block-title[data-v-6049b504]{margin-bottom:22px}p[data-v-6049b504],.text[data-v-6049b504]{margin-bottom:15px}.hint[data-v-6049b504]{margin-top:8px}.list[data-v-6049b504]{padding-left:22px;margin-bottom:15px}.list-item[data-v-6049b504]{margin-bottom:8px}.list-nested[data-v-6049b504]{margin-top:8px}.table[data-v-6049b504]{margin-bottom:22px}.table-caption[data-v-6049b504]{margin-bottom:8px}.form-group[data-v-6049b504]{margin-bottom:15px}.label[data-v-6049b504]{margin-bottom:5px;display:block}.input[data-v-6049b504],.textarea[data-v-6049b504],.select[data-v-6049b504]{margin-top:5px}.toast[data-v-6049b504]{padding:15px}.toast-stack[data-v-6049b504]{gap:8px}.synapse-panel[data-v-6049b504]{margin-bottom:24px}.synapse-header[data-v-6049b504]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.synapse-title[data-v-6049b504]{font-size:1.1rem;font-weight:600;margin:0;color:var(--gn-color-text-medium)}.synapse-description[data-v-6049b504]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.synapse-loading[data-v-6049b504]{padding:24px;text-align:center}.container[data-v-09b3eec4]{padding:18px}.section[data-v-09b3eec4]{margin-bottom:48px}.section-title[data-v-09b3eec4],.block[data-v-09b3eec4]{margin-bottom:34px}.block-title[data-v-09b3eec4]{margin-bottom:22px}p[data-v-09b3eec4],.text[data-v-09b3eec4]{margin-bottom:15px}.hint[data-v-09b3eec4]{margin-top:8px}.list[data-v-09b3eec4]{padding-left:22px;margin-bottom:15px}.list-item[data-v-09b3eec4]{margin-bottom:8px}.list-nested[data-v-09b3eec4]{margin-top:8px}.table[data-v-09b3eec4]{margin-bottom:22px}.table-caption[data-v-09b3eec4]{margin-bottom:8px}.form-group[data-v-09b3eec4]{margin-bottom:15px}.label[data-v-09b3eec4]{margin-bottom:5px;display:block}.input[data-v-09b3eec4],.textarea[data-v-09b3eec4],.select[data-v-09b3eec4]{margin-top:5px}.toast[data-v-09b3eec4]{padding:15px}.toast-stack[data-v-09b3eec4]{gap:8px}.mcp-keys-panel[data-v-09b3eec4]{margin-bottom:24px}.mcp-keys-header[data-v-09b3eec4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mcp-keys-title[data-v-09b3eec4]{font-size:1.1rem;font-weight:600;margin:0;color:var(--gn-color-text-medium)}.mcp-keys-description[data-v-09b3eec4]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.mcp-keys-loading[data-v-09b3eec4]{padding:24px;text-align:center}.mcp-keys-empty[data-v-09b3eec4]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 24px;border:1px dashed var(--gn-color-border);border-radius:var(--gn-radius-md);text-align:center}.mcp-keys-empty .empty-icon[data-v-09b3eec4]{font-size:2rem;color:var(--gn-color-text-dimmed)}.mcp-keys-empty p[data-v-09b3eec4]{margin:0;max-width:52ch;font-size:.875rem;color:var(--gn-color-text-medium)}.mcp-keys-empty code[data-v-09b3eec4]{font-family:var(--gn-font-mono, monospace);font-size:.8125rem}.mcp-keys-rows[data-v-09b3eec4]{display:flex;flex-direction:column;gap:12px}.mcp-keys-row[data-v-09b3eec4]{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--gn-color-border);border-radius:var(--gn-radius-md)}.mcp-keys-info[data-v-09b3eec4]{flex:0 0 220px;min-width:0}.mcp-keys-server[data-v-09b3eec4]{font-weight:600;color:var(--gn-color-text-strong)}.mcp-keys-where[data-v-09b3eec4]{font-size:.8125rem;color:var(--gn-color-text-medium)}.mcp-keys-updated[data-v-09b3eec4]{font-size:.75rem;color:var(--gn-color-text-dimmed)}.mcp-keys-input[data-v-09b3eec4]{flex:1 1 auto;min-width:160px}.mcp-keys-actions[data-v-09b3eec4]{display:flex;gap:8px;flex-shrink:0}@media(max-width:767px){.mcp-keys-row[data-v-09b3eec4]{flex-direction:column;align-items:stretch}.mcp-keys-info[data-v-09b3eec4]{flex:none}.mcp-keys-actions[data-v-09b3eec4]{justify-content:flex-end}}.container[data-v-7cd70059]{padding:18px}.section[data-v-7cd70059]{margin-bottom:48px}.section-title[data-v-7cd70059],.block[data-v-7cd70059]{margin-bottom:34px}.block-title[data-v-7cd70059]{margin-bottom:22px}p[data-v-7cd70059],.text[data-v-7cd70059]{margin-bottom:15px}.hint[data-v-7cd70059]{margin-top:8px}.list[data-v-7cd70059]{padding-left:22px;margin-bottom:15px}.list-item[data-v-7cd70059]{margin-bottom:8px}.list-nested[data-v-7cd70059]{margin-top:8px}.table[data-v-7cd70059]{margin-bottom:22px}.table-caption[data-v-7cd70059]{margin-bottom:8px}.form-group[data-v-7cd70059]{margin-bottom:15px}.label[data-v-7cd70059]{margin-bottom:5px;display:block}.input[data-v-7cd70059],.textarea[data-v-7cd70059],.select[data-v-7cd70059]{margin-top:5px}.toast[data-v-7cd70059]{padding:15px}.toast-stack[data-v-7cd70059]{gap:8px}.settings-view[data-v-7cd70059]{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.settings-tabs[data-v-7cd70059]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;width:100%;max-width:1200px;flex:1 1 0;min-height:0;padding:8px 15px 0;margin-bottom:0}.settings-tabs[data-v-7cd70059] .tabs-list{width:100%;max-width:none}.settings-tabs[data-v-7cd70059] .tabs-panels{flex:1 1 0;min-height:0;overflow-y:auto;padding:15px 15px 34px}@media(max-width:767px){.settings-tabs[data-v-7cd70059] .tabs-panels{padding:8px 8px 22px}}@media(max-width:767px){.settings-tabs[data-v-7cd70059]{padding-left:8px;padding-right:8px}}.app-shell[data-v-40fd87a2]{display:flex;flex:1 1 0;min-height:0;min-width:0;overflow:hidden}.sidebar-backdrop[data-v-40fd87a2]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:99}@media(max-width:1279.98px){.sidebar-backdrop[data-v-40fd87a2]{display:block}}.artifacts-backdrop[data-v-40fd87a2]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:119}@media(max-width:980px){.artifacts-backdrop[data-v-40fd87a2]{display:block}}.backdrop-fade-enter-active[data-v-40fd87a2],.backdrop-fade-leave-active[data-v-40fd87a2]{transition:opacity .18s ease}.backdrop-fade-enter-from[data-v-40fd87a2],.backdrop-fade-leave-to[data-v-40fd87a2]{opacity:0}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Regular-BF3vfe7_.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Medium-COFd06Dj.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-SemiBold-D0J2bq8P.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Bold-Ovd3DSUS.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Italic-DgAgaWWu.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}.text,p{margin-bottom:15px}.input,.select,.textarea{margin-top:5px}html{font-size:100%}body{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:0;color:#c0caf5}h1,h2,h3,h4,h5,h6{font-family:IBM Plex Mono,monospace;font-weight:600;line-height:1.25;margin:0}h1.contrast,h2.contrast,h3.contrast,h4.contrast,h5.contrast,h6.contrast{background:#c0caf5;color:#16161e;display:inline;padding:0 8px;border-radius:3px}h1{font-size:30px;letter-spacing:0}h2{font-size:23px}h3{font-size:20px}h4{font-size:18px}h5{font-size:16px}h6{font-size:15px;font-weight:500}.text,p{font-size:14px;line-height:1.6}.text-sm{font-size:13px;line-height:1.4}.text-lg{font-size:15px;line-height:1.6}.text-lead{max-width:760px;color:#c0caf5;font-size:15px;font-weight:500;line-height:1.6}.text-muted{font-size:13px;color:#787c99}.text-strong,strong{font-weight:600}.text-bold{font-weight:700}.text-italic,em{font-style:italic}.text-success{color:#9ece6a}.text-warning{color:#e0af68}.text-danger,.text-error{color:#f7768e}.text-info{color:#bb9af7}.eyebrow{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.caption{color:#787c99;font-size:12px;line-height:1.4}.code,code,pre{font-family:IBM Plex Mono,monospace;font-size:14px;line-height:1.4;border-radius:3px;background-color:#1f2335}.text-primary{color:#c0caf5}.text-secondary{color:#a9b1d6}pre{font-size:14px;line-height:1.6;white-space:pre-wrap}.code,pre code{-o-tab-size:2;tab-size:2;-moz-tab-size:2}.code{display:inline-flex;padding:0 5px;color:#7aa2f7;border:2px solid rgba(122,162,247,.24)}.kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:2px solid rgba(192,202,245,.24);border-bottom-color:#7aa2f7;border-radius:3px;color:#c0caf5;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.quote{max-width:760px;margin:0;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;color:#a9b1d6;background:#1f2335;font-size:14px;line-height:1.6}.quote cite{display:block;margin-top:12px;color:#7aa2f7;font-size:13px;font-style:normal;text-transform:uppercase}a{font-weight:500;text-decoration:none;color:#7aa2f7}@media(hover:hover)and (pointer:fine){a:hover{color:#e0af68}}@media(hover:none)and (pointer:coarse){a:active{color:#e0af68}}.link{font-size:inherit;font-weight:500}.label{font-size:13px;font-weight:500;line-height:1.4}.hint,.meta{font-size:12px;line-height:1.4}.table{font-size:13px;line-height:1.4}.table th{font-weight:600}.table td{font-weight:400}.list{font-size:14px;line-height:1.6}.list-item{font-size:inherit}.modal-title{font-size:18px;font-weight:600}.modal-body{font-size:14px}.toast-title{font-size:14px;font-weight:600}.toast-text{font-size:13px;line-height:1.4}:root{--gn-color-black:#16161E;--gn-color-dark:#1F2335;--gn-color-grey:#414868;--gn-color-text-light:#C0CAF5;--gn-color-text-medium:#A9B1D6;--gn-color-text-dark:#787C99;--gn-color-primary:#C0CAF5;--gn-color-secondary:#7AA2F7;--gn-color-accent:#FF9E64;--gn-color-success:#9ECE6A;--gn-color-warning:#E0AF68;--gn-color-error:#F7768E;--gn-color-info:#BB9AF7;--gn-surface-page:#16161E;--gn-surface-panel:#1F2335;--gn-surface-panel-muted:#1F2335;--gn-surface-panel-strong:rgba(192, 202, 245, .085);--gn-border-width-base:2px;--gn-border-width-accent:6px;--gn-border-width-choice:3px;--gn-border-style-base:solid;--gn-border-color-base:#C0CAF5;--gn-border-color-muted:rgba(192, 202, 245, .24);--gn-focus-outline-width:2px;--gn-focus-outline-offset:3px;--gn-focus-outline-color:#E0AF68;--gn-motion-fast:.15s;--gn-motion-base:.2s;--gn-motion-slow:.28s;--gn-motion-ease:ease;--gn-font-family-base:IBM Plex Mono,monospace;--gn-font-weight-regular:400;--gn-font-weight-medium:500;--gn-font-weight-semibold:600;--gn-font-weight-bold:700;--gn-font-size-xs:12px;--gn-font-size-sm:13px;--gn-font-size-md:14px;--gn-font-size-base:14px;--gn-font-size-lg:15px;--gn-font-size-xl:18px;--gn-line-height-tight:1.15;--gn-line-height-normal:1.4;--gn-line-height-relaxed:1.6;--gn-space-0:0;--gn-space-1:5px;--gn-space-2:8px;--gn-space-3:12px;--gn-space-4:15px;--gn-space-5:18px;--gn-space-6:22px;--gn-space-7:26px;--gn-space-8:34px;--gn-space-9:42px;--gn-space-10:48px;--gn-space-11:64px;--gn-space-12:80px}@keyframes terminal_scan_x{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes terminal_scan_y{0%{transform:translateY(-120%)}to{transform:translateY(220%)}}@keyframes terminal_pulse{0%,to{box-shadow:0 0 #c0caf500}50%{box-shadow:0 0 0 4px #c0caf52e}}@keyframes panel_boot{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes overlay_reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip_reveal{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0s!important}}.palette{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.palette .color .color-box{width:92px;height:68px;border-radius:3px}body .bg-primary{background:#c0caf5}body .bg-secondary{background:#7aa2f7}body .bg-success{background:#9ece6a}body .bg-accent{background:#ff9e64}body .bg-info{background:#bb9af7}body .bg-warning{background:#e0af68}body .bg-error{background:#f7768e}body .text-color-primary{color:#c0caf5}body .text-color-secondary{color:#7aa2f7}body .text-color-success{color:#9ece6a}body .text-color-accent{color:#ff9e64}body .text-color-info{color:#bb9af7}body .text-color-warning{color:#e0af68}body .text-color-error{color:#f7768e}.loader{width:32px;aspect-ratio:1;--c:no-repeat linear-gradient(#FF3C00 0 0);background:var(--c) 0 0,var(--c) 0 100%,var(--c) 50% 0,var(--c) 50% 100%,var(--c) 100% 0,var(--c) 100% 100%;animation:l12 1s infinite}@keyframes l12{0%,to{background-size:20% 50%}16.67%{background-size:20% 30%,20% 30%,20% 50%,20% 50%,20% 50%,20% 50%}33.33%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 50%,20% 50%}50%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 30%,20% 30%}66.67%{background-size:20% 50%,20% 50%,20% 30%,20% 30%,20% 30%,20% 30%}83.33%{background-size:20% 50%,20% 50%,20% 50%,20% 50%,20% 30%,20% 30%}}.circle-loader{display:flex;flex-direction:row;align-items:center;gap:8px}.circle-loader .ph,.circle-loader .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.progress{display:flex;flex-direction:column;gap:8px;width:100%;max-width:640px}.progress .progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.progress .progress-value{color:#c0caf5;font-family:IBM Plex Mono,monospace}.progress .progress-track{position:relative;width:100%;height:18px;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-radius:3px;background:#1f2335}.progress .progress-bar{display:block;position:relative;overflow:hidden;width:var(--progress-value,0%);height:100%;background:#7aa2f7;transition:width .28s ease}.progress.progress-success .progress-bar{background:#9ece6a}.progress.progress-warning .progress-bar{background:#e0af68}.progress.progress-danger .progress-bar,.progress.progress-error .progress-bar{background:#f7768e}.progress.progress-striped .progress-bar{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 14px,rgba(22,22,30,.2) 14px,rgba(22,22,30,.2) 16px)}.progress.progress-animated .progress-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:48%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.28),transparent);transform:translate(-120%);animation:progress_scan 1.4s ease infinite}.usage-meter{display:grid;gap:12px;width:100%;max-width:420px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.usage-meter .usage-meter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:15px;font-weight:700;line-height:1;text-transform:uppercase}.usage-meter .usage-meter-value{color:#7aa2f7;font-family:IBM Plex Mono,monospace;font-size:13px}.usage-meter .usage-meter-meta{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.progress-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:720px}.progress-stages .progress-stage{min-height:42px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#787c99;background:#1f2335;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase}.progress-stages .progress-stage-complete{color:#16161e;background:#9ece6a;border-color:#9ece6a}.progress-stages .progress-stage-current{color:#16161e;background:#e0af68;border-color:#e0af68}@media(max-width:767px){.progress-stages{grid-template-columns:1fr 1fr}}@media(max-width:479px){.progress-stages{grid-template-columns:1fr}}@keyframes progress_scan{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes icon_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600;line-height:1;letter-spacing:.04em;padding:12px 22px;border-radius:3px;border-width:2px;border-left-width:6px;border-style:solid;border-color:#c0caf5;text-transform:uppercase;background-color:transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color,opacity}.btn:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.btn.with-icon{border-left-width:40px;position:relative}.btn.with-icon .ph,.btn.with-icon .ph-bold{position:absolute;color:#16161e;left:-40px;top:1px;font-size:26px;height:100%;display:inline-flex;align-items:center;width:40px;justify-content:center;transition-duration:.2s;transition-property:color,left}@media(hover:hover)and (pointer:fine){.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-22px}}@media(hover:none)and (pointer:coarse){.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-22px}}.btn.btn-primary{color:#c0caf5;border-color:#c0caf5}@media(hover:hover)and (pointer:fine){.btn.btn-primary:hover{background-color:#c0caf5;color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-primary:active{background-color:#c0caf5;color:#16161e}}.btn.btn-secondary{color:#7aa2f7;border-color:#7aa2f7}@media(hover:hover)and (pointer:fine){.btn.btn-secondary:hover{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:hover.with-icon .ph,.btn.btn-secondary:hover.with-icon .ph-bold{color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-secondary:active{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:active.with-icon .ph,.btn.btn-secondary:active.with-icon .ph-bold{color:#16161e}}.btn.btn-accent{color:#ff9e64;border-color:#ff9e64}@media(hover:hover)and (pointer:fine){.btn.btn-accent:hover{background-color:#ff9e64;color:#16161e}.btn.btn-accent:hover.with-icon .ph,.btn.btn-accent:hover.with-icon .ph-bold{color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-accent:active{background-color:#ff9e64;color:#16161e}.btn.btn-accent:active.with-icon .ph,.btn.btn-accent:active.with-icon .ph-bold{color:#16161e}}.btn.btn-danger{color:#f7768e;border-color:#f7768e}@media(hover:hover)and (pointer:fine){.btn.btn-danger:hover{background-color:#f7768e;color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-danger:active{background-color:#f7768e;color:#16161e}}.btn.btn-warning{color:#e0af68;border-color:#e0af68}@media(hover:hover)and (pointer:fine){.btn.btn-warning:hover{background-color:#e0af68;color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-warning:active{background-color:#e0af68;color:#16161e}}.btn.btn-success{color:#9ece6a;border-color:#9ece6a}@media(hover:hover)and (pointer:fine){.btn.btn-success:hover{background-color:#9ece6a;color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-success:active{background-color:#9ece6a;color:#16161e}}.btn.btn-info{color:#bb9af7;border-color:#bb9af7}@media(hover:hover)and (pointer:fine){.btn.btn-info:hover{background-color:#bb9af7;color:#16161e}.btn.btn-info:hover.with-icon .ph,.btn.btn-info:hover.with-icon .ph-bold{color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-info:active{background-color:#bb9af7;color:#16161e}.btn.btn-info:active.with-icon .ph,.btn.btn-info:active.with-icon .ph-bold{color:#16161e}}.btn[disabled]:not(.loading-state){color:#787c99;border-color:#c0caf53d;background-color:#1f2335;cursor:not-allowed;opacity:.72}.btn[disabled]:not(.loading-state).with-icon .ph,.btn[disabled]:not(.loading-state).with-icon .ph-bold{color:#787c99}@media(hover:hover)and (pointer:fine){.btn[disabled]:not(.loading-state):hover{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):hover.with-icon .ph,.btn[disabled]:not(.loading-state):hover.with-icon .ph-bold{color:#787c99}}@media(hover:none)and (pointer:coarse){.btn[disabled]:not(.loading-state):active{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):active.with-icon .ph,.btn[disabled]:not(.loading-state):active.with-icon .ph-bold{color:#787c99}}.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph,.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph-bold{left:-22px}.btn.btn-small{font-size:13px;font-weight:500;min-height:34px;padding:8px}.btn.btn-small.with-icon{border-left-width:28px}.btn.btn-small.with-icon .ph,.btn.btn-small.with-icon .ph-bold{top:0;left:-36px;font-size:22px}.btn.btn-small.with-icon.loading-state .ph,.btn.btn-small.with-icon.loading-state .ph-bold{font-size:26px}.btn.btn-large{font-size:15px;font-weight:700;min-height:46px;padding:15px 48px}.btn.loading-state{color:#16161e!important;border-color:#c0caf5!important;background-color:#c0caf5!important}.btn.loading-state .ph,.btn.loading-state .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.btn-icon{display:flex;justify-content:center;align-items:center;width:34px;height:34px;background:0 0;color:#c0caf5;font-size:22px;border:2px solid transparent;border-radius:3px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.btn-icon:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.btn-icon:not(.without-hover):hover{color:#e0af68;border-color:#e0af68}}@media(hover:none)and (pointer:coarse){.btn-icon:not(.without-hover):active{color:#e0af68;border-color:#e0af68}}.btn-icon:disabled,.btn-icon[disabled]{color:#787c99;border-color:transparent;background-color:transparent;cursor:not-allowed;opacity:.72}@media(hover:hover)and (pointer:fine){.btn-icon:disabled:not(.without-hover):hover,.btn-icon[disabled]:not(.without-hover):hover{color:#787c99;border-color:transparent}}@media(hover:none)and (pointer:coarse){.btn-icon:disabled:not(.without-hover):active,.btn-icon[disabled]:not(.without-hover):active{color:#787c99;border-color:transparent}}.btn-icon-sm{width:28px;height:28px;font-size:18px}.form-group{width:100%;max-width:600px}.form-group .label{display:flex;flex-direction:column;font-size:14px;width:100%;position:relative;color:#c0caf5}.form-group .label>.ph{position:absolute;color:#c0caf5;left:0;bottom:1px;font-size:26px;height:46px;display:inline-flex;align-items:center;width:40px;justify-content:center;transition-duration:.2s;transition-property:color,left}.form-group .label .input{min-height:46px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500;line-height:1;letter-spacing:.04em;padding:12px 22px;margin-top:8px;border-radius:3px;border-width:2px;border-bottom-width:6px;border-style:solid;border-color:#c0caf5;color:#c0caf5;background-color:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color}@media(hover:hover)and (pointer:fine){.form-group .label .input:hover{border-bottom-color:#787c99}}@media(hover:none)and (pointer:coarse){.form-group .label .input:active{border-bottom-color:#787c99}}.form-group .label .input:focus{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background-color:transparent}.form-group .label .input:disabled{color:#787c99;border-color:#c0caf53d;background:#1f2335;cursor:not-allowed;opacity:.72}.form-group .label .input[readonly]{color:#a9b1d6;border-color:#c0caf53d;background:#c0caf508}.form-group .label .input::-moz-placeholder{color:#787c99}.form-group .label .input::placeholder{color:#787c99}.form-group .label .input::-webkit-search-cancel-button,.form-group .label .input::-webkit-search-decoration,.form-group .label .input::-webkit-search-results-button,.form-group .label .input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.form-group .label .input[type=date],.form-group .label .input[type=datetime-local],.form-group .label .input[type=month],.form-group .label .input[type=time]{color-scheme:dark;cursor:pointer;min-width:0;padding-right:40px;text-transform:uppercase}.form-group .label .input[type=date]::-webkit-calendar-picker-indicator,.form-group .label .input[type=datetime-local]::-webkit-calendar-picker-indicator,.form-group .label .input[type=month]::-webkit-calendar-picker-indicator,.form-group .label .input[type=time]::-webkit-calendar-picker-indicator{width:40px;height:100%;margin:0;padding:0;background:0 0;cursor:pointer;opacity:0}.form-group .label .input[type=date]::-webkit-datetime-edit,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit,.form-group .label .input[type=month]::-webkit-datetime-edit,.form-group .label .input[type=time]::-webkit-datetime-edit{padding:0}.form-group .label .input[type=date]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=month]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=time]::-webkit-datetime-edit-fields-wrapper{color:#c0caf5}.form-group .label textarea.input{height:92px;line-height:1.25;resize:none}.form-group .label .ph+.input,.form-group .label .ph+.select-wrap .select{padding-left:40px}.form-group .label .select-wrap{margin-top:8px}.form-group .label .select{width:100%;height:46px;margin-top:0;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group .label .select:focus{outline:0}.form-group .label .select option{color:#c0caf5;background:#1f2335}.form-group .label .select-wrap:after{content:"";position:absolute;right:22px;bottom:18px;transform:translateY(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #c0caf5;pointer-events:none}.form-group .label.error .input:not(:focus){border-color:#f7768e}.form-group .label.error+.input-info{color:#e0af68}.form-group .label.success .input:not(:focus){border-color:#9ece6a}.form-group .label.success+.input-info{color:#9ece6a}.form-group .label.warning .input:not(:focus){border-color:#e0af68}.form-group .label.warning+.input-info{color:#e0af68}.form-group .input-info{font-size:14px;margin-top:8px}.form-group .input-info .ph{position:relative;top:1px}.form-group .input-info.error{color:#e0af68}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%;max-width:760px}.fieldset{width:100%;max-width:760px;margin:0;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.legend{padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}@media(max-width:767px){.form-grid{grid-template-columns:1fr}}.file-upload{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:2px solid #7aa2f7;border-left-width:6px;border-radius:3px;color:#7aa2f7;background:#1f2335;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.file-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(hover:hover)and (pointer:fine){.file-upload:hover{color:#16161e;background:#7aa2f7}}@media(hover:none)and (pointer:coarse){.file-upload:active{color:#16161e;background:#7aa2f7}}.file-upload:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-panel{width:100%;max-width:760px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;border-left-width:6px}.file-upload-form{display:flex;flex-direction:column;gap:15px;margin:0}.file-upload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 15px 0}.file-upload-heading{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-title{margin:0;color:#c0caf5;font-size:15px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-description{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.file-upload-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;margin:0 15px;padding:18px;border:2px dashed #7aa2f7;border-radius:6px;background:#7aa2f714;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.file-upload-dropzone input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(hover:hover)and (pointer:fine){.file-upload-dropzone:hover{border-color:#c0caf5;background:#c0caf51a}}@media(hover:none)and (pointer:coarse){.file-upload-dropzone:active{border-color:#c0caf5;background:#c0caf51a}}.file-upload-dropzone:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:#16161e;background:#7aa2f7;font-size:26px}.file-upload-body{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-primary{color:#c0caf5;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-secondary{color:#a9b1d6;font-size:13px;line-height:1.4}.file-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin:0 15px}.file-upload-preview[hidden]{display:none}.file-upload-preview-item{position:relative;min-width:0;margin:0;border:2px solid rgba(192,202,245,.24);border-radius:3px;background:#1f2335}.file-upload-preview-remove{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:2px solid #f7768e;color:#f7768e;background:#1f2335;font-size:18px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}@media(hover:hover)and (pointer:fine){.file-upload-preview-remove:hover{color:#16161e;background:#f7768e}}@media(hover:none)and (pointer:coarse){.file-upload-preview-remove:active{color:#16161e;background:#f7768e}}.file-upload-preview-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-preview-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#1f2335}.file-upload-preview-visual img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.file-upload-preview-type{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:8px;color:#16161e;background:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload-preview-item figcaption{display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:8px}.file-upload-preview-name{overflow:hidden;color:#c0caf5;font-size:12px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.file-upload-preview-meta{color:#a9b1d6;font-size:12px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 15px 15px}@media(max-width:767px){.file-upload-header{flex-direction:column;align-items:stretch}.file-upload-dropzone{grid-template-columns:1fr}.file-upload-actions{justify-content:stretch}.file-upload-actions .btn{width:100%}}.range{width:100%;max-width:600px;accent-color:#7AA2F7}.range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;margin:0;background:0 0;cursor:pointer}.range input[type=range]::-webkit-slider-runnable-track{height:6px;background:#c0caf516;border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-webkit-slider-thumb{width:16px;height:34px;margin-top:-17px;border:2px solid #7aa2f7;background:#7aa2f7;-webkit-appearance:none}.range input[type=range]::-moz-range-track{height:6px;background:#c0caf516;border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-moz-range-thumb{width:16px;height:34px;border:2px solid #7aa2f7;border-radius:3px;background:#7aa2f7}.radio{display:inline-flex;flex-direction:row;gap:8px;align-items:center;cursor:pointer}.radio input[type=radio]{display:none}.radio .radio-control{width:20px;height:20px;border-radius:100%;border:3px solid #c0caf5;background:#1f2335;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition-duration:.2s;transition-property:border-color,background}.radio .radio-control:before{content:"";display:block;width:10px;height:10px;border-radius:100%;background:#c0caf5;transform:scale(0);transition-duration:.2s;transition-property:transform,background}@media(hover:hover)and (pointer:fine){.radio:hover .radio-control{background:#414868}}@media(hover:none)and (pointer:coarse){.radio:active .radio-control{background:#414868}}.radio input[type=radio]:checked:not(:disabled)+.radio-control{background:#c0caf52e}.radio input[type=radio]:checked+.radio-control:before{transform:scale(1)}.radio input[type=radio]:disabled+.radio-control{border-color:#414868;background:#4148681f;opacity:.5}.radio input[type=radio]:disabled:checked+.radio-control:before{background:#414868}.radio input[type=radio]:focus-visible+.radio-control{outline:2px solid #E0AF68;outline-offset:3px}.radio .radio-label{font-size:14px}.radio-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.switch{display:inline-flex;flex-direction:row;gap:8px;align-items:center;cursor:pointer}.switch input[type=checkbox]{display:none}.switch .switch-control{height:14px;width:28px;border-radius:999px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.switch .switch-control:before{content:"";display:block;height:18px;width:18px;border-radius:3px;background:#c0caf5;position:absolute;left:-5px;top:-5px;transition-duration:.2s;transition-property:left,background}@media(hover:hover)and (pointer:fine){.switch:hover .switch-control{background:#414868}}@media(hover:none)and (pointer:coarse){.switch:active .switch-control{background:#414868}}.switch input[type=checkbox]:checked:not(:disabled)+.switch-control{background:#7aa2f7;border-color:#7aa2f7}.switch input[type=checkbox]:checked+.switch-control:before{left:15px}.switch input[type=checkbox]:disabled+.switch-control{border-color:#414868}.switch input[type=checkbox]:focus-visible+.switch-control{outline:2px solid #E0AF68;outline-offset:3px}.switch input[type=checkbox]:disabled+.switch-control:before{background:#414868}.checkbox{display:inline-flex;flex-direction:row;gap:8px;align-items:center;cursor:pointer}.checkbox input[type=checkbox]{display:none}.checkbox .checkbox-control{width:20px;height:20px;border-radius:3px;border:2px solid #c0caf5;border-bottom-width:6px;background:#1f2335;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition-duration:.2s;transition-property:border-color,background}.checkbox .checkbox-control:before{content:"";display:block;width:10px;height:5px;border-left:2px solid #c0caf5;border-bottom:2px solid #c0caf5;transform:rotate(-45deg) scale(0);opacity:0;margin-top:-2px;transition-duration:.2s;transition-property:transform,opacity,border-color}@media(hover:hover)and (pointer:fine){.checkbox:hover .checkbox-control{background:#414868}}@media(hover:none)and (pointer:coarse){.checkbox:active .checkbox-control{background:#414868}}.checkbox input[type=checkbox]:checked:not(:disabled)+.checkbox-control{background:#c0caf52e}.checkbox input[type=checkbox]:checked+.checkbox-control:before{transform:rotate(-45deg) scale(1);opacity:1;border-color:#c0caf5}.checkbox input[type=checkbox]:disabled+.checkbox-control{border-color:#414868;background:#4148681f;opacity:.5}.checkbox input[type=checkbox]:disabled:checked+.checkbox-control:before{border-color:#414868}.checkbox input[type=checkbox]:focus-visible+.checkbox-control{outline:2px solid #E0AF68;outline-offset:3px}.checkbox .checkbox-label{font-size:14px}.input-group{display:flex;align-items:stretch;width:100%;max-width:600px;min-height:46px;border:2px solid rgba(192,202,245,.24);border-bottom-width:6px;border-radius:3px;overflow:hidden;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background}.input-group:focus-within{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background:0 0}.input-group .input-group-action,.input-group .input-group-addon{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:0 12px;color:#a9b1d6;background:#c0caf50b;border:0;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;text-transform:uppercase}.input-group .input-group-action{color:#c0caf5;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.input-group .input-group-input{flex:1 1 auto;min-width:0;border:0;padding:12px 15px;color:#c0caf5;background:0 0;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500;letter-spacing:.04em}.input-group .input-group-input:focus{outline:0}.input-group .input-group-input::-moz-placeholder{color:#787c99}.input-group .input-group-input::placeholder{color:#787c99}.input-group .input-group-input::-webkit-search-cancel-button,.input-group .input-group-input::-webkit-search-decoration,.input-group .input-group-input::-webkit-search-results-button,.input-group .input-group-input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.input-group .ph,.input-group .ph-bold{font-size:22px}.input-group.input-group-compact{min-height:40px}.input-group.input-group-compact .input-group-action,.input-group.input-group-compact .input-group-addon{min-width:40px}.input-group.input-group-compact .input-group-input{padding:8px 12px;font-size:13px}.search-field{max-width:420px}.repeater .repeater-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.repeater .repeater-title{font-size:14px;font-weight:600;color:#c0caf5}.repeater .repeater-list{display:grid;gap:8px}.repeater .repeater-item{background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.repeater .repeater-item-body{width:100%}.repeater .repeater-item-actions{display:flex;align-items:center;gap:8px;padding-top:22px}.repeater.repeater-disabled{opacity:.6;pointer-events:none}.list{display:flex;flex-direction:column;gap:5px;list-style-type:none;padding-left:0}.list .list-item{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:0}.list.list-ordered{list-style-type:decimal;display:list-item;margin-left:30px}.list.list-ordered .list-item{display:list-item}.list.list-definition{width:100%;max-width:620px;gap:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.list.list-definition .list-row{display:grid;grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);gap:15px;align-items:start;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.list.list-definition .list-row .list-term{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;margin:0;padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:background,transform}.list.list-definition .list-row .list-desc{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.2s;transition-timing-function:ease;transition-property:color,transform}.list.list-definition .list-row:last-child{border-bottom:0}@media(hover:hover)and (pointer:fine){.list.list-definition .list-row:hover{background:#c0caf516}.list.list-definition .list-row:hover .list-term{background:#7aa2f7;transform:translate(5px)}.list.list-definition .list-row:hover .list-desc{color:#c0caf5;transform:translate(5px)}}@media(hover:none)and (pointer:coarse){.list.list-definition .list-row:active{background:#c0caf516}.list.list-definition .list-row:active .list-term{background:#7aa2f7;transform:translate(5px)}.list.list-definition .list-row:active .list-desc{color:#c0caf5;transform:translate(5px)}}.list.list-nav{max-width:420px;width:100%;gap:0}.list.list-nav .list-item{display:flex;flex-direction:column;align-items:flex-start;height:50px;margin:0}.list.list-nav .list-item .list-action{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;padding:8px 12px;border:2px solid transparent;border-radius:3px;font-size:14px;background:#1f2335;color:inherit;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color,color}.list.list-nav .list-item .list-action:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.list.list-nav .list-item .list-action:hover{background:#7aa2f7;color:#16161e}}@media(hover:none)and (pointer:coarse){.list.list-nav .list-item .list-action:active{background:#7aa2f7;color:#16161e}}.list.list-nav .list-item .list-action .list-label{display:flex;flex-direction:row;gap:8px;align-items:center;letter-spacing:0;font-weight:400}.list.list-nav .list-item .list-action .list-meta{padding:8px;background:#9ece6a;color:#16161e;display:flex}.list.list-nav .list-item.list-item-active .list-action{background:#7aa2f7;color:#16161e;border-color:#7aa2f7}.list.list-actions{width:100%;max-width:420px;gap:22px}.list.list-actions .list-item{justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:2px solid rgba(192,202,245,.08)}.list.list-actions .list-item .list-content{display:flex;flex-direction:column;gap:8px}.list.list-actions .list-item .list-content .list-title{font-size:15px;line-height:1}.list.list-actions .list-item .list-content .list-subtitle{color:#787c99}@media(hover:hover)and (pointer:fine){.list.list-actions .list-item:hover .list-title{color:#7aa2f7}}@media(hover:none)and (pointer:coarse){.list.list-actions .list-item:active .list-title{color:#7aa2f7}}@media(max-width:479px){.list.list-definition .list-row{grid-template-columns:1fr;gap:8px}}.badge{position:relative;overflow:hidden;border-radius:3px;background:#c0caf5;color:#16161e;padding:5px 8px;font-size:13px;font-weight:600;line-height:1;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:24px;transition-duration:.2s;transition-timing-function:ease;transition-property:filter,transform,border-color,color,background}.badge:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:linear-gradient(90deg,transparent,rgba(22,22,30,.16),transparent);opacity:0;pointer-events:none;transform:translate(-120%)}@media(hover:hover)and (pointer:fine){.badge:hover{filter:saturate(1.12);transform:translateY(-1px)}.badge:hover:after{opacity:1;animation:terminal_scan_x .7s ease}}@media(hover:none)and (pointer:coarse){.badge:active{filter:saturate(1.12);transform:translateY(-1px)}.badge:active:after{opacity:1;animation:terminal_scan_x .7s ease}}.badge.badge-success{background:#9ece6a}.badge.badge-warning{background:#e0af68}.badge.badge-danger,.badge.badge-error{background:#f7768e}.badge.badge-info{background:#bb9af7;color:#16161e}.badge.badge-secondary{background:#7aa2f7;color:#16161e}.badge.badge-primary-outline{color:#c0caf5;border:2px solid #c0caf5;background:0 0;padding:3px 8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:5px 12px;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#a9b1d6;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.chip .ph,.chip .ph-bold{font-size:18px}.chip:before{content:"";display:inline-block;width:7px;height:7px;flex:0 0 auto;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow,transform}.chip:has(.ph):before,.chip:has(.ph-bold):before{display:none}.chip .chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:-5px;border:0;color:inherit;background:0 0;font:inherit;cursor:pointer}.chip .chip-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.chip.chip-primary{color:#c0caf5;background:#c0caf514;border-color:#c0caf5}.chip.chip-primary:before{background:#c0caf5}.chip.chip-secondary{color:#7aa2f7;background:#7aa2f714;border-color:#7aa2f7}.chip.chip-secondary:before{background:#7aa2f7}.chip.chip-success{color:#9ece6a;background:#9ece6a14;border-color:#9ece6a}.chip.chip-success:before{background:#9ece6a}.chip.chip-warning{color:#e0af68;background:#e0af6814;border-color:#e0af68}.chip.chip-warning:before{background:#e0af68}.chip.chip-danger,.chip.chip-error{color:#f7768e;background:#f7768e14;border-color:#f7768e}.chip.chip-danger:before,.chip.chip-error:before{background:#f7768e}.chip.chip-selected,.chip[aria-pressed=true],.chip[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.chip.chip-selected:before,.chip[aria-pressed=true]:before,.chip[aria-selected=true]:before{background:#16161e}.chip.chip-secondary[aria-pressed=true],.chip.chip-secondary[aria-selected=true],.chip.chip-selected.chip-secondary{background:#7aa2f7;border-color:#7aa2f7}.chip.chip-disabled,.chip:disabled{color:#787c99;background:#1f2335;border-color:#c0caf53d;cursor:not-allowed;opacity:.7}.chip.chip-disabled:before,.chip:disabled:before{background:#414868}a.chip,button.chip{cursor:pointer}a.chip:focus-visible,button.chip:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){a.chip:hover,button.chip:hover{color:#c0caf5;background:#c0caf516;border-color:#7aa2f7}a.chip:hover:before,button.chip:hover:before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}@media(hover:none)and (pointer:coarse){a.chip:active,button.chip:active{color:#c0caf5;background:#c0caf516;border-color:#7aa2f7}a.chip:active:before,button.chip:active:before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}.tag-input{background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;position:relative}.tag-input .tag-input-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;min-height:40px;cursor:text}.tag-input .tag-input-field{flex:1 1 auto;min-width:80px;padding:5px 0;border:0;color:#c0caf5;background:0 0;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1;outline:0}.tag-input .tag-input-field::-moz-placeholder{color:#787c99;opacity:1}.tag-input .tag-input-field::placeholder{color:#787c99;opacity:1}.tag-input.tag-input-focused{border-color:#c0caf5}.tag-input .tag-input-meta{padding:0 12px 8px;color:#787c99;font-size:12px;line-height:1}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#16161e;background:#c0caf5;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar .ph,.avatar .ph-bold{font-size:22px}.avatar .avatar-status{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:2px solid #16161e;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow}.avatar.avatar-sm{width:34px;height:34px;font-size:12px}.avatar.avatar-sm .ph,.avatar.avatar-sm .ph-bold{font-size:18px}.avatar.avatar-lg{width:46px;height:46px;font-size:14px}.avatar.avatar-lg .ph,.avatar.avatar-lg .ph-bold{font-size:26px}.avatar.avatar-secondary{background:#7aa2f7}.avatar.avatar-success{background:#9ece6a}.avatar.avatar-warning{background:#e0af68}.avatar.avatar-danger,.avatar.avatar-error{background:#f7768e}.avatar.avatar-outline{color:#c0caf5;background:#1f2335;border-color:#c0caf5}.avatar.is-online .avatar-status{background:#9ece6a;animation:terminal_pulse 1.8s ease infinite}.avatar.is-busy .avatar-status{background:#e0af68}.avatar.is-offline .avatar-status{background:#787c99}.identity{display:inline-flex;align-items:center;gap:12px;min-width:0}.identity-content{display:flex;flex-direction:column;gap:5px;min-width:0}.identity-title{color:#c0caf5;font-size:14px;font-weight:600;line-height:1}.identity-meta{color:#787c99;font-size:13px;line-height:1.4}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{margin-right:-8px;border-color:#16161e}.avatar-stack .avatar-stack-count{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border:2px solid #16161e;color:#16161e;background:#e0af68;font-size:13px;font-weight:700}.table{width:100%;text-align:left;border:2px solid rgba(192,202,245,.24);border-collapse:separate;border-spacing:0;border-radius:6px;background:#1f2335}.table .table-row:first-child>:first-child{border-top-left-radius:6px}.table .table-row:first-child>:last-child{border-top-right-radius:6px}.table .table-row:last-child>:first-child{border-bottom-left-radius:6px}.table .table-row:last-child>:last-child{border-bottom-right-radius:6px}.table .table-caption{text-align:left;font-size:15px;background:#c0caf5;width:-moz-max-content;width:max-content;color:#16161e;padding:5px 12px;margin-bottom:0;font-weight:700;text-transform:uppercase}.table.table-empty{width:100%}.table.table-empty .is-empty{width:100%;padding:15px;font-size:13px;color:#787c99;text-align:left}.table .table-row td,.table .table-row th{padding:12px 18px;font-size:13px;vertical-align:middle;border-bottom:2px solid rgba(192,202,245,.08)}.table .table-row th{color:#c0caf5;background:#c0caf50a;text-transform:uppercase;letter-spacing:.04em}.table .table-head{border-bottom:2px solid #c0caf5}.table .table-body .table-row{transition-duration:.2s;transition-timing-function:ease;transition-property:background,color}.table .table-body .table-row td{transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}@media(hover:hover)and (pointer:fine){.table .table-body .table-row:hover{background:#7aa2f714}.table .table-body .table-row:hover td:first-child{color:#7aa2f7}}@media(hover:none)and (pointer:coarse){.table .table-body .table-row:active{background:#7aa2f714}.table .table-body .table-row:active td:first-child{color:#7aa2f7}}.table .table-foot td,.table .table-foot th{padding-top:15px}.table.table-compact .table-caption{font-size:14px}.table.table-compact .table-row td,.table.table-compact .table-row th{padding:8px 12px;font-size:12px}.table.table-compact .table-cell-mono{color:#a9b1d6;font-family:IBM Plex Mono,monospace;letter-spacing:0}.table.table-compact .table-cell-actions{width:1%;white-space:nowrap}.table-wrapper{width:100%;overflow-x:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.toolbar .toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.toolbar .toolbar-title{margin:0;font-size:15px;font-weight:700;line-height:1;text-transform:uppercase}.toolbar .toolbar-meta{color:#787c99;font-size:13px}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination .pagination-item{display:inline-flex;align-items:center;justify-content:center;min-width:34px;border-radius:3px;height:34px;padding:0 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.pagination .pagination-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.pagination .pagination-item:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media(hover:none)and (pointer:coarse){.pagination .pagination-item:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.pagination .pagination-item.pagination-item-active,.pagination .pagination-item[aria-current=page]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.pagination .pagination-item.pagination-item-disabled,.pagination .pagination-item:disabled{color:#787c99;background:#1f2335;border-color:#c0caf53d;cursor:not-allowed;opacity:.72}.pagination .pagination-ellipsis{color:#787c99;padding:0 5px}.empty-state{max-width:560px;padding:22px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.empty-state .empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:15px;color:#16161e;background:#c0caf5;font-size:26px}.empty-state .empty-state-title{margin:0 0 8px;font-size:18px;font-weight:700;text-transform:uppercase}.empty-state .empty-state-text{max-width:440px;margin:0 0 18px;color:#a9b1d6;line-height:1.6}.empty-state .empty-state-actions{display:flex;flex-wrap:wrap;gap:8px}.empty-state.empty-state-error{border-color:#f7768e}.empty-state.empty-state-error .empty-state-icon{background:#f7768e}.skeleton{display:block;position:relative;overflow:hidden;border-radius:3px;background:#c0caf516}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);animation:skeleton_shimmer 1.6s infinite}.skeleton.skeleton-line{width:100%;height:14px}.skeleton.skeleton-title{width:60%;height:22px}.skeleton.skeleton-block{width:100%;height:120px}.skeleton.skeleton-square{width:46px;height:46px}.skeleton-stack{display:flex;flex-direction:column;gap:12px;max-width:520px;padding:15px;border:2px solid rgba(192,202,245,.24);border-radius:6px;background:#1f2335}@keyframes skeleton_shimmer{to{transform:translate(100%)}}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;width:100%;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335;animation:panel_boot .28s ease both}.page-header .page-header-content{display:flex;flex-direction:column;gap:8px;min-width:min(100%,320px)}.page-header .page-header-kicker{color:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.page-header .page-header-title{margin:0;color:#c0caf5;font-size:23px;font-weight:700;line-height:1.15}.page-header .page-header-subtitle{max-width:720px;margin:0;color:#a9b1d6;font-size:14px;line-height:1.6}.page-header .page-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.page-header .page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.page-header.page-header-compact{align-items:center;padding:15px}.page-header.page-header-compact .page-header-title{font-size:18px}.page-header.page-header-accent{border-color:#7aa2f7;background:#7aa2f70e}.description-list{display:grid;width:100%;max-width:760px;margin:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.description-list .description-list-row{display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);gap:15px;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.description-list .description-list-row:last-child{border-bottom:0}@media(hover:hover)and (pointer:fine){.description-list .description-list-row:hover{background:#c0caf516}.description-list .description-list-row:hover .description-list-term{color:#7aa2f7}.description-list .description-list-row:hover .description-list-value{transform:translate(5px)}}@media(hover:none)and (pointer:coarse){.description-list .description-list-row:active{background:#c0caf516}.description-list .description-list-row:active .description-list-term{color:#7aa2f7}.description-list .description-list-row:active .description-list-value{transform:translate(5px)}}.description-list .description-list-term{margin:0;color:#787c99;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.description-list .description-list-value{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;color:#c0caf5;font-size:14px;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:transform}.description-list .description-list-value-muted{color:#a9b1d6}.description-list.description-list-compact{max-width:520px}.description-list.description-list-compact .description-list-row{grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);gap:12px;padding:8px 12px}.description-list.description-list-compact .description-list-term,.description-list.description-list-compact .description-list-value{font-size:13px}@media(max-width:479px){.description-list .description-list-row{grid-template-columns:1fr;gap:5px}}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:900px;margin:0;padding:0;list-style:none}.steps .step{position:relative;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.steps .step-marker{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:3px;color:#c0caf5;border:2px solid rgba(192,202,245,.24);font-size:13px;font-weight:700;line-height:1}.steps .step-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.steps .step-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.steps .step-complete{border-color:#9ece6a}.steps .step-complete .step-marker{color:#16161e;background:#9ece6a;border-color:#9ece6a}.steps .step-current{border-color:#7aa2f7}.steps .step-current .step-marker{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}.steps .step-disabled{opacity:.62}.steps.steps-vertical{grid-template-columns:1fr;max-width:520px;gap:0}.steps.steps-vertical .step{min-height:auto;border-bottom-width:0;border-radius:0}.steps.steps-vertical .step:last-child{border-bottom-width:2px}@media(max-width:1023px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:479px){.steps{grid-template-columns:1fr}}.timeline{display:grid;gap:0;width:100%;max-width:760px;margin:0;padding:0;list-style:none}.timeline .timeline-item{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;min-height:88px}.timeline .timeline-item:before{content:"";position:absolute;top:40px;bottom:0;left:19px;width:2px;background:#c0caf53d}.timeline .timeline-item:last-child:before{display:none}.timeline .timeline-marker{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#a9b1d6;background:#16161e;font-size:18px;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,color,box-shadow,transform}.timeline .timeline-content{min-width:0;padding:0 0 18px}.timeline .timeline-card{padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,transform}.timeline .timeline-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.timeline .timeline-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.timeline .timeline-time{color:#787c99;font-size:12px;font-family:IBM Plex Mono,monospace;line-height:1.4}.timeline .timeline-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.timeline .timeline-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.timeline .timeline-item-success .timeline-card,.timeline .timeline-item-success .timeline-marker{border-color:#9ece6a}.timeline .timeline-item-success .timeline-marker{color:#16161e;background:#9ece6a}.timeline .timeline-item-warning .timeline-card,.timeline .timeline-item-warning .timeline-marker{border-color:#e0af68}.timeline .timeline-item-warning .timeline-marker{color:#16161e;background:#e0af68}.timeline .timeline-item-danger .timeline-card,.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-card,.timeline .timeline-item-error .timeline-marker{border-color:#f7768e}.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-marker{color:#16161e;background:#f7768e}@media(hover:hover)and (pointer:fine){.timeline .timeline-item:hover .timeline-marker{box-shadow:0 0 0 4px #7aa2f724;transform:scale(1.04)}.timeline .timeline-item:hover .timeline-card{background:#c0caf516;transform:translate(5px)}}@media(hover:none)and (pointer:coarse){.timeline .timeline-item:active .timeline-marker{box-shadow:0 0 0 4px #7aa2f724;transform:scale(1.04)}.timeline .timeline-item:active .timeline-card{background:#c0caf516;transform:translate(5px)}}.activity-log{display:grid;width:100%;max-width:720px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;overflow:hidden;background:#1f2335}.activity-log .activity-log-row{display:grid;grid-template-columns:minmax(120px,.24fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.activity-log .activity-log-row:last-child{border-bottom:0}@media(hover:hover)and (pointer:fine){.activity-log .activity-log-row:hover{background:#c0caf516}}@media(hover:none)and (pointer:coarse){.activity-log .activity-log-row:active{background:#c0caf516}}.activity-log .activity-log-time{color:#787c99;font-family:IBM Plex Mono,monospace;font-size:12px}.activity-log .activity-log-title{color:#c0caf5;font-size:13px;font-weight:600;line-height:1.4}@media(max-width:479px){.activity-log .activity-log-row{grid-template-columns:1fr;gap:8px}}.accordion{display:grid;width:100%;max-width:760px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;overflow:hidden;background:#1f2335}.accordion-item{border-bottom:2px solid rgba(192,202,245,.08);overflow:hidden}.accordion-item:last-child{border-bottom:0}.accordion-item[open] .accordion-summary{color:#16161e;background:#c0caf5}.accordion-item[open] .accordion-icon{transform:rotate(180deg)}.accordion-summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:12px 15px;border:0;color:#c0caf5;background:0 0;cursor:pointer;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.accordion-summary::-webkit-details-marker{display:none}.accordion-summary::marker{content:""}.accordion-summary:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.accordion-summary:hover{color:#16161e;background:#7aa2f7}}@media(hover:none)and (pointer:coarse){.accordion-summary:active{color:#16161e;background:#7aa2f7}}.accordion-summary-content{display:flex;align-items:center;gap:8px;min-width:0}.accordion-icon{flex:0 0 auto;font-size:18px;transition-duration:.2s;transition-property:transform}.accordion-panel{overflow:hidden;padding:15px;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.28s;transition-timing-function:ease;transition-property:height,opacity,transform}.accordion-panel p{margin-top:0}.accordion-panel p:last-child{margin-bottom:0}.disclosure{max-width:520px;border:2px solid rgba(192,202,245,.24);border-radius:6px;overflow:hidden;background:#1f2335}.disclosure .accordion-summary{min-height:34px;padding:8px 12px}.disclosure .accordion-panel{padding:12px}.tabs{width:100%;max-width:900px}.tabs-list{display:flex;align-items:stretch;gap:5px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:5px;border:2px solid rgba(192,202,245,.24);border-radius:6px;background:#1f2335;overflow-x:auto;scrollbar-width:thin}.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:12px 15px;border:0;border-radius:3px;color:#a9b1d6;background:0 0;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,opacity}.tab .ph,.tab .ph-bold{font-size:18px}.tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px;z-index:1}@media(hover:hover)and (pointer:fine){.tab:hover{color:#c0caf5;background:#c0caf516}}@media(hover:none)and (pointer:coarse){.tab:active{color:#c0caf5;background:#c0caf516}}.tab:disabled,.tab[aria-disabled=true]{color:#787c99;cursor:not-allowed;opacity:.62}@media(hover:hover)and (pointer:fine){.tab:disabled:hover,.tab[aria-disabled=true]:hover{color:#787c99;background:0 0}}@media(hover:none)and (pointer:coarse){.tab:disabled:active,.tab[aria-disabled=true]:active{color:#787c99;background:0 0}}.tab-active,.tab[aria-selected=true]{color:#16161e;background:#c0caf5}.tab-panel{display:none}.tab-panel p{margin-top:0}.tab-panel p:last-child{margin-bottom:0}.tab-panel-active{display:block}.tabs-compact{max-width:620px}.tabs-compact .tab{min-height:34px;padding:8px 12px}.tabs-vertical{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start}.tabs-vertical .tabs-list{flex-direction:column;overflow-x:visible}.tabs-vertical .tab{justify-content:flex-start;text-align:left}@media(max-width:767px){.tabs-vertical{grid-template-columns:1fr}.tabs-vertical .tabs-list{flex-direction:row;overflow-x:auto}.tabs-vertical .tab{justify-content:center;text-align:center}}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none}.drawer .drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;background:#16161e;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity;pointer-events:auto}.drawer .drawer-panel{position:relative;z-index:1020;width:min(460px,100vw - 18px);min-height:100vh;display:flex;flex-direction:column;gap:15px;background:#16161e;border-left:2px solid rgba(192,202,245,.24);box-shadow:-18px 0 42px #16161e61;opacity:0;transform:translate(100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform;pointer-events:auto}.drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding-right:15px;border-bottom:2px solid rgba(192,202,245,.24)}.drawer .drawer-title{margin:0;padding:12px 15px;color:#c0caf5;text-transform:uppercase;letter-spacing:.04em}.drawer .drawer-body{flex:1;overflow-y:auto;padding:18px}.drawer .drawer-footer{padding:18px;border-top:2px solid rgba(192,202,245,.24)}.drawer .drawer-footer .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;width:100%}.drawer.drawer-left{justify-content:flex-start}.drawer.drawer-left .drawer-panel{border-left:0;border-right:2px solid #c0caf5;box-shadow:18px 0 42px #16161e61;transform:translate(-100%)}.drawer.a-show .drawer-backdrop{opacity:.82}.drawer.a-show .drawer-panel{opacity:1;transform:translate(0)}.drawer.a-hide .drawer-backdrop{opacity:0}.drawer.a-hide .drawer-panel{opacity:0;transform:translate(100%)}.drawer.a-hide.drawer-left .drawer-panel{transform:translate(-100%)}.drawer-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:18px;align-items:stretch;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.drawer-preview .drawer-preview-content{display:flex;flex-direction:column;gap:12px}.drawer-preview .drawer-preview-panel{display:flex;flex-direction:column;gap:12px;padding:15px;border:2px solid #7aa2f7;border-radius:6px;background:#1f2335}.drawer-preview .drawer-preview-title{margin:0;color:#7aa2f7;font-size:14px;text-transform:uppercase}.drawer-preview .drawer-preview-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media(max-width:720px){.drawer-preview{grid-template-columns:1fr}}.nav-topbar{position:sticky;top:0;z-index:900;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:58px;border-bottom:2px solid rgba(192,202,245,.24);background:#16161ef5;box-shadow:0 10px 28px #16161e42}.nav-topbar-toggle{display:inline-flex;align-items:center;align-self:stretch;gap:8px;min-width:150px;padding:0 15px;border:0;border-right:2px solid rgba(192,202,245,.24);color:#c0caf5;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.nav-topbar-toggle .ph{color:#7aa2f7;font-size:22px}.nav-topbar-toggle:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.nav-topbar-toggle:hover{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:hover .ph{color:#16161e}}@media(hover:none)and (pointer:coarse){.nav-topbar-toggle:active{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:active .ph{color:#16161e}}.nav-topbar-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0 15px;color:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-topbar-brand img{width:48px;height:48px}.nav-topbar-current{min-width:160px;margin-right:15px;padding:5px 8px;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#a9b1d6;background:#1f2335;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}.nav-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:910;background:#16161e;opacity:0;pointer-events:none;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity}.nav-drawer{position:fixed;inset:0 auto 0 0;z-index:920;display:flex;flex-direction:column;width:min(380px,100vw);max-height:100vh;border-right:2px solid #c0caf5;background:#1f2335;box-shadow:18px 0 42px #16161e61;opacity:0;overflow:hidden;pointer-events:none;transform:translate(-100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform}.nav-drawer.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:2px solid rgba(192,202,245,.24)}.nav-drawer-title{display:inline-flex;padding:8px 12px;border-radius:3px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-drawer-subtitle{margin-top:8px;color:#787c99;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#c0caf5;background:0 0;font-size:22px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.nav-drawer-close:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.nav-drawer-close:hover{color:#16161e;background:#f7768e;border-color:#f7768e}}@media(hover:none)and (pointer:coarse){.nav-drawer-close:active{color:#16161e;background:#f7768e;border-color:#f7768e}}.nav-drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-width:thin;scrollbar-color:#7AA2F7 #1F2335}.nav-drawer-body::-webkit-scrollbar{width:8px}.nav-drawer-body::-webkit-scrollbar-track{background:#1f2335}.nav-drawer-body::-webkit-scrollbar-thumb{background:#7aa2f7}.nav-drawer-body .list.list-nav{max-width:none}.nav-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-top:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-footer .profile-identity{display:block;text-decoration:none;color:inherit;min-width:0;flex:1 1 auto;overflow:hidden}@media(hover:hover)and (pointer:fine){.nav-drawer-footer .profile-identity:hover{color:inherit}}@media(hover:none)and (pointer:coarse){.nav-drawer-footer .profile-identity:active{color:inherit}}.nav-drawer-open{overflow:hidden}.nav-drawer-open .nav-drawer-backdrop{opacity:.82;pointer-events:auto}@media(max-width:767px){.nav-topbar-toggle{min-width:54px;padding:0 12px}.nav-topbar-brand{padding-right:12px;padding-left:12px}.nav-topbar-current{max-width:38vw;min-width:0;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-drawer{width:100vw;border-right:0}}.nav-shell-preview{width:100%;max-width:900px;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#16161e}.nav-shell-preview-topbar{position:relative;z-index:0;min-height:52px;box-shadow:none}.nav-shell-preview-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:320px}.nav-shell-preview-drawer{position:relative;z-index:0;inset:auto;width:auto;max-height:none;opacity:1;pointer-events:auto;transform:none;box-shadow:none}.nav-shell-preview-content{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;padding:18px;border-left:2px solid rgba(192,202,245,.24);background:#1f2335}.nav-shell-preview-content h3{margin:0;color:#c0caf5;font-size:18px;text-transform:uppercase}.nav-shell-preview-content p{max-width:360px;margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media(max-width:767px){.nav-shell-preview-body{grid-template-columns:1fr}.nav-shell-preview-content{min-height:180px;border-top:2px solid rgba(192,202,245,.24);border-left:0}}.toast{position:fixed;z-index:1100;bottom:-100px;right:15px;max-width:420px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;box-shadow:0 14px 36px #16161e5c;padding:0;opacity:0;overflow:hidden;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,bottom}.toast.a-show{bottom:15px;opacity:1}.toast.a-hide{bottom:-45px;opacity:0}.toast .toast-content{display:flex;flex-direction:column;gap:0;padding:15px 48px 15px 18px}.toast .toast-content .toast-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;color:#c0caf5;line-height:1}.toast .toast-content .toast-header .ph{font-size:22px;flex-shrink:0}.toast .toast-content .toast-text{padding:8px 0 0;margin:0;color:#c0caf5;font-size:14px;line-height:1.6}.toast .toast-close{position:absolute;top:5px;right:8px;color:#a9b1d6;width:34px;height:34px;border-color:transparent;background:0 0}@media(hover:hover)and (pointer:fine){.toast .toast-close:not(.without-hover):hover{color:#c0caf5;border-color:transparent}}@media(hover:none)and (pointer:coarse){.toast .toast-close:not(.without-hover):active{color:#c0caf5;border-color:transparent}}.toast .toast-progress{height:3px;width:100%;background:#16161e73;overflow:hidden;margin-top:1px}.toast .toast-progress .toast-progress-bar{height:100%;width:100%;transform-origin:left;animation:toast-progress linear forwards;background:#7aa2f7}.toast.toast-info{border-color:#bb9af7}.toast.toast-info .toast-header,.toast.toast-info .toast-header .ph{color:#bb9af7}.toast.toast-info .toast-progress-bar{background:#bb9af7}.toast.toast-success{border-color:#9ece6a}.toast.toast-success .toast-header,.toast.toast-success .toast-header .ph{color:#9ece6a}.toast.toast-success .toast-progress-bar{background:#9ece6a}.toast.toast-warning{border-color:#e0af68}.toast.toast-warning .toast-header,.toast.toast-warning .toast-header .ph{color:#e0af68}.toast.toast-warning .toast-progress-bar{background:#e0af68}.toast.toast-danger{border-color:#f7768e}.toast.toast-danger .toast-header,.toast.toast-danger .toast-header .ph{color:#f7768e}.toast.toast-danger .toast-progress-bar{background:#f7768e}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.card{position:relative;max-width:340px;width:-moz-max-content;width:max-content;overflow:hidden;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px}.card .card-title{color:#c0caf5;padding:15px 15px 0;font-weight:700;text-transform:uppercase}.card .card-content{padding:15px;height:100%}.card .card-content .card-thumb{display:block;width:min(68%,190px);margin:18px auto 22px}.card .card-content p{margin-top:8px;margin-bottom:0}.card .card-footer{padding:8px 15px 15px}.card.status-card{max-width:220px;overflow:hidden}.card.status-card .status-icon-container{position:relative}.card.status-card .status-icon-container .status-indicator{position:absolute;top:-15px;left:-5px;font-size:22px;color:#f7768e}.card.status-card .status-icon-container .status-indicator.status-online{color:#9ece6a}.card.status-card .status-icon-container .status-icon{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;font-size:56px;height:108px;width:100%}.card.status-card .card-title{display:flex;width:100%;font-size:14px;font-weight:700;align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.card.status-card .status-name{font-size:13px;line-height:1.4}.card.status-card.card-success{border-color:#9ece6a}.card.status-card.card-success .card-title,.card.status-card.card-success .modal-title,.card.status-card.card-success .toast-title{color:#9ece6a;background:0 0}.card.status-card.card-success .status-icon{color:#9ece6a}.card.status-card.card-warning{border-color:#e0af68}.card.status-card.card-warning .card-title,.card.status-card.card-warning .modal-title,.card.status-card.card-warning .toast-title{color:#e0af68;background:0 0}.card.status-card.card-warning .status-icon{color:#e0af68}.card.status-card.card-info{border-color:#bb9af7}.card.status-card.card-info .card-title,.card.status-card.card-info .modal-title,.card.status-card.card-info .toast-title{color:#bb9af7;background:0 0}.card.status-card.card-info .status-icon{color:#bb9af7}.card.status-card.card-secondary{border-color:#7aa2f7}.card.status-card.card-secondary .card-title,.card.status-card.card-secondary .modal-title,.card.status-card.card-secondary .toast-title{color:#7aa2f7;background:0 0}.card.status-card.card-secondary .status-icon{color:#7aa2f7}.card.status-card.card-danger,.card.status-card.card-error{border-color:#f7768e}.card.status-card.card-danger .card-title,.card.status-card.card-danger .modal-title,.card.status-card.card-danger .toast-title,.card.status-card.card-error .card-title,.card.status-card.card-error .modal-title,.card.status-card.card-error .toast-title{color:#f7768e;background:0 0}.card.status-card.card-danger .status-icon,.card.status-card.card-error .status-icon{color:#f7768e}.card.metric-card{max-width:320px;border-color:#c0caf53d}.card.metric-card .card-content{display:flex;flex-direction:column;gap:15px}.card.metric-card .metric-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card.metric-card .metric-card-label{margin:0;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.card.metric-card .metric-card-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:#16161e;background:#7aa2f7;font-size:22px}.card.metric-card .metric-card-value{margin:0;color:#c0caf5;font-size:30px;font-weight:700;line-height:1.15}.card.metric-card .metric-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.card.metric-card .metric-card-delta{color:#9ece6a;font-weight:700}.card.metric-card .metric-card-delta.metric-card-delta-negative{color:#f7768e}.card.card-horizontal{max-width:none;display:flex;flex-direction:row;align-items:stretch;overflow:hidden}.card.card-horizontal .card-media{flex:0 0 20%;min-width:80px;max-width:160px;max-height:160px;overflow:hidden;position:relative;aspect-ratio:1;align-self:start}.card.card-horizontal .card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.card.card-horizontal .card-body{flex:1 1 auto;display:flex;flex-direction:column;padding:15px;gap:12px}.card.card-horizontal .card-title{padding:0;background:0 0;color:#c0caf5;font-size:15px;font-weight:700;text-transform:none;line-height:1.25}.card.card-horizontal .card-title a{color:inherit;text-decoration:none}.card.card-horizontal .card-content{padding:0;height:auto}.card.card-horizontal .card-content p{margin:0}.card.card-horizontal .card-footer{padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#a9b1d6;font-size:13px}.card.action-card{max-width:360px;border-color:#7aa2f7}.card.action-card .card-content{display:flex;flex-direction:column;gap:15px}.card.action-card .action-card-kicker{display:inline-flex;width:-moz-max-content;width:max-content;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.card.action-card .action-card-title{margin:0;font-size:18px;font-weight:700;line-height:1.25;text-transform:uppercase}.card.action-card .action-card-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.card.action-card .action-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.card.login-card{max-width:100%;width:460px;border-color:#c0caf5}.card.login-card .login-card-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px}.card.login-card .login-card-logo{display:block;width:auto;max-height:40px}.card.login-card .login-card-logo-icon{font-size:56px;color:#c0caf5}.card.login-card .login-card-title{font-size:18px;font-weight:700;text-transform:uppercase}.card.login-card .login-card-form{display:flex;flex-direction:column;gap:15px}.card.login-card .login-card-submit{width:-moz-max-content;width:max-content;margin-top:8px}.card.login-card .form-group{margin-bottom:0}.card.login-card .login-card-links{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px}.card.login-card .login-card-link{color:#a9b1d6;text-decoration:none}@media(hover:hover)and (pointer:fine){.card.login-card .login-card-link:hover{color:#c0caf5;text-decoration:underline}}@media(hover:none)and (pointer:coarse){.card.login-card .login-card-link:active{color:#c0caf5;text-decoration:underline}}.card.login-card .login-card-error{margin-bottom:8px}.card.user-card{max-width:320px}.card.user-card .user-card-body{display:flex;flex-direction:column;align-items:center;gap:15px;padding:18px;text-align:center}.card.user-card .identity{flex-direction:column;align-items:center;gap:15px}.card.user-card .identity .avatar{width:64px;height:64px;font-size:18px}.card.user-card .identity .identity-content{align-items:center;text-align:center}.card.user-card .user-card-role{color:#a9b1d6;font-size:13px;margin-top:5px}.card.user-card .user-card-actions{display:flex;gap:8px}.card.user-card-compact{max-width:none}.card.user-card-compact .user-card-body{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 15px;text-align:left}.card.user-card-compact .identity{flex-direction:row;gap:12px}.card.user-card-compact .identity .avatar{width:38px;height:38px;font-size:13px}.card.user-card-compact .identity .identity-content{align-items:flex-start}.card.user-card-compact .user-card-actions{display:flex;gap:5px}.modal{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal .modal-backdrop{position:fixed;z-index:1010;top:0;bottom:0;left:0;right:0;background:#16161e;opacity:0;transition-duration:.25s;transition-property:opacity}.modal .modal-dialog{position:relative;z-index:1020;width:100%;max-width:960px;margin:200px 18px 18px;height:auto;max-height:calc(100vh - 48px);padding:0;display:flex;flex-direction:column;gap:0;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,margin-top}.modal .modal-dialog .modal-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.modal .modal-dialog .modal-header .modal-title{padding:15px 18px 0;color:#c0caf5;text-transform:uppercase;letter-spacing:.04em}.modal .modal-dialog .modal-header .modal-close{flex:0 0 auto;color:#c0caf5;border-color:#c0caf53d;background:#16161e}.modal .modal-dialog .modal-panel{min-height:200px;display:flex;flex-direction:column;gap:15px;overflow:hidden;background:#16161e;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px}.modal .modal-dialog .modal-body{max-height:700px;overflow-y:auto;padding:18px}.modal .modal-dialog .modal-footer{padding:18px}.modal .modal-dialog .modal-footer .actions{display:flex;flex-direction:row;justify-content:flex-end;gap:15px;width:100%}.modal.a-show .modal-backdrop{opacity:1}.modal.a-show .modal-dialog{opacity:1;margin-top:0}.modal.a-hide .modal-backdrop{opacity:0}.modal.a-hide .modal-dialog{opacity:0;margin-top:-200px}.alert{position:relative;overflow:hidden;border-radius:6px;margin-bottom:12px;padding:12px 15px;border:2px solid transparent;border-left-style:solid;border-left-width:6px;background:#1f2335;color:#c0caf5;font-weight:500;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:background,color,border-color}.alert:after{content:"";position:absolute;inset:0 auto 0 0;width:36%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);opacity:0;pointer-events:none;transform:translate(-120%)}@media(hover:hover)and (pointer:fine){.alert:hover:after{opacity:1;animation:terminal_scan_x .8s ease}}@media(hover:none)and (pointer:coarse){.alert:active:after{opacity:1;animation:terminal_scan_x .8s ease}}.alert.alert-primary{border-color:#c0caf5;background:#c0caf51a;color:#c0caf5}.alert.alert-success{border-color:#9ece6a;background:#9ece6a1a;color:#9ece6a}.alert.alert-secondary{border-color:#7aa2f7;background:#7aa2f71a;color:#7aa2f7}.alert.alert-info{border-color:#bb9af7;background:#bb9af71a;color:#c0caf5}.alert.alert-warning{border-color:#e0af68;background:#e0af681a;color:#e0af68}.alert.alert-danger,.alert.alert-error{border-color:#f7768e;background:#f7768e1a;color:#f7768e}.advanced-select-container{position:relative;height:0}.advanced-select{position:absolute;z-index:100;top:6px;width:100%;height:auto;max-height:200px;overflow-y:auto;background:#16161e;border:2px solid #c0caf5;border-left-width:6px;border-radius:6px;margin-top:20px;opacity:0;visibility:hidden;transition-property:opacity,margin-top,visibility;transition-duration:.2s;transition-timing-function:ease}.advanced-select.a-show{opacity:1;margin-top:0;visibility:visible}.advanced-select .popup-options-container .not-found{width:100%;padding:15px;text-align:center;display:none}.advanced-select .popup-options-container .not-found.show{display:block}.advanced-select .popup-options-container .options{width:100%;display:none}.advanced-select .popup-options-container .options.show{display:block}.advanced-select .popup-options-container .options .option{padding:8px 15px;transition-property:color,background;transition-duration:.15s}.advanced-select .popup-options-container .options .option.hide{display:none}.advanced-select .popup-options-container .options .option.focus,.advanced-select .popup-options-container .options .option:hover{color:#16161e;background:#e0af68}.component.editable-string-component .editable-string-content{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:inherit}.component.editable-string-component .editable-string-content .editable-string{font-size:inherit;border-bottom:2px solid rgba(192,202,245,.24)}@media(hover:hover)and (pointer:fine){.component.editable-string-component .apply-changes-btn:hover,.component.editable-string-component .cancel-changes-btn:hover,.component.editable-string-component .edit-text-btn:hover{color:#16161e;background:#e0af68}}@media(hover:none)and (pointer:coarse){.component.editable-string-component .apply-changes-btn:active,.component.editable-string-component .cancel-changes-btn:active,.component.editable-string-component .edit-text-btn:active{color:#16161e;background:#e0af68}}.component.editable-string-component .apply-changes-btn{color:#e0af68}.component.editable-string-component .editable-string-form{display:flex;flex-direction:row;align-items:center;gap:8px}.component.editable-string-component .editable-string-form .form-group{max-width:260px;margin:0}.component.editable-string-component .editable-string-form .form-group .input{padding:8px 15px}.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:15px}.tabs .tab{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;line-height:1;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.tabs .tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.tabs .tab:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media(hover:none)and (pointer:coarse){.tabs .tab:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.tabs .tab.tab-active,.tabs .tab[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.dropdown,.popover{position:relative;display:inline-flex}.dropdown-menu,.popover-panel,.tooltip-panel{z-index:40;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;box-shadow:0 14px 36px #16161e5c}.dropdown-menu,.popover-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:none;transform-origin:top left}.dropdown.is-open .dropdown-menu,.popover.is-open .popover-panel{display:block;animation:overlay_reveal .2s ease both}.dropdown-menu{padding:5px}.dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:8px 12px;border:0;color:#c0caf5;background:0 0;font-family:IBM Plex Mono,monospace;font-size:13px;text-align:left;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.dropdown-menu .dropdown-item .ph,.dropdown-menu .dropdown-item .ph-bold{font-size:18px}.dropdown-menu .dropdown-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.dropdown-menu .dropdown-item:hover{color:#16161e;background:#7aa2f7}}@media(hover:none)and (pointer:coarse){.dropdown-menu .dropdown-item:active{color:#16161e;background:#7aa2f7}}.dropdown-menu .dropdown-item.dropdown-item-danger{color:#f7768e}@media(hover:hover)and (pointer:fine){.dropdown-menu .dropdown-item.dropdown-item-danger:hover{color:#16161e;background:#f7768e}}@media(hover:none)and (pointer:coarse){.dropdown-menu .dropdown-item.dropdown-item-danger:active{color:#16161e;background:#f7768e}}.popover-panel{width:min(320px,100vw - 22px);padding:15px}.popover-panel .popover-title{margin:0 0 8px;font-size:14px;font-weight:700;text-transform:uppercase}.popover-panel .popover-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.tooltip{position:relative;display:inline-flex}.tooltip-panel{position:absolute;left:50%;bottom:calc(100% + 8px);width:-moz-max-content;width:max-content;max-width:260px;padding:8px 12px;color:#c0caf5;font-size:12px;line-height:1.4;transform:translate(-50%);opacity:0;visibility:hidden;pointer-events:none;transition-duration:.15s;transition-timing-function:ease;transition-property:opacity,visibility}.tooltip.is-open .tooltip-panel,.tooltip:focus-within .tooltip-panel,.tooltip:hover .tooltip-panel{opacity:1;visibility:visible;animation:tooltip_reveal .15s ease both}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.g-0{gap:0!important}.gx-0{-moz-column-gap:0!important;column-gap:0!important}.gy-0{row-gap:0!important}.m-1{margin:5px!important}.mt-1{margin-top:5px!important}.mr-1{margin-right:5px!important}.mb-1{margin-bottom:5px!important}.ml-1{margin-left:5px!important}.mx-1{margin-left:5px!important;margin-right:5px!important}.my-1{margin-top:5px!important;margin-bottom:5px!important}.p-1{padding:5px!important}.pt-1{padding-top:5px!important}.pr-1{padding-right:5px!important}.pb-1{padding-bottom:5px!important}.pl-1{padding-left:5px!important}.px-1{padding-left:5px!important;padding-right:5px!important}.py-1{padding-top:5px!important;padding-bottom:5px!important}.g-1{gap:5px!important}.gx-1{-moz-column-gap:5px!important;column-gap:5px!important}.gy-1{row-gap:5px!important}.m-2{margin:8px!important}.mt-2{margin-top:8px!important}.mr-2{margin-right:8px!important}.mb-2{margin-bottom:8px!important}.ml-2{margin-left:8px!important}.mx-2{margin-left:8px!important;margin-right:8px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.p-2{padding:8px!important}.pt-2{padding-top:8px!important}.pr-2{padding-right:8px!important}.pb-2{padding-bottom:8px!important}.pl-2{padding-left:8px!important}.px-2{padding-left:8px!important;padding-right:8px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.g-2{gap:8px!important}.gx-2{-moz-column-gap:8px!important;column-gap:8px!important}.gy-2{row-gap:8px!important}.m-3{margin:12px!important}.mt-3{margin-top:12px!important}.mr-3{margin-right:12px!important}.mb-3{margin-bottom:12px!important}.ml-3{margin-left:12px!important}.mx-3{margin-left:12px!important;margin-right:12px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.p-3{padding:12px!important}.pt-3{padding-top:12px!important}.pr-3{padding-right:12px!important}.pb-3{padding-bottom:12px!important}.pl-3{padding-left:12px!important}.px-3{padding-left:12px!important;padding-right:12px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.g-3{gap:12px!important}.gx-3{-moz-column-gap:12px!important;column-gap:12px!important}.gy-3{row-gap:12px!important}.m-4{margin:15px!important}.mt-4{margin-top:15px!important}.mr-4{margin-right:15px!important}.mb-4{margin-bottom:15px!important}.ml-4{margin-left:15px!important}.mx-4{margin-left:15px!important;margin-right:15px!important}.my-4{margin-top:15px!important;margin-bottom:15px!important}.p-4{padding:15px!important}.pt-4{padding-top:15px!important}.pr-4{padding-right:15px!important}.pb-4{padding-bottom:15px!important}.pl-4{padding-left:15px!important}.px-4{padding-left:15px!important;padding-right:15px!important}.py-4{padding-top:15px!important;padding-bottom:15px!important}.g-4{gap:15px!important}.gx-4{-moz-column-gap:15px!important;column-gap:15px!important}.gy-4{row-gap:15px!important}.m-5{margin:18px!important}.mt-5{margin-top:18px!important}.mr-5{margin-right:18px!important}.mb-5{margin-bottom:18px!important}.ml-5{margin-left:18px!important}.mx-5{margin-left:18px!important;margin-right:18px!important}.my-5{margin-top:18px!important;margin-bottom:18px!important}.p-5{padding:18px!important}.pt-5{padding-top:18px!important}.pr-5{padding-right:18px!important}.pb-5{padding-bottom:18px!important}.pl-5{padding-left:18px!important}.px-5{padding-left:18px!important;padding-right:18px!important}.py-5{padding-top:18px!important;padding-bottom:18px!important}.g-5{gap:18px!important}.gx-5{-moz-column-gap:18px!important;column-gap:18px!important}.gy-5{row-gap:18px!important}.m-6{margin:22px!important}.mt-6{margin-top:22px!important}.mr-6{margin-right:22px!important}.mb-6{margin-bottom:22px!important}.ml-6{margin-left:22px!important}.mx-6{margin-left:22px!important;margin-right:22px!important}.my-6{margin-top:22px!important;margin-bottom:22px!important}.p-6{padding:22px!important}.pt-6{padding-top:22px!important}.pr-6{padding-right:22px!important}.pb-6{padding-bottom:22px!important}.pl-6{padding-left:22px!important}.px-6{padding-left:22px!important;padding-right:22px!important}.py-6{padding-top:22px!important;padding-bottom:22px!important}.g-6{gap:22px!important}.gx-6{-moz-column-gap:22px!important;column-gap:22px!important}.gy-6{row-gap:22px!important}.m-7{margin:26px!important}.mt-7{margin-top:26px!important}.mr-7{margin-right:26px!important}.mb-7{margin-bottom:26px!important}.ml-7{margin-left:26px!important}.mx-7{margin-left:26px!important;margin-right:26px!important}.my-7{margin-top:26px!important;margin-bottom:26px!important}.p-7{padding:26px!important}.pt-7{padding-top:26px!important}.pr-7{padding-right:26px!important}.pb-7{padding-bottom:26px!important}.pl-7{padding-left:26px!important}.px-7{padding-left:26px!important;padding-right:26px!important}.py-7{padding-top:26px!important;padding-bottom:26px!important}.g-7{gap:26px!important}.gx-7{-moz-column-gap:26px!important;column-gap:26px!important}.gy-7{row-gap:26px!important}.m-8{margin:34px!important}.mt-8{margin-top:34px!important}.mr-8{margin-right:34px!important}.mb-8{margin-bottom:34px!important}.ml-8{margin-left:34px!important}.mx-8{margin-left:34px!important;margin-right:34px!important}.my-8{margin-top:34px!important;margin-bottom:34px!important}.p-8{padding:34px!important}.pt-8{padding-top:34px!important}.pr-8{padding-right:34px!important}.pb-8{padding-bottom:34px!important}.pl-8{padding-left:34px!important}.px-8{padding-left:34px!important;padding-right:34px!important}.py-8{padding-top:34px!important;padding-bottom:34px!important}.g-8{gap:34px!important}.gx-8{-moz-column-gap:34px!important;column-gap:34px!important}.gy-8{row-gap:34px!important}.m-9{margin:42px!important}.mt-9{margin-top:42px!important}.mr-9{margin-right:42px!important}.mb-9{margin-bottom:42px!important}.ml-9{margin-left:42px!important}.mx-9{margin-left:42px!important;margin-right:42px!important}.my-9{margin-top:42px!important;margin-bottom:42px!important}.p-9{padding:42px!important}.pt-9{padding-top:42px!important}.pr-9{padding-right:42px!important}.pb-9{padding-bottom:42px!important}.pl-9{padding-left:42px!important}.px-9{padding-left:42px!important;padding-right:42px!important}.py-9{padding-top:42px!important;padding-bottom:42px!important}.g-9{gap:42px!important}.gx-9{-moz-column-gap:42px!important;column-gap:42px!important}.gy-9{row-gap:42px!important}.m-10{margin:48px!important}.mt-10{margin-top:48px!important}.mr-10{margin-right:48px!important}.mb-10{margin-bottom:48px!important}.ml-10{margin-left:48px!important}.mx-10{margin-left:48px!important;margin-right:48px!important}.my-10{margin-top:48px!important;margin-bottom:48px!important}.p-10{padding:48px!important}.pt-10{padding-top:48px!important}.pr-10{padding-right:48px!important}.pb-10{padding-bottom:48px!important}.pl-10{padding-left:48px!important}.px-10{padding-left:48px!important;padding-right:48px!important}.py-10{padding-top:48px!important;padding-bottom:48px!important}.g-10{gap:48px!important}.gx-10{-moz-column-gap:48px!important;column-gap:48px!important}.gy-10{row-gap:48px!important}.m-11{margin:64px!important}.mt-11{margin-top:64px!important}.mr-11{margin-right:64px!important}.mb-11{margin-bottom:64px!important}.ml-11{margin-left:64px!important}.mx-11{margin-left:64px!important;margin-right:64px!important}.my-11{margin-top:64px!important;margin-bottom:64px!important}.p-11{padding:64px!important}.pt-11{padding-top:64px!important}.pr-11{padding-right:64px!important}.pb-11{padding-bottom:64px!important}.pl-11{padding-left:64px!important}.px-11{padding-left:64px!important;padding-right:64px!important}.py-11{padding-top:64px!important;padding-bottom:64px!important}.g-11{gap:64px!important}.gx-11{-moz-column-gap:64px!important;column-gap:64px!important}.gy-11{row-gap:64px!important}.m-12{margin:80px!important}.mt-12{margin-top:80px!important}.mr-12{margin-right:80px!important}.mb-12{margin-bottom:80px!important}.ml-12{margin-left:80px!important}.mx-12{margin-left:80px!important;margin-right:80px!important}.my-12{margin-top:80px!important;margin-bottom:80px!important}.p-12{padding:80px!important}.pt-12{padding-top:80px!important}.pr-12{padding-right:80px!important}.pb-12{padding-bottom:80px!important}.pl-12{padding-left:80px!important}.px-12{padding-left:80px!important;padding-right:80px!important}.py-12{padding-top:80px!important;padding-bottom:80px!important}.g-12{gap:80px!important}.gx-12{-moz-column-gap:80px!important;column-gap:80px!important}.gy-12{row-gap:80px!important}.row{display:flex;flex-direction:row}@media(max-width:1279px){.row.adaptive{flex-direction:column}}.column{display:flex;flex-direction:column}.f-grid{display:flex;flex-direction:row;flex-wrap:wrap}.grid{display:grid}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.w-100{width:100%}.w-auto{width:auto!important}.w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-200{width:200%}.h-100{height:100%}.min-w-0{min-width:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.fs-xs{font-size:12px}.fs-sm{font-size:13px}.fs-md,.fs-base{font-size:14px}.fs-lg{font-size:15px}.fs-xl{font-size:18px}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-uppercase{text-transform:uppercase!important}.text-nowrap{white-space:nowrap!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-flex{display:inline-flex!important}.d-flex{display:flex!important}.d-grid{display:grid!important}@media(max-width:767px){.grid-2,.grid-3{grid-template-columns:1fr}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background-color:#16161e;color:#c0caf5}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{width:10px;background:#16161e;cursor:pointer}::-webkit-scrollbar-thumb{width:10px;background:#414868;cursor:default}::-webkit-scrollbar-corner{background:0 0;height:1px}::-webkit-scrollbar-button{display:none}.ph.normalize{position:relative;top:.15em}@font-face{font-family:Phosphor;src:url(/assets/Phosphor-DtdjzkpE.woff2) format("woff2"),url(/assets/Phosphor-BdqudwT5.woff) format("woff"),url(/assets/Phosphor-CDxgqcPu.ttf) format("truetype"),url(/assets/Phosphor-BXRFlF4V.svg#Phosphor) format("svg");font-weight:400;font-style:normal;font-display:block}.ph{font-family:Phosphor!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ph.ph-acorn:before{content:""}.ph.ph-address-book:before{content:""}.ph.ph-address-book-tabs:before{content:""}.ph.ph-air-traffic-control:before{content:""}.ph.ph-airplane:before{content:""}.ph.ph-airplane-in-flight:before{content:""}.ph.ph-airplane-landing:before{content:""}.ph.ph-airplane-takeoff:before{content:""}.ph.ph-airplane-taxiing:before{content:""}.ph.ph-airplane-tilt:before{content:""}.ph.ph-airplay:before{content:""}.ph.ph-alarm:before{content:""}.ph.ph-alien:before{content:""}.ph.ph-align-bottom:before{content:""}.ph.ph-align-bottom-simple:before{content:""}.ph.ph-align-center-horizontal:before{content:""}.ph.ph-align-center-horizontal-simple:before{content:""}.ph.ph-align-center-vertical:before{content:""}.ph.ph-align-center-vertical-simple:before{content:""}.ph.ph-align-left:before{content:""}.ph.ph-align-left-simple:before{content:""}.ph.ph-align-right:before{content:""}.ph.ph-align-right-simple:before{content:""}.ph.ph-align-top:before{content:""}.ph.ph-align-top-simple:before{content:""}.ph.ph-amazon-logo:before{content:""}.ph.ph-ambulance:before{content:""}.ph.ph-anchor:before{content:""}.ph.ph-anchor-simple:before{content:""}.ph.ph-android-logo:before{content:""}.ph.ph-angle:before{content:""}.ph.ph-angular-logo:before{content:""}.ph.ph-aperture:before{content:""}.ph.ph-app-store-logo:before{content:""}.ph.ph-app-window:before{content:""}.ph.ph-apple-logo:before{content:""}.ph.ph-apple-podcasts-logo:before{content:""}.ph.ph-approximate-equals:before{content:""}.ph.ph-archive:before{content:""}.ph.ph-armchair:before{content:""}.ph.ph-arrow-arc-left:before{content:""}.ph.ph-arrow-arc-right:before{content:""}.ph.ph-arrow-bend-double-up-left:before{content:""}.ph.ph-arrow-bend-double-up-right:before{content:""}.ph.ph-arrow-bend-down-left:before{content:""}.ph.ph-arrow-bend-down-right:before{content:""}.ph.ph-arrow-bend-left-down:before{content:""}.ph.ph-arrow-bend-left-up:before{content:""}.ph.ph-arrow-bend-right-down:before{content:""}.ph.ph-arrow-bend-right-up:before{content:""}.ph.ph-arrow-bend-up-left:before{content:""}.ph.ph-arrow-bend-up-right:before{content:""}.ph.ph-arrow-circle-down:before{content:""}.ph.ph-arrow-circle-down-left:before{content:""}.ph.ph-arrow-circle-down-right:before{content:""}.ph.ph-arrow-circle-left:before{content:""}.ph.ph-arrow-circle-right:before{content:""}.ph.ph-arrow-circle-up:before{content:""}.ph.ph-arrow-circle-up-left:before{content:""}.ph.ph-arrow-circle-up-right:before{content:""}.ph.ph-arrow-clockwise:before{content:""}.ph.ph-arrow-counter-clockwise:before{content:""}.ph.ph-arrow-down:before{content:""}.ph.ph-arrow-down-left:before{content:""}.ph.ph-arrow-down-right:before{content:""}.ph.ph-arrow-elbow-down-left:before{content:""}.ph.ph-arrow-elbow-down-right:before{content:""}.ph.ph-arrow-elbow-left:before{content:""}.ph.ph-arrow-elbow-left-down:before{content:""}.ph.ph-arrow-elbow-left-up:before{content:""}.ph.ph-arrow-elbow-right:before{content:""}.ph.ph-arrow-elbow-right-down:before{content:""}.ph.ph-arrow-elbow-right-up:before{content:""}.ph.ph-arrow-elbow-up-left:before{content:""}.ph.ph-arrow-elbow-up-right:before{content:""}.ph.ph-arrow-fat-down:before{content:""}.ph.ph-arrow-fat-left:before{content:""}.ph.ph-arrow-fat-line-down:before{content:""}.ph.ph-arrow-fat-line-left:before{content:""}.ph.ph-arrow-fat-line-right:before{content:""}.ph.ph-arrow-fat-line-up:before{content:""}.ph.ph-arrow-fat-lines-down:before{content:""}.ph.ph-arrow-fat-lines-left:before{content:""}.ph.ph-arrow-fat-lines-right:before{content:""}.ph.ph-arrow-fat-lines-up:before{content:""}.ph.ph-arrow-fat-right:before{content:""}.ph.ph-arrow-fat-up:before{content:""}.ph.ph-arrow-left:before{content:""}.ph.ph-arrow-line-down:before{content:""}.ph.ph-arrow-line-down-left:before{content:""}.ph.ph-arrow-line-down-right:before{content:""}.ph.ph-arrow-line-left:before{content:""}.ph.ph-arrow-line-right:before{content:""}.ph.ph-arrow-line-up:before{content:""}.ph.ph-arrow-line-up-left:before{content:""}.ph.ph-arrow-line-up-right:before{content:""}.ph.ph-arrow-right:before{content:""}.ph.ph-arrow-square-down:before{content:""}.ph.ph-arrow-square-down-left:before{content:""}.ph.ph-arrow-square-down-right:before{content:""}.ph.ph-arrow-square-in:before{content:""}.ph.ph-arrow-square-left:before{content:""}.ph.ph-arrow-square-out:before{content:""}.ph.ph-arrow-square-right:before{content:""}.ph.ph-arrow-square-up:before{content:""}.ph.ph-arrow-square-up-left:before{content:""}.ph.ph-arrow-square-up-right:before{content:""}.ph.ph-arrow-u-down-left:before{content:""}.ph.ph-arrow-u-down-right:before{content:""}.ph.ph-arrow-u-left-down:before{content:""}.ph.ph-arrow-u-left-up:before{content:""}.ph.ph-arrow-u-right-down:before{content:""}.ph.ph-arrow-u-right-up:before{content:""}.ph.ph-arrow-u-up-left:before{content:""}.ph.ph-arrow-u-up-right:before{content:""}.ph.ph-arrow-up:before{content:""}.ph.ph-arrow-up-left:before{content:""}.ph.ph-arrow-up-right:before{content:""}.ph.ph-arrows-clockwise:before{content:""}.ph.ph-arrows-counter-clockwise:before{content:""}.ph.ph-arrows-down-up:before{content:""}.ph.ph-arrows-horizontal:before{content:""}.ph.ph-arrows-in:before{content:""}.ph.ph-arrows-in-cardinal:before{content:""}.ph.ph-arrows-in-line-horizontal:before{content:""}.ph.ph-arrows-in-line-vertical:before{content:""}.ph.ph-arrows-in-simple:before{content:""}.ph.ph-arrows-left-right:before{content:""}.ph.ph-arrows-merge:before{content:""}.ph.ph-arrows-out:before{content:""}.ph.ph-arrows-out-cardinal:before{content:""}.ph.ph-arrows-out-line-horizontal:before{content:""}.ph.ph-arrows-out-line-vertical:before{content:""}.ph.ph-arrows-out-simple:before{content:""}.ph.ph-arrows-split:before{content:""}.ph.ph-arrows-vertical:before{content:""}.ph.ph-article:before{content:""}.ph.ph-article-medium:before{content:""}.ph.ph-article-ny-times:before{content:""}.ph.ph-asclepius:before{content:""}.ph.ph-caduceus:before{content:""}.ph.ph-asterisk:before{content:""}.ph.ph-asterisk-simple:before{content:""}.ph.ph-at:before{content:""}.ph.ph-atom:before{content:""}.ph.ph-avocado:before{content:""}.ph.ph-axe:before{content:""}.ph.ph-baby:before{content:""}.ph.ph-baby-carriage:before{content:""}.ph.ph-backpack:before{content:""}.ph.ph-backspace:before{content:""}.ph.ph-bag:before{content:""}.ph.ph-bag-simple:before{content:""}.ph.ph-balloon:before{content:""}.ph.ph-bandaids:before{content:""}.ph.ph-bank:before{content:""}.ph.ph-barbell:before{content:""}.ph.ph-barcode:before{content:""}.ph.ph-barn:before{content:""}.ph.ph-barricade:before{content:""}.ph.ph-baseball:before{content:""}.ph.ph-baseball-cap:before{content:""}.ph.ph-baseball-helmet:before{content:""}.ph.ph-basket:before{content:""}.ph.ph-basketball:before{content:""}.ph.ph-bathtub:before{content:""}.ph.ph-battery-charging:before{content:""}.ph.ph-battery-charging-vertical:before{content:""}.ph.ph-battery-empty:before{content:""}.ph.ph-battery-full:before{content:""}.ph.ph-battery-high:before{content:""}.ph.ph-battery-low:before{content:""}.ph.ph-battery-medium:before{content:""}.ph.ph-battery-plus:before{content:""}.ph.ph-battery-plus-vertical:before{content:""}.ph.ph-battery-vertical-empty:before{content:""}.ph.ph-battery-vertical-full:before{content:""}.ph.ph-battery-vertical-high:before{content:""}.ph.ph-battery-vertical-low:before{content:""}.ph.ph-battery-vertical-medium:before{content:""}.ph.ph-battery-warning:before{content:""}.ph.ph-battery-warning-vertical:before{content:""}.ph.ph-beach-ball:before{content:""}.ph.ph-beanie:before{content:""}.ph.ph-bed:before{content:""}.ph.ph-beer-bottle:before{content:""}.ph.ph-beer-stein:before{content:""}.ph.ph-behance-logo:before{content:""}.ph.ph-bell:before{content:""}.ph.ph-bell-ringing:before{content:""}.ph.ph-bell-simple:before{content:""}.ph.ph-bell-simple-ringing:before{content:""}.ph.ph-bell-simple-slash:before{content:""}.ph.ph-bell-simple-z:before{content:""}.ph.ph-bell-slash:before{content:""}.ph.ph-bell-z:before{content:""}.ph.ph-belt:before{content:""}.ph.ph-bezier-curve:before{content:""}.ph.ph-bicycle:before{content:""}.ph.ph-binary:before{content:""}.ph.ph-binoculars:before{content:""}.ph.ph-biohazard:before{content:""}.ph.ph-bird:before{content:""}.ph.ph-blueprint:before{content:""}.ph.ph-bluetooth:before{content:""}.ph.ph-bluetooth-connected:before{content:""}.ph.ph-bluetooth-slash:before{content:""}.ph.ph-bluetooth-x:before{content:""}.ph.ph-boat:before{content:""}.ph.ph-bomb:before{content:""}.ph.ph-bone:before{content:""}.ph.ph-book:before{content:""}.ph.ph-book-bookmark:before{content:""}.ph.ph-book-open:before{content:""}.ph.ph-book-open-text:before{content:""}.ph.ph-book-open-user:before{content:""}.ph.ph-bookmark:before{content:""}.ph.ph-bookmark-simple:before{content:""}.ph.ph-bookmarks:before{content:""}.ph.ph-bookmarks-simple:before{content:""}.ph.ph-books:before{content:""}.ph.ph-boot:before{content:""}.ph.ph-boules:before{content:""}.ph.ph-bounding-box:before{content:""}.ph.ph-bowl-food:before{content:""}.ph.ph-bowl-steam:before{content:""}.ph.ph-bowling-ball:before{content:""}.ph.ph-box-arrow-down:before{content:""}.ph.ph-archive-box:before{content:""}.ph.ph-box-arrow-up:before{content:""}.ph.ph-boxing-glove:before{content:""}.ph.ph-brackets-angle:before{content:""}.ph.ph-brackets-curly:before{content:""}.ph.ph-brackets-round:before{content:""}.ph.ph-brackets-square:before{content:""}.ph.ph-brain:before{content:""}.ph.ph-brandy:before{content:""}.ph.ph-bread:before{content:""}.ph.ph-bridge:before{content:""}.ph.ph-briefcase:before{content:""}.ph.ph-briefcase-metal:before{content:""}.ph.ph-broadcast:before{content:""}.ph.ph-broom:before{content:""}.ph.ph-browser:before{content:""}.ph.ph-browsers:before{content:""}.ph.ph-bug:before{content:""}.ph.ph-bug-beetle:before{content:""}.ph.ph-bug-droid:before{content:""}.ph.ph-building:before{content:""}.ph.ph-building-apartment:before{content:""}.ph.ph-building-office:before{content:""}.ph.ph-buildings:before{content:""}.ph.ph-bulldozer:before{content:""}.ph.ph-bus:before{content:""}.ph.ph-butterfly:before{content:""}.ph.ph-cable-car:before{content:""}.ph.ph-cactus:before{content:""}.ph.ph-cake:before{content:""}.ph.ph-calculator:before{content:""}.ph.ph-calendar:before{content:""}.ph.ph-calendar-blank:before{content:""}.ph.ph-calendar-check:before{content:""}.ph.ph-calendar-dot:before{content:""}.ph.ph-calendar-dots:before{content:""}.ph.ph-calendar-heart:before{content:""}.ph.ph-calendar-minus:before{content:""}.ph.ph-calendar-plus:before{content:""}.ph.ph-calendar-slash:before{content:""}.ph.ph-calendar-star:before{content:""}.ph.ph-calendar-x:before{content:""}.ph.ph-call-bell:before{content:""}.ph.ph-camera:before{content:""}.ph.ph-camera-plus:before{content:""}.ph.ph-camera-rotate:before{content:""}.ph.ph-camera-slash:before{content:""}.ph.ph-campfire:before{content:""}.ph.ph-car:before{content:""}.ph.ph-car-battery:before{content:""}.ph.ph-car-profile:before{content:""}.ph.ph-car-simple:before{content:""}.ph.ph-cardholder:before{content:""}.ph.ph-cards:before{content:""}.ph.ph-cards-three:before{content:""}.ph.ph-caret-circle-double-down:before{content:""}.ph.ph-caret-circle-double-left:before{content:""}.ph.ph-caret-circle-double-right:before{content:""}.ph.ph-caret-circle-double-up:before{content:""}.ph.ph-caret-circle-down:before{content:""}.ph.ph-caret-circle-left:before{content:""}.ph.ph-caret-circle-right:before{content:""}.ph.ph-caret-circle-up:before{content:""}.ph.ph-caret-circle-up-down:before{content:""}.ph.ph-caret-double-down:before{content:""}.ph.ph-caret-double-left:before{content:""}.ph.ph-caret-double-right:before{content:""}.ph.ph-caret-double-up:before{content:""}.ph.ph-caret-down:before{content:""}.ph.ph-caret-left:before{content:""}.ph.ph-caret-line-down:before{content:""}.ph.ph-caret-line-left:before{content:""}.ph.ph-caret-line-right:before{content:""}.ph.ph-caret-line-up:before{content:""}.ph.ph-caret-right:before{content:""}.ph.ph-caret-up:before{content:""}.ph.ph-caret-up-down:before{content:""}.ph.ph-carrot:before{content:""}.ph.ph-cash-register:before{content:""}.ph.ph-cassette-tape:before{content:""}.ph.ph-castle-turret:before{content:""}.ph.ph-cat:before{content:""}.ph.ph-cell-signal-full:before{content:""}.ph.ph-cell-signal-high:before{content:""}.ph.ph-cell-signal-low:before{content:""}.ph.ph-cell-signal-medium:before{content:""}.ph.ph-cell-signal-none:before{content:""}.ph.ph-cell-signal-slash:before{content:""}.ph.ph-cell-signal-x:before{content:""}.ph.ph-cell-tower:before{content:""}.ph.ph-certificate:before{content:""}.ph.ph-chair:before{content:""}.ph.ph-chalkboard:before{content:""}.ph.ph-chalkboard-simple:before{content:""}.ph.ph-chalkboard-teacher:before{content:""}.ph.ph-champagne:before{content:""}.ph.ph-charging-station:before{content:""}.ph.ph-chart-bar:before{content:""}.ph.ph-chart-bar-horizontal:before{content:""}.ph.ph-chart-donut:before{content:""}.ph.ph-chart-line:before{content:""}.ph.ph-chart-line-down:before{content:""}.ph.ph-chart-line-up:before{content:""}.ph.ph-chart-pie:before{content:""}.ph.ph-chart-pie-slice:before{content:""}.ph.ph-chart-polar:before{content:""}.ph.ph-chart-scatter:before{content:""}.ph.ph-chat:before{content:""}.ph.ph-chat-centered:before{content:""}.ph.ph-chat-centered-dots:before{content:""}.ph.ph-chat-centered-slash:before{content:""}.ph.ph-chat-centered-text:before{content:""}.ph.ph-chat-circle:before{content:""}.ph.ph-chat-circle-dots:before{content:""}.ph.ph-chat-circle-slash:before{content:""}.ph.ph-chat-circle-text:before{content:""}.ph.ph-chat-dots:before{content:""}.ph.ph-chat-slash:before{content:""}.ph.ph-chat-teardrop:before{content:""}.ph.ph-chat-teardrop-dots:before{content:""}.ph.ph-chat-teardrop-slash:before{content:""}.ph.ph-chat-teardrop-text:before{content:""}.ph.ph-chat-text:before{content:""}.ph.ph-chats:before{content:""}.ph.ph-chats-circle:before{content:""}.ph.ph-chats-teardrop:before{content:""}.ph.ph-check:before{content:""}.ph.ph-check-circle:before{content:""}.ph.ph-check-fat:before{content:""}.ph.ph-check-square:before{content:""}.ph.ph-check-square-offset:before{content:""}.ph.ph-checkerboard:before{content:""}.ph.ph-checks:before{content:""}.ph.ph-cheers:before{content:""}.ph.ph-cheese:before{content:""}.ph.ph-chef-hat:before{content:""}.ph.ph-cherries:before{content:""}.ph.ph-church:before{content:""}.ph.ph-cigarette:before{content:""}.ph.ph-cigarette-slash:before{content:""}.ph.ph-circle:before{content:""}.ph.ph-circle-dashed:before{content:""}.ph.ph-circle-half:before{content:""}.ph.ph-circle-half-tilt:before{content:""}.ph.ph-circle-notch:before{content:""}.ph.ph-circles-four:before{content:""}.ph.ph-circles-three:before{content:""}.ph.ph-circles-three-plus:before{content:""}.ph.ph-circuitry:before{content:""}.ph.ph-city:before{content:""}.ph.ph-clipboard:before{content:""}.ph.ph-clipboard-text:before{content:""}.ph.ph-clock:before{content:""}.ph.ph-clock-afternoon:before{content:""}.ph.ph-clock-clockwise:before{content:""}.ph.ph-clock-countdown:before{content:""}.ph.ph-clock-counter-clockwise:before{content:""}.ph.ph-clock-user:before{content:""}.ph.ph-closed-captioning:before{content:""}.ph.ph-cloud:before{content:""}.ph.ph-cloud-arrow-down:before{content:""}.ph.ph-cloud-arrow-up:before{content:""}.ph.ph-cloud-check:before{content:""}.ph.ph-cloud-fog:before{content:""}.ph.ph-cloud-lightning:before{content:""}.ph.ph-cloud-moon:before{content:""}.ph.ph-cloud-rain:before{content:""}.ph.ph-cloud-slash:before{content:""}.ph.ph-cloud-snow:before{content:""}.ph.ph-cloud-sun:before{content:""}.ph.ph-cloud-warning:before{content:""}.ph.ph-cloud-x:before{content:""}.ph.ph-clover:before{content:""}.ph.ph-club:before{content:""}.ph.ph-coat-hanger:before{content:""}.ph.ph-coda-logo:before{content:""}.ph.ph-code:before{content:""}.ph.ph-code-block:before{content:""}.ph.ph-code-simple:before{content:""}.ph.ph-codepen-logo:before{content:""}.ph.ph-codesandbox-logo:before{content:""}.ph.ph-coffee:before{content:""}.ph.ph-coffee-bean:before{content:""}.ph.ph-coin:before{content:""}.ph.ph-coin-vertical:before{content:""}.ph.ph-coins:before{content:""}.ph.ph-columns:before{content:""}.ph.ph-columns-plus-left:before{content:""}.ph.ph-columns-plus-right:before{content:""}.ph.ph-command:before{content:""}.ph.ph-compass:before{content:""}.ph.ph-compass-rose:before{content:""}.ph.ph-compass-tool:before{content:""}.ph.ph-computer-tower:before{content:""}.ph.ph-confetti:before{content:""}.ph.ph-contactless-payment:before{content:""}.ph.ph-control:before{content:""}.ph.ph-cookie:before{content:""}.ph.ph-cooking-pot:before{content:""}.ph.ph-copy:before{content:""}.ph.ph-copy-simple:before{content:""}.ph.ph-copyleft:before{content:""}.ph.ph-copyright:before{content:""}.ph.ph-corners-in:before{content:""}.ph.ph-corners-out:before{content:""}.ph.ph-couch:before{content:""}.ph.ph-court-basketball:before{content:""}.ph.ph-cow:before{content:""}.ph.ph-cowboy-hat:before{content:""}.ph.ph-cpu:before{content:""}.ph.ph-crane:before{content:""}.ph.ph-crane-tower:before{content:""}.ph.ph-credit-card:before{content:""}.ph.ph-cricket:before{content:""}.ph.ph-crop:before{content:""}.ph.ph-cross:before{content:""}.ph.ph-crosshair:before{content:""}.ph.ph-crosshair-simple:before{content:""}.ph.ph-crown:before{content:""}.ph.ph-crown-cross:before{content:""}.ph.ph-crown-simple:before{content:""}.ph.ph-cube:before{content:""}.ph.ph-cube-focus:before{content:""}.ph.ph-cube-transparent:before{content:""}.ph.ph-currency-btc:before{content:""}.ph.ph-currency-circle-dollar:before{content:""}.ph.ph-currency-cny:before{content:""}.ph.ph-currency-dollar:before{content:""}.ph.ph-currency-dollar-simple:before{content:""}.ph.ph-currency-eth:before{content:""}.ph.ph-currency-eur:before{content:""}.ph.ph-currency-gbp:before{content:""}.ph.ph-currency-inr:before{content:""}.ph.ph-currency-jpy:before{content:""}.ph.ph-currency-krw:before{content:""}.ph.ph-currency-kzt:before{content:""}.ph.ph-currency-ngn:before{content:""}.ph.ph-currency-rub:before{content:""}.ph.ph-cursor:before{content:""}.ph.ph-cursor-click:before{content:""}.ph.ph-cursor-text:before{content:""}.ph.ph-cylinder:before{content:""}.ph.ph-database:before{content:""}.ph.ph-desk:before{content:""}.ph.ph-desktop:before{content:""}.ph.ph-desktop-tower:before{content:""}.ph.ph-detective:before{content:""}.ph.ph-dev-to-logo:before{content:""}.ph.ph-device-mobile:before{content:""}.ph.ph-device-mobile-camera:before{content:""}.ph.ph-device-mobile-slash:before{content:""}.ph.ph-device-mobile-speaker:before{content:""}.ph.ph-device-rotate:before{content:""}.ph.ph-device-tablet:before{content:""}.ph.ph-device-tablet-camera:before{content:""}.ph.ph-device-tablet-speaker:before{content:""}.ph.ph-devices:before{content:""}.ph.ph-diamond:before{content:""}.ph.ph-diamonds-four:before{content:""}.ph.ph-dice-five:before{content:""}.ph.ph-dice-four:before{content:""}.ph.ph-dice-one:before{content:""}.ph.ph-dice-six:before{content:""}.ph.ph-dice-three:before{content:""}.ph.ph-dice-two:before{content:""}.ph.ph-disc:before{content:""}.ph.ph-disco-ball:before{content:""}.ph.ph-discord-logo:before{content:""}.ph.ph-divide:before{content:""}.ph.ph-dna:before{content:""}.ph.ph-dog:before{content:""}.ph.ph-door:before{content:""}.ph.ph-door-open:before{content:""}.ph.ph-dot:before{content:""}.ph.ph-dot-outline:before{content:""}.ph.ph-dots-nine:before{content:""}.ph.ph-dots-six:before{content:""}.ph.ph-dots-six-vertical:before{content:""}.ph.ph-dots-three:before{content:""}.ph.ph-dots-three-circle:before{content:""}.ph.ph-dots-three-circle-vertical:before{content:""}.ph.ph-dots-three-outline:before{content:""}.ph.ph-dots-three-outline-vertical:before{content:""}.ph.ph-dots-three-vertical:before{content:""}.ph.ph-download:before{content:""}.ph.ph-download-simple:before{content:""}.ph.ph-dress:before{content:""}.ph.ph-dresser:before{content:""}.ph.ph-dribbble-logo:before{content:""}.ph.ph-drone:before{content:""}.ph.ph-drop:before{content:""}.ph.ph-drop-half:before{content:""}.ph.ph-drop-half-bottom:before{content:""}.ph.ph-drop-simple:before{content:""}.ph.ph-drop-slash:before{content:""}.ph.ph-dropbox-logo:before{content:""}.ph.ph-ear:before{content:""}.ph.ph-ear-slash:before{content:""}.ph.ph-egg:before{content:""}.ph.ph-egg-crack:before{content:""}.ph.ph-eject:before{content:""}.ph.ph-eject-simple:before{content:""}.ph.ph-elevator:before{content:""}.ph.ph-empty:before{content:""}.ph.ph-engine:before{content:""}.ph.ph-envelope:before{content:""}.ph.ph-envelope-open:before{content:""}.ph.ph-envelope-simple:before{content:""}.ph.ph-envelope-simple-open:before{content:""}.ph.ph-equalizer:before{content:""}.ph.ph-equals:before{content:""}.ph.ph-eraser:before{content:""}.ph.ph-escalator-down:before{content:""}.ph.ph-escalator-up:before{content:""}.ph.ph-exam:before{content:""}.ph.ph-exclamation-mark:before{content:""}.ph.ph-exclude:before{content:""}.ph.ph-exclude-square:before{content:""}.ph.ph-export:before{content:""}.ph.ph-eye:before{content:""}.ph.ph-eye-closed:before{content:""}.ph.ph-eye-slash:before{content:""}.ph.ph-eyedropper:before{content:""}.ph.ph-eyedropper-sample:before{content:""}.ph.ph-eyeglasses:before{content:""}.ph.ph-eyes:before{content:""}.ph.ph-face-mask:before{content:""}.ph.ph-facebook-logo:before{content:""}.ph.ph-factory:before{content:""}.ph.ph-faders:before{content:""}.ph.ph-faders-horizontal:before{content:""}.ph.ph-fallout-shelter:before{content:""}.ph.ph-fan:before{content:""}.ph.ph-farm:before{content:""}.ph.ph-fast-forward:before{content:""}.ph.ph-fast-forward-circle:before{content:""}.ph.ph-feather:before{content:""}.ph.ph-fediverse-logo:before{content:""}.ph.ph-figma-logo:before{content:""}.ph.ph-file:before{content:""}.ph.ph-file-archive:before{content:""}.ph.ph-file-arrow-down:before{content:""}.ph.ph-file-arrow-up:before{content:""}.ph.ph-file-audio:before{content:""}.ph.ph-file-c:before{content:""}.ph.ph-file-c-sharp:before{content:""}.ph.ph-file-cloud:before{content:""}.ph.ph-file-code:before{content:""}.ph.ph-file-cpp:before{content:""}.ph.ph-file-css:before{content:""}.ph.ph-file-csv:before{content:""}.ph.ph-file-dashed:before{content:""}.ph.ph-file-dotted:before{content:""}.ph.ph-file-doc:before{content:""}.ph.ph-file-html:before{content:""}.ph.ph-file-image:before{content:""}.ph.ph-file-ini:before{content:""}.ph.ph-file-jpg:before{content:""}.ph.ph-file-js:before{content:""}.ph.ph-file-jsx:before{content:""}.ph.ph-file-lock:before{content:""}.ph.ph-file-magnifying-glass:before{content:""}.ph.ph-file-search:before{content:""}.ph.ph-file-md:before{content:""}.ph.ph-file-minus:before{content:""}.ph.ph-file-pdf:before{content:""}.ph.ph-file-plus:before{content:""}.ph.ph-file-png:before{content:""}.ph.ph-file-ppt:before{content:""}.ph.ph-file-py:before{content:""}.ph.ph-file-rs:before{content:""}.ph.ph-file-sql:before{content:""}.ph.ph-file-svg:before{content:""}.ph.ph-file-text:before{content:""}.ph.ph-file-ts:before{content:""}.ph.ph-file-tsx:before{content:""}.ph.ph-file-txt:before{content:""}.ph.ph-file-video:before{content:""}.ph.ph-file-vue:before{content:""}.ph.ph-file-x:before{content:""}.ph.ph-file-xls:before{content:""}.ph.ph-file-zip:before{content:""}.ph.ph-files:before{content:""}.ph.ph-film-reel:before{content:""}.ph.ph-film-script:before{content:""}.ph.ph-film-slate:before{content:""}.ph.ph-film-strip:before{content:""}.ph.ph-fingerprint:before{content:""}.ph.ph-fingerprint-simple:before{content:""}.ph.ph-finn-the-human:before{content:""}.ph.ph-fire:before{content:""}.ph.ph-fire-extinguisher:before{content:""}.ph.ph-fire-simple:before{content:""}.ph.ph-fire-truck:before{content:""}.ph.ph-first-aid:before{content:""}.ph.ph-first-aid-kit:before{content:""}.ph.ph-fish:before{content:""}.ph.ph-fish-simple:before{content:""}.ph.ph-flag:before{content:""}.ph.ph-flag-banner:before{content:""}.ph.ph-flag-banner-fold:before{content:""}.ph.ph-flag-checkered:before{content:""}.ph.ph-flag-pennant:before{content:""}.ph.ph-flame:before{content:""}.ph.ph-flashlight:before{content:""}.ph.ph-flask:before{content:""}.ph.ph-flip-horizontal:before{content:""}.ph.ph-flip-vertical:before{content:""}.ph.ph-floppy-disk:before{content:""}.ph.ph-floppy-disk-back:before{content:""}.ph.ph-flow-arrow:before{content:""}.ph.ph-flower:before{content:""}.ph.ph-flower-lotus:before{content:""}.ph.ph-flower-tulip:before{content:""}.ph.ph-flying-saucer:before{content:""}.ph.ph-folder:before{content:""}.ph.ph-folder-notch:before{content:""}.ph.ph-folder-dashed:before{content:""}.ph.ph-folder-dotted:before{content:""}.ph.ph-folder-lock:before{content:""}.ph.ph-folder-minus:before{content:""}.ph.ph-folder-notch-minus:before{content:""}.ph.ph-folder-open:before{content:""}.ph.ph-folder-notch-open:before{content:""}.ph.ph-folder-plus:before{content:""}.ph.ph-folder-notch-plus:before{content:""}.ph.ph-folder-simple:before{content:""}.ph.ph-folder-simple-dashed:before{content:""}.ph.ph-folder-simple-dotted:before{content:""}.ph.ph-folder-simple-lock:before{content:""}.ph.ph-folder-simple-minus:before{content:""}.ph.ph-folder-simple-plus:before{content:""}.ph.ph-folder-simple-star:before{content:""}.ph.ph-folder-simple-user:before{content:""}.ph.ph-folder-star:before{content:""}.ph.ph-folder-user:before{content:""}.ph.ph-folders:before{content:""}.ph.ph-football:before{content:""}.ph.ph-football-helmet:before{content:""}.ph.ph-footprints:before{content:""}.ph.ph-fork-knife:before{content:""}.ph.ph-four-k:before{content:""}.ph.ph-frame-corners:before{content:""}.ph.ph-framer-logo:before{content:""}.ph.ph-function:before{content:""}.ph.ph-funnel:before{content:""}.ph.ph-funnel-simple:before{content:""}.ph.ph-funnel-simple-x:before{content:""}.ph.ph-funnel-x:before{content:""}.ph.ph-game-controller:before{content:""}.ph.ph-garage:before{content:""}.ph.ph-gas-can:before{content:""}.ph.ph-gas-pump:before{content:""}.ph.ph-gauge:before{content:""}.ph.ph-gavel:before{content:""}.ph.ph-gear:before{content:""}.ph.ph-gear-fine:before{content:""}.ph.ph-gear-six:before{content:""}.ph.ph-gender-female:before{content:""}.ph.ph-gender-intersex:before{content:""}.ph.ph-gender-male:before{content:""}.ph.ph-gender-neuter:before{content:""}.ph.ph-gender-nonbinary:before{content:""}.ph.ph-gender-transgender:before{content:""}.ph.ph-ghost:before{content:""}.ph.ph-gif:before{content:""}.ph.ph-gift:before{content:""}.ph.ph-git-branch:before{content:""}.ph.ph-git-commit:before{content:""}.ph.ph-git-diff:before{content:""}.ph.ph-git-fork:before{content:""}.ph.ph-git-merge:before{content:""}.ph.ph-git-pull-request:before{content:""}.ph.ph-github-logo:before{content:""}.ph.ph-gitlab-logo:before{content:""}.ph.ph-gitlab-logo-simple:before{content:""}.ph.ph-globe:before{content:""}.ph.ph-globe-hemisphere-east:before{content:""}.ph.ph-globe-hemisphere-west:before{content:""}.ph.ph-globe-simple:before{content:""}.ph.ph-globe-simple-x:before{content:""}.ph.ph-globe-stand:before{content:""}.ph.ph-globe-x:before{content:""}.ph.ph-goggles:before{content:""}.ph.ph-golf:before{content:""}.ph.ph-goodreads-logo:before{content:""}.ph.ph-google-cardboard-logo:before{content:""}.ph.ph-google-chrome-logo:before{content:""}.ph.ph-google-drive-logo:before{content:""}.ph.ph-google-logo:before{content:""}.ph.ph-google-photos-logo:before{content:""}.ph.ph-google-play-logo:before{content:""}.ph.ph-google-podcasts-logo:before{content:""}.ph.ph-gps:before{content:""}.ph.ph-gps-fix:before{content:""}.ph.ph-gps-slash:before{content:""}.ph.ph-gradient:before{content:""}.ph.ph-graduation-cap:before{content:""}.ph.ph-grains:before{content:""}.ph.ph-grains-slash:before{content:""}.ph.ph-graph:before{content:""}.ph.ph-graphics-card:before{content:""}.ph.ph-greater-than:before{content:""}.ph.ph-greater-than-or-equal:before{content:""}.ph.ph-grid-four:before{content:""}.ph.ph-grid-nine:before{content:""}.ph.ph-guitar:before{content:""}.ph.ph-hair-dryer:before{content:""}.ph.ph-hamburger:before{content:""}.ph.ph-hammer:before{content:""}.ph.ph-hand:before{content:""}.ph.ph-hand-arrow-down:before{content:""}.ph.ph-hand-arrow-up:before{content:""}.ph.ph-hand-coins:before{content:""}.ph.ph-hand-deposit:before{content:""}.ph.ph-hand-eye:before{content:""}.ph.ph-hand-fist:before{content:""}.ph.ph-hand-grabbing:before{content:""}.ph.ph-hand-heart:before{content:""}.ph.ph-hand-palm:before{content:""}.ph.ph-hand-peace:before{content:""}.ph.ph-hand-pointing:before{content:""}.ph.ph-hand-soap:before{content:""}.ph.ph-hand-swipe-left:before{content:""}.ph.ph-hand-swipe-right:before{content:""}.ph.ph-hand-tap:before{content:""}.ph.ph-hand-waving:before{content:""}.ph.ph-hand-withdraw:before{content:""}.ph.ph-handbag:before{content:""}.ph.ph-handbag-simple:before{content:""}.ph.ph-hands-clapping:before{content:""}.ph.ph-hands-praying:before{content:""}.ph.ph-handshake:before{content:""}.ph.ph-hard-drive:before{content:""}.ph.ph-hard-drives:before{content:""}.ph.ph-hard-hat:before{content:""}.ph.ph-hash:before{content:""}.ph.ph-hash-straight:before{content:""}.ph.ph-head-circuit:before{content:""}.ph.ph-headlights:before{content:""}.ph.ph-headphones:before{content:""}.ph.ph-headset:before{content:""}.ph.ph-heart:before{content:""}.ph.ph-heart-break:before{content:""}.ph.ph-heart-half:before{content:""}.ph.ph-heart-straight:before{content:""}.ph.ph-heart-straight-break:before{content:""}.ph.ph-heartbeat:before{content:""}.ph.ph-hexagon:before{content:""}.ph.ph-high-definition:before{content:""}.ph.ph-high-heel:before{content:""}.ph.ph-highlighter:before{content:""}.ph.ph-highlighter-circle:before{content:""}.ph.ph-hockey:before{content:""}.ph.ph-hoodie:before{content:""}.ph.ph-horse:before{content:""}.ph.ph-hospital:before{content:""}.ph.ph-hourglass:before{content:""}.ph.ph-hourglass-high:before{content:""}.ph.ph-hourglass-low:before{content:""}.ph.ph-hourglass-medium:before{content:""}.ph.ph-hourglass-simple:before{content:""}.ph.ph-hourglass-simple-high:before{content:""}.ph.ph-hourglass-simple-low:before{content:""}.ph.ph-hourglass-simple-medium:before{content:""}.ph.ph-house:before{content:""}.ph.ph-house-line:before{content:""}.ph.ph-house-simple:before{content:""}.ph.ph-hurricane:before{content:""}.ph.ph-ice-cream:before{content:""}.ph.ph-identification-badge:before{content:""}.ph.ph-identification-card:before{content:""}.ph.ph-image:before{content:""}.ph.ph-image-broken:before{content:""}.ph.ph-image-square:before{content:""}.ph.ph-images:before{content:""}.ph.ph-images-square:before{content:""}.ph.ph-infinity:before{content:""}.ph.ph-lemniscate:before{content:""}.ph.ph-info:before{content:""}.ph.ph-instagram-logo:before{content:""}.ph.ph-intersect:before{content:""}.ph.ph-intersect-square:before{content:""}.ph.ph-intersect-three:before{content:""}.ph.ph-intersection:before{content:""}.ph.ph-invoice:before{content:""}.ph.ph-island:before{content:""}.ph.ph-jar:before{content:""}.ph.ph-jar-label:before{content:""}.ph.ph-jeep:before{content:""}.ph.ph-joystick:before{content:""}.ph.ph-kanban:before{content:""}.ph.ph-key:before{content:""}.ph.ph-key-return:before{content:""}.ph.ph-keyboard:before{content:""}.ph.ph-keyhole:before{content:""}.ph.ph-knife:before{content:""}.ph.ph-ladder:before{content:""}.ph.ph-ladder-simple:before{content:""}.ph.ph-lamp:before{content:""}.ph.ph-lamp-pendant:before{content:""}.ph.ph-laptop:before{content:""}.ph.ph-lasso:before{content:""}.ph.ph-lastfm-logo:before{content:""}.ph.ph-layout:before{content:""}.ph.ph-leaf:before{content:""}.ph.ph-lectern:before{content:""}.ph.ph-lego:before{content:""}.ph.ph-lego-smiley:before{content:""}.ph.ph-less-than:before{content:""}.ph.ph-less-than-or-equal:before{content:""}.ph.ph-letter-circle-h:before{content:""}.ph.ph-letter-circle-p:before{content:""}.ph.ph-letter-circle-v:before{content:""}.ph.ph-lifebuoy:before{content:""}.ph.ph-lightbulb:before{content:""}.ph.ph-lightbulb-filament:before{content:""}.ph.ph-lighthouse:before{content:""}.ph.ph-lightning:before{content:""}.ph.ph-lightning-a:before{content:""}.ph.ph-lightning-slash:before{content:""}.ph.ph-line-segment:before{content:""}.ph.ph-line-segments:before{content:""}.ph.ph-line-vertical:before{content:""}.ph.ph-link:before{content:""}.ph.ph-link-break:before{content:""}.ph.ph-link-simple:before{content:""}.ph.ph-link-simple-break:before{content:""}.ph.ph-link-simple-horizontal:before{content:""}.ph.ph-link-simple-horizontal-break:before{content:""}.ph.ph-linkedin-logo:before{content:""}.ph.ph-linktree-logo:before{content:""}.ph.ph-linux-logo:before{content:""}.ph.ph-list:before{content:""}.ph.ph-list-bullets:before{content:""}.ph.ph-list-checks:before{content:""}.ph.ph-list-dashes:before{content:""}.ph.ph-list-heart:before{content:""}.ph.ph-list-magnifying-glass:before{content:""}.ph.ph-list-numbers:before{content:""}.ph.ph-list-plus:before{content:""}.ph.ph-list-star:before{content:""}.ph.ph-lock:before{content:""}.ph.ph-lock-key:before{content:""}.ph.ph-lock-key-open:before{content:""}.ph.ph-lock-laminated:before{content:""}.ph.ph-lock-laminated-open:before{content:""}.ph.ph-lock-open:before{content:""}.ph.ph-lock-simple:before{content:""}.ph.ph-lock-simple-open:before{content:""}.ph.ph-lockers:before{content:""}.ph.ph-log:before{content:""}.ph.ph-magic-wand:before{content:""}.ph.ph-magnet:before{content:""}.ph.ph-magnet-straight:before{content:""}.ph.ph-magnifying-glass:before{content:""}.ph.ph-magnifying-glass-minus:before{content:""}.ph.ph-magnifying-glass-plus:before{content:""}.ph.ph-mailbox:before{content:""}.ph.ph-map-pin:before{content:""}.ph.ph-map-pin-area:before{content:""}.ph.ph-map-pin-line:before{content:""}.ph.ph-map-pin-plus:before{content:""}.ph.ph-map-pin-simple:before{content:""}.ph.ph-map-pin-simple-area:before{content:""}.ph.ph-map-pin-simple-line:before{content:""}.ph.ph-map-trifold:before{content:""}.ph.ph-markdown-logo:before{content:""}.ph.ph-marker-circle:before{content:""}.ph.ph-martini:before{content:""}.ph.ph-mask-happy:before{content:""}.ph.ph-mask-sad:before{content:""}.ph.ph-mastodon-logo:before{content:""}.ph.ph-math-operations:before{content:""}.ph.ph-matrix-logo:before{content:""}.ph.ph-medal:before{content:""}.ph.ph-medal-military:before{content:""}.ph.ph-medium-logo:before{content:""}.ph.ph-megaphone:before{content:""}.ph.ph-megaphone-simple:before{content:""}.ph.ph-member-of:before{content:""}.ph.ph-memory:before{content:""}.ph.ph-messenger-logo:before{content:""}.ph.ph-meta-logo:before{content:""}.ph.ph-meteor:before{content:""}.ph.ph-metronome:before{content:""}.ph.ph-microphone:before{content:""}.ph.ph-microphone-slash:before{content:""}.ph.ph-microphone-stage:before{content:""}.ph.ph-microscope:before{content:""}.ph.ph-microsoft-excel-logo:before{content:""}.ph.ph-microsoft-outlook-logo:before{content:""}.ph.ph-microsoft-powerpoint-logo:before{content:""}.ph.ph-microsoft-teams-logo:before{content:""}.ph.ph-microsoft-word-logo:before{content:""}.ph.ph-minus:before{content:""}.ph.ph-minus-circle:before{content:""}.ph.ph-minus-square:before{content:""}.ph.ph-money:before{content:""}.ph.ph-money-wavy:before{content:""}.ph.ph-monitor:before{content:""}.ph.ph-monitor-arrow-up:before{content:""}.ph.ph-monitor-play:before{content:""}.ph.ph-moon:before{content:""}.ph.ph-moon-stars:before{content:""}.ph.ph-moped:before{content:""}.ph.ph-moped-front:before{content:""}.ph.ph-mosque:before{content:""}.ph.ph-motorcycle:before{content:""}.ph.ph-mountains:before{content:""}.ph.ph-mouse:before{content:""}.ph.ph-mouse-left-click:before{content:""}.ph.ph-mouse-middle-click:before{content:""}.ph.ph-mouse-right-click:before{content:""}.ph.ph-mouse-scroll:before{content:""}.ph.ph-mouse-simple:before{content:""}.ph.ph-music-note:before{content:""}.ph.ph-music-note-simple:before{content:""}.ph.ph-music-notes:before{content:""}.ph.ph-music-notes-minus:before{content:""}.ph.ph-music-notes-plus:before{content:""}.ph.ph-music-notes-simple:before{content:""}.ph.ph-navigation-arrow:before{content:""}.ph.ph-needle:before{content:""}.ph.ph-network:before{content:""}.ph.ph-network-slash:before{content:""}.ph.ph-network-x:before{content:""}.ph.ph-newspaper:before{content:""}.ph.ph-newspaper-clipping:before{content:""}.ph.ph-not-equals:before{content:""}.ph.ph-not-member-of:before{content:""}.ph.ph-not-subset-of:before{content:""}.ph.ph-not-superset-of:before{content:""}.ph.ph-notches:before{content:""}.ph.ph-note:before{content:""}.ph.ph-note-blank:before{content:""}.ph.ph-note-pencil:before{content:""}.ph.ph-notebook:before{content:""}.ph.ph-notepad:before{content:""}.ph.ph-notification:before{content:""}.ph.ph-notion-logo:before{content:""}.ph.ph-nuclear-plant:before{content:""}.ph.ph-number-circle-eight:before{content:""}.ph.ph-number-circle-five:before{content:""}.ph.ph-number-circle-four:before{content:""}.ph.ph-number-circle-nine:before{content:""}.ph.ph-number-circle-one:before{content:""}.ph.ph-number-circle-seven:before{content:""}.ph.ph-number-circle-six:before{content:""}.ph.ph-number-circle-three:before{content:""}.ph.ph-number-circle-two:before{content:""}.ph.ph-number-circle-zero:before{content:""}.ph.ph-number-eight:before{content:""}.ph.ph-number-five:before{content:""}.ph.ph-number-four:before{content:""}.ph.ph-number-nine:before{content:""}.ph.ph-number-one:before{content:""}.ph.ph-number-seven:before{content:""}.ph.ph-number-six:before{content:""}.ph.ph-number-square-eight:before{content:""}.ph.ph-number-square-five:before{content:""}.ph.ph-number-square-four:before{content:""}.ph.ph-number-square-nine:before{content:""}.ph.ph-number-square-one:before{content:""}.ph.ph-number-square-seven:before{content:""}.ph.ph-number-square-six:before{content:""}.ph.ph-number-square-three:before{content:""}.ph.ph-number-square-two:before{content:""}.ph.ph-number-square-zero:before{content:""}.ph.ph-number-three:before{content:""}.ph.ph-number-two:before{content:""}.ph.ph-number-zero:before{content:""}.ph.ph-numpad:before{content:""}.ph.ph-nut:before{content:""}.ph.ph-ny-times-logo:before{content:""}.ph.ph-octagon:before{content:""}.ph.ph-office-chair:before{content:""}.ph.ph-onigiri:before{content:""}.ph.ph-open-ai-logo:before{content:""}.ph.ph-option:before{content:""}.ph.ph-orange:before{content:""}.ph.ph-orange-slice:before{content:""}.ph.ph-oven:before{content:""}.ph.ph-package:before{content:""}.ph.ph-paint-brush:before{content:""}.ph.ph-paint-brush-broad:before{content:""}.ph.ph-paint-brush-household:before{content:""}.ph.ph-paint-bucket:before{content:""}.ph.ph-paint-roller:before{content:""}.ph.ph-palette:before{content:""}.ph.ph-panorama:before{content:""}.ph.ph-pants:before{content:""}.ph.ph-paper-plane:before{content:""}.ph.ph-paper-plane-right:before{content:""}.ph.ph-paper-plane-tilt:before{content:""}.ph.ph-paperclip:before{content:""}.ph.ph-paperclip-horizontal:before{content:""}.ph.ph-parachute:before{content:""}.ph.ph-paragraph:before{content:""}.ph.ph-parallelogram:before{content:""}.ph.ph-park:before{content:""}.ph.ph-password:before{content:""}.ph.ph-path:before{content:""}.ph.ph-patreon-logo:before{content:""}.ph.ph-pause:before{content:""}.ph.ph-pause-circle:before{content:""}.ph.ph-paw-print:before{content:""}.ph.ph-paypal-logo:before{content:""}.ph.ph-peace:before{content:""}.ph.ph-pen:before{content:""}.ph.ph-pen-nib:before{content:""}.ph.ph-pen-nib-straight:before{content:""}.ph.ph-pencil:before{content:""}.ph.ph-pencil-circle:before{content:""}.ph.ph-pencil-line:before{content:""}.ph.ph-pencil-ruler:before{content:""}.ph.ph-pencil-simple:before{content:""}.ph.ph-pencil-simple-line:before{content:""}.ph.ph-pencil-simple-slash:before{content:""}.ph.ph-pencil-slash:before{content:""}.ph.ph-pentagon:before{content:""}.ph.ph-pentagram:before{content:""}.ph.ph-pepper:before{content:""}.ph.ph-percent:before{content:""}.ph.ph-person:before{content:""}.ph.ph-person-arms-spread:before{content:""}.ph.ph-person-simple:before{content:""}.ph.ph-person-simple-bike:before{content:""}.ph.ph-person-simple-circle:before{content:""}.ph.ph-person-simple-hike:before{content:""}.ph.ph-person-simple-run:before{content:""}.ph.ph-person-simple-ski:before{content:""}.ph.ph-person-simple-snowboard:before{content:""}.ph.ph-person-simple-swim:before{content:""}.ph.ph-person-simple-tai-chi:before{content:""}.ph.ph-person-simple-throw:before{content:""}.ph.ph-person-simple-walk:before{content:""}.ph.ph-perspective:before{content:""}.ph.ph-phone:before{content:""}.ph.ph-phone-call:before{content:""}.ph.ph-phone-disconnect:before{content:""}.ph.ph-phone-incoming:before{content:""}.ph.ph-phone-list:before{content:""}.ph.ph-phone-outgoing:before{content:""}.ph.ph-phone-pause:before{content:""}.ph.ph-phone-plus:before{content:""}.ph.ph-phone-slash:before{content:""}.ph.ph-phone-transfer:before{content:""}.ph.ph-phone-x:before{content:""}.ph.ph-phosphor-logo:before{content:""}.ph.ph-pi:before{content:""}.ph.ph-piano-keys:before{content:""}.ph.ph-picnic-table:before{content:""}.ph.ph-picture-in-picture:before{content:""}.ph.ph-piggy-bank:before{content:""}.ph.ph-pill:before{content:""}.ph.ph-ping-pong:before{content:""}.ph.ph-pint-glass:before{content:""}.ph.ph-pinterest-logo:before{content:""}.ph.ph-pinwheel:before{content:""}.ph.ph-pipe:before{content:""}.ph.ph-pipe-wrench:before{content:""}.ph.ph-pix-logo:before{content:""}.ph.ph-pizza:before{content:""}.ph.ph-placeholder:before{content:""}.ph.ph-planet:before{content:""}.ph.ph-plant:before{content:""}.ph.ph-play:before{content:""}.ph.ph-play-circle:before{content:""}.ph.ph-play-pause:before{content:""}.ph.ph-playlist:before{content:""}.ph.ph-plug:before{content:""}.ph.ph-plug-charging:before{content:""}.ph.ph-plugs:before{content:""}.ph.ph-plugs-connected:before{content:""}.ph.ph-plus:before{content:""}.ph.ph-plus-circle:before{content:""}.ph.ph-plus-minus:before{content:""}.ph.ph-plus-square:before{content:""}.ph.ph-poker-chip:before{content:""}.ph.ph-police-car:before{content:""}.ph.ph-polygon:before{content:""}.ph.ph-popcorn:before{content:""}.ph.ph-popsicle:before{content:""}.ph.ph-potted-plant:before{content:""}.ph.ph-power:before{content:""}.ph.ph-prescription:before{content:""}.ph.ph-presentation:before{content:""}.ph.ph-presentation-chart:before{content:""}.ph.ph-printer:before{content:""}.ph.ph-prohibit:before{content:""}.ph.ph-prohibit-inset:before{content:""}.ph.ph-projector-screen:before{content:""}.ph.ph-projector-screen-chart:before{content:""}.ph.ph-pulse:before{content:""}.ph.ph-activity:before{content:""}.ph.ph-push-pin:before{content:""}.ph.ph-push-pin-simple:before{content:""}.ph.ph-push-pin-simple-slash:before{content:""}.ph.ph-push-pin-slash:before{content:""}.ph.ph-puzzle-piece:before{content:""}.ph.ph-qr-code:before{content:""}.ph.ph-question:before{content:""}.ph.ph-question-mark:before{content:""}.ph.ph-queue:before{content:""}.ph.ph-quotes:before{content:""}.ph.ph-rabbit:before{content:""}.ph.ph-racquet:before{content:""}.ph.ph-radical:before{content:""}.ph.ph-radio:before{content:""}.ph.ph-radio-button:before{content:""}.ph.ph-radioactive:before{content:""}.ph.ph-rainbow:before{content:""}.ph.ph-rainbow-cloud:before{content:""}.ph.ph-ranking:before{content:""}.ph.ph-read-cv-logo:before{content:""}.ph.ph-receipt:before{content:""}.ph.ph-receipt-x:before{content:""}.ph.ph-record:before{content:""}.ph.ph-rectangle:before{content:""}.ph.ph-rectangle-dashed:before{content:""}.ph.ph-recycle:before{content:""}.ph.ph-reddit-logo:before{content:""}.ph.ph-repeat:before{content:""}.ph.ph-repeat-once:before{content:""}.ph.ph-replit-logo:before{content:""}.ph.ph-resize:before{content:""}.ph.ph-rewind:before{content:""}.ph.ph-rewind-circle:before{content:""}.ph.ph-road-horizon:before{content:""}.ph.ph-robot:before{content:""}.ph.ph-rocket:before{content:""}.ph.ph-rocket-launch:before{content:""}.ph.ph-rows:before{content:""}.ph.ph-rows-plus-bottom:before{content:""}.ph.ph-rows-plus-top:before{content:""}.ph.ph-rss:before{content:""}.ph.ph-rss-simple:before{content:""}.ph.ph-rug:before{content:""}.ph.ph-ruler:before{content:""}.ph.ph-sailboat:before{content:""}.ph.ph-scales:before{content:""}.ph.ph-scan:before{content:""}.ph.ph-scan-smiley:before{content:""}.ph.ph-scissors:before{content:""}.ph.ph-scooter:before{content:""}.ph.ph-screencast:before{content:""}.ph.ph-screwdriver:before{content:""}.ph.ph-scribble:before{content:""}.ph.ph-scribble-loop:before{content:""}.ph.ph-scroll:before{content:""}.ph.ph-seal:before{content:""}.ph.ph-circle-wavy:before{content:""}.ph.ph-seal-check:before{content:""}.ph.ph-circle-wavy-check:before{content:""}.ph.ph-seal-percent:before{content:""}.ph.ph-seal-question:before{content:""}.ph.ph-circle-wavy-question:before{content:""}.ph.ph-seal-warning:before{content:""}.ph.ph-circle-wavy-warning:before{content:""}.ph.ph-seat:before{content:""}.ph.ph-seatbelt:before{content:""}.ph.ph-security-camera:before{content:""}.ph.ph-selection:before{content:""}.ph.ph-selection-all:before{content:""}.ph.ph-selection-background:before{content:""}.ph.ph-selection-foreground:before{content:""}.ph.ph-selection-inverse:before{content:""}.ph.ph-selection-plus:before{content:""}.ph.ph-selection-slash:before{content:""}.ph.ph-shapes:before{content:""}.ph.ph-share:before{content:""}.ph.ph-share-fat:before{content:""}.ph.ph-share-network:before{content:""}.ph.ph-shield:before{content:""}.ph.ph-shield-check:before{content:""}.ph.ph-shield-checkered:before{content:""}.ph.ph-shield-chevron:before{content:""}.ph.ph-shield-plus:before{content:""}.ph.ph-shield-slash:before{content:""}.ph.ph-shield-star:before{content:""}.ph.ph-shield-warning:before{content:""}.ph.ph-shipping-container:before{content:""}.ph.ph-shirt-folded:before{content:""}.ph.ph-shooting-star:before{content:""}.ph.ph-shopping-bag:before{content:""}.ph.ph-shopping-bag-open:before{content:""}.ph.ph-shopping-cart:before{content:""}.ph.ph-shopping-cart-simple:before{content:""}.ph.ph-shovel:before{content:""}.ph.ph-shower:before{content:""}.ph.ph-shrimp:before{content:""}.ph.ph-shuffle:before{content:""}.ph.ph-shuffle-angular:before{content:""}.ph.ph-shuffle-simple:before{content:""}.ph.ph-sidebar:before{content:""}.ph.ph-sidebar-simple:before{content:""}.ph.ph-sigma:before{content:""}.ph.ph-sign-in:before{content:""}.ph.ph-sign-out:before{content:""}.ph.ph-signature:before{content:""}.ph.ph-signpost:before{content:""}.ph.ph-sim-card:before{content:""}.ph.ph-siren:before{content:""}.ph.ph-sketch-logo:before{content:""}.ph.ph-skip-back:before{content:""}.ph.ph-skip-back-circle:before{content:""}.ph.ph-skip-forward:before{content:""}.ph.ph-skip-forward-circle:before{content:""}.ph.ph-skull:before{content:""}.ph.ph-skype-logo:before{content:""}.ph.ph-slack-logo:before{content:""}.ph.ph-sliders:before{content:""}.ph.ph-sliders-horizontal:before{content:""}.ph.ph-slideshow:before{content:""}.ph.ph-smiley:before{content:""}.ph.ph-smiley-angry:before{content:""}.ph.ph-smiley-blank:before{content:""}.ph.ph-smiley-meh:before{content:""}.ph.ph-smiley-melting:before{content:""}.ph.ph-smiley-nervous:before{content:""}.ph.ph-smiley-sad:before{content:""}.ph.ph-smiley-sticker:before{content:""}.ph.ph-smiley-wink:before{content:""}.ph.ph-smiley-x-eyes:before{content:""}.ph.ph-snapchat-logo:before{content:""}.ph.ph-sneaker:before{content:""}.ph.ph-sneaker-move:before{content:""}.ph.ph-snowflake:before{content:""}.ph.ph-soccer-ball:before{content:""}.ph.ph-sock:before{content:""}.ph.ph-solar-panel:before{content:""}.ph.ph-solar-roof:before{content:""}.ph.ph-sort-ascending:before{content:""}.ph.ph-sort-descending:before{content:""}.ph.ph-soundcloud-logo:before{content:""}.ph.ph-spade:before{content:""}.ph.ph-sparkle:before{content:""}.ph.ph-speaker-hifi:before{content:""}.ph.ph-speaker-high:before{content:""}.ph.ph-speaker-low:before{content:""}.ph.ph-speaker-none:before{content:""}.ph.ph-speaker-simple-high:before{content:""}.ph.ph-speaker-simple-low:before{content:""}.ph.ph-speaker-simple-none:before{content:""}.ph.ph-speaker-simple-slash:before{content:""}.ph.ph-speaker-simple-x:before{content:""}.ph.ph-speaker-slash:before{content:""}.ph.ph-speaker-x:before{content:""}.ph.ph-speedometer:before{content:""}.ph.ph-sphere:before{content:""}.ph.ph-spinner:before{content:""}.ph.ph-spinner-ball:before{content:""}.ph.ph-spinner-gap:before{content:""}.ph.ph-spiral:before{content:""}.ph.ph-split-horizontal:before{content:""}.ph.ph-split-vertical:before{content:""}.ph.ph-spotify-logo:before{content:""}.ph.ph-spray-bottle:before{content:""}.ph.ph-square:before{content:""}.ph.ph-square-half:before{content:""}.ph.ph-square-half-bottom:before{content:""}.ph.ph-square-logo:before{content:""}.ph.ph-square-split-horizontal:before{content:""}.ph.ph-square-split-vertical:before{content:""}.ph.ph-squares-four:before{content:""}.ph.ph-stack:before{content:""}.ph.ph-stack-minus:before{content:""}.ph.ph-stack-overflow-logo:before{content:""}.ph.ph-stack-plus:before{content:""}.ph.ph-stack-simple:before{content:""}.ph.ph-stairs:before{content:""}.ph.ph-stamp:before{content:""}.ph.ph-standard-definition:before{content:""}.ph.ph-star:before{content:""}.ph.ph-star-and-crescent:before{content:""}.ph.ph-star-four:before{content:""}.ph.ph-star-half:before{content:""}.ph.ph-star-of-david:before{content:""}.ph.ph-steam-logo:before{content:""}.ph.ph-steering-wheel:before{content:""}.ph.ph-steps:before{content:""}.ph.ph-stethoscope:before{content:""}.ph.ph-sticker:before{content:""}.ph.ph-stool:before{content:""}.ph.ph-stop:before{content:""}.ph.ph-stop-circle:before{content:""}.ph.ph-storefront:before{content:""}.ph.ph-strategy:before{content:""}.ph.ph-stripe-logo:before{content:""}.ph.ph-student:before{content:""}.ph.ph-subset-of:before{content:""}.ph.ph-subset-proper-of:before{content:""}.ph.ph-subtitles:before{content:""}.ph.ph-subtitles-slash:before{content:""}.ph.ph-subtract:before{content:""}.ph.ph-subtract-square:before{content:""}.ph.ph-subway:before{content:""}.ph.ph-suitcase:before{content:""}.ph.ph-suitcase-rolling:before{content:""}.ph.ph-suitcase-simple:before{content:""}.ph.ph-sun:before{content:""}.ph.ph-sun-dim:before{content:""}.ph.ph-sun-horizon:before{content:""}.ph.ph-sunglasses:before{content:""}.ph.ph-superset-of:before{content:""}.ph.ph-superset-proper-of:before{content:""}.ph.ph-swap:before{content:""}.ph.ph-swatches:before{content:""}.ph.ph-swimming-pool:before{content:""}.ph.ph-sword:before{content:""}.ph.ph-synagogue:before{content:""}.ph.ph-syringe:before{content:""}.ph.ph-t-shirt:before{content:""}.ph.ph-table:before{content:""}.ph.ph-tabs:before{content:""}.ph.ph-tag:before{content:""}.ph.ph-tag-chevron:before{content:""}.ph.ph-tag-simple:before{content:""}.ph.ph-target:before{content:""}.ph.ph-taxi:before{content:""}.ph.ph-tea-bag:before{content:""}.ph.ph-telegram-logo:before{content:""}.ph.ph-television:before{content:""}.ph.ph-television-simple:before{content:""}.ph.ph-tennis-ball:before{content:""}.ph.ph-tent:before{content:""}.ph.ph-terminal:before{content:""}.ph.ph-terminal-window:before{content:""}.ph.ph-test-tube:before{content:""}.ph.ph-text-a-underline:before{content:""}.ph.ph-text-aa:before{content:""}.ph.ph-text-align-center:before{content:""}.ph.ph-text-align-justify:before{content:""}.ph.ph-text-align-left:before{content:""}.ph.ph-text-align-right:before{content:""}.ph.ph-text-b:before{content:""}.ph.ph-text-bolder:before{content:""}.ph.ph-text-columns:before{content:""}.ph.ph-text-h:before{content:""}.ph.ph-text-h-five:before{content:""}.ph.ph-text-h-four:before{content:""}.ph.ph-text-h-one:before{content:""}.ph.ph-text-h-six:before{content:""}.ph.ph-text-h-three:before{content:""}.ph.ph-text-h-two:before{content:""}.ph.ph-text-indent:before{content:""}.ph.ph-text-italic:before{content:""}.ph.ph-text-outdent:before{content:""}.ph.ph-text-strikethrough:before{content:""}.ph.ph-text-subscript:before{content:""}.ph.ph-text-superscript:before{content:""}.ph.ph-text-t:before{content:""}.ph.ph-text-t-slash:before{content:""}.ph.ph-text-underline:before{content:""}.ph.ph-textbox:before{content:""}.ph.ph-thermometer:before{content:""}.ph.ph-thermometer-cold:before{content:""}.ph.ph-thermometer-hot:before{content:""}.ph.ph-thermometer-simple:before{content:""}.ph.ph-threads-logo:before{content:""}.ph.ph-three-d:before{content:""}.ph.ph-thumbs-down:before{content:""}.ph.ph-thumbs-up:before{content:""}.ph.ph-ticket:before{content:""}.ph.ph-tidal-logo:before{content:""}.ph.ph-tiktok-logo:before{content:""}.ph.ph-tilde:before{content:""}.ph.ph-timer:before{content:""}.ph.ph-tip-jar:before{content:""}.ph.ph-tipi:before{content:""}.ph.ph-tire:before{content:""}.ph.ph-toggle-left:before{content:""}.ph.ph-toggle-right:before{content:""}.ph.ph-toilet:before{content:""}.ph.ph-toilet-paper:before{content:""}.ph.ph-toolbox:before{content:""}.ph.ph-tooth:before{content:""}.ph.ph-tornado:before{content:""}.ph.ph-tote:before{content:""}.ph.ph-tote-simple:before{content:""}.ph.ph-towel:before{content:""}.ph.ph-tractor:before{content:""}.ph.ph-trademark:before{content:""}.ph.ph-trademark-registered:before{content:""}.ph.ph-traffic-cone:before{content:""}.ph.ph-traffic-sign:before{content:""}.ph.ph-traffic-signal:before{content:""}.ph.ph-train:before{content:""}.ph.ph-train-regional:before{content:""}.ph.ph-train-simple:before{content:""}.ph.ph-tram:before{content:""}.ph.ph-translate:before{content:""}.ph.ph-trash:before{content:""}.ph.ph-trash-simple:before{content:""}.ph.ph-tray:before{content:""}.ph.ph-tray-arrow-down:before{content:""}.ph.ph-archive-tray:before{content:""}.ph.ph-tray-arrow-up:before{content:""}.ph.ph-treasure-chest:before{content:""}.ph.ph-tree:before{content:""}.ph.ph-tree-evergreen:before{content:""}.ph.ph-tree-palm:before{content:""}.ph.ph-tree-structure:before{content:""}.ph.ph-tree-view:before{content:""}.ph.ph-trend-down:before{content:""}.ph.ph-trend-up:before{content:""}.ph.ph-triangle:before{content:""}.ph.ph-triangle-dashed:before{content:""}.ph.ph-trolley:before{content:""}.ph.ph-trolley-suitcase:before{content:""}.ph.ph-trophy:before{content:""}.ph.ph-truck:before{content:""}.ph.ph-truck-trailer:before{content:""}.ph.ph-tumblr-logo:before{content:""}.ph.ph-twitch-logo:before{content:""}.ph.ph-twitter-logo:before{content:""}.ph.ph-umbrella:before{content:""}.ph.ph-umbrella-simple:before{content:""}.ph.ph-union:before{content:""}.ph.ph-unite:before{content:""}.ph.ph-unite-square:before{content:""}.ph.ph-upload:before{content:""}.ph.ph-upload-simple:before{content:""}.ph.ph-usb:before{content:""}.ph.ph-user:before{content:""}.ph.ph-user-check:before{content:""}.ph.ph-user-circle:before{content:""}.ph.ph-user-circle-check:before{content:""}.ph.ph-user-circle-dashed:before{content:""}.ph.ph-user-circle-gear:before{content:""}.ph.ph-user-circle-minus:before{content:""}.ph.ph-user-circle-plus:before{content:""}.ph.ph-user-focus:before{content:""}.ph.ph-user-gear:before{content:""}.ph.ph-user-list:before{content:""}.ph.ph-user-minus:before{content:""}.ph.ph-user-plus:before{content:""}.ph.ph-user-rectangle:before{content:""}.ph.ph-user-sound:before{content:""}.ph.ph-user-square:before{content:""}.ph.ph-user-switch:before{content:""}.ph.ph-users:before{content:""}.ph.ph-users-four:before{content:""}.ph.ph-users-three:before{content:""}.ph.ph-van:before{content:""}.ph.ph-vault:before{content:""}.ph.ph-vector-three:before{content:""}.ph.ph-vector-two:before{content:""}.ph.ph-vibrate:before{content:""}.ph.ph-video:before{content:""}.ph.ph-video-camera:before{content:""}.ph.ph-video-camera-slash:before{content:""}.ph.ph-video-conference:before{content:""}.ph.ph-vignette:before{content:""}.ph.ph-vinyl-record:before{content:""}.ph.ph-virtual-reality:before{content:""}.ph.ph-virus:before{content:""}.ph.ph-visor:before{content:""}.ph.ph-voicemail:before{content:""}.ph.ph-volleyball:before{content:""}.ph.ph-wall:before{content:""}.ph.ph-wallet:before{content:""}.ph.ph-warehouse:before{content:""}.ph.ph-warning:before{content:""}.ph.ph-warning-circle:before{content:""}.ph.ph-warning-diamond:before{content:""}.ph.ph-warning-octagon:before{content:""}.ph.ph-washing-machine:before{content:""}.ph.ph-watch:before{content:""}.ph.ph-wave-sawtooth:before{content:""}.ph.ph-wave-sine:before{content:""}.ph.ph-wave-square:before{content:""}.ph.ph-wave-triangle:before{content:""}.ph.ph-waveform:before{content:""}.ph.ph-waveform-slash:before{content:""}.ph.ph-waves:before{content:""}.ph.ph-webcam:before{content:""}.ph.ph-webcam-slash:before{content:""}.ph.ph-webhooks-logo:before{content:""}.ph.ph-wechat-logo:before{content:""}.ph.ph-whatsapp-logo:before{content:""}.ph.ph-wheelchair:before{content:""}.ph.ph-wheelchair-motion:before{content:""}.ph.ph-wifi-high:before{content:""}.ph.ph-wifi-low:before{content:""}.ph.ph-wifi-medium:before{content:""}.ph.ph-wifi-none:before{content:""}.ph.ph-wifi-slash:before{content:""}.ph.ph-wifi-x:before{content:""}.ph.ph-wind:before{content:""}.ph.ph-windmill:before{content:""}.ph.ph-windows-logo:before{content:""}.ph.ph-wine:before{content:""}.ph.ph-wrench:before{content:""}.ph.ph-x:before{content:""}.ph.ph-x-circle:before{content:""}.ph.ph-x-logo:before{content:""}.ph.ph-x-square:before{content:""}.ph.ph-yarn:before{content:""}.ph.ph-yin-yang:before{content:""}.ph.ph-youtube-logo:before{content:""}.container{padding:18px}.section{margin-bottom:48px}.section-title,.block{margin-bottom:34px}.block-title{margin-bottom:22px}p,.text{margin-bottom:15px}.hint{margin-top:8px}.list{padding-left:22px;margin-bottom:15px}.list-item{margin-bottom:8px}.list-nested{margin-top:8px}.table{margin-bottom:22px}.table-caption{margin-bottom:8px}.form-group{margin-bottom:15px}.label{margin-bottom:5px;display:block}.input,.textarea,.select{margin-top:5px}.toast{padding:15px}.toast-stack{gap:8px}*{scrollbar-width:thin;scrollbar-color:#414868 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{width:8px;background:#414868;border-radius:9999px;cursor:default}*::-webkit-scrollbar-thumb:hover{background:#787c99}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-button{display:none}.chat-header,.context-bar,.profile-badge,.msg-meta-row,.recall-banner,.app-sidebar,.input-bar,.tabs-list{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.chat-header input,.chat-header textarea,.context-bar input,.context-bar textarea,.profile-badge input,.profile-badge textarea,.msg-meta-row input,.msg-meta-row textarea,.recall-banner input,.recall-banner textarea,.app-sidebar input,.app-sidebar textarea,.input-bar input,.input-bar textarea,.tabs-list input,.tabs-list textarea{-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default}@media(max-width:767px){textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]){font-size:16px!important}}html,body{height:100%;overflow:hidden;overscroll-behavior:none}#app{display:flex;height:100%;overflow:hidden}.app-main{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#16161e}.app-sidebar{width:380px;min-width:380px;max-width:380px;display:flex;flex-direction:column;background:#1f2335;border-right:2px solid rgba(192,202,245,.24);overflow:hidden;flex-shrink:0;transition:width .22s ease,min-width .22s ease,max-width .22s ease,border-color .22s ease,transform .28s ease}.app-sidebar.is-hidden-by-artifacts{width:0;min-width:0;max-width:0;border-right-color:transparent}@media(max-width:1279.98px){.app-sidebar{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;width:min(380px,92vw)!important;min-width:min(380px,92vw)!important;transform:translate(-100%);transition:transform .28s ease}.app-sidebar.is-mobile-open{transform:translate(0)}.app-sidebar.is-hidden-by-artifacts{width:min(380px,92vw)!important;min-width:min(380px,92vw)!important;max-width:min(380px,92vw)!important;border-right-color:#c0caf53d}}@media(max-width:980px){.app-sidebar,.app-sidebar.is-hidden-by-artifacts{width:100vw!important;min-width:100vw!important;max-width:100vw!important}}.sidebar-header{padding:15px;border-bottom:2px solid rgba(192,202,245,.24);display:flex;flex-direction:column;gap:8px}.sidebar-logo-row{display:flex;align-items:center;gap:8px}.sidebar-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex:1;min-width:0}.sidebar-logo img{width:42px;height:42px}.sidebar-logo span{font-size:16px;font-weight:700;color:#c0caf5}.sidebar-sessions{flex:1;overflow:hidden;display:flex;flex-direction:column}.sessions-header{display:flex;align-items:center;justify-content:space-between;padding:8px 15px;gap:8px}.sessions-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#787c99}.sessions-refresh-btn{font-size:14px;color:#787c99;transition:color .15s,transform .15s}.sessions-refresh-btn:hover{color:#c0caf5}.sessions-refresh-btn.is-spinning i{animation:spin .8s linear infinite}.session-item{display:flex;align-items:flex-start;gap:8px;padding:8px 15px;cursor:pointer;border-radius:0;transition:background .15s ease;position:relative}.session-item:hover{background:#1f2335}.session-item:hover .session-actions{opacity:1}@media(hover:none){.session-item .session-actions{opacity:1}}.session-item.is-active{background:#c0caf516;border-left:6px solid #7AA2F7;padding-left:9px}.session-item.is-pinned{background:#e0af6812}.session-item.is-pinned .session-name{color:#e0af68}.session-item.has-recall .session-actions{opacity:1}.session-item.is-special{opacity:.72}.session-item.is-special:hover{opacity:1}.session-item.is-special .session-name{font-weight:400}.session-icons{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;margin-top:2px;width:14px}.session-icons .session-pin-icon,.session-icons .session-recall-icon,.session-icons .session-special-icon{color:#787c99;font-size:14px;opacity:0;transition:opacity .15s ease}.session-icons .session-pin-icon{color:#e0af68}.session-icons .session-recall-icon,.session-icons .session-special-icon{color:var(--gn-color-secondary)}.is-pinned .session-icons .session-pin-icon,.has-recall .session-icons .session-recall-icon,.is-special .session-icons .session-special-icon{opacity:1}.session-info{flex:1;overflow:hidden}.session-name{font-size:13px;color:#c0caf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.session-time{font-size:11px;color:#787c99;line-height:1.4;margin-top:2px}.session-preview{font-size:12px;color:#c0caf5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;margin-top:3px}.session-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease;flex-shrink:0;align-self:flex-start;margin-top:1px}.session-actions .btn-icon{width:26px;height:26px;font-size:14px}.chat-area{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#16161e}.chat-header{display:flex;align-items:center;gap:8px;padding:8px 15px;border-bottom:2px solid rgba(192,202,245,.24);background:#1f2335;flex-shrink:0;min-height:54px}.chat-header-info{flex:1;display:flex;align-items:center;gap:8px;overflow:hidden;min-width:0}@media(max-width:768px){.chat-header-info{flex-direction:column;align-items:flex-start;gap:2px}}.chat-header-title{font-size:14px;font-weight:600;color:#c0caf5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;cursor:text}.chat-header-rename{flex:1;min-width:0;height:32px;padding:0 10px;font-size:14px;font-weight:600;font-family:inherit;color:#c0caf5;background:#c0caf516;border:1px solid #7AA2F7;border-radius:3px;outline:none}.profile-badge{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.btn-sidebar-toggle{display:none}@media(max-width:1279.98px){.btn-sidebar-toggle{display:flex}}.context-bar{display:flex;align-items:center;flex-shrink:0;cursor:default}.msg-user{display:flex;justify-content:flex-end;gap:8px}.msg-user-bubble{background:#7aa2f7;color:#16161e;padding:8px 15px;border-radius:6px;font-size:14px;line-height:1.6;word-wrap:break-word;width:100%}.msg-user-bubble .msg-user-quote{margin:0 0 5px;padding:2px 0 2px 8px;border-left:3px solid rgba(22,22,30,.35);opacity:.7;font-size:13px}.msg-user--recall .msg-user-bubble{background:color-mix(in srgb,var(--gn-color-secondary) 12%,transparent);border:1px solid color-mix(in srgb,var(--gn-color-secondary) 25%,transparent)}.msg-user--recall .msg-user-bubble .msg-user-text{color:#c0caf5}.msg-recall-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--gn-color-secondary);margin-bottom:4px;opacity:.85}.msg-user-attachments{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.msg-user-image{width:80px;height:80px;object-fit:cover;border-radius:6px;cursor:pointer;transition:opacity .15s}.msg-user-image:hover{opacity:.75}.msg-user-file-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;background:#16161e4d;border-radius:999px;font-size:12px}.msg-time{font-size:11px;color:#787c99;line-height:1;margin-top:4px}.msg-meta-row{display:flex;align-items:center;gap:8px;margin-top:2px;min-width:0}.msg-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#787c99;white-space:nowrap}.msg-meta-item i{font-size:12px;opacity:.7}.msg-user-wrap{display:flex;flex-direction:column;align-items:flex-end;max-width:70%}@media(max-width:768px){.msg-user-wrap{max-width:90%}}.msg-user-footer{display:flex;align-items:center;gap:5px;align-self:flex-end}.msg-copy-btn{width:22px;height:22px;min-width:22px;padding:0;font-size:12px;opacity:.5;transition:opacity .15s}.msg-copy-btn:hover{opacity:1}.msg-meta-row>.msg-copy-btn{margin-left:auto}.msg-meta-row .msg-rate-btn{width:22px;height:22px;min-width:22px;padding:0;font-size:13px}.msg-assistant{display:flex;flex-direction:column;gap:8px;max-width:100%}.planning-indicator{display:flex;align-items:center;gap:8px;font-size:13px;font-style:italic;color:#787c99;padding:5px 0}.planning-indicator.is-executing{color:#a9b1d6;font-style:normal}.planning-label{opacity:.75;transition:opacity .2s}.msg-assistant-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.msg-assistant-content{font-size:14px;line-height:1.7;color:#c0caf5;display:flex;flex-wrap:wrap;gap:8px}.msg-assistant-content>p,.msg-assistant-content>ul,.msg-assistant-content>ol,.msg-assistant-content>blockquote,.msg-assistant-content>pre,.msg-assistant-content>.table-wrap,.msg-assistant-content>.code-block,.msg-assistant-content>h1,.msg-assistant-content>h2,.msg-assistant-content>h3,.msg-assistant-content>h4,.msg-assistant-content>hr{flex:1 1 100%;margin:0}.msg-assistant-content>p:has(>.msg-md-image-link:only-child){flex:0 0 calc((100% - 16px) / 3)}.msg-assistant-content h1,.msg-assistant-content h2,.msg-assistant-content h3,.msg-assistant-content h4{color:#c0caf5}.msg-assistant-content ul,.msg-assistant-content ol{padding-left:22px}.msg-assistant-content li{margin-bottom:8px}.msg-assistant-content blockquote{padding-left:15px;border-left:6px solid #7AA2F7;color:#a9b1d6}.msg-assistant-content a{color:#7aa2f7}.msg-assistant-content strong{color:#c0caf5}.msg-assistant-content hr{border:none;border-top:1px solid rgba(192,202,245,.24)}.msg-assistant-content .msg-md-image-link{display:block;width:100%;text-decoration:none;border:2px solid rgba(192,202,245,.12);border-radius:3px;overflow:hidden;transition:border-color .2s ease;cursor:zoom-in}.msg-assistant-content .msg-md-image-link:hover{border-color:#7aa2f7}.msg-assistant-content .msg-md-image{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px}.msg-assistant-content .msg-md-image-link.is-broken{cursor:default;border-color:#f7768e66;background:#f7768e0f;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}.msg-assistant-content .msg-md-image-link.is-broken:before{content:"🖼️";font-size:32px;opacity:.4}.msg-assistant-content .msg-md-image-link.is-broken:hover{border-color:#f7768e66}.msg-assistant-content .msg-md-image-link.is-broken .msg-md-image{display:none}.msg-assistant-content .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:15px 0}.msg-assistant-content .table-wrap table{margin:0;border:2px solid rgba(192,202,245,.24);border-radius:3px}.msg-assistant-content .table-wrap table th,.msg-assistant-content .table-wrap table td{padding:8px 15px;font-size:13px;vertical-align:middle;text-align:left;border-bottom:2px solid rgba(192,202,245,.24)}.msg-assistant-content .table-wrap table th{font-weight:600;color:#a9b1d6;background:#1f2335}.msg-assistant-content .table-wrap table tr:last-child th,.msg-assistant-content .table-wrap table tr:last-child td{border-bottom:none}.msg-assistant-content :not(pre)>code{font-family:IBM Plex Mono,monospace;font-size:13px;background:#c0caf516;padding:1px 5px;color:#7dcfff}.msg-assistant-content .code-block{margin:15px 0;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:3px;overflow:hidden}.msg-assistant-content .code-block .code-header{display:flex;align-items:center;justify-content:space-between;padding:5px 15px;background:#c0caf516;border-bottom:2px solid rgba(192,202,245,.24);font-size:12px;color:#787c99;font-family:IBM Plex Mono,monospace}.msg-assistant-content .code-block pre{margin:0;background:#1f2335!important}.msg-assistant-content .code-block pre code{font-family:IBM Plex Mono,monospace;font-size:13px;display:block;padding:15px;overflow-x:auto}.thinking-card summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;color:#787c99;font-size:12px;font-style:italic;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;transition:background .15s ease;-webkit-user-select:none;user-select:none}.thinking-card summary::-webkit-details-marker{display:none}.thinking-card summary:hover{background:#c0caf516}.thinking-card[open] summary{border-bottom-color:transparent;border-radius:6px 6px 0 0}.thinking-card .thinking-chevron{margin-left:auto;font-size:18px;color:#787c99;flex-shrink:0;transition:transform .15s ease}.thinking-card[open] .thinking-chevron{transform:rotate(180deg)}.thinking-card .thinking-body{padding:8px 15px;font-size:12px;font-style:italic;color:#a9b1d6;line-height:1.5;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-top:none;border-radius:0 0 6px 6px;white-space:pre-wrap;word-break:break-word;max-height:800px;overflow-y:auto}.plan-card{border:2px solid #7AA2F7;border-left-width:6px;border-left-color:#7aa2f7;border-radius:6px;overflow:hidden;font-size:12px;margin-bottom:8px}.plan-card summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;background:#7aa2f714;color:#7aa2f7;font-size:12px;-webkit-user-select:none;user-select:none}.plan-card summary::-webkit-details-marker{display:none}.plan-card summary:hover{background:#7aa2f724}.plan-card summary .plan-chevron{margin-left:auto;font-size:18px;color:#7aa2f799;transition:transform .15s ease;flex-shrink:0}.plan-card[open] .plan-chevron{transform:rotate(180deg)}.plan-card .plan-body{padding:8px 15px;font-size:12px;color:#a9b1d6;line-height:1.5;background:#7aa2f70a;border-top:2px solid rgba(122,162,247,.3)}.plan-card .plan-body p{margin:0 0 8px}.plan-card .plan-body p:last-child{margin-bottom:0}.plan-card .plan-body ul,.plan-card .plan-body ol{padding-left:22px;margin-bottom:8px}.plan-card .plan-body li{margin-bottom:5px}.plan-card .plan-body strong{color:#c0caf5}.tool-card{border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;margin-bottom:8px;border-left-color:#7aa2f7;overflow:hidden;font-size:13px}.tool-card.is-success{border-left-color:#9ece6a}.tool-card.is-error{border-left-color:#f7768e}.tool-card>summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;background:#1f2335;color:#a9b1d6;-webkit-user-select:none;user-select:none}.tool-card>summary::-webkit-details-marker{display:none}.tool-card>summary:hover{background:#c0caf516}.tool-card>summary .tool-chevron{font-size:18px;color:#787c99;flex-shrink:0;transition:transform .15s ease}.tool-card[open]>summary .tool-chevron{transform:rotate(180deg)}.tool-card .tool-name{flex:1;font-family:IBM Plex Mono,monospace;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-card .tool-running-time{font-family:IBM Plex Mono,monospace;font-size:11px;color:#787c99;white-space:nowrap}.tool-card .tool-status-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:18px;flex-shrink:0}.tool-card-body{background:#1f2335;border-top:2px solid rgba(192,202,245,.24)}.tool-running-banner{display:flex;align-items:center;gap:8px;padding:8px 15px;color:#a9b1d6;background:#7aa2f714;border-bottom:1px solid rgba(192,202,245,.24);font-size:12px}.tool-section{padding:8px 15px}.tool-section+.tool-section{border-top:1px solid rgba(192,202,245,.24)}.tool-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#787c99;margin-bottom:5px}.tool-code{font-family:IBM Plex Mono,monospace;font-size:12px;color:#a9b1d6;white-space:pre-wrap;word-break:break-word}.tool-args summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:#a9b1d6;background:#1f2335}.tool-args summary::-webkit-details-marker{display:none}.tool-args summary:hover{background:#c0caf516}.tool-args summary .tool-chevron{margin-left:auto;font-size:18px;color:#787c99;transition:transform .15s ease}.tool-args[open]>summary .tool-chevron{transform:rotate(180deg)}.tool-cards-summary{display:inline-flex;align-items:center;gap:8px;padding:5px 0}.tool-fade-item{transition:none}.tool-fade-enter-active,.tool-fade-leave-active{transition:opacity .2s ease,transform .2s ease}.tool-fade-enter-from{opacity:0;transform:translateY(-4px)}.tool-fade-leave-to{opacity:0}@supports (interpolate-size: allow-keywords){details{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow:clip;transition:block-size .25s ease,content-visibility .25s ease;transition-behavior:allow-discrete}details[open]::details-content{block-size:auto}}.tool-result{font-size:12px;line-height:1.5;color:#a9b1d6}.tool-result h1,.tool-result h2,.tool-result h3,.tool-result h4{color:#c0caf5;margin:8px 0}.tool-result p{margin:5px 0}.tool-result ul,.tool-result ol{padding-left:22px;margin:5px 0}.tool-result li{margin-bottom:2px}.tool-result blockquote{padding-left:8px;border-left:6px solid #7AA2F7;color:#a9b1d6;margin:5px 0}.tool-result code{font-family:IBM Plex Mono,monospace;background:#c0caf516;padding:1px 4px;color:#7dcfff;font-size:11px}.tool-result pre{margin:5px 0;background:#1f2335;border:2px solid rgba(192,202,245,.24);overflow:hidden}.tool-result pre code{display:block;padding:8px;overflow-x:auto}.result-line{font-family:IBM Plex Mono,monospace;padding:1px 0;white-space:pre-wrap;word-break:break-word}.result-line.diff-summary,.result-line.diff-hunk,.result-line.diff-add,.result-line.diff-del,.result-line.diff-ctx{padding:0;line-height:1.3}.result-line.diff-summary,.result-line.diff-hunk{color:#a9b1d6}.result-line.diff-add{color:#9ece6a}.result-line.diff-del{color:#f7768e}.result-line.diff-ctx{color:inherit}.diff-num-marker.diff-add{color:#9ece6a}.diff-num-marker.diff-del{color:#f7768e}.diff-num-marker.diff-ctx,.diff-content{color:inherit}.read-header-path{color:#ff9e64}.read-header-rest{color:#a9b1d6}.read-warning{color:#e0af68}.read-num{color:#ff9e64}.read-content{color:inherit}.json-object,.json-array{font-family:IBM Plex Mono,monospace;display:flex;flex-direction:column;gap:1px;padding:5px 0}.json-item{display:flex;align-items:baseline;gap:5px;padding:1px 0}.json-key{color:#c0caf5;font-weight:500;flex-shrink:0}.json-sep{color:#787c99}.json-value{color:#a9b1d6;word-break:break-word;white-space:pre-wrap}.json-string{color:#9ece6a}.json-number{color:#e0af68}.json-bool{color:#c0caf5}.json-null,.json-empty{color:#787c99;font-style:italic}.subagent-steps{display:flex;flex-direction:column;gap:5px;padding:5px 15px 15px;background:#1f2335}.subagent-planning-indicator{display:flex;align-items:center;gap:8px;padding:5px 15px;font-size:12px;font-style:italic;color:#787c99;background:#1f2335}.task-update-step{display:flex;align-items:baseline;gap:8px;padding:5px 15px;font-size:12px;color:#a9b1d6;background:#1f2335}.task-update-step i{font-size:14px;color:#e0af68;flex:none}.task-update-step .task-step-tool{color:#c0caf5;font-weight:500}.task-update-step .task-step-status{color:#787c99;font-style:italic}.task-update-step .task-step-preview{color:#a9b1d6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-update-step.completed i{color:#9ece6a}.task-update-step.completed .task-step-status{color:#9ece6a;font-style:normal}.task-update-step.failed i,.task-update-step.cancelled i{color:#f7768e}.task-update-step.failed .task-step-status,.task-update-step.cancelled .task-step-status{color:#f7768e;font-style:normal}.task-update-step .task-spin{animation:task-spin 1s linear infinite}@keyframes task-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.subagent-step{border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-left-color:#7aa2f7;border-radius:6px;overflow:hidden;margin-bottom:8px;font-size:12px}.subagent-step.is-success{border-left-color:#9ece6a}.subagent-step.is-error{border-left-color:#f7768e}.subagent-step summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;background:#1f2335;color:#a9b1d6;-webkit-user-select:none;user-select:none}.subagent-step summary::-webkit-details-marker{display:none}.subagent-step summary:hover{background:#c0caf516}.subagent-step .tool-name{flex:1;font-family:IBM Plex Mono,monospace;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subagent-step .tool-running-time{font-family:IBM Plex Mono,monospace;font-size:11px;color:#787c99;white-space:nowrap}.subagent-step .tool-status-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:18px;flex-shrink:0}.subagent-step .tool-chevron{font-size:18px;color:#787c99;flex-shrink:0;transition:transform .15s ease}.subagent-step[open]>summary .tool-chevron{transform:rotate(180deg)}.summary-card{border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-left-color:#bb9af7;border-radius:6px;overflow:hidden;font-size:13px}.summary-card summary{list-style:none;display:flex;align-items:center;gap:8px;padding:8px 15px;cursor:pointer;background:#bb9af714;color:#bb9af7;-webkit-user-select:none;user-select:none}.summary-card summary::-webkit-details-marker{display:none}.compression-notice{font-size:12px}.compression-notice summary{list-style:none;text-align:center;padding:8px;color:#787c99;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.compression-notice summary::-webkit-details-marker{display:none}.compression-notice summary:before,.compression-notice summary:after{content:"";flex:1;height:1px;background:#c0caf53d}.compression-notice .compression-counts{opacity:.7}.compression-notice .compression-chevron{font-size:18px;transition:transform .15s ease}.compression-notice[open] .compression-chevron{transform:rotate(180deg)}.compression-notice .compression-body{padding:15px;font-size:13px;color:#a9b1d6;line-height:1.6;background:#1f2335;border:2px solid rgba(192,202,245,.24)}.input-bar{flex-shrink:0;padding:8px 15px;background:#16161e;border-top:2px solid rgba(192,202,245,.24)}@media(max-width:767px){.input-bar{padding:0}}.input-dropzone{position:relative}.input-dropzone.is-dragging:after{content:"Drop files here";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#7aa2f71f;border:2px dashed #7AA2F7;font-size:14px;color:#7aa2f7;pointer-events:none;z-index:10}.file-preview-strip{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px;max-width:920px;margin-left:auto;margin-right:auto}@media(max-width:767px){.file-preview-strip{padding-top:8px}}.file-preview-image{position:relative;width:60px;height:60px}.file-preview-image img{width:100%;height:100%;object-fit:cover;border:2px solid rgba(192,202,245,.24)}.file-preview-pill.file-preview-pill{text-transform:none;max-width:180px}.file-preview-pill.file-preview-pill .file-preview-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-image{border:2px solid rgba(192,202,245,.24);border-radius:3px;overflow:hidden;background:#1f2335}.file-preview-remove{background:none;border:none;cursor:pointer;color:#787c99;padding:0;display:flex;align-items:center;font-size:14px;transition:color .15s ease;flex-shrink:0}.file-preview-remove:hover{color:#f7768e}.upload-progress{height:2px;background:#c0caf516;margin-bottom:5px;overflow:hidden}.upload-progress-fill{height:100%;background:#7aa2f7;transition:width .2s ease}.upload-progress.is-indeterminate .upload-progress-fill{width:30%;transition:none;animation:upload-slide 1.1s ease-in-out infinite}@keyframes upload-slide{0%{transform:translate(-110%)}to{transform:translate(440%)}}.input-row{display:flex;align-items:center;gap:8px;background:#1f2335;border:2px solid #C0CAF5;border-radius:3px;padding:8px;max-width:920px;margin:0 auto}.input-row:hover{border-bottom-color:#787c99}.input-row:focus-within{border-color:#7aa2f7;background:transparent}@media(max-width:767px){.input-row{border:none;border-radius:0;max-width:none;padding:8px 15px}}.input-textarea{flex:1;background:none;border:none;outline:none;resize:none;color:#c0caf5;font-size:14px;line-height:1.5;font-family:inherit;min-height:24px;max-height:144px;overflow-y:auto;padding:2px 0}.input-textarea::placeholder{color:#787c99}.welcome-screen{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;gap:34px;text-align:center}@media(max-width:768px){.welcome-screen{padding:52px 15px 15px;gap:15px;justify-content:flex-start}}.welcome-logo{display:flex;flex-direction:column;align-items:center;gap:8px}.welcome-logo img{width:64px;height:64px}.welcome-logo h1{font-size:30px;font-weight:600;color:#c0caf5;margin:0}.welcome-logo p{font-size:var(--gn-font-size-base);color:#a9b1d6;margin:0}@media(max-width:768px){.welcome-logo{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px}.welcome-logo img{width:36px;height:36px}.welcome-logo h1{font-size:22px}.welcome-logo p{font-size:13px;flex-basis:100%}}.welcome-profiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;width:min(100%,880px)}@media(max-width:768px){.welcome-profiles{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:100%}}.welcome-profile-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;cursor:pointer;transition:border-color .15s ease,background .15s ease;width:100%;text-align:center}.welcome-profile-card:hover{border-color:#7aa2f7;background:#c0caf516}.welcome-profile-card.is-creating{opacity:.6;pointer-events:none}.welcome-profile-card .profile-name{font-size:14px;font-weight:600;color:#c0caf5}.welcome-profile-card .profile-desc{font-size:12px;color:#787c99;line-height:1.4}@media(max-width:768px){.welcome-profile-card{width:auto;padding:10px;gap:6px}.welcome-profile-card .profile-name{font-size:13px}.welcome-profile-card .profile-desc{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.empty-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(192,202,245,.24);border-top-color:#7aa2f7;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease}.fade-enter-from,.fade-leave-to{opacity:0}.msg-enter{animation:msgEnter .2s ease both}@keyframes msgEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-left-enter-active,.slide-left-leave-active{transition:transform .28s ease,opacity .28s ease}.slide-left-enter-from,.slide-left-leave-to{transform:translate(-100%);opacity:0}.modal-enter-active,.modal-leave-active{transition:opacity .28s ease}.modal-enter-active .modal-panel,.modal-leave-active .modal-panel{transition:opacity .28s ease,margin-top .28s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-panel,.modal-leave-to .modal-panel{opacity:0;margin-top:200px}.tool-card[open]>summary .tool-chevron,.thinking-card[open]>summary .tool-chevron{transform:rotate(180deg)!important}.msg-flash{animation:msgFlash 2.5s ease-out}@keyframes msgFlash{0%{filter:brightness(1)}15%{filter:brightness(1.4);background-color:#7aa2f71f}40%{filter:brightness(1.4);background-color:#7aa2f71f}to{filter:brightness(1)}}
diff --git a/webclient/dist/assets/index-Bg3aWTEG.css b/webclient/dist/assets/index-Bg3aWTEG.css
deleted file mode 100644
index 3525342..0000000
--- a/webclient/dist/assets/index-Bg3aWTEG.css
+++ /dev/null
@@ -1 +0,0 @@
-@charset "UTF-8";.container[data-v-308a2eeb]{padding:18px}.section[data-v-308a2eeb]{margin-bottom:48px}.section-title[data-v-308a2eeb],.block[data-v-308a2eeb]{margin-bottom:34px}.block-title[data-v-308a2eeb]{margin-bottom:22px}p[data-v-308a2eeb],.text[data-v-308a2eeb]{margin-bottom:15px}.hint[data-v-308a2eeb]{margin-top:8px}.list[data-v-308a2eeb]{padding-left:22px;margin-bottom:15px}.list-item[data-v-308a2eeb]{margin-bottom:8px}.list-nested[data-v-308a2eeb]{margin-top:8px}.table[data-v-308a2eeb]{margin-bottom:22px}.table-caption[data-v-308a2eeb]{margin-bottom:8px}.form-group[data-v-308a2eeb]{margin-bottom:15px}.label[data-v-308a2eeb]{margin-bottom:5px;display:block}.input[data-v-308a2eeb],.textarea[data-v-308a2eeb],.select[data-v-308a2eeb]{margin-top:5px}.toast[data-v-308a2eeb]{padding:15px}.toast-stack[data-v-308a2eeb]{gap:8px}.search-highlight[data-v-308a2eeb]{background:#7aa2f740;color:#7aa2f7;font-weight:600;padding:0 2px;border-radius:2px}.session-name-row[data-v-308a2eeb]{display:flex;align-items:center;gap:6px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recall-badge[data-v-308a2eeb]{color:var(--gn-color-accent);font-size:.85em;flex-shrink:0}.session-list-wrap[data-v-306ab182]{flex:1;overflow:hidden;display:flex;flex-direction:column}.session-scroller[data-v-306ab182]{flex:1;overflow-y:auto}.empty-sessions[data-v-306ab182]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--gn-color-text-dark);font-size:13px}.empty-sessions i[data-v-306ab182]{font-size:32px;opacity:.4}.empty-sessions p[data-v-306ab182]{margin:0}.sessions-loading[data-v-306ab182]{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 16px;color:var(--gn-color-text-dark);font-size:12px}.sessions-loading-more[data-v-306ab182]{padding:10px 16px 14px}.sessions-spinner[data-v-306ab182]{width:16px;height:16px;border:2px solid var(--gn-border-color-muted);border-top-color:var(--gn-color-secondary);border-radius:50%;animation:sessions-spin-306ab182 .8s linear infinite}@keyframes sessions-spin-306ab182{to{transform:rotate(360deg)}}.ptr-indicator[data-v-306ab182]{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;font-size:12px;color:var(--gn-color-text-dark);pointer-events:none;transition:opacity .15s,transform .15s;will-change:transform,opacity}.ptr-spinner[data-v-306ab182]{width:16px;height:16px;border:2px solid var(--gn-border-color-muted);border-top-color:var(--gn-color-secondary);border-radius:50%;transition:transform .15s}.ptr-spinning[data-v-306ab182]{animation:sessions-spin-306ab182 .8s linear infinite}.ptr-pulled[data-v-306ab182]{transition:transform .15s}@media(min-width:769px){.ptr-indicator[data-v-306ab182]{display:none}}.container[data-v-7de86c3c]{padding:18px}.section[data-v-7de86c3c]{margin-bottom:48px}.section-title[data-v-7de86c3c],.block[data-v-7de86c3c]{margin-bottom:34px}.block-title[data-v-7de86c3c]{margin-bottom:22px}p[data-v-7de86c3c],.text[data-v-7de86c3c]{margin-bottom:15px}.hint[data-v-7de86c3c]{margin-top:8px}.list[data-v-7de86c3c]{padding-left:22px;margin-bottom:15px}.list-item[data-v-7de86c3c]{margin-bottom:8px}.list-nested[data-v-7de86c3c]{margin-top:8px}.table[data-v-7de86c3c]{margin-bottom:22px}.table-caption[data-v-7de86c3c]{margin-bottom:8px}.form-group[data-v-7de86c3c]{margin-bottom:15px}.label[data-v-7de86c3c]{margin-bottom:5px;display:block}.input[data-v-7de86c3c],.textarea[data-v-7de86c3c],.select[data-v-7de86c3c]{margin-top:5px}.toast[data-v-7de86c3c]{padding:15px}.toast-stack[data-v-7de86c3c]{gap:8px}.sidebar-close-btn[data-v-7de86c3c]{display:none}@media(max-width:1279.98px){.sidebar-close-btn[data-v-7de86c3c]{display:flex}}.sidebar-search[data-v-7de86c3c]{display:none;padding:0 15px}.sidebar-search.is-open[data-v-7de86c3c]{display:block;padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--gn-border-color-muted)}.sidebar-search-inner[data-v-7de86c3c]{position:relative;display:flex;align-items:center;gap:5px}.sidebar-search-inner[data-v-7de86c3c] .search-field{flex:1;min-width:0}.sidebar-search-inner.is-loading[data-v-7de86c3c] .input-group-addon{position:relative!important}.sidebar-search-inner.is-loading[data-v-7de86c3c] .input-group-addon>i{display:none!important}.sidebar-search-inner.is-loading[data-v-7de86c3c] .input-group-addon:after{content:"";display:block;width:12px;height:12px;border:2px solid rgba(192,202,245,.24);border-top-color:#7aa2f7;border-radius:50%;animation:spin .6s linear infinite;margin:auto}.sessions-profiles[data-v-7de86c3c]{display:flex;gap:6px;padding:8px 15px 5px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.sessions-profiles[data-v-7de86c3c]::-webkit-scrollbar{display:none}.sessions-profiles .chip[data-v-7de86c3c]{flex:0 0 auto}.sessions-profiles[data-v-7de86c3c] .chip:before{display:none}.sessions-header-actions[data-v-7de86c3c]{display:flex;align-items:center;gap:2px}.search-toggle-btn[data-v-7de86c3c]{font-size:14px;color:#787c99;transition:color .15s}.search-toggle-btn.active[data-v-7de86c3c],.search-toggle-btn[data-v-7de86c3c]:hover{color:#c0caf5}.recall-filter-btn[data-v-7de86c3c]{font-size:14px;color:#787c99;transition:color .15s}.recall-filter-btn.active[data-v-7de86c3c],.recall-filter-btn[data-v-7de86c3c]:hover{color:var(--gn-color-secondary)}.special-filter-btn[data-v-7de86c3c]{font-size:14px;color:#787c99;transition:color .15s}.special-filter-btn.active[data-v-7de86c3c],.special-filter-btn[data-v-7de86c3c]:hover{color:var(--gn-color-secondary)}.sidebar-footer[data-v-7de86c3c]{padding:12px 16px;border-top:1px solid var(--gn-border-color-muted);display:flex;align-items:center;justify-content:space-between;gap:8px}.user-info[data-v-7de86c3c]{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;flex:1;min-width:0;cursor:pointer}.user-info:hover .user-name[data-v-7de86c3c]{color:var(--gn-color-text-light)}.user-name[data-v-7de86c3c]{font-size:13px;color:var(--gn-color-text-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer-actions[data-v-7de86c3c]{display:flex;align-items:center;gap:8px}.admin-link[data-v-7de86c3c]{text-decoration:none}.lightbox-dialog{max-width:90vw;min-width:280px}body .modal .lightbox-dialog .lightbox-panel{justify-content:center;cursor:default}body .modal .lightbox-panel .modal-body{max-height:90vh;padding:0;display:flex;align-items:center;justify-content:center}.lightbox-img{display:block;width:auto;height:auto;max-width:100%;max-height:90vh}.lightbox-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--gn-color-text-dark);font-size:13px}.lightbox-error i{font-size:32px}.selection-toolbar[data-v-b94aaefd]{position:fixed;transform:translate(-50%);z-index:900;pointer-events:all;background:var(--gn-color-warning);color:var(--gn-color-black)}.container[data-v-07ae46cf]{padding:18px}.section[data-v-07ae46cf]{margin-bottom:48px}.section-title[data-v-07ae46cf],.block[data-v-07ae46cf]{margin-bottom:34px}.block-title[data-v-07ae46cf]{margin-bottom:22px}p[data-v-07ae46cf],.text[data-v-07ae46cf]{margin-bottom:15px}.hint[data-v-07ae46cf]{margin-top:8px}.list[data-v-07ae46cf]{padding-left:22px;margin-bottom:15px}.list-item[data-v-07ae46cf]{margin-bottom:8px}.list-nested[data-v-07ae46cf]{margin-top:8px}.table[data-v-07ae46cf]{margin-bottom:22px}.table-caption[data-v-07ae46cf]{margin-bottom:8px}.form-group[data-v-07ae46cf]{margin-bottom:15px}.label[data-v-07ae46cf]{margin-bottom:5px;display:block}.input[data-v-07ae46cf],.textarea[data-v-07ae46cf],.select[data-v-07ae46cf]{margin-top:5px}.toast[data-v-07ae46cf]{padding:15px}.toast-stack[data-v-07ae46cf]{gap:8px}.artifacts-panel[data-v-07ae46cf]{container-type:inline-size;width:var(--artifacts-width, min(600px, 42vw));min-width:var(--artifacts-width, min(600px, 42vw));max-width:var(--artifacts-width, min(600px, 42vw));display:flex;flex-direction:column;background:var(--gn-color-black);border-left:2px solid var(--gn-border-color-muted);min-height:0;margin-right:calc(-1 * var(--artifacts-width, min(600px, 42vw)));opacity:0;pointer-events:none;transform:translate(100%);position:relative;transition:margin-right .22s ease,opacity .22s ease,transform .22s ease}.artifacts-panel.is-open[data-v-07ae46cf]{margin-right:0;opacity:1;pointer-events:auto;transform:translate(0)}.artifacts-panel.is-resizing[data-v-07ae46cf]{transition:none}.artifacts-resize-handle[data-v-07ae46cf]{position:absolute;top:0;left:-4px;bottom:0;width:8px;z-index:2;cursor:col-resize;touch-action:none}.artifacts-resize-handle[data-v-07ae46cf]:after{content:"";position:absolute;top:0;left:3px;width:1px;height:100%;background:transparent;transition:background .15s ease}.artifacts-resize-handle[data-v-07ae46cf]:hover:after,.artifacts-panel.is-resizing .artifacts-resize-handle[data-v-07ae46cf]:after{background:var(--gn-color-accent)}.artifacts-header[data-v-07ae46cf]{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-bottom:2px solid var(--gn-border-color-muted)}.artifacts-empty[data-v-07ae46cf]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--gn-color-text-dark);font-size:13px}.artifacts-tabs[data-v-07ae46cf]{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;flex:1;min-width:0}.artifacts-tab[data-v-07ae46cf]{min-width:0;white-space:nowrap}@container (max-width: 560px){.artifacts-tab[data-v-07ae46cf]{padding:4px 10px;font-size:11px;gap:6px}.artifacts-tabs[data-v-07ae46cf]{gap:6px}}@container (max-width: 490px){.artifacts-tab[data-v-07ae46cf]{padding:3px 8px;font-size:10px;gap:5px}}@container (max-width: 400px){.artifacts-tab[data-v-07ae46cf]{padding:2px 6px}.artifacts-tab-count[data-v-07ae46cf]{padding-left:3px}}@container (max-width: 360px){.artifacts-tab i[data-v-07ae46cf]{display:none}}.artifacts-tab-count[data-v-07ae46cf]{padding-left:4px;opacity:.72}.artifacts-tab-count.has-running[data-v-07ae46cf]{color:var(--gn-color-success);opacity:1}.artifacts-list[data-v-07ae46cf]{max-height:232px;overflow-y:auto;border-bottom:2px solid var(--gn-border-color-muted)}.viewed-images-group[data-v-07ae46cf]{flex-shrink:0;border-bottom:2px solid var(--gn-border-color-muted);background:var(--gn-surface-panel-muted)}.viewed-images-header[data-v-07ae46cf]{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;color:var(--gn-color-text-medium)}.viewed-images-header i[data-v-07ae46cf]{font-size:14px;color:var(--gn-color-secondary)}.viewed-images-grid[data-v-07ae46cf]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;padding:0 12px 12px;max-height:320px;overflow-y:auto}.viewed-image-thumb[data-v-07ae46cf]{width:100%;height:96px;object-fit:cover;border:1px solid var(--gn-border-color-muted);border-radius:6px;cursor:zoom-in;transition:border-color var(--gn-motion-fast) var(--gn-motion-ease),opacity var(--gn-motion-fast) var(--gn-motion-ease)}.viewed-image-thumb[data-v-07ae46cf]:hover{border-color:var(--gn-color-secondary);opacity:.85}.artifact-item[data-v-07ae46cf]{width:100%;min-height:50px;display:flex;align-items:center;gap:10px;padding:8px 12px;border:0;border-left:var(--gn-border-width-accent) solid transparent;background:transparent;color:var(--gn-color-text-light);text-align:left;cursor:pointer;transition:background var(--gn-motion-fast) var(--gn-motion-ease),border-color var(--gn-motion-fast) var(--gn-motion-ease)}.artifact-item[data-v-07ae46cf]:hover{background:color-mix(in srgb,var(--gn-color-text-light) 7%,transparent)}.artifact-item.is-active[data-v-07ae46cf]{border-left-color:var(--gn-color-secondary);background:var(--gn-surface-panel-muted)}.artifact-icon[data-v-07ae46cf]{display:inline-flex;flex-shrink:0;color:var(--gn-color-accent);font-size:20px}.artifact-info[data-v-07ae46cf]{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.artifact-title[data-v-07ae46cf],.artifact-detail-title[data-v-07ae46cf],.artifact-detail-filename[data-v-07ae46cf]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-title[data-v-07ae46cf]{font-size:13px;font-weight:500}.artifact-meta[data-v-07ae46cf]{font-size:11px;color:var(--gn-color-text-dark)}.artifact-detail[data-v-07ae46cf]{flex:1;min-height:0;display:flex;flex-direction:column}.artifact-detail-header[data-v-07ae46cf]{padding:12px 15px 8px}.artifact-detail-title[data-v-07ae46cf]{font-size:14px;font-weight:600;color:var(--gn-color-text-light)}.artifact-detail-filename[data-v-07ae46cf]{margin-top:3px;font-size:12px;color:var(--gn-color-text-dark)}.artifact-actions[data-v-07ae46cf]{display:flex;flex-wrap:wrap;gap:4px;padding:0 15px 12px}.artifact-preview[data-v-07ae46cf]{flex:1;min-height:0;border-top:2px solid var(--gn-border-color-muted);background:var(--gn-color-black)}.artifact-frame[data-v-07ae46cf],.artifact-image[data-v-07ae46cf],.artifact-video[data-v-07ae46cf]{width:100%;height:100%;border:0;display:block}.artifact-image[data-v-07ae46cf],.artifact-video[data-v-07ae46cf]{object-fit:contain}.artifact-source[data-v-07ae46cf]{height:100%;overflow:auto;background:var(--gn-color-black)}.artifact-source-code[data-v-07ae46cf],.artifact-source-error[data-v-07ae46cf]{margin:0;padding:14px;white-space:pre;font-family:var(--gn-font-family-base);font-size:12px;line-height:1.6;color:var(--gn-color-text-light)}.artifact-source-error[data-v-07ae46cf]{color:var(--gn-color-error)}.artifact-source-state[data-v-07ae46cf]{display:flex;align-items:center;gap:8px;padding:14px;color:var(--gn-color-text-dark);font-size:12px}.artifact-no-preview[data-v-07ae46cf]{height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--gn-color-text-dark);font-size:13px}.artifact-no-preview i[data-v-07ae46cf]{font-size:28px}.links-list[data-v-07ae46cf]{max-height:none;flex:1;overflow-y:auto}.link-item[data-v-07ae46cf]{text-decoration:none}.link-item .artifact-title[data-v-07ae46cf]{color:var(--gn-color-accent)}.link-item:hover .artifact-title[data-v-07ae46cf],.link-item.is-active .artifact-title[data-v-07ae46cf]{color:var(--gn-color-text-light)}.link-detail[data-v-07ae46cf]{padding:12px 15px;border-top:2px solid var(--gn-border-color-muted)}.link-detail-header[data-v-07ae46cf]{margin-bottom:8px}.link-detail-count[data-v-07ae46cf]{font-size:12px;color:var(--gn-color-text-dark)}.link-actions[data-v-07ae46cf]{display:flex;gap:6px}.files-list[data-v-07ae46cf]{max-height:none;flex:1;overflow-y:auto}.file-item[data-v-07ae46cf],.file-item.is-dir[data-v-07ae46cf]{cursor:default}.file-item.is-dir .artifact-title[data-v-07ae46cf]{color:var(--gn-color-text-medium)}.file-row-actions[data-v-07ae46cf]{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.file-item:hover .file-row-actions[data-v-07ae46cf]{opacity:1}.file-row-action[data-v-07ae46cf]{width:28px;height:28px;min-height:0;padding:0}@media(max-width:980px){.artifacts-panel[data-v-07ae46cf]{position:fixed;top:0;right:0;bottom:0;z-index:120;margin-right:0;transform:translate(100%);width:100vw;min-width:100vw;max-width:100vw}.artifacts-resize-handle[data-v-07ae46cf]{display:none}.artifacts-panel.is-open[data-v-07ae46cf]{transform:translate(0)}.artifacts-header[data-v-07ae46cf]{gap:6px;padding:0 10px}.artifacts-tab[data-v-07ae46cf]{padding:8px 10px;gap:4px}.artifacts-tab>span[data-v-07ae46cf]:not(.artifacts-tab-count){display:none}}@media(prefers-reduced-motion:reduce){.artifacts-panel[data-v-07ae46cf]{transition:none}}.files-toolbar[data-v-07ae46cf]{display:flex;align-items:center;justify-content:flex-end;padding:8px 12px 2px}.files-tab-wrap[data-v-07ae46cf]{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.files-refresh-btn[data-v-07ae46cf]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:980px){.files-refresh-btn[data-v-07ae46cf]{display:none}}.files-ptr[data-v-07ae46cf]{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;font-size:12px;color:var(--gn-color-text-dark);pointer-events:none;transition:opacity .15s,transform .15s;will-change:transform,opacity}.ptr-pulled[data-v-07ae46cf]{transition:transform .15s}@media(min-width:981px){.files-ptr[data-v-07ae46cf]{display:none}}.terminals-list[data-v-07ae46cf]{max-height:none;flex:1;overflow-y:auto}.terminal-item.is-closed[data-v-07ae46cf]{opacity:.6}.terminal-item .artifact-meta[data-v-07ae46cf]{white-space:normal;word-break:break-word;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.terminal-detail[data-v-07ae46cf]{flex:1;min-height:0;display:flex;flex-direction:column;border-top:2px solid var(--gn-border-color-muted);overflow-y:auto}.terminal-detail-header[data-v-07ae46cf]{padding:12px 15px 8px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.terminal-detail-title-wrap[data-v-07ae46cf]{min-width:0}.artifacts-tab-count.has-running[data-v-07ae46cf]{background:var(--gn-color-success);color:var(--gn-color-black)}.terminal-detail-title[data-v-07ae46cf]{font-size:14px;font-weight:600;color:var(--gn-color-text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-detail-close[data-v-07ae46cf]{flex-shrink:0}.terminal-detail-meta[data-v-07ae46cf]{margin-top:3px;font-size:12px;color:var(--gn-color-text-dark);word-break:break-word;line-height:1.5}.terminal-detail-grid[data-v-07ae46cf]{display:flex;flex-direction:column;gap:6px;padding:0 15px 12px;border-bottom:2px solid color-mix(in srgb,var(--gn-color-text-light) 12%,transparent)}.terminal-detail-row[data-v-07ae46cf]{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.terminal-detail-label[data-v-07ae46cf]{color:var(--gn-color-text-dark);flex-shrink:0}.terminal-detail-value[data-v-07ae46cf]{color:var(--gn-color-text-light);text-align:right;word-break:break-all}.terminal-detail-value.status-busy[data-v-07ae46cf]{color:var(--gn-color-success)}.terminal-detail-value.status-idle[data-v-07ae46cf]{color:var(--gn-color-secondary)}.terminal-detail-value.status-closed[data-v-07ae46cf]{color:var(--gn-color-error)}.terminal-detail-command[data-v-07ae46cf]{font-family:var(--gn-font-family-base);font-size:11px;color:var(--gn-color-accent)}.terminal-output-wrap[data-v-07ae46cf]{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--gn-color-black)}.terminal-output-header[data-v-07ae46cf]{padding:8px 15px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gn-color-text-dark);border-bottom:2px solid color-mix(in srgb,var(--gn-color-text-light) 12%,transparent)}.terminal-output[data-v-07ae46cf]{flex:1;margin:0;padding:14px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--gn-font-family-base);font-size:12px;line-height:1.6;color:var(--gn-color-text-light)}.login-overlay[data-v-07af6970]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--gn-color-black);z-index:9999}.login-card[data-v-07af6970]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 40px;border:1px solid var(--gn-border-color-muted);border-radius:16px;max-width:360px;width:90%}.login-logo[data-v-07af6970]{width:64px;height:64px}.login-title[data-v-07af6970]{font-size:24px;font-weight:700;color:var(--gn-color-text-light);margin:0}.login-subtitle[data-v-07af6970]{font-size:14px;color:var(--gn-color-text-medium);margin:0}.login-btn[data-v-07af6970]{margin-top:8px;width:100%;justify-content:center}.container[data-v-2f8cc0a8]{padding:18px}.section[data-v-2f8cc0a8]{margin-bottom:48px}.section-title[data-v-2f8cc0a8],.block[data-v-2f8cc0a8]{margin-bottom:34px}.block-title[data-v-2f8cc0a8]{margin-bottom:22px}p[data-v-2f8cc0a8],.text[data-v-2f8cc0a8]{margin-bottom:15px}.hint[data-v-2f8cc0a8]{margin-top:8px}.list[data-v-2f8cc0a8]{padding-left:22px;margin-bottom:15px}.list-item[data-v-2f8cc0a8]{margin-bottom:8px}.list-nested[data-v-2f8cc0a8]{margin-top:8px}.table[data-v-2f8cc0a8]{margin-bottom:22px}.table-caption[data-v-2f8cc0a8]{margin-bottom:8px}.form-group[data-v-2f8cc0a8]{margin-bottom:15px}.label[data-v-2f8cc0a8]{margin-bottom:5px;display:block}.input[data-v-2f8cc0a8],.textarea[data-v-2f8cc0a8],.select[data-v-2f8cc0a8]{margin-top:5px}.toast[data-v-2f8cc0a8]{padding:15px}.toast-stack[data-v-2f8cc0a8]{gap:8px}.offline-banner[data-v-2f8cc0a8]{display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 15px;background:#ff9e6426;color:#ff9e64;font-size:12px;border-bottom:1px solid rgba(255,158,100,.3)}.offline-banner i[data-v-2f8cc0a8]{font-size:16px;flex-shrink:0}.offline-slide-enter-active[data-v-2f8cc0a8],.offline-slide-leave-active[data-v-2f8cc0a8]{transition:max-height .25s ease,opacity .25s ease;overflow:hidden}.offline-slide-enter-from[data-v-2f8cc0a8],.offline-slide-leave-to[data-v-2f8cc0a8]{max-height:0;opacity:0}.offline-slide-enter-to[data-v-2f8cc0a8],.offline-slide-leave-from[data-v-2f8cc0a8]{max-height:48px;opacity:1}.welcome-sidebar-btn[data-v-0ba11e7d]{display:none;position:absolute;top:12px;left:12px}@media(max-width:1279.98px){.welcome-sidebar-btn[data-v-0ba11e7d]{display:flex}}.context-bar-pct[data-v-6810168f]{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--gn-color-success);white-space:nowrap}.context-bar-pct.is-warn[data-v-6810168f]{color:var(--gn-color-warning)}.context-bar-pct.is-crit[data-v-6810168f]{color:var(--gn-color-error)}.btn-artifacts-toggle[data-v-47d78bd2]{position:relative}.artifact-count[data-v-47d78bd2]{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-size:10px;line-height:1;background:var(--gn-color-secondary);color:var(--gn-color-black)}.recall-banner[data-v-47d78bd2]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:color-mix(in srgb,var(--gn-color-secondary) 12%,transparent);border-bottom:1px solid var(--gn-border-color-muted);font-size:12px;color:var(--gn-color-text-medium)}.recall-banner i[data-v-47d78bd2]{color:var(--gn-color-secondary);font-size:14px}.recall-text[data-v-47d78bd2]{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recall-btn[data-v-47d78bd2]{background:none;border:none;color:var(--gn-color-text-dark);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:4px;transition:color .15s,background .15s}.recall-btn[data-v-47d78bd2]:hover{color:var(--gn-color-text-medium);background:color-mix(in srgb,var(--gn-color-text-light) 6%,transparent)}.container[data-v-65a497ff]{padding:18px}.section[data-v-65a497ff]{margin-bottom:48px}.section-title[data-v-65a497ff],.block[data-v-65a497ff]{margin-bottom:34px}.block-title[data-v-65a497ff]{margin-bottom:22px}p[data-v-65a497ff],.text[data-v-65a497ff]{margin-bottom:15px}.hint[data-v-65a497ff]{margin-top:8px}.list[data-v-65a497ff]{padding-left:22px;margin-bottom:15px}.list-item[data-v-65a497ff]{margin-bottom:8px}.list-nested[data-v-65a497ff]{margin-top:8px}.table[data-v-65a497ff]{margin-bottom:22px}.table-caption[data-v-65a497ff]{margin-bottom:8px}.form-group[data-v-65a497ff]{margin-bottom:15px}.label[data-v-65a497ff]{margin-bottom:5px;display:block}.input[data-v-65a497ff],.textarea[data-v-65a497ff],.select[data-v-65a497ff]{margin-top:5px}.toast[data-v-65a497ff]{padding:15px}.toast-stack[data-v-65a497ff]{gap:8px}.content-card[data-v-65a497ff]{margin:8px 0;background:var(--gn-surface-panel);border:1px solid var(--gn-border-color-muted);border-radius:6px;overflow:hidden}.content-card summary[data-v-65a497ff]{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.content-card summary[data-v-65a497ff]::-webkit-details-marker{display:none}.content-icon[data-v-65a497ff]{font-size:20px;line-height:1;flex-shrink:0;color:var(--gn-color-text-medium)}.content-title[data-v-65a497ff]{flex:1;font-size:.9em;font-weight:500;color:var(--gn-color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-v-65a497ff] .badge{flex-shrink:0}.content-actions[data-v-65a497ff]{display:inline-flex;align-items:center;gap:2px}.content-actions .btn-icon[data-v-65a497ff]{width:26px;height:26px;font-size:18px;border-color:transparent}.content-chevron[data-v-65a497ff]{transition:transform .2s;color:var(--gn-color-text-dark)}.content-card[open] .content-chevron[data-v-65a497ff]{transform:rotate(180deg)}.content-body[data-v-65a497ff]{border-top:1px solid var(--gn-border-color-muted);overflow:auto}.content-iframe[data-v-65a497ff]{width:100%;height:300px;border:none;display:block}@media(min-width:768px){.content-iframe[data-v-65a497ff]{height:500px}}.content-image-wrap[data-v-65a497ff]{position:relative;min-height:160px}.content-image[data-v-65a497ff]{width:100%;max-height:60vh;object-fit:contain;cursor:zoom-in;display:block;background:var(--gn-surface-panel)}.content-image-skeleton[data-v-65a497ff]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--gn-color-grey) 12%,var(--gn-surface-panel));border-bottom:1px solid var(--gn-border-color-muted);color:var(--gn-color-text-dark)}.content-image-spinner[data-v-65a497ff]{animation:content-image-spin-65a497ff .9s linear infinite;font-size:22px}@keyframes content-image-spin-65a497ff{to{transform:rotate(360deg)}}.content-video[data-v-65a497ff]{width:100%;max-height:60vh;display:block;background:var(--gn-surface-panel)}.content-source[data-v-65a497ff]{max-height:500px;overflow:auto;background:var(--gn-color-black)}.content-source-code[data-v-65a497ff],.content-source-error[data-v-65a497ff]{margin:0;padding:14px;white-space:pre;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.6;color:var(--gn-color-text-light)}.content-source-error[data-v-65a497ff]{color:var(--gn-color-error)}.content-source-state[data-v-65a497ff]{display:flex;align-items:center;gap:8px;padding:14px;color:var(--gn-color-text-dark);font-size:12px}.content-unknown[data-v-65a497ff]{padding:24px;text-align:center;color:var(--gn-color-text-dark);display:flex;flex-direction:column;align-items:center;gap:10px}.unknown-icon[data-v-65a497ff]{font-size:2em;line-height:1}.unknown-name[data-v-65a497ff]{font-size:.95em;font-weight:500;color:var(--gn-color-text-light);word-break:break-word;max-width:100%}.unknown-open[data-v-65a497ff]{width:auto;text-decoration:none;font-size:.9em}.card-grid[data-v-9596a41c]{display:flex;flex-direction:column;gap:12px}.card-grid-title[data-v-9596a41c]{font-size:1rem;font-weight:600;color:var(--gn-color-text-light)}.card-grid-items[data-v-9596a41c]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:640px){.card-grid-items[data-v-9596a41c]{grid-template-columns:1fr}}.card-grid-item[data-v-9596a41c]{display:flex;flex-direction:column;background:color-mix(in srgb,var(--gn-color-grey) 12%,var(--gn-surface-panel));border:1px solid var(--gn-border-color-muted);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .1s}.card-grid-item[data-v-9596a41c]:hover,.card-grid-item[data-v-9596a41c]:focus{border-color:var(--gn-color-secondary);outline:none}.card-grid-item[data-v-9596a41c]:active{transform:scale(.99)}.card-image[data-v-9596a41c]{width:100%;height:140px;object-fit:cover;background:var(--gn-surface-panel)}.card-no-image[data-v-9596a41c]{width:100%;height:140px;display:flex;align-items:center;justify-content:center;color:var(--gn-color-text-dark);font-size:2rem;background:var(--gn-surface-panel)}.card-content[data-v-9596a41c]{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}.card-title[data-v-9596a41c]{font-weight:600;font-size:.95rem;color:var(--gn-color-text-light);line-height:1.3}.card-subtitle[data-v-9596a41c]{font-size:.8rem;color:var(--gn-color-text-dark)}.card-meta[data-v-9596a41c]{display:flex;flex-wrap:wrap;gap:8px}.card-meta-item[data-v-9596a41c]{display:flex;gap:4px;font-size:.75rem}.card-meta-label[data-v-9596a41c]{color:var(--gn-color-text-dark)}.card-meta-value[data-v-9596a41c]{color:var(--gn-color-text-light);font-weight:500}.card-description[data-v-9596a41c]{font-size:.8rem;color:var(--gn-color-text-light);line-height:1.4;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-grid-more[data-v-9596a41c]{text-align:center;font-size:.8rem;color:var(--gn-color-text-dark)}.card-modal-image[data-v-9596a41c]{width:100%;max-height:320px;object-fit:cover;background:var(--gn-surface-panel)}.card-modal-content[data-v-9596a41c]{padding:20px;display:flex;flex-direction:column;gap:18px}.card-modal-title[data-v-9596a41c]{margin:0;font-size:1.15rem;font-weight:600;color:var(--gn-color-text-light);text-transform:none}.card-modal-subtitle[data-v-9596a41c]{color:var(--gn-color-text-dark);font-size:.9rem}.card-modal-section[data-v-9596a41c]{display:flex;flex-direction:column;gap:10px}.card-modal-section-title[data-v-9596a41c]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gn-color-text-dark)}.card-modal-meta-grid[data-v-9596a41c]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.card-modal-meta-cell[data-v-9596a41c]{background:color-mix(in srgb,var(--gn-color-grey) 12%,var(--gn-surface-panel));border:1px solid var(--gn-border-color-muted);padding:10px}.card-modal-meta-label[data-v-9596a41c]{font-size:.7rem;color:var(--gn-color-text-dark);margin-bottom:4px}.card-modal-meta-value[data-v-9596a41c]{font-size:.9rem;color:var(--gn-color-text-light);font-weight:500}.card-modal-text[data-v-9596a41c]{margin:0;line-height:1.5;color:var(--gn-color-text-light)}.card-modal-details[data-v-9596a41c]{margin:0;display:grid;gap:8px}.card-modal-detail-row[data-v-9596a41c]{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--gn-border-color-muted)}.card-modal-detail-row[data-v-9596a41c]:last-child{border-bottom:none}.card-modal-detail-row dt[data-v-9596a41c]{color:var(--gn-color-text-dark);font-size:.85rem}.card-modal-detail-row dd[data-v-9596a41c]{margin:0;color:var(--gn-color-text-light);font-size:.85rem;text-align:right;word-break:break-word}.card-modal-actions[data-v-9596a41c]{display:flex;gap:10px;flex-wrap:wrap}.card-modal-action[data-v-9596a41c]{display:inline-flex;align-items:center;padding:8px 14px;background:color-mix(in srgb,var(--gn-color-secondary) 14%,var(--gn-surface-panel));color:var(--gn-color-secondary);text-decoration:none;font-size:.85rem;font-weight:500}.card-modal-action[data-v-9596a41c]:hover{background:var(--gn-border-color-muted)}.ui-form[data-v-4d9c6b33]{display:flex;flex-direction:column;gap:14px}.ui-form-title[data-v-4d9c6b33]{font-size:1rem;font-weight:600;color:var(--gn-color-text-light)}.ui-form-description[data-v-4d9c6b33]{font-size:.85rem;color:var(--gn-color-text-dark);line-height:1.4}.ui-form-fields[data-v-4d9c6b33]{display:flex;flex-direction:column;gap:14px}.ui-form-field[data-v-4d9c6b33]{display:flex;flex-direction:column;gap:4px}.ui-form-field.has-error .ui-form-input[data-v-4d9c6b33]{border-color:var(--gn-color-error)}.ui-form-label[data-v-4d9c6b33]{font-size:.85rem;font-weight:500;color:var(--gn-color-text-light)}.ui-form-required[data-v-4d9c6b33]{color:var(--gn-color-error);margin-left:2px}.ui-form-field-hint[data-v-4d9c6b33]{font-size:.75rem;color:var(--gn-color-text-dark)}.ui-form-input[data-v-4d9c6b33]{padding:10px 12px;background:var(--gn-surface-panel);border:1px solid var(--gn-border-color-muted);color:var(--gn-color-text-light);font-size:.9rem;outline:none;transition:border-color .15s}.ui-form-input[data-v-4d9c6b33]:focus{border-color:var(--gn-color-secondary)}.ui-form-input[data-v-4d9c6b33]::placeholder{color:var(--gn-color-text-dark)}select.ui-form-input[data-v-4d9c6b33]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236c7086' viewBox='0 0 256 256'%3E%3Cpath d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80A8 8 0 0 1 48 88h160a8 8 0 0 1 5.66 13.66z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}select.ui-form-input[multiple][data-v-4d9c6b33]{background-image:none;padding-right:12px;min-height:100px}.ui-form-checkbox[data-v-4d9c6b33]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--gn-color-text-light);cursor:pointer}.ui-form-checkbox input[data-v-4d9c6b33]{width:18px;height:18px;accent-color:var(--gn-color-secondary);cursor:pointer}.ui-form-error[data-v-4d9c6b33]{font-size:.8rem;color:var(--gn-color-error)}.ui-form-submit[data-v-4d9c6b33]{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start;padding:10px 18px;background:var(--gn-color-secondary);color:var(--gn-surface-panel);border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.ui-form-submit[data-v-4d9c6b33]:disabled{opacity:.5;cursor:not-allowed}.ui-form-submit[data-v-4d9c6b33]:not(:disabled):hover{opacity:.9}.ui-form-spinner[data-v-4d9c6b33]{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ui-form-spin-4d9c6b33 .8s linear infinite}@keyframes ui-form-spin-4d9c6b33{to{transform:rotate(360deg)}}.ui-form-submitted[data-v-4d9c6b33]{display:flex;flex-direction:column;gap:10px}.ui-form-submitted-note[data-v-4d9c6b33]{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--gn-color-secondary)}.ui-form-summary[data-v-4d9c6b33]{margin:0;display:grid;gap:8px}.ui-form-summary-row[data-v-4d9c6b33]{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--gn-border-color-muted)}.ui-form-summary-row[data-v-4d9c6b33]:last-child{border-bottom:none}.ui-form-summary-row dt[data-v-4d9c6b33]{color:var(--gn-color-text-dark);font-size:.85rem}.ui-form-summary-row dd[data-v-4d9c6b33]{margin:0;color:var(--gn-color-text-light);font-size:.85rem;text-align:right;word-break:break-word}.ui-component-card[data-v-5c9908d7]{margin:8px 0;background:var(--gn-surface-panel);border:1px solid var(--gn-border-color-muted);overflow:hidden}.ui-component-header[data-v-5c9908d7]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--gn-border-color-muted);-webkit-user-select:none;user-select:none}.ui-component-icon[data-v-5c9908d7]{font-size:1.2em;line-height:1}.ui-component-name[data-v-5c9908d7]{flex:1;font-size:.9em;font-weight:500;color:var(--gn-color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-component-badge[data-v-5c9908d7]{font-size:.7em;text-transform:uppercase;padding:2px 8px;background:color-mix(in srgb,var(--gn-color-secondary) 14%,var(--gn-surface-panel));color:var(--gn-color-secondary)}.ui-component-body[data-v-5c9908d7]{padding:12px 14px}.ui-component-fallback[data-v-5c9908d7]{color:var(--gn-color-text-dark)}.ui-component-fallback-title[data-v-5c9908d7]{font-size:.8rem;margin-bottom:8px;font-weight:500}.ui-component-fallback-json[data-v-5c9908d7]{margin:0;font-family:monospace;font-size:.8rem;white-space:pre-wrap}.stream-cursor[data-v-413d0a09]{display:inline-block;width:2px;height:1em;background:currentColor;margin-left:2px;vertical-align:text-bottom;animation:blink-413d0a09 1s step-end infinite}@keyframes blink-413d0a09{0%,to{opacity:1}50%{opacity:0}}.msg-rate-btn[data-v-413d0a09]{opacity:.55;transition:opacity .15s,color .15s}.msg-rate-btn[data-v-413d0a09]:hover{opacity:1}.msg-rate-btn.active[data-v-413d0a09]{opacity:1;color:var(--gn-color-secondary)}.compression-pending[data-v-cecede62]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:var(--gn-surface-panel-strong);color:var(--gn-color-text-dark);font-size:13px}.compression-pending i[data-v-cecede62]{font-size:16px}.message-list-wrap[data-v-5c05d9cd]{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.message-scroller[data-v-5c05d9cd]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;transition:opacity .25s ease;padding-top:16px}.message-scroller.is-hidden[data-v-5c05d9cd]{opacity:0;pointer-events:none}.message-row[data-v-5c05d9cd]{padding-bottom:32px;width:100%;max-width:920px;margin:0 auto;padding-left:24px;padding-right:24px;content-visibility:auto;contain-intrinsic-size:auto 140px}@media(max-width:767px){.message-row[data-v-5c05d9cd]{padding-left:10px;padding-right:10px}}.session-loading[data-v-5c05d9cd]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--gn-color-text-medium);pointer-events:none}.session-loading .animate-spin[data-v-5c05d9cd]{animation:session-spin-5c05d9cd 1s linear infinite}@keyframes session-spin-5c05d9cd{to{transform:rotate(360deg)}}.archive-loading[data-v-5c05d9cd]{position:absolute;top:8px;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;font-size:13px;color:var(--gn-color-text-medium);background:transparent;pointer-events:none}.animate-spin[data-v-5c05d9cd]{animation:spin-5c05d9cd 1s linear infinite}@keyframes spin-5c05d9cd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scroll-to-bottom-btn[data-v-5c05d9cd]{position:absolute;bottom:16px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--gn-color-secondary);color:var(--gn-color-black);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 2px 12px #0006;opacity:.9;transition:opacity .15s ease,transform .15s ease;z-index:10}.scroll-to-bottom-btn[data-v-5c05d9cd]:hover{opacity:1;transform:translateY(-2px)}.scroll-btn-enter-active[data-v-5c05d9cd],.scroll-btn-leave-active[data-v-5c05d9cd]{transition:opacity .2s ease,transform .2s ease}.scroll-btn-enter-from[data-v-5c05d9cd],.scroll-btn-leave-to[data-v-5c05d9cd]{opacity:0;transform:translateY(8px)}.file-preview-image[data-v-f0b09655]{position:relative}.file-preview-image .file-preview-remove[data-v-f0b09655]{position:absolute;top:-4px;right:-4px;background:var(--gn-surface-panel);border:1px solid var(--gn-border-color-muted);width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;color:var(--gn-color-text-dark)}.file-preview-image .file-preview-remove[data-v-f0b09655]:hover{color:var(--gn-color-error)}.file-preview-image.is-processing[data-v-f0b09655]{display:flex;align-items:center;justify-content:center;color:var(--gn-color-text-medium)}.file-preview-image.is-processing .ph-spin[data-v-f0b09655]{animation:spin-f0b09655 .9s linear infinite}@keyframes spin-f0b09655{to{transform:rotate(360deg)}}.sending-notice[data-v-c90111b2]{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:12px;color:var(--gn-color-text-medium);margin-bottom:4px}.sending-notice .ph-spin[data-v-c90111b2]{animation:sending-spin-c90111b2 .9s linear infinite}@keyframes sending-spin-c90111b2{to{transform:rotate(360deg)}}.task-chips[data-v-af03bea1]{display:flex;gap:8px;padding:4px 16px 0;flex-wrap:wrap}.fade-enter-active[data-v-af03bea1],.fade-leave-active[data-v-af03bea1]{transition:opacity .2s}.fade-enter-from[data-v-af03bea1],.fade-leave-to[data-v-af03bea1]{opacity:0}.reconnect-banner[data-v-afc23956]{display:flex;align-items:center;gap:8px;margin:8px 16px 0;font-size:13px}.create-key-body[data-v-db609bf3]{min-width:min(320px,100vw - 48px)}.show-token-body[data-v-1b3695e8]{min-width:min(420px,100vw - 48px)}.show-token-warning[data-v-1b3695e8]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-warning);display:flex;align-items:center;gap:6px}.show-token-warning i[data-v-1b3695e8]{font-size:1.1rem}.show-token-value[data-v-1b3695e8]{flex:1 1 0;font-family:monospace;font-size:.85rem;word-break:break-all;color:var(--gn-color-text-medium)}.api-keys-panel[data-v-2cf539c2]{margin-bottom:24px}.api-keys-header[data-v-2cf539c2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.api-keys-title[data-v-2cf539c2]{font-size:1.1rem;font-weight:600;margin:0;color:var(--gn-color-text-medium)}.api-keys-description[data-v-2cf539c2]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.api-keys-warning[data-v-2cf539c2]{margin-bottom:16px}.api-keys-warning i[data-v-2cf539c2]{font-size:16px;flex-shrink:0}.api-keys-loading[data-v-2cf539c2]{padding:24px;text-align:center}.api-keys-panel code[data-v-2cf539c2]{font-family:var(--gn-font-family-base);color:var(--gn-color-text-medium)}.notifications-panel[data-v-aef788e9]{margin-bottom:24px}.notifications-title[data-v-aef788e9]{font-size:1.1rem;font-weight:600;margin:0 0 12px;color:var(--gn-color-text-medium)}.notifications-description[data-v-aef788e9]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.notifications-unsupported[data-v-aef788e9]{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px}.notifications-unsupported i[data-v-aef788e9]{font-size:16px;flex-shrink:0}.notifications-row[data-v-aef788e9]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--gn-border-color-muted);border-radius:8px}.notifications-row-title[data-v-aef788e9]{font-size:.9rem;color:var(--gn-color-text-medium)}.notifications-row-status[data-v-aef788e9]{font-size:.8rem;color:var(--gn-color-text-dark);margin-top:2px}.reactions-panel[data-v-0a24e5f3]{margin-bottom:24px}.reactions-title[data-v-0a24e5f3]{font-size:1.1rem;font-weight:600;margin:0 0 12px;color:var(--gn-color-text-medium)}.reactions-description[data-v-0a24e5f3]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.reactions-alert[data-v-0a24e5f3]{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px}.reactions-alert i[data-v-0a24e5f3]{font-size:16px;flex-shrink:0}.reactions-loading[data-v-0a24e5f3]{padding:24px;text-align:center}.reactions-row[data-v-0a24e5f3]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:12px;border:1px solid var(--gn-border-color-muted);border-radius:8px}.reactions-row-title[data-v-0a24e5f3]{font-size:.9rem;color:var(--gn-color-text-medium);font-weight:500}.reactions-row-status[data-v-0a24e5f3]{font-size:.8rem;color:var(--gn-color-text-dark);margin-top:2px;max-width:420px}.reactions-instructions[data-v-0a24e5f3]{padding:14px 16px;margin-bottom:12px;border:1px solid var(--gn-border-color-muted);border-radius:8px}.reactions-instructions-textarea[data-v-0a24e5f3]{margin-top:10px}.reactions-instructions-actions[data-v-0a24e5f3]{margin-top:10px;display:flex;justify-content:flex-end}.reactions-history[data-v-0a24e5f3]{margin-top:14px}.reactions-history-title[data-v-0a24e5f3]{font-size:.85rem;font-weight:600;color:var(--gn-color-text-medium);margin-bottom:8px}.reactions-history-item[data-v-0a24e5f3]{padding:8px 10px;border-left:2px solid var(--gn-border-color-muted)}.reactions-history-item+.reactions-history-item[data-v-0a24e5f3]{margin-top:8px}.reactions-history-meta[data-v-0a24e5f3]{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--gn-color-text-dark)}.reactions-history-meta i[data-v-0a24e5f3]{font-size:12px}.reactions-history-text[data-v-0a24e5f3]{margin-top:4px;font-size:.8rem;color:var(--gn-color-text-medium);white-space:pre-wrap;word-break:break-word}.create-target-body[data-v-f6ec4fb5]{min-width:min(360px,100vw - 48px);display:flex;flex-direction:column;gap:15px}.create-target-hint[data-v-f6ec4fb5]{margin:0;font-size:.8125rem;color:var(--gn-color-text-medium)}.create-target-hint code[data-v-f6ec4fb5]{font-family:var(--gn-font-family-base)}.container[data-v-6049b504]{padding:18px}.section[data-v-6049b504]{margin-bottom:48px}.section-title[data-v-6049b504],.block[data-v-6049b504]{margin-bottom:34px}.block-title[data-v-6049b504]{margin-bottom:22px}p[data-v-6049b504],.text[data-v-6049b504]{margin-bottom:15px}.hint[data-v-6049b504]{margin-top:8px}.list[data-v-6049b504]{padding-left:22px;margin-bottom:15px}.list-item[data-v-6049b504]{margin-bottom:8px}.list-nested[data-v-6049b504]{margin-top:8px}.table[data-v-6049b504]{margin-bottom:22px}.table-caption[data-v-6049b504]{margin-bottom:8px}.form-group[data-v-6049b504]{margin-bottom:15px}.label[data-v-6049b504]{margin-bottom:5px;display:block}.input[data-v-6049b504],.textarea[data-v-6049b504],.select[data-v-6049b504]{margin-top:5px}.toast[data-v-6049b504]{padding:15px}.toast-stack[data-v-6049b504]{gap:8px}.synapse-panel[data-v-6049b504]{margin-bottom:24px}.synapse-header[data-v-6049b504]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.synapse-title[data-v-6049b504]{font-size:1.1rem;font-weight:600;margin:0;color:var(--gn-color-text-medium)}.synapse-description[data-v-6049b504]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.synapse-loading[data-v-6049b504]{padding:24px;text-align:center}.container[data-v-09b3eec4]{padding:18px}.section[data-v-09b3eec4]{margin-bottom:48px}.section-title[data-v-09b3eec4],.block[data-v-09b3eec4]{margin-bottom:34px}.block-title[data-v-09b3eec4]{margin-bottom:22px}p[data-v-09b3eec4],.text[data-v-09b3eec4]{margin-bottom:15px}.hint[data-v-09b3eec4]{margin-top:8px}.list[data-v-09b3eec4]{padding-left:22px;margin-bottom:15px}.list-item[data-v-09b3eec4]{margin-bottom:8px}.list-nested[data-v-09b3eec4]{margin-top:8px}.table[data-v-09b3eec4]{margin-bottom:22px}.table-caption[data-v-09b3eec4]{margin-bottom:8px}.form-group[data-v-09b3eec4]{margin-bottom:15px}.label[data-v-09b3eec4]{margin-bottom:5px;display:block}.input[data-v-09b3eec4],.textarea[data-v-09b3eec4],.select[data-v-09b3eec4]{margin-top:5px}.toast[data-v-09b3eec4]{padding:15px}.toast-stack[data-v-09b3eec4]{gap:8px}.mcp-keys-panel[data-v-09b3eec4]{margin-bottom:24px}.mcp-keys-header[data-v-09b3eec4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mcp-keys-title[data-v-09b3eec4]{font-size:1.1rem;font-weight:600;margin:0;color:var(--gn-color-text-medium)}.mcp-keys-description[data-v-09b3eec4]{margin:0 0 16px;font-size:.875rem;color:var(--gn-color-text-medium)}.mcp-keys-loading[data-v-09b3eec4]{padding:24px;text-align:center}.mcp-keys-empty[data-v-09b3eec4]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 24px;border:1px dashed var(--gn-color-border);border-radius:var(--gn-radius-md);text-align:center}.mcp-keys-empty .empty-icon[data-v-09b3eec4]{font-size:2rem;color:var(--gn-color-text-dimmed)}.mcp-keys-empty p[data-v-09b3eec4]{margin:0;max-width:52ch;font-size:.875rem;color:var(--gn-color-text-medium)}.mcp-keys-empty code[data-v-09b3eec4]{font-family:var(--gn-font-mono, monospace);font-size:.8125rem}.mcp-keys-rows[data-v-09b3eec4]{display:flex;flex-direction:column;gap:12px}.mcp-keys-row[data-v-09b3eec4]{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--gn-color-border);border-radius:var(--gn-radius-md)}.mcp-keys-info[data-v-09b3eec4]{flex:0 0 220px;min-width:0}.mcp-keys-server[data-v-09b3eec4]{font-weight:600;color:var(--gn-color-text-strong)}.mcp-keys-where[data-v-09b3eec4]{font-size:.8125rem;color:var(--gn-color-text-medium)}.mcp-keys-updated[data-v-09b3eec4]{font-size:.75rem;color:var(--gn-color-text-dimmed)}.mcp-keys-input[data-v-09b3eec4]{flex:1 1 auto;min-width:160px}.mcp-keys-actions[data-v-09b3eec4]{display:flex;gap:8px;flex-shrink:0}@media(max-width:767px){.mcp-keys-row[data-v-09b3eec4]{flex-direction:column;align-items:stretch}.mcp-keys-info[data-v-09b3eec4]{flex:none}.mcp-keys-actions[data-v-09b3eec4]{justify-content:flex-end}}.container[data-v-7cd70059]{padding:18px}.section[data-v-7cd70059]{margin-bottom:48px}.section-title[data-v-7cd70059],.block[data-v-7cd70059]{margin-bottom:34px}.block-title[data-v-7cd70059]{margin-bottom:22px}p[data-v-7cd70059],.text[data-v-7cd70059]{margin-bottom:15px}.hint[data-v-7cd70059]{margin-top:8px}.list[data-v-7cd70059]{padding-left:22px;margin-bottom:15px}.list-item[data-v-7cd70059]{margin-bottom:8px}.list-nested[data-v-7cd70059]{margin-top:8px}.table[data-v-7cd70059]{margin-bottom:22px}.table-caption[data-v-7cd70059]{margin-bottom:8px}.form-group[data-v-7cd70059]{margin-bottom:15px}.label[data-v-7cd70059]{margin-bottom:5px;display:block}.input[data-v-7cd70059],.textarea[data-v-7cd70059],.select[data-v-7cd70059]{margin-top:5px}.toast[data-v-7cd70059]{padding:15px}.toast-stack[data-v-7cd70059]{gap:8px}.settings-view[data-v-7cd70059]{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.settings-tabs[data-v-7cd70059]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;width:100%;max-width:1200px;flex:1 1 0;min-height:0;padding:8px 15px 0;margin-bottom:0}.settings-tabs[data-v-7cd70059] .tabs-list{width:100%;max-width:none}.settings-tabs[data-v-7cd70059] .tabs-panels{flex:1 1 0;min-height:0;overflow-y:auto;padding:15px 15px 34px}@media(max-width:767px){.settings-tabs[data-v-7cd70059] .tabs-panels{padding:8px 8px 22px}}@media(max-width:767px){.settings-tabs[data-v-7cd70059]{padding-left:8px;padding-right:8px}}.app-shell[data-v-40fd87a2]{display:flex;flex:1 1 0;min-height:0;min-width:0;overflow:hidden}.sidebar-backdrop[data-v-40fd87a2]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:99}@media(max-width:1279.98px){.sidebar-backdrop[data-v-40fd87a2]{display:block}}.artifacts-backdrop[data-v-40fd87a2]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:119}@media(max-width:980px){.artifacts-backdrop[data-v-40fd87a2]{display:block}}.backdrop-fade-enter-active[data-v-40fd87a2],.backdrop-fade-leave-active[data-v-40fd87a2]{transition:opacity .18s ease}.backdrop-fade-enter-from[data-v-40fd87a2],.backdrop-fade-leave-to[data-v-40fd87a2]{opacity:0}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Regular-BF3vfe7_.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Medium-COFd06Dj.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-SemiBold-D0J2bq8P.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Bold-Ovd3DSUS.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Italic-DgAgaWWu.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}.text,p{margin-bottom:15px}.input,.select,.textarea{margin-top:5px}html{font-size:100%}body{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:0;color:#c0caf5}h1,h2,h3,h4,h5,h6{font-family:IBM Plex Mono,monospace;font-weight:600;line-height:1.25;margin:0}h1.contrast,h2.contrast,h3.contrast,h4.contrast,h5.contrast,h6.contrast{background:#c0caf5;color:#16161e;display:inline;padding:0 8px;border-radius:3px}h1{font-size:30px;letter-spacing:0}h2{font-size:23px}h3{font-size:20px}h4{font-size:18px}h5{font-size:16px}h6{font-size:15px;font-weight:500}.text,p{font-size:14px;line-height:1.6}.text-sm{font-size:13px;line-height:1.4}.text-lg{font-size:15px;line-height:1.6}.text-lead{max-width:760px;color:#c0caf5;font-size:15px;font-weight:500;line-height:1.6}.text-muted{font-size:13px;color:#787c99}.text-strong,strong{font-weight:600}.text-bold{font-weight:700}.text-italic,em{font-style:italic}.text-success{color:#9ece6a}.text-warning{color:#e0af68}.text-danger,.text-error{color:#f7768e}.text-info{color:#bb9af7}.eyebrow{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.caption{color:#787c99;font-size:12px;line-height:1.4}.code,code,pre{font-family:IBM Plex Mono,monospace;font-size:14px;line-height:1.4;border-radius:3px;background-color:#1f2335}.text-primary{color:#c0caf5}.text-secondary{color:#a9b1d6}pre{font-size:14px;line-height:1.6;white-space:pre-wrap}.code,pre code{-o-tab-size:2;tab-size:2;-moz-tab-size:2}.code{display:inline-flex;padding:0 5px;color:#7aa2f7;border:2px solid rgba(122,162,247,.24)}.kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:2px solid rgba(192,202,245,.24);border-bottom-color:#7aa2f7;border-radius:3px;color:#c0caf5;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.quote{max-width:760px;margin:0;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;color:#a9b1d6;background:#1f2335;font-size:14px;line-height:1.6}.quote cite{display:block;margin-top:12px;color:#7aa2f7;font-size:13px;font-style:normal;text-transform:uppercase}a{font-weight:500;text-decoration:none;color:#7aa2f7}@media(hover:hover)and (pointer:fine){a:hover{color:#e0af68}}@media(hover:none)and (pointer:coarse){a:active{color:#e0af68}}.link{font-size:inherit;font-weight:500}.label{font-size:13px;font-weight:500;line-height:1.4}.hint,.meta{font-size:12px;line-height:1.4}.table{font-size:13px;line-height:1.4}.table th{font-weight:600}.table td{font-weight:400}.list{font-size:14px;line-height:1.6}.list-item{font-size:inherit}.modal-title{font-size:18px;font-weight:600}.modal-body{font-size:14px}.toast-title{font-size:14px;font-weight:600}.toast-text{font-size:13px;line-height:1.4}:root{--gn-color-black:#16161E;--gn-color-dark:#1F2335;--gn-color-grey:#414868;--gn-color-text-light:#C0CAF5;--gn-color-text-medium:#A9B1D6;--gn-color-text-dark:#787C99;--gn-color-primary:#C0CAF5;--gn-color-secondary:#7AA2F7;--gn-color-accent:#FF9E64;--gn-color-success:#9ECE6A;--gn-color-warning:#E0AF68;--gn-color-error:#F7768E;--gn-color-info:#BB9AF7;--gn-surface-page:#16161E;--gn-surface-panel:#1F2335;--gn-surface-panel-muted:#1F2335;--gn-surface-panel-strong:rgba(192, 202, 245, .085);--gn-border-width-base:2px;--gn-border-width-accent:6px;--gn-border-width-choice:3px;--gn-border-style-base:solid;--gn-border-color-base:#C0CAF5;--gn-border-color-muted:rgba(192, 202, 245, .24);--gn-focus-outline-width:2px;--gn-focus-outline-offset:3px;--gn-focus-outline-color:#E0AF68;--gn-motion-fast:.15s;--gn-motion-base:.2s;--gn-motion-slow:.28s;--gn-motion-ease:ease;--gn-font-family-base:IBM Plex Mono,monospace;--gn-font-weight-regular:400;--gn-font-weight-medium:500;--gn-font-weight-semibold:600;--gn-font-weight-bold:700;--gn-font-size-xs:12px;--gn-font-size-sm:13px;--gn-font-size-md:14px;--gn-font-size-base:14px;--gn-font-size-lg:15px;--gn-font-size-xl:18px;--gn-line-height-tight:1.15;--gn-line-height-normal:1.4;--gn-line-height-relaxed:1.6;--gn-space-0:0;--gn-space-1:5px;--gn-space-2:8px;--gn-space-3:12px;--gn-space-4:15px;--gn-space-5:18px;--gn-space-6:22px;--gn-space-7:26px;--gn-space-8:34px;--gn-space-9:42px;--gn-space-10:48px;--gn-space-11:64px;--gn-space-12:80px}@keyframes terminal_scan_x{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes terminal_scan_y{0%{transform:translateY(-120%)}to{transform:translateY(220%)}}@keyframes terminal_pulse{0%,to{box-shadow:0 0 #c0caf500}50%{box-shadow:0 0 0 4px #c0caf52e}}@keyframes panel_boot{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes overlay_reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltip_reveal{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:0s!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0s!important}}.palette{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.palette .color .color-box{width:92px;height:68px;border-radius:3px}body .bg-primary{background:#c0caf5}body .bg-secondary{background:#7aa2f7}body .bg-success{background:#9ece6a}body .bg-accent{background:#ff9e64}body .bg-info{background:#bb9af7}body .bg-warning{background:#e0af68}body .bg-error{background:#f7768e}body .text-color-primary{color:#c0caf5}body .text-color-secondary{color:#7aa2f7}body .text-color-success{color:#9ece6a}body .text-color-accent{color:#ff9e64}body .text-color-info{color:#bb9af7}body .text-color-warning{color:#e0af68}body .text-color-error{color:#f7768e}.loader{width:32px;aspect-ratio:1;--c:no-repeat linear-gradient(#FF3C00 0 0);background:var(--c) 0 0,var(--c) 0 100%,var(--c) 50% 0,var(--c) 50% 100%,var(--c) 100% 0,var(--c) 100% 100%;animation:l12 1s infinite}@keyframes l12{0%,to{background-size:20% 50%}16.67%{background-size:20% 30%,20% 30%,20% 50%,20% 50%,20% 50%,20% 50%}33.33%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 50%,20% 50%}50%{background-size:20% 30%,20% 30%,20% 30%,20% 30%,20% 30%,20% 30%}66.67%{background-size:20% 50%,20% 50%,20% 30%,20% 30%,20% 30%,20% 30%}83.33%{background-size:20% 50%,20% 50%,20% 50%,20% 50%,20% 30%,20% 30%}}.circle-loader{display:flex;flex-direction:row;align-items:center;gap:8px}.circle-loader .ph,.circle-loader .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.progress{display:flex;flex-direction:column;gap:8px;width:100%;max-width:640px}.progress .progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.progress .progress-value{color:#c0caf5;font-family:IBM Plex Mono,monospace}.progress .progress-track{position:relative;width:100%;height:18px;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-radius:3px;background:#1f2335}.progress .progress-bar{display:block;position:relative;overflow:hidden;width:var(--progress-value,0%);height:100%;background:#7aa2f7;transition:width .28s ease}.progress.progress-success .progress-bar{background:#9ece6a}.progress.progress-warning .progress-bar{background:#e0af68}.progress.progress-danger .progress-bar,.progress.progress-error .progress-bar{background:#f7768e}.progress.progress-striped .progress-bar{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 14px,rgba(22,22,30,.2) 14px,rgba(22,22,30,.2) 16px)}.progress.progress-animated .progress-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:48%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.28),transparent);transform:translate(-120%);animation:progress_scan 1.4s ease infinite}.usage-meter{display:grid;gap:12px;width:100%;max-width:420px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.usage-meter .usage-meter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:15px;font-weight:700;line-height:1;text-transform:uppercase}.usage-meter .usage-meter-value{color:#7aa2f7;font-family:IBM Plex Mono,monospace;font-size:13px}.usage-meter .usage-meter-meta{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.progress-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:720px}.progress-stages .progress-stage{min-height:42px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#787c99;background:#1f2335;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase}.progress-stages .progress-stage-complete{color:#16161e;background:#9ece6a;border-color:#9ece6a}.progress-stages .progress-stage-current{color:#16161e;background:#e0af68;border-color:#e0af68}@media(max-width:767px){.progress-stages{grid-template-columns:1fr 1fr}}@media(max-width:479px){.progress-stages{grid-template-columns:1fr}}@keyframes progress_scan{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes icon_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600;line-height:1;letter-spacing:.04em;padding:12px 22px;border-radius:3px;border-width:2px;border-left-width:6px;border-style:solid;border-color:#c0caf5;text-transform:uppercase;background-color:transparent;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color,opacity}.btn:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.btn.with-icon{border-left-width:40px;position:relative}.btn.with-icon .ph,.btn.with-icon .ph-bold{position:absolute;color:#16161e;left:-40px;top:1px;font-size:26px;height:100%;display:inline-flex;align-items:center;width:40px;justify-content:center;transition-duration:.2s;transition-property:color,left}@media(hover:hover)and (pointer:fine){.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:hover.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-22px}}@media(hover:none)and (pointer:coarse){.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph,.btn:active.with-icon:not(.loading-state):not(.btn-small) .ph-bold{left:-22px}}.btn.btn-primary{color:#c0caf5;border-color:#c0caf5}@media(hover:hover)and (pointer:fine){.btn.btn-primary:hover{background-color:#c0caf5;color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-primary:active{background-color:#c0caf5;color:#16161e}}.btn.btn-secondary{color:#7aa2f7;border-color:#7aa2f7}@media(hover:hover)and (pointer:fine){.btn.btn-secondary:hover{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:hover.with-icon .ph,.btn.btn-secondary:hover.with-icon .ph-bold{color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-secondary:active{background-color:#7aa2f7;color:#16161e}.btn.btn-secondary:active.with-icon .ph,.btn.btn-secondary:active.with-icon .ph-bold{color:#16161e}}.btn.btn-accent{color:#ff9e64;border-color:#ff9e64}@media(hover:hover)and (pointer:fine){.btn.btn-accent:hover{background-color:#ff9e64;color:#16161e}.btn.btn-accent:hover.with-icon .ph,.btn.btn-accent:hover.with-icon .ph-bold{color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-accent:active{background-color:#ff9e64;color:#16161e}.btn.btn-accent:active.with-icon .ph,.btn.btn-accent:active.with-icon .ph-bold{color:#16161e}}.btn.btn-danger{color:#f7768e;border-color:#f7768e}@media(hover:hover)and (pointer:fine){.btn.btn-danger:hover{background-color:#f7768e;color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-danger:active{background-color:#f7768e;color:#16161e}}.btn.btn-warning{color:#e0af68;border-color:#e0af68}@media(hover:hover)and (pointer:fine){.btn.btn-warning:hover{background-color:#e0af68;color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-warning:active{background-color:#e0af68;color:#16161e}}.btn.btn-success{color:#9ece6a;border-color:#9ece6a}@media(hover:hover)and (pointer:fine){.btn.btn-success:hover{background-color:#9ece6a;color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-success:active{background-color:#9ece6a;color:#16161e}}.btn.btn-info{color:#bb9af7;border-color:#bb9af7}@media(hover:hover)and (pointer:fine){.btn.btn-info:hover{background-color:#bb9af7;color:#16161e}.btn.btn-info:hover.with-icon .ph,.btn.btn-info:hover.with-icon .ph-bold{color:#16161e}}@media(hover:none)and (pointer:coarse){.btn.btn-info:active{background-color:#bb9af7;color:#16161e}.btn.btn-info:active.with-icon .ph,.btn.btn-info:active.with-icon .ph-bold{color:#16161e}}.btn[disabled]:not(.loading-state){color:#787c99;border-color:#c0caf53d;background-color:#1f2335;cursor:not-allowed;opacity:.72}.btn[disabled]:not(.loading-state).with-icon .ph,.btn[disabled]:not(.loading-state).with-icon .ph-bold{color:#787c99}@media(hover:hover)and (pointer:fine){.btn[disabled]:not(.loading-state):hover{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):hover.with-icon .ph,.btn[disabled]:not(.loading-state):hover.with-icon .ph-bold{color:#787c99}}@media(hover:none)and (pointer:coarse){.btn[disabled]:not(.loading-state):active{background-color:#1f2335;color:#787c99}.btn[disabled]:not(.loading-state):active.with-icon .ph,.btn[disabled]:not(.loading-state):active.with-icon .ph-bold{color:#787c99}}.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph,.btn[disabled]:not(.loading-state).with-icon:not(.btn-small) .ph-bold{left:-22px}.btn.btn-small{font-size:13px;font-weight:500;min-height:34px;padding:8px}.btn.btn-small.with-icon{border-left-width:28px}.btn.btn-small.with-icon .ph,.btn.btn-small.with-icon .ph-bold{top:0;left:-36px;font-size:22px}.btn.btn-small.with-icon.loading-state .ph,.btn.btn-small.with-icon.loading-state .ph-bold{font-size:26px}.btn.btn-large{font-size:15px;font-weight:700;min-height:46px;padding:15px 48px}.btn.loading-state{color:#16161e!important;border-color:#c0caf5!important;background-color:#c0caf5!important}.btn.loading-state .ph,.btn.loading-state .ph-bold{font-size:26px;transform-origin:50% 50%;animation:icon_spin 1.2s linear infinite}.btn-icon{display:flex;justify-content:center;align-items:center;width:34px;height:34px;background:0 0;color:#c0caf5;font-size:22px;border:2px solid transparent;border-radius:3px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.btn-icon:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.btn-icon:not(.without-hover):hover{color:#e0af68;border-color:#e0af68}}@media(hover:none)and (pointer:coarse){.btn-icon:not(.without-hover):active{color:#e0af68;border-color:#e0af68}}.btn-icon:disabled,.btn-icon[disabled]{color:#787c99;border-color:transparent;background-color:transparent;cursor:not-allowed;opacity:.72}@media(hover:hover)and (pointer:fine){.btn-icon:disabled:not(.without-hover):hover,.btn-icon[disabled]:not(.without-hover):hover{color:#787c99;border-color:transparent}}@media(hover:none)and (pointer:coarse){.btn-icon:disabled:not(.without-hover):active,.btn-icon[disabled]:not(.without-hover):active{color:#787c99;border-color:transparent}}.btn-icon-sm{width:28px;height:28px;font-size:18px}.form-group{width:100%;max-width:600px}.form-group .label{display:flex;flex-direction:column;font-size:14px;width:100%;position:relative;color:#c0caf5}.form-group .label>.ph{position:absolute;color:#c0caf5;left:0;bottom:1px;font-size:26px;height:46px;display:inline-flex;align-items:center;width:40px;justify-content:center;transition-duration:.2s;transition-property:color,left}.form-group .label .input{min-height:46px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500;line-height:1;letter-spacing:.04em;padding:12px 22px;margin-top:8px;border-radius:3px;border-width:2px;border-bottom-width:6px;border-style:solid;border-color:#c0caf5;color:#c0caf5;background-color:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:background-color,border-color,color}@media(hover:hover)and (pointer:fine){.form-group .label .input:hover{border-bottom-color:#787c99}}@media(hover:none)and (pointer:coarse){.form-group .label .input:active{border-bottom-color:#787c99}}.form-group .label .input:focus{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background-color:transparent}.form-group .label .input:disabled{color:#787c99;border-color:#c0caf53d;background:#1f2335;cursor:not-allowed;opacity:.72}.form-group .label .input[readonly]{color:#a9b1d6;border-color:#c0caf53d;background:#c0caf508}.form-group .label .input::-moz-placeholder{color:#787c99}.form-group .label .input::placeholder{color:#787c99}.form-group .label .input::-webkit-search-cancel-button,.form-group .label .input::-webkit-search-decoration,.form-group .label .input::-webkit-search-results-button,.form-group .label .input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.form-group .label .input[type=date],.form-group .label .input[type=datetime-local],.form-group .label .input[type=month],.form-group .label .input[type=time]{color-scheme:dark;cursor:pointer;min-width:0;padding-right:40px;text-transform:uppercase}.form-group .label .input[type=date]::-webkit-calendar-picker-indicator,.form-group .label .input[type=datetime-local]::-webkit-calendar-picker-indicator,.form-group .label .input[type=month]::-webkit-calendar-picker-indicator,.form-group .label .input[type=time]::-webkit-calendar-picker-indicator{width:40px;height:100%;margin:0;padding:0;background:0 0;cursor:pointer;opacity:0}.form-group .label .input[type=date]::-webkit-datetime-edit,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit,.form-group .label .input[type=month]::-webkit-datetime-edit,.form-group .label .input[type=time]::-webkit-datetime-edit{padding:0}.form-group .label .input[type=date]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=month]::-webkit-datetime-edit-fields-wrapper,.form-group .label .input[type=time]::-webkit-datetime-edit-fields-wrapper{color:#c0caf5}.form-group .label textarea.input{height:92px;line-height:1.25;resize:none}.form-group .label .ph+.input,.form-group .label .ph+.select-wrap .select{padding-left:40px}.form-group .label .select-wrap{margin-top:8px}.form-group .label .select{width:100%;height:46px;margin-top:0;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-group .label .select:focus{outline:0}.form-group .label .select option{color:#c0caf5;background:#1f2335}.form-group .label .select-wrap:after{content:"";position:absolute;right:22px;bottom:18px;transform:translateY(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #c0caf5;pointer-events:none}.form-group .label.error .input:not(:focus){border-color:#f7768e}.form-group .label.error+.input-info{color:#e0af68}.form-group .label.success .input:not(:focus){border-color:#9ece6a}.form-group .label.success+.input-info{color:#9ece6a}.form-group .label.warning .input:not(:focus){border-color:#e0af68}.form-group .label.warning+.input-info{color:#e0af68}.form-group .input-info{font-size:14px;margin-top:8px}.form-group .input-info .ph{position:relative;top:1px}.form-group .input-info.error{color:#e0af68}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%;max-width:760px}.fieldset{width:100%;max-width:760px;margin:0;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;background:#1f2335}.legend{padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}@media(max-width:767px){.form-grid{grid-template-columns:1fr}}.file-upload{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:2px solid #7aa2f7;border-left-width:6px;border-radius:3px;color:#7aa2f7;background:#1f2335;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.file-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(hover:hover)and (pointer:fine){.file-upload:hover{color:#16161e;background:#7aa2f7}}@media(hover:none)and (pointer:coarse){.file-upload:active{color:#16161e;background:#7aa2f7}}.file-upload:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-panel{width:100%;max-width:760px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;border-left-width:6px}.file-upload-form{display:flex;flex-direction:column;gap:15px;margin:0}.file-upload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 15px 0}.file-upload-heading{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-title{margin:0;color:#c0caf5;font-size:15px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-description{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.file-upload-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;margin:0 15px;padding:18px;border:2px dashed #7aa2f7;border-radius:6px;background:#7aa2f714;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.file-upload-dropzone input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(hover:hover)and (pointer:fine){.file-upload-dropzone:hover{border-color:#c0caf5;background:#c0caf51a}}@media(hover:none)and (pointer:coarse){.file-upload-dropzone:active{border-color:#c0caf5;background:#c0caf51a}}.file-upload-dropzone:focus-within{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:#16161e;background:#7aa2f7;font-size:26px}.file-upload-body{display:flex;flex-direction:column;gap:5px;min-width:0}.file-upload-primary{color:#c0caf5;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-secondary{color:#a9b1d6;font-size:13px;line-height:1.4}.file-upload-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin:0 15px}.file-upload-preview[hidden]{display:none}.file-upload-preview-item{position:relative;min-width:0;margin:0;border:2px solid rgba(192,202,245,.24);border-radius:3px;background:#1f2335}.file-upload-preview-remove{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:2px solid #f7768e;color:#f7768e;background:#1f2335;font-size:18px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}@media(hover:hover)and (pointer:fine){.file-upload-preview-remove:hover{color:#16161e;background:#f7768e}}@media(hover:none)and (pointer:coarse){.file-upload-preview-remove:active{color:#16161e;background:#f7768e}}.file-upload-preview-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.file-upload-preview-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#1f2335}.file-upload-preview-visual img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.file-upload-preview-type{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:8px;color:#16161e;background:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.file-upload-preview-item figcaption{display:flex;flex-direction:column;gap:5px;overflow:hidden;padding:8px}.file-upload-preview-name{overflow:hidden;color:#c0caf5;font-size:12px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.file-upload-preview-meta{color:#a9b1d6;font-size:12px;font-weight:700;line-height:1.25;text-transform:uppercase}.file-upload-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 15px 15px}@media(max-width:767px){.file-upload-header{flex-direction:column;align-items:stretch}.file-upload-dropzone{grid-template-columns:1fr}.file-upload-actions{justify-content:stretch}.file-upload-actions .btn{width:100%}}.range{width:100%;max-width:600px;accent-color:#7AA2F7}.range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:40px;margin:0;background:0 0;cursor:pointer}.range input[type=range]::-webkit-slider-runnable-track{height:6px;background:#c0caf516;border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-webkit-slider-thumb{width:16px;height:34px;margin-top:-17px;border:2px solid #7aa2f7;background:#7aa2f7;-webkit-appearance:none}.range input[type=range]::-moz-range-track{height:6px;background:#c0caf516;border:2px solid rgba(192,202,245,.24)}.range input[type=range]::-moz-range-thumb{width:16px;height:34px;border:2px solid #7aa2f7;border-radius:3px;background:#7aa2f7}.radio{display:inline-flex;flex-direction:row;gap:8px;align-items:center;cursor:pointer}.radio input[type=radio]{display:none}.radio .radio-control{width:20px;height:20px;border-radius:100%;border:3px solid #c0caf5;background:#1f2335;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition-duration:.2s;transition-property:border-color,background}.radio .radio-control:before{content:"";display:block;width:10px;height:10px;border-radius:100%;background:#c0caf5;transform:scale(0);transition-duration:.2s;transition-property:transform,background}@media(hover:hover)and (pointer:fine){.radio:hover .radio-control{background:#414868}}@media(hover:none)and (pointer:coarse){.radio:active .radio-control{background:#414868}}.radio input[type=radio]:checked:not(:disabled)+.radio-control{background:#c0caf52e}.radio input[type=radio]:checked+.radio-control:before{transform:scale(1)}.radio input[type=radio]:disabled+.radio-control{border-color:#414868;background:#4148681f;opacity:.5}.radio input[type=radio]:disabled:checked+.radio-control:before{background:#414868}.radio input[type=radio]:focus-visible+.radio-control{outline:2px solid #E0AF68;outline-offset:3px}.radio .radio-label{font-size:14px}.radio-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.switch{display:inline-flex;flex-direction:row;gap:8px;align-items:center;cursor:pointer}.switch input[type=checkbox]{display:none}.switch .switch-control{height:14px;width:28px;border-radius:999px;border:2px solid #c0caf5;position:relative;background:0 0;transition-duration:.2s;transition-property:border-color,background;display:block}.switch .switch-control:before{content:"";display:block;height:18px;width:18px;border-radius:3px;background:#c0caf5;position:absolute;left:-5px;top:-5px;transition-duration:.2s;transition-property:left,background}@media(hover:hover)and (pointer:fine){.switch:hover .switch-control{background:#414868}}@media(hover:none)and (pointer:coarse){.switch:active .switch-control{background:#414868}}.switch input[type=checkbox]:checked:not(:disabled)+.switch-control{background:#7aa2f7;border-color:#7aa2f7}.switch input[type=checkbox]:checked+.switch-control:before{left:15px}.switch input[type=checkbox]:disabled+.switch-control{border-color:#414868}.switch input[type=checkbox]:focus-visible+.switch-control{outline:2px solid #E0AF68;outline-offset:3px}.switch input[type=checkbox]:disabled+.switch-control:before{background:#414868}.checkbox{display:inline-flex;flex-direction:row;gap:8px;align-items:center;cursor:pointer}.checkbox input[type=checkbox]{display:none}.checkbox .checkbox-control{width:20px;height:20px;border-radius:3px;border:2px solid #c0caf5;border-bottom-width:6px;background:#1f2335;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition-duration:.2s;transition-property:border-color,background}.checkbox .checkbox-control:before{content:"";display:block;width:10px;height:5px;border-left:2px solid #c0caf5;border-bottom:2px solid #c0caf5;transform:rotate(-45deg) scale(0);opacity:0;margin-top:-2px;transition-duration:.2s;transition-property:transform,opacity,border-color}@media(hover:hover)and (pointer:fine){.checkbox:hover .checkbox-control{background:#414868}}@media(hover:none)and (pointer:coarse){.checkbox:active .checkbox-control{background:#414868}}.checkbox input[type=checkbox]:checked:not(:disabled)+.checkbox-control{background:#c0caf52e}.checkbox input[type=checkbox]:checked+.checkbox-control:before{transform:rotate(-45deg) scale(1);opacity:1;border-color:#c0caf5}.checkbox input[type=checkbox]:disabled+.checkbox-control{border-color:#414868;background:#4148681f;opacity:.5}.checkbox input[type=checkbox]:disabled:checked+.checkbox-control:before{border-color:#414868}.checkbox input[type=checkbox]:focus-visible+.checkbox-control{outline:2px solid #E0AF68;outline-offset:3px}.checkbox .checkbox-label{font-size:14px}.input-group{display:flex;align-items:stretch;width:100%;max-width:600px;min-height:46px;border:2px solid rgba(192,202,245,.24);border-bottom-width:6px;border-radius:3px;overflow:hidden;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background}.input-group:focus-within{outline:2px solid #E0AF68;outline-offset:3px;border-color:#7aa2f7;background:0 0}.input-group .input-group-action,.input-group .input-group-addon{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:0 12px;color:#a9b1d6;background:#c0caf50b;border:0;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;text-transform:uppercase}.input-group .input-group-action{color:#c0caf5;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.input-group .input-group-input{flex:1 1 auto;min-width:0;border:0;padding:12px 15px;color:#c0caf5;background:0 0;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500;letter-spacing:.04em}.input-group .input-group-input:focus{outline:0}.input-group .input-group-input::-moz-placeholder{color:#787c99}.input-group .input-group-input::placeholder{color:#787c99}.input-group .input-group-input::-webkit-search-cancel-button,.input-group .input-group-input::-webkit-search-decoration,.input-group .input-group-input::-webkit-search-results-button,.input-group .input-group-input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.input-group .ph,.input-group .ph-bold{font-size:22px}.input-group.input-group-compact{min-height:40px}.input-group.input-group-compact .input-group-action,.input-group.input-group-compact .input-group-addon{min-width:40px}.input-group.input-group-compact .input-group-input{padding:8px 12px;font-size:13px}.search-field{max-width:420px}.repeater .repeater-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.repeater .repeater-title{font-size:14px;font-weight:600;color:#c0caf5}.repeater .repeater-list{display:grid;gap:8px}.repeater .repeater-item{background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.repeater .repeater-item-body{width:100%}.repeater .repeater-item-actions{display:flex;align-items:center;gap:8px;padding-top:22px}.repeater.repeater-disabled{opacity:.6;pointer-events:none}.list{display:flex;flex-direction:column;gap:5px;list-style-type:none;padding-left:0}.list .list-item{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:0}.list.list-ordered{list-style-type:decimal;display:list-item;margin-left:30px}.list.list-ordered .list-item{display:list-item}.list.list-definition{width:100%;max-width:620px;gap:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.list.list-definition .list-row{display:grid;grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);gap:15px;align-items:start;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color}.list.list-definition .list-row .list-term{display:inline-flex;width:-moz-max-content;width:max-content;max-width:100%;margin:0;padding:5px 8px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:background,transform}.list.list-definition .list-row .list-desc{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.2s;transition-timing-function:ease;transition-property:color,transform}.list.list-definition .list-row:last-child{border-bottom:0}@media(hover:hover)and (pointer:fine){.list.list-definition .list-row:hover{background:#c0caf516}.list.list-definition .list-row:hover .list-term{background:#7aa2f7;transform:translate(5px)}.list.list-definition .list-row:hover .list-desc{color:#c0caf5;transform:translate(5px)}}@media(hover:none)and (pointer:coarse){.list.list-definition .list-row:active{background:#c0caf516}.list.list-definition .list-row:active .list-term{background:#7aa2f7;transform:translate(5px)}.list.list-definition .list-row:active .list-desc{color:#c0caf5;transform:translate(5px)}}.list.list-nav{max-width:420px;width:100%;gap:0}.list.list-nav .list-item{display:flex;flex-direction:column;align-items:flex-start;height:50px;margin:0}.list.list-nav .list-item .list-action{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;padding:8px 12px;border:2px solid transparent;border-radius:3px;font-size:14px;background:#1f2335;color:inherit;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:background,border-color,color}.list.list-nav .list-item .list-action:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.list.list-nav .list-item .list-action:hover{background:#7aa2f7;color:#16161e}}@media(hover:none)and (pointer:coarse){.list.list-nav .list-item .list-action:active{background:#7aa2f7;color:#16161e}}.list.list-nav .list-item .list-action .list-label{display:flex;flex-direction:row;gap:8px;align-items:center;letter-spacing:0;font-weight:400}.list.list-nav .list-item .list-action .list-meta{padding:8px;background:#9ece6a;color:#16161e;display:flex}.list.list-nav .list-item.list-item-active .list-action{background:#7aa2f7;color:#16161e;border-color:#7aa2f7}.list.list-actions{width:100%;max-width:420px;gap:22px}.list.list-actions .list-item{justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:2px solid rgba(192,202,245,.08)}.list.list-actions .list-item .list-content{display:flex;flex-direction:column;gap:8px}.list.list-actions .list-item .list-content .list-title{font-size:15px;line-height:1}.list.list-actions .list-item .list-content .list-subtitle{color:#787c99}@media(hover:hover)and (pointer:fine){.list.list-actions .list-item:hover .list-title{color:#7aa2f7}}@media(hover:none)and (pointer:coarse){.list.list-actions .list-item:active .list-title{color:#7aa2f7}}@media(max-width:479px){.list.list-definition .list-row{grid-template-columns:1fr;gap:8px}}.badge{position:relative;overflow:hidden;border-radius:3px;background:#c0caf5;color:#16161e;padding:5px 8px;font-size:13px;font-weight:600;line-height:1;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:24px;transition-duration:.2s;transition-timing-function:ease;transition-property:filter,transform,border-color,color,background}.badge:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:linear-gradient(90deg,transparent,rgba(22,22,30,.16),transparent);opacity:0;pointer-events:none;transform:translate(-120%)}@media(hover:hover)and (pointer:fine){.badge:hover{filter:saturate(1.12);transform:translateY(-1px)}.badge:hover:after{opacity:1;animation:terminal_scan_x .7s ease}}@media(hover:none)and (pointer:coarse){.badge:active{filter:saturate(1.12);transform:translateY(-1px)}.badge:active:after{opacity:1;animation:terminal_scan_x .7s ease}}.badge.badge-success{background:#9ece6a}.badge.badge-warning{background:#e0af68}.badge.badge-danger,.badge.badge-error{background:#f7768e}.badge.badge-info{background:#bb9af7;color:#16161e}.badge.badge-secondary{background:#7aa2f7;color:#16161e}.badge.badge-primary-outline{color:#c0caf5;border:2px solid #c0caf5;background:0 0;padding:3px 8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:5px 12px;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#a9b1d6;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.chip .ph,.chip .ph-bold{font-size:18px}.chip:before{content:"";display:inline-block;width:7px;height:7px;flex:0 0 auto;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow,transform}.chip:has(.ph):before,.chip:has(.ph-bold):before{display:none}.chip .chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:-5px;border:0;color:inherit;background:0 0;font:inherit;cursor:pointer}.chip .chip-remove:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}.chip.chip-primary{color:#c0caf5;background:#c0caf514;border-color:#c0caf5}.chip.chip-primary:before{background:#c0caf5}.chip.chip-secondary{color:#7aa2f7;background:#7aa2f714;border-color:#7aa2f7}.chip.chip-secondary:before{background:#7aa2f7}.chip.chip-success{color:#9ece6a;background:#9ece6a14;border-color:#9ece6a}.chip.chip-success:before{background:#9ece6a}.chip.chip-warning{color:#e0af68;background:#e0af6814;border-color:#e0af68}.chip.chip-warning:before{background:#e0af68}.chip.chip-danger,.chip.chip-error{color:#f7768e;background:#f7768e14;border-color:#f7768e}.chip.chip-danger:before,.chip.chip-error:before{background:#f7768e}.chip.chip-selected,.chip[aria-pressed=true],.chip[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.chip.chip-selected:before,.chip[aria-pressed=true]:before,.chip[aria-selected=true]:before{background:#16161e}.chip.chip-secondary[aria-pressed=true],.chip.chip-secondary[aria-selected=true],.chip.chip-selected.chip-secondary{background:#7aa2f7;border-color:#7aa2f7}.chip.chip-disabled,.chip:disabled{color:#787c99;background:#1f2335;border-color:#c0caf53d;cursor:not-allowed;opacity:.7}.chip.chip-disabled:before,.chip:disabled:before{background:#414868}a.chip,button.chip{cursor:pointer}a.chip:focus-visible,button.chip:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){a.chip:hover,button.chip:hover{color:#c0caf5;background:#c0caf516;border-color:#7aa2f7}a.chip:hover:before,button.chip:hover:before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}@media(hover:none)and (pointer:coarse){a.chip:active,button.chip:active{color:#c0caf5;background:#c0caf516;border-color:#7aa2f7}a.chip:active:before,button.chip:active:before{background:#7aa2f7;animation:terminal_pulse .7s ease;transform:scale(1.12)}}.tag-input{background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;position:relative}.tag-input .tag-input-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;min-height:40px;cursor:text}.tag-input .tag-input-field{flex:1 1 auto;min-width:80px;padding:5px 0;border:0;color:#c0caf5;background:0 0;font-family:IBM Plex Mono,monospace;font-size:13px;line-height:1;outline:0}.tag-input .tag-input-field::-moz-placeholder{color:#787c99;opacity:1}.tag-input .tag-input-field::placeholder{color:#787c99;opacity:1}.tag-input.tag-input-focused{border-color:#c0caf5}.tag-input .tag-input-meta{padding:0 12px 8px;color:#787c99;font-size:12px;line-height:1}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#16161e;background:#c0caf5;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar .ph,.avatar .ph-bold{font-size:22px}.avatar .avatar-status{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:2px solid #16161e;background:#787c99;transition-duration:.2s;transition-timing-function:ease;transition-property:background,box-shadow}.avatar.avatar-sm{width:34px;height:34px;font-size:12px}.avatar.avatar-sm .ph,.avatar.avatar-sm .ph-bold{font-size:18px}.avatar.avatar-lg{width:46px;height:46px;font-size:14px}.avatar.avatar-lg .ph,.avatar.avatar-lg .ph-bold{font-size:26px}.avatar.avatar-secondary{background:#7aa2f7}.avatar.avatar-success{background:#9ece6a}.avatar.avatar-warning{background:#e0af68}.avatar.avatar-danger,.avatar.avatar-error{background:#f7768e}.avatar.avatar-outline{color:#c0caf5;background:#1f2335;border-color:#c0caf5}.avatar.is-online .avatar-status{background:#9ece6a;animation:terminal_pulse 1.8s ease infinite}.avatar.is-busy .avatar-status{background:#e0af68}.avatar.is-offline .avatar-status{background:#787c99}.identity{display:inline-flex;align-items:center;gap:12px;min-width:0}.identity-content{display:flex;flex-direction:column;gap:5px;min-width:0}.identity-title{color:#c0caf5;font-size:14px;font-weight:600;line-height:1}.identity-meta{color:#787c99;font-size:13px;line-height:1.4}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{margin-right:-8px;border-color:#16161e}.avatar-stack .avatar-stack-count{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border:2px solid #16161e;color:#16161e;background:#e0af68;font-size:13px;font-weight:700}.table{width:100%;text-align:left;border:2px solid rgba(192,202,245,.24);border-collapse:separate;border-spacing:0;border-radius:6px;background:#1f2335}.table .table-row:first-child>:first-child{border-top-left-radius:6px}.table .table-row:first-child>:last-child{border-top-right-radius:6px}.table .table-row:last-child>:first-child{border-bottom-left-radius:6px}.table .table-row:last-child>:last-child{border-bottom-right-radius:6px}.table .table-caption{text-align:left;font-size:15px;background:#c0caf5;width:-moz-max-content;width:max-content;color:#16161e;padding:5px 12px;margin-bottom:0;font-weight:700;text-transform:uppercase}.table.table-empty{width:100%}.table.table-empty .is-empty{width:100%;padding:15px;font-size:13px;color:#787c99;text-align:left}.table .table-row td,.table .table-row th{padding:12px 18px;font-size:13px;vertical-align:middle;border-bottom:2px solid rgba(192,202,245,.08)}.table .table-row th{color:#c0caf5;background:#c0caf50a;text-transform:uppercase;letter-spacing:.04em}.table .table-head{border-bottom:2px solid #c0caf5}.table .table-body .table-row{transition-duration:.2s;transition-timing-function:ease;transition-property:background,color}.table .table-body .table-row td{transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}@media(hover:hover)and (pointer:fine){.table .table-body .table-row:hover{background:#7aa2f714}.table .table-body .table-row:hover td:first-child{color:#7aa2f7}}@media(hover:none)and (pointer:coarse){.table .table-body .table-row:active{background:#7aa2f714}.table .table-body .table-row:active td:first-child{color:#7aa2f7}}.table .table-foot td,.table .table-foot th{padding-top:15px}.table.table-compact .table-caption{font-size:14px}.table.table-compact .table-row td,.table.table-compact .table-row th{padding:8px 12px;font-size:12px}.table.table-compact .table-cell-mono{color:#a9b1d6;font-family:IBM Plex Mono,monospace;letter-spacing:0}.table.table-compact .table-cell-actions{width:1%;white-space:nowrap}.table-wrapper{width:100%;overflow-x:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.toolbar .toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.toolbar .toolbar-title{margin:0;font-size:15px;font-weight:700;line-height:1;text-transform:uppercase}.toolbar .toolbar-meta{color:#787c99;font-size:13px}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination .pagination-item{display:inline-flex;align-items:center;justify-content:center;min-width:34px;border-radius:3px;height:34px;padding:0 12px;border:2px solid rgba(192,202,245,.24);color:#a9b1d6;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color,opacity}.pagination .pagination-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.pagination .pagination-item:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media(hover:none)and (pointer:coarse){.pagination .pagination-item:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.pagination .pagination-item.pagination-item-active,.pagination .pagination-item[aria-current=page]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.pagination .pagination-item.pagination-item-disabled,.pagination .pagination-item:disabled{color:#787c99;background:#1f2335;border-color:#c0caf53d;cursor:not-allowed;opacity:.72}.pagination .pagination-ellipsis{color:#787c99;padding:0 5px}.empty-state{max-width:560px;padding:22px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.empty-state .empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:15px;color:#16161e;background:#c0caf5;font-size:26px}.empty-state .empty-state-title{margin:0 0 8px;font-size:18px;font-weight:700;text-transform:uppercase}.empty-state .empty-state-text{max-width:440px;margin:0 0 18px;color:#a9b1d6;line-height:1.6}.empty-state .empty-state-actions{display:flex;flex-wrap:wrap;gap:8px}.empty-state.empty-state-error{border-color:#f7768e}.empty-state.empty-state-error .empty-state-icon{background:#f7768e}.skeleton{display:block;position:relative;overflow:hidden;border-radius:3px;background:#c0caf516}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);animation:skeleton_shimmer 1.6s infinite}.skeleton.skeleton-line{width:100%;height:14px}.skeleton.skeleton-title{width:60%;height:22px}.skeleton.skeleton-block{width:100%;height:120px}.skeleton.skeleton-square{width:46px;height:46px}.skeleton-stack{display:flex;flex-direction:column;gap:12px;max-width:520px;padding:15px;border:2px solid rgba(192,202,245,.24);border-radius:6px;background:#1f2335}@keyframes skeleton_shimmer{to{transform:translate(100%)}}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;width:100%;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335;animation:panel_boot .28s ease both}.page-header .page-header-content{display:flex;flex-direction:column;gap:8px;min-width:min(100%,320px)}.page-header .page-header-kicker{color:#7aa2f7;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.page-header .page-header-title{margin:0;color:#c0caf5;font-size:23px;font-weight:700;line-height:1.15}.page-header .page-header-subtitle{max-width:720px;margin:0;color:#a9b1d6;font-size:14px;line-height:1.6}.page-header .page-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.page-header .page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.page-header.page-header-compact{align-items:center;padding:15px}.page-header.page-header-compact .page-header-title{font-size:18px}.page-header.page-header-accent{border-color:#7aa2f7;background:#7aa2f70e}.description-list{display:grid;width:100%;max-width:760px;margin:0;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.description-list .description-list-row{display:grid;grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);gap:15px;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.description-list .description-list-row:last-child{border-bottom:0}@media(hover:hover)and (pointer:fine){.description-list .description-list-row:hover{background:#c0caf516}.description-list .description-list-row:hover .description-list-term{color:#7aa2f7}.description-list .description-list-row:hover .description-list-value{transform:translate(5px)}}@media(hover:none)and (pointer:coarse){.description-list .description-list-row:active{background:#c0caf516}.description-list .description-list-row:active .description-list-term{color:#7aa2f7}.description-list .description-list-row:active .description-list-value{transform:translate(5px)}}.description-list .description-list-term{margin:0;color:#787c99;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color}.description-list .description-list-value{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;color:#c0caf5;font-size:14px;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:transform}.description-list .description-list-value-muted{color:#a9b1d6}.description-list.description-list-compact{max-width:520px}.description-list.description-list-compact .description-list-row{grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);gap:12px;padding:8px 12px}.description-list.description-list-compact .description-list-term,.description-list.description-list-compact .description-list-value{font-size:13px}@media(max-width:479px){.description-list .description-list-row{grid-template-columns:1fr;gap:5px}}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:900px;margin:0;padding:0;list-style:none}.steps .step{position:relative;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.steps .step-marker{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:3px;color:#c0caf5;border:2px solid rgba(192,202,245,.24);font-size:13px;font-weight:700;line-height:1}.steps .step-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.steps .step-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.steps .step-complete{border-color:#9ece6a}.steps .step-complete .step-marker{color:#16161e;background:#9ece6a;border-color:#9ece6a}.steps .step-current{border-color:#7aa2f7}.steps .step-current .step-marker{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}.steps .step-disabled{opacity:.62}.steps.steps-vertical{grid-template-columns:1fr;max-width:520px;gap:0}.steps.steps-vertical .step{min-height:auto;border-bottom-width:0;border-radius:0}.steps.steps-vertical .step:last-child{border-bottom-width:2px}@media(max-width:1023px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:479px){.steps{grid-template-columns:1fr}}.timeline{display:grid;gap:0;width:100%;max-width:760px;margin:0;padding:0;list-style:none}.timeline .timeline-item{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;min-height:88px}.timeline .timeline-item:before{content:"";position:absolute;top:40px;bottom:0;left:19px;width:2px;background:#c0caf53d}.timeline .timeline-item:last-child:before{display:none}.timeline .timeline-marker{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#a9b1d6;background:#16161e;font-size:18px;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,color,box-shadow,transform}.timeline .timeline-content{min-width:0;padding:0 0 18px}.timeline .timeline-card{padding:15px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335;transition-duration:.2s;transition-timing-function:ease;transition-property:border-color,background,transform}.timeline .timeline-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.timeline .timeline-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;text-transform:uppercase}.timeline .timeline-time{color:#787c99;font-size:12px;font-family:IBM Plex Mono,monospace;line-height:1.4}.timeline .timeline-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.4}.timeline .timeline-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.timeline .timeline-item-success .timeline-card,.timeline .timeline-item-success .timeline-marker{border-color:#9ece6a}.timeline .timeline-item-success .timeline-marker{color:#16161e;background:#9ece6a}.timeline .timeline-item-warning .timeline-card,.timeline .timeline-item-warning .timeline-marker{border-color:#e0af68}.timeline .timeline-item-warning .timeline-marker{color:#16161e;background:#e0af68}.timeline .timeline-item-danger .timeline-card,.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-card,.timeline .timeline-item-error .timeline-marker{border-color:#f7768e}.timeline .timeline-item-danger .timeline-marker,.timeline .timeline-item-error .timeline-marker{color:#16161e;background:#f7768e}@media(hover:hover)and (pointer:fine){.timeline .timeline-item:hover .timeline-marker{box-shadow:0 0 0 4px #7aa2f724;transform:scale(1.04)}.timeline .timeline-item:hover .timeline-card{background:#c0caf516;transform:translate(5px)}}@media(hover:none)and (pointer:coarse){.timeline .timeline-item:active .timeline-marker{box-shadow:0 0 0 4px #7aa2f724;transform:scale(1.04)}.timeline .timeline-item:active .timeline-card{background:#c0caf516;transform:translate(5px)}}.activity-log{display:grid;width:100%;max-width:720px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;overflow:hidden;background:#1f2335}.activity-log .activity-log-row{display:grid;grid-template-columns:minmax(120px,.24fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:2px solid rgba(192,202,245,.08);transition-duration:.2s;transition-timing-function:ease;transition-property:background}.activity-log .activity-log-row:last-child{border-bottom:0}@media(hover:hover)and (pointer:fine){.activity-log .activity-log-row:hover{background:#c0caf516}}@media(hover:none)and (pointer:coarse){.activity-log .activity-log-row:active{background:#c0caf516}}.activity-log .activity-log-time{color:#787c99;font-family:IBM Plex Mono,monospace;font-size:12px}.activity-log .activity-log-title{color:#c0caf5;font-size:13px;font-weight:600;line-height:1.4}@media(max-width:479px){.activity-log .activity-log-row{grid-template-columns:1fr;gap:8px}}.accordion{display:grid;width:100%;max-width:760px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;overflow:hidden;background:#1f2335}.accordion-item{border-bottom:2px solid rgba(192,202,245,.08);overflow:hidden}.accordion-item:last-child{border-bottom:0}.accordion-item[open] .accordion-summary{color:#16161e;background:#c0caf5}.accordion-item[open] .accordion-icon{transform:rotate(180deg)}.accordion-summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:12px 15px;border:0;color:#c0caf5;background:0 0;cursor:pointer;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.accordion-summary::-webkit-details-marker{display:none}.accordion-summary::marker{content:""}.accordion-summary:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.accordion-summary:hover{color:#16161e;background:#7aa2f7}}@media(hover:none)and (pointer:coarse){.accordion-summary:active{color:#16161e;background:#7aa2f7}}.accordion-summary-content{display:flex;align-items:center;gap:8px;min-width:0}.accordion-icon{flex:0 0 auto;font-size:18px;transition-duration:.2s;transition-property:transform}.accordion-panel{overflow:hidden;padding:15px;color:#a9b1d6;font-size:13px;line-height:1.6;transition-duration:.28s;transition-timing-function:ease;transition-property:height,opacity,transform}.accordion-panel p{margin-top:0}.accordion-panel p:last-child{margin-bottom:0}.disclosure{max-width:520px;border:2px solid rgba(192,202,245,.24);border-radius:6px;overflow:hidden;background:#1f2335}.disclosure .accordion-summary{min-height:34px;padding:8px 12px}.disclosure .accordion-panel{padding:12px}.tabs{width:100%;max-width:900px}.tabs-list{display:flex;align-items:stretch;gap:5px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:5px;border:2px solid rgba(192,202,245,.24);border-radius:6px;background:#1f2335;overflow-x:auto;scrollbar-width:thin}.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:12px 15px;border:0;border-radius:3px;color:#a9b1d6;background:0 0;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,opacity}.tab .ph,.tab .ph-bold{font-size:18px}.tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px;z-index:1}@media(hover:hover)and (pointer:fine){.tab:hover{color:#c0caf5;background:#c0caf516}}@media(hover:none)and (pointer:coarse){.tab:active{color:#c0caf5;background:#c0caf516}}.tab:disabled,.tab[aria-disabled=true]{color:#787c99;cursor:not-allowed;opacity:.62}@media(hover:hover)and (pointer:fine){.tab:disabled:hover,.tab[aria-disabled=true]:hover{color:#787c99;background:0 0}}@media(hover:none)and (pointer:coarse){.tab:disabled:active,.tab[aria-disabled=true]:active{color:#787c99;background:0 0}}.tab-active,.tab[aria-selected=true]{color:#16161e;background:#c0caf5}.tab-panel{display:none}.tab-panel p{margin-top:0}.tab-panel p:last-child{margin-bottom:0}.tab-panel-active{display:block}.tabs-compact{max-width:620px}.tabs-compact .tab{min-height:34px;padding:8px 12px}.tabs-vertical{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start}.tabs-vertical .tabs-list{flex-direction:column;overflow-x:visible}.tabs-vertical .tab{justify-content:flex-start;text-align:left}@media(max-width:767px){.tabs-vertical{grid-template-columns:1fr}.tabs-vertical .tabs-list{flex-direction:row;overflow-x:auto}.tabs-vertical .tab{justify-content:center;text-align:center}}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none}.drawer .drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;background:#16161e;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity;pointer-events:auto}.drawer .drawer-panel{position:relative;z-index:1020;width:min(460px,100vw - 18px);min-height:100vh;display:flex;flex-direction:column;gap:15px;background:#16161e;border-left:2px solid rgba(192,202,245,.24);box-shadow:-18px 0 42px #16161e61;opacity:0;transform:translate(100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform;pointer-events:auto}.drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;padding-right:15px;border-bottom:2px solid rgba(192,202,245,.24)}.drawer .drawer-title{margin:0;padding:12px 15px;color:#c0caf5;text-transform:uppercase;letter-spacing:.04em}.drawer .drawer-body{flex:1;overflow-y:auto;padding:18px}.drawer .drawer-footer{padding:18px;border-top:2px solid rgba(192,202,245,.24)}.drawer .drawer-footer .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;width:100%}.drawer.drawer-left{justify-content:flex-start}.drawer.drawer-left .drawer-panel{border-left:0;border-right:2px solid #c0caf5;box-shadow:18px 0 42px #16161e61;transform:translate(-100%)}.drawer.a-show .drawer-backdrop{opacity:.82}.drawer.a-show .drawer-panel{opacity:1;transform:translate(0)}.drawer.a-hide .drawer-backdrop{opacity:0}.drawer.a-hide .drawer-panel{opacity:0;transform:translate(100%)}.drawer.a-hide.drawer-left .drawer-panel{transform:translate(-100%)}.drawer-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:18px;align-items:stretch;padding:18px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#1f2335}.drawer-preview .drawer-preview-content{display:flex;flex-direction:column;gap:12px}.drawer-preview .drawer-preview-panel{display:flex;flex-direction:column;gap:12px;padding:15px;border:2px solid #7aa2f7;border-radius:6px;background:#1f2335}.drawer-preview .drawer-preview-title{margin:0;color:#7aa2f7;font-size:14px;text-transform:uppercase}.drawer-preview .drawer-preview-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media(max-width:720px){.drawer-preview{grid-template-columns:1fr}}.nav-topbar{position:sticky;top:0;z-index:900;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:58px;border-bottom:2px solid rgba(192,202,245,.24);background:#16161ef5;box-shadow:0 10px 28px #16161e42}.nav-topbar-toggle{display:inline-flex;align-items:center;align-self:stretch;gap:8px;min-width:150px;padding:0 15px;border:0;border-right:2px solid rgba(192,202,245,.24);color:#c0caf5;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.nav-topbar-toggle .ph{color:#7aa2f7;font-size:22px}.nav-topbar-toggle:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.nav-topbar-toggle:hover{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:hover .ph{color:#16161e}}@media(hover:none)and (pointer:coarse){.nav-topbar-toggle:active{color:#16161e;background:#7aa2f7}.nav-topbar-toggle:active .ph{color:#16161e}}.nav-topbar-brand{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0 15px;color:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-topbar-brand img{width:48px;height:48px}.nav-topbar-current{min-width:160px;margin-right:15px;padding:5px 8px;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#a9b1d6;background:#1f2335;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}.nav-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:910;background:#16161e;opacity:0;pointer-events:none;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity}.nav-drawer{position:fixed;inset:0 auto 0 0;z-index:920;display:flex;flex-direction:column;width:min(380px,100vw);max-height:100vh;border-right:2px solid #c0caf5;background:#1f2335;box-shadow:18px 0 42px #16161e61;opacity:0;overflow:hidden;pointer-events:none;transform:translate(-100%);transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,transform}.nav-drawer.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:2px solid rgba(192,202,245,.24)}.nav-drawer-title{display:inline-flex;padding:8px 12px;border-radius:3px;color:#16161e;background:#c0caf5;font-size:13px;font-weight:700;text-transform:uppercase}.nav-drawer-subtitle{margin-top:8px;color:#787c99;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:2px solid rgba(192,202,245,.24);border-radius:3px;color:#c0caf5;background:0 0;font-size:22px;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.nav-drawer-close:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.nav-drawer-close:hover{color:#16161e;background:#f7768e;border-color:#f7768e}}@media(hover:none)and (pointer:coarse){.nav-drawer-close:active{color:#16161e;background:#f7768e;border-color:#f7768e}}.nav-drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-width:thin;scrollbar-color:#7AA2F7 #1F2335}.nav-drawer-body::-webkit-scrollbar{width:8px}.nav-drawer-body::-webkit-scrollbar-track{background:#1f2335}.nav-drawer-body::-webkit-scrollbar-thumb{background:#7aa2f7}.nav-drawer-body .list.list-nav{max-width:none}.nav-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-top:2px solid rgba(192,202,245,.24);color:#787c99;background:#1f2335;font-size:12px;font-weight:700;text-transform:uppercase}.nav-drawer-footer .profile-identity{display:block;text-decoration:none;color:inherit;min-width:0;flex:1 1 auto;overflow:hidden}@media(hover:hover)and (pointer:fine){.nav-drawer-footer .profile-identity:hover{color:inherit}}@media(hover:none)and (pointer:coarse){.nav-drawer-footer .profile-identity:active{color:inherit}}.nav-drawer-open{overflow:hidden}.nav-drawer-open .nav-drawer-backdrop{opacity:.82;pointer-events:auto}@media(max-width:767px){.nav-topbar-toggle{min-width:54px;padding:0 12px}.nav-topbar-brand{padding-right:12px;padding-left:12px}.nav-topbar-current{max-width:38vw;min-width:0;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-drawer{width:100vw;border-right:0}}.nav-shell-preview{width:100%;max-width:900px;overflow:hidden;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;background:#16161e}.nav-shell-preview-topbar{position:relative;z-index:0;min-height:52px;box-shadow:none}.nav-shell-preview-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:320px}.nav-shell-preview-drawer{position:relative;z-index:0;inset:auto;width:auto;max-height:none;opacity:1;pointer-events:auto;transform:none;box-shadow:none}.nav-shell-preview-content{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;padding:18px;border-left:2px solid rgba(192,202,245,.24);background:#1f2335}.nav-shell-preview-content h3{margin:0;color:#c0caf5;font-size:18px;text-transform:uppercase}.nav-shell-preview-content p{max-width:360px;margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}@media(max-width:767px){.nav-shell-preview-body{grid-template-columns:1fr}.nav-shell-preview-content{min-height:180px;border-top:2px solid rgba(192,202,245,.24);border-left:0}}.toast{position:fixed;z-index:1100;bottom:-100px;right:15px;max-width:420px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;box-shadow:0 14px 36px #16161e5c;padding:0;opacity:0;overflow:hidden;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,bottom}.toast.a-show{bottom:15px;opacity:1}.toast.a-hide{bottom:-45px;opacity:0}.toast .toast-content{display:flex;flex-direction:column;gap:0;padding:15px 48px 15px 18px}.toast .toast-content .toast-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;color:#c0caf5;line-height:1}.toast .toast-content .toast-header .ph{font-size:22px;flex-shrink:0}.toast .toast-content .toast-text{padding:8px 0 0;margin:0;color:#c0caf5;font-size:14px;line-height:1.6}.toast .toast-close{position:absolute;top:5px;right:8px;color:#a9b1d6;width:34px;height:34px;border-color:transparent;background:0 0}@media(hover:hover)and (pointer:fine){.toast .toast-close:not(.without-hover):hover{color:#c0caf5;border-color:transparent}}@media(hover:none)and (pointer:coarse){.toast .toast-close:not(.without-hover):active{color:#c0caf5;border-color:transparent}}.toast .toast-progress{height:3px;width:100%;background:#16161e73;overflow:hidden;margin-top:1px}.toast .toast-progress .toast-progress-bar{height:100%;width:100%;transform-origin:left;animation:toast-progress linear forwards;background:#7aa2f7}.toast.toast-info{border-color:#bb9af7}.toast.toast-info .toast-header,.toast.toast-info .toast-header .ph{color:#bb9af7}.toast.toast-info .toast-progress-bar{background:#bb9af7}.toast.toast-success{border-color:#9ece6a}.toast.toast-success .toast-header,.toast.toast-success .toast-header .ph{color:#9ece6a}.toast.toast-success .toast-progress-bar{background:#9ece6a}.toast.toast-warning{border-color:#e0af68}.toast.toast-warning .toast-header,.toast.toast-warning .toast-header .ph{color:#e0af68}.toast.toast-warning .toast-progress-bar{background:#e0af68}.toast.toast-danger{border-color:#f7768e}.toast.toast-danger .toast-header,.toast.toast-danger .toast-header .ph{color:#f7768e}.toast.toast-danger .toast-progress-bar{background:#f7768e}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.card{position:relative;max-width:340px;width:-moz-max-content;width:max-content;overflow:hidden;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px}.card .card-title{color:#c0caf5;padding:15px 15px 0;font-weight:700;text-transform:uppercase}.card .card-content{padding:15px;height:100%}.card .card-content .card-thumb{display:block;width:min(68%,190px);margin:18px auto 22px}.card .card-content p{margin-top:8px;margin-bottom:0}.card .card-footer{padding:8px 15px 15px}.card.status-card{max-width:220px;overflow:hidden}.card.status-card .status-icon-container{position:relative}.card.status-card .status-icon-container .status-indicator{position:absolute;top:-15px;left:-5px;font-size:22px;color:#f7768e}.card.status-card .status-icon-container .status-indicator.status-online{color:#9ece6a}.card.status-card .status-icon-container .status-icon{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;font-size:56px;height:108px;width:100%}.card.status-card .card-title{display:flex;width:100%;font-size:14px;font-weight:700;align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.card.status-card .status-name{font-size:13px;line-height:1.4}.card.status-card.card-success{border-color:#9ece6a}.card.status-card.card-success .card-title,.card.status-card.card-success .modal-title,.card.status-card.card-success .toast-title{color:#9ece6a;background:0 0}.card.status-card.card-success .status-icon{color:#9ece6a}.card.status-card.card-warning{border-color:#e0af68}.card.status-card.card-warning .card-title,.card.status-card.card-warning .modal-title,.card.status-card.card-warning .toast-title{color:#e0af68;background:0 0}.card.status-card.card-warning .status-icon{color:#e0af68}.card.status-card.card-info{border-color:#bb9af7}.card.status-card.card-info .card-title,.card.status-card.card-info .modal-title,.card.status-card.card-info .toast-title{color:#bb9af7;background:0 0}.card.status-card.card-info .status-icon{color:#bb9af7}.card.status-card.card-secondary{border-color:#7aa2f7}.card.status-card.card-secondary .card-title,.card.status-card.card-secondary .modal-title,.card.status-card.card-secondary .toast-title{color:#7aa2f7;background:0 0}.card.status-card.card-secondary .status-icon{color:#7aa2f7}.card.status-card.card-danger,.card.status-card.card-error{border-color:#f7768e}.card.status-card.card-danger .card-title,.card.status-card.card-danger .modal-title,.card.status-card.card-danger .toast-title,.card.status-card.card-error .card-title,.card.status-card.card-error .modal-title,.card.status-card.card-error .toast-title{color:#f7768e;background:0 0}.card.status-card.card-danger .status-icon,.card.status-card.card-error .status-icon{color:#f7768e}.card.metric-card{max-width:320px;border-color:#c0caf53d}.card.metric-card .card-content{display:flex;flex-direction:column;gap:15px}.card.metric-card .metric-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card.metric-card .metric-card-label{margin:0;color:#a9b1d6;font-size:13px;font-weight:600;text-transform:uppercase}.card.metric-card .metric-card-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:#16161e;background:#7aa2f7;font-size:22px}.card.metric-card .metric-card-value{margin:0;color:#c0caf5;font-size:30px;font-weight:700;line-height:1.15}.card.metric-card .metric-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#787c99;font-size:13px}.card.metric-card .metric-card-delta{color:#9ece6a;font-weight:700}.card.metric-card .metric-card-delta.metric-card-delta-negative{color:#f7768e}.card.card-horizontal{max-width:none;display:flex;flex-direction:row;align-items:stretch;overflow:hidden}.card.card-horizontal .card-media{flex:0 0 20%;min-width:80px;max-width:160px;max-height:160px;overflow:hidden;position:relative;aspect-ratio:1;align-self:start}.card.card-horizontal .card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.card.card-horizontal .card-body{flex:1 1 auto;display:flex;flex-direction:column;padding:15px;gap:12px}.card.card-horizontal .card-title{padding:0;background:0 0;color:#c0caf5;font-size:15px;font-weight:700;text-transform:none;line-height:1.25}.card.card-horizontal .card-title a{color:inherit;text-decoration:none}.card.card-horizontal .card-content{padding:0;height:auto}.card.card-horizontal .card-content p{margin:0}.card.card-horizontal .card-footer{padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#a9b1d6;font-size:13px}.card.action-card{max-width:360px;border-color:#7aa2f7}.card.action-card .card-content{display:flex;flex-direction:column;gap:15px}.card.action-card .action-card-kicker{display:inline-flex;width:-moz-max-content;width:max-content;padding:5px 8px;color:#16161e;background:#7aa2f7;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase}.card.action-card .action-card-title{margin:0;font-size:18px;font-weight:700;line-height:1.25;text-transform:uppercase}.card.action-card .action-card-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.card.action-card .action-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.card.login-card{max-width:100%;width:460px;border-color:#c0caf5}.card.login-card .login-card-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px}.card.login-card .login-card-logo{display:block;width:auto;max-height:40px}.card.login-card .login-card-logo-icon{font-size:56px;color:#c0caf5}.card.login-card .login-card-title{font-size:18px;font-weight:700;text-transform:uppercase}.card.login-card .login-card-form{display:flex;flex-direction:column;gap:15px}.card.login-card .login-card-submit{width:-moz-max-content;width:max-content;margin-top:8px}.card.login-card .form-group{margin-bottom:0}.card.login-card .login-card-links{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px}.card.login-card .login-card-link{color:#a9b1d6;text-decoration:none}@media(hover:hover)and (pointer:fine){.card.login-card .login-card-link:hover{color:#c0caf5;text-decoration:underline}}@media(hover:none)and (pointer:coarse){.card.login-card .login-card-link:active{color:#c0caf5;text-decoration:underline}}.card.login-card .login-card-error{margin-bottom:8px}.card.user-card{max-width:320px}.card.user-card .user-card-body{display:flex;flex-direction:column;align-items:center;gap:15px;padding:18px;text-align:center}.card.user-card .identity{flex-direction:column;align-items:center;gap:15px}.card.user-card .identity .avatar{width:64px;height:64px;font-size:18px}.card.user-card .identity .identity-content{align-items:center;text-align:center}.card.user-card .user-card-role{color:#a9b1d6;font-size:13px;margin-top:5px}.card.user-card .user-card-actions{display:flex;gap:8px}.card.user-card-compact{max-width:none}.card.user-card-compact .user-card-body{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 15px;text-align:left}.card.user-card-compact .identity{flex-direction:row;gap:12px}.card.user-card-compact .identity .avatar{width:38px;height:38px;font-size:13px}.card.user-card-compact .identity .identity-content{align-items:flex-start}.card.user-card-compact .user-card-actions{display:flex;gap:5px}.modal{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal .modal-backdrop{position:fixed;z-index:1010;top:0;bottom:0;left:0;right:0;background:#16161e;opacity:0;transition-duration:.25s;transition-property:opacity}.modal .modal-dialog{position:relative;z-index:1020;width:100%;max-width:960px;margin:200px 18px 18px;height:auto;max-height:calc(100vh - 48px);padding:0;display:flex;flex-direction:column;gap:0;opacity:0;transition-duration:.28s;transition-timing-function:ease;transition-property:opacity,margin-top}.modal .modal-dialog .modal-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.modal .modal-dialog .modal-header .modal-title{padding:15px 18px 0;color:#c0caf5;text-transform:uppercase;letter-spacing:.04em}.modal .modal-dialog .modal-header .modal-close{flex:0 0 auto;color:#c0caf5;border-color:#c0caf53d;background:#16161e}.modal .modal-dialog .modal-panel{min-height:200px;display:flex;flex-direction:column;gap:15px;overflow:hidden;background:#16161e;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px}.modal .modal-dialog .modal-body{max-height:700px;overflow-y:auto;padding:18px}.modal .modal-dialog .modal-footer{padding:18px}.modal .modal-dialog .modal-footer .actions{display:flex;flex-direction:row;justify-content:flex-end;gap:15px;width:100%}.modal.a-show .modal-backdrop{opacity:1}.modal.a-show .modal-dialog{opacity:1;margin-top:0}.modal.a-hide .modal-backdrop{opacity:0}.modal.a-hide .modal-dialog{opacity:0;margin-top:-200px}.alert{position:relative;overflow:hidden;border-radius:6px;margin-bottom:12px;padding:12px 15px;border:2px solid transparent;border-left-style:solid;border-left-width:6px;background:#1f2335;color:#c0caf5;font-weight:500;line-height:1.4;transition-duration:.2s;transition-timing-function:ease;transition-property:background,color,border-color}.alert:after{content:"";position:absolute;inset:0 auto 0 0;width:36%;background:linear-gradient(90deg,transparent,rgba(192,202,245,.12),transparent);opacity:0;pointer-events:none;transform:translate(-120%)}@media(hover:hover)and (pointer:fine){.alert:hover:after{opacity:1;animation:terminal_scan_x .8s ease}}@media(hover:none)and (pointer:coarse){.alert:active:after{opacity:1;animation:terminal_scan_x .8s ease}}.alert.alert-primary{border-color:#c0caf5;background:#c0caf51a;color:#c0caf5}.alert.alert-success{border-color:#9ece6a;background:#9ece6a1a;color:#9ece6a}.alert.alert-secondary{border-color:#7aa2f7;background:#7aa2f71a;color:#7aa2f7}.alert.alert-info{border-color:#bb9af7;background:#bb9af71a;color:#c0caf5}.alert.alert-warning{border-color:#e0af68;background:#e0af681a;color:#e0af68}.alert.alert-danger,.alert.alert-error{border-color:#f7768e;background:#f7768e1a;color:#f7768e}.advanced-select-container{position:relative;height:0}.advanced-select{position:absolute;z-index:100;top:6px;width:100%;height:auto;max-height:200px;overflow-y:auto;background:#16161e;border:2px solid #c0caf5;border-left-width:6px;border-radius:6px;margin-top:20px;opacity:0;visibility:hidden;transition-property:opacity,margin-top,visibility;transition-duration:.2s;transition-timing-function:ease}.advanced-select.a-show{opacity:1;margin-top:0;visibility:visible}.advanced-select .popup-options-container .not-found{width:100%;padding:15px;text-align:center;display:none}.advanced-select .popup-options-container .not-found.show{display:block}.advanced-select .popup-options-container .options{width:100%;display:none}.advanced-select .popup-options-container .options.show{display:block}.advanced-select .popup-options-container .options .option{padding:8px 15px;transition-property:color,background;transition-duration:.15s}.advanced-select .popup-options-container .options .option.hide{display:none}.advanced-select .popup-options-container .options .option.focus,.advanced-select .popup-options-container .options .option:hover{color:#16161e;background:#e0af68}.component.editable-string-component .editable-string-content{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:inherit}.component.editable-string-component .editable-string-content .editable-string{font-size:inherit;border-bottom:2px solid rgba(192,202,245,.24)}@media(hover:hover)and (pointer:fine){.component.editable-string-component .apply-changes-btn:hover,.component.editable-string-component .cancel-changes-btn:hover,.component.editable-string-component .edit-text-btn:hover{color:#16161e;background:#e0af68}}@media(hover:none)and (pointer:coarse){.component.editable-string-component .apply-changes-btn:active,.component.editable-string-component .cancel-changes-btn:active,.component.editable-string-component .edit-text-btn:active{color:#16161e;background:#e0af68}}.component.editable-string-component .apply-changes-btn{color:#e0af68}.component.editable-string-component .editable-string-form{display:flex;flex-direction:row;align-items:center;gap:8px}.component.editable-string-component .editable-string-form .form-group{max-width:260px;margin:0}.component.editable-string-component .editable-string-form .form-group .input{padding:8px 15px}.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:15px}.tabs .tab{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border:2px solid rgba(192,202,245,.24);border-left-width:6px;color:#a9b1d6;background:#1f2335;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;line-height:1;text-transform:uppercase;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background,border-color}.tabs .tab:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.tabs .tab:hover{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}@media(hover:none)and (pointer:coarse){.tabs .tab:active{color:#16161e;background:#7aa2f7;border-color:#7aa2f7}}.tabs .tab.tab-active,.tabs .tab[aria-selected=true]{color:#16161e;background:#c0caf5;border-color:#c0caf5}.dropdown,.popover{position:relative;display:inline-flex}.dropdown-menu,.popover-panel,.tooltip-panel{z-index:40;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;box-shadow:0 14px 36px #16161e5c}.dropdown-menu,.popover-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:none;transform-origin:top left}.dropdown.is-open .dropdown-menu,.popover.is-open .popover-panel{display:block;animation:overlay_reveal .2s ease both}.dropdown-menu{padding:5px}.dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:8px 12px;border:0;color:#c0caf5;background:0 0;font-family:IBM Plex Mono,monospace;font-size:13px;text-align:left;cursor:pointer;transition-duration:.2s;transition-timing-function:ease;transition-property:color,background}.dropdown-menu .dropdown-item .ph,.dropdown-menu .dropdown-item .ph-bold{font-size:18px}.dropdown-menu .dropdown-item:focus-visible{outline:2px solid #E0AF68;outline-offset:3px}@media(hover:hover)and (pointer:fine){.dropdown-menu .dropdown-item:hover{color:#16161e;background:#7aa2f7}}@media(hover:none)and (pointer:coarse){.dropdown-menu .dropdown-item:active{color:#16161e;background:#7aa2f7}}.dropdown-menu .dropdown-item.dropdown-item-danger{color:#f7768e}@media(hover:hover)and (pointer:fine){.dropdown-menu .dropdown-item.dropdown-item-danger:hover{color:#16161e;background:#f7768e}}@media(hover:none)and (pointer:coarse){.dropdown-menu .dropdown-item.dropdown-item-danger:active{color:#16161e;background:#f7768e}}.popover-panel{width:min(320px,100vw - 22px);padding:15px}.popover-panel .popover-title{margin:0 0 8px;font-size:14px;font-weight:700;text-transform:uppercase}.popover-panel .popover-text{margin:0;color:#a9b1d6;font-size:13px;line-height:1.6}.tooltip{position:relative;display:inline-flex}.tooltip-panel{position:absolute;left:50%;bottom:calc(100% + 8px);width:-moz-max-content;width:max-content;max-width:260px;padding:8px 12px;color:#c0caf5;font-size:12px;line-height:1.4;transform:translate(-50%);opacity:0;visibility:hidden;pointer-events:none;transition-duration:.15s;transition-timing-function:ease;transition-property:opacity,visibility}.tooltip.is-open .tooltip-panel,.tooltip:focus-within .tooltip-panel,.tooltip:hover .tooltip-panel{opacity:1;visibility:visible;animation:tooltip_reveal .15s ease both}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.g-0{gap:0!important}.gx-0{-moz-column-gap:0!important;column-gap:0!important}.gy-0{row-gap:0!important}.m-1{margin:5px!important}.mt-1{margin-top:5px!important}.mr-1{margin-right:5px!important}.mb-1{margin-bottom:5px!important}.ml-1{margin-left:5px!important}.mx-1{margin-left:5px!important;margin-right:5px!important}.my-1{margin-top:5px!important;margin-bottom:5px!important}.p-1{padding:5px!important}.pt-1{padding-top:5px!important}.pr-1{padding-right:5px!important}.pb-1{padding-bottom:5px!important}.pl-1{padding-left:5px!important}.px-1{padding-left:5px!important;padding-right:5px!important}.py-1{padding-top:5px!important;padding-bottom:5px!important}.g-1{gap:5px!important}.gx-1{-moz-column-gap:5px!important;column-gap:5px!important}.gy-1{row-gap:5px!important}.m-2{margin:8px!important}.mt-2{margin-top:8px!important}.mr-2{margin-right:8px!important}.mb-2{margin-bottom:8px!important}.ml-2{margin-left:8px!important}.mx-2{margin-left:8px!important;margin-right:8px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.p-2{padding:8px!important}.pt-2{padding-top:8px!important}.pr-2{padding-right:8px!important}.pb-2{padding-bottom:8px!important}.pl-2{padding-left:8px!important}.px-2{padding-left:8px!important;padding-right:8px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.g-2{gap:8px!important}.gx-2{-moz-column-gap:8px!important;column-gap:8px!important}.gy-2{row-gap:8px!important}.m-3{margin:12px!important}.mt-3{margin-top:12px!important}.mr-3{margin-right:12px!important}.mb-3{margin-bottom:12px!important}.ml-3{margin-left:12px!important}.mx-3{margin-left:12px!important;margin-right:12px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.p-3{padding:12px!important}.pt-3{padding-top:12px!important}.pr-3{padding-right:12px!important}.pb-3{padding-bottom:12px!important}.pl-3{padding-left:12px!important}.px-3{padding-left:12px!important;padding-right:12px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.g-3{gap:12px!important}.gx-3{-moz-column-gap:12px!important;column-gap:12px!important}.gy-3{row-gap:12px!important}.m-4{margin:15px!important}.mt-4{margin-top:15px!important}.mr-4{margin-right:15px!important}.mb-4{margin-bottom:15px!important}.ml-4{margin-left:15px!important}.mx-4{margin-left:15px!important;margin-right:15px!important}.my-4{margin-top:15px!important;margin-bottom:15px!important}.p-4{padding:15px!important}.pt-4{padding-top:15px!important}.pr-4{padding-right:15px!important}.pb-4{padding-bottom:15px!important}.pl-4{padding-left:15px!important}.px-4{padding-left:15px!important;padding-right:15px!important}.py-4{padding-top:15px!important;padding-bottom:15px!important}.g-4{gap:15px!important}.gx-4{-moz-column-gap:15px!important;column-gap:15px!important}.gy-4{row-gap:15px!important}.m-5{margin:18px!important}.mt-5{margin-top:18px!important}.mr-5{margin-right:18px!important}.mb-5{margin-bottom:18px!important}.ml-5{margin-left:18px!important}.mx-5{margin-left:18px!important;margin-right:18px!important}.my-5{margin-top:18px!important;margin-bottom:18px!important}.p-5{padding:18px!important}.pt-5{padding-top:18px!important}.pr-5{padding-right:18px!important}.pb-5{padding-bottom:18px!important}.pl-5{padding-left:18px!important}.px-5{padding-left:18px!important;padding-right:18px!important}.py-5{padding-top:18px!important;padding-bottom:18px!important}.g-5{gap:18px!important}.gx-5{-moz-column-gap:18px!important;column-gap:18px!important}.gy-5{row-gap:18px!important}.m-6{margin:22px!important}.mt-6{margin-top:22px!important}.mr-6{margin-right:22px!important}.mb-6{margin-bottom:22px!important}.ml-6{margin-left:22px!important}.mx-6{margin-left:22px!important;margin-right:22px!important}.my-6{margin-top:22px!important;margin-bottom:22px!important}.p-6{padding:22px!important}.pt-6{padding-top:22px!important}.pr-6{padding-right:22px!important}.pb-6{padding-bottom:22px!important}.pl-6{padding-left:22px!important}.px-6{padding-left:22px!important;padding-right:22px!important}.py-6{padding-top:22px!important;padding-bottom:22px!important}.g-6{gap:22px!important}.gx-6{-moz-column-gap:22px!important;column-gap:22px!important}.gy-6{row-gap:22px!important}.m-7{margin:26px!important}.mt-7{margin-top:26px!important}.mr-7{margin-right:26px!important}.mb-7{margin-bottom:26px!important}.ml-7{margin-left:26px!important}.mx-7{margin-left:26px!important;margin-right:26px!important}.my-7{margin-top:26px!important;margin-bottom:26px!important}.p-7{padding:26px!important}.pt-7{padding-top:26px!important}.pr-7{padding-right:26px!important}.pb-7{padding-bottom:26px!important}.pl-7{padding-left:26px!important}.px-7{padding-left:26px!important;padding-right:26px!important}.py-7{padding-top:26px!important;padding-bottom:26px!important}.g-7{gap:26px!important}.gx-7{-moz-column-gap:26px!important;column-gap:26px!important}.gy-7{row-gap:26px!important}.m-8{margin:34px!important}.mt-8{margin-top:34px!important}.mr-8{margin-right:34px!important}.mb-8{margin-bottom:34px!important}.ml-8{margin-left:34px!important}.mx-8{margin-left:34px!important;margin-right:34px!important}.my-8{margin-top:34px!important;margin-bottom:34px!important}.p-8{padding:34px!important}.pt-8{padding-top:34px!important}.pr-8{padding-right:34px!important}.pb-8{padding-bottom:34px!important}.pl-8{padding-left:34px!important}.px-8{padding-left:34px!important;padding-right:34px!important}.py-8{padding-top:34px!important;padding-bottom:34px!important}.g-8{gap:34px!important}.gx-8{-moz-column-gap:34px!important;column-gap:34px!important}.gy-8{row-gap:34px!important}.m-9{margin:42px!important}.mt-9{margin-top:42px!important}.mr-9{margin-right:42px!important}.mb-9{margin-bottom:42px!important}.ml-9{margin-left:42px!important}.mx-9{margin-left:42px!important;margin-right:42px!important}.my-9{margin-top:42px!important;margin-bottom:42px!important}.p-9{padding:42px!important}.pt-9{padding-top:42px!important}.pr-9{padding-right:42px!important}.pb-9{padding-bottom:42px!important}.pl-9{padding-left:42px!important}.px-9{padding-left:42px!important;padding-right:42px!important}.py-9{padding-top:42px!important;padding-bottom:42px!important}.g-9{gap:42px!important}.gx-9{-moz-column-gap:42px!important;column-gap:42px!important}.gy-9{row-gap:42px!important}.m-10{margin:48px!important}.mt-10{margin-top:48px!important}.mr-10{margin-right:48px!important}.mb-10{margin-bottom:48px!important}.ml-10{margin-left:48px!important}.mx-10{margin-left:48px!important;margin-right:48px!important}.my-10{margin-top:48px!important;margin-bottom:48px!important}.p-10{padding:48px!important}.pt-10{padding-top:48px!important}.pr-10{padding-right:48px!important}.pb-10{padding-bottom:48px!important}.pl-10{padding-left:48px!important}.px-10{padding-left:48px!important;padding-right:48px!important}.py-10{padding-top:48px!important;padding-bottom:48px!important}.g-10{gap:48px!important}.gx-10{-moz-column-gap:48px!important;column-gap:48px!important}.gy-10{row-gap:48px!important}.m-11{margin:64px!important}.mt-11{margin-top:64px!important}.mr-11{margin-right:64px!important}.mb-11{margin-bottom:64px!important}.ml-11{margin-left:64px!important}.mx-11{margin-left:64px!important;margin-right:64px!important}.my-11{margin-top:64px!important;margin-bottom:64px!important}.p-11{padding:64px!important}.pt-11{padding-top:64px!important}.pr-11{padding-right:64px!important}.pb-11{padding-bottom:64px!important}.pl-11{padding-left:64px!important}.px-11{padding-left:64px!important;padding-right:64px!important}.py-11{padding-top:64px!important;padding-bottom:64px!important}.g-11{gap:64px!important}.gx-11{-moz-column-gap:64px!important;column-gap:64px!important}.gy-11{row-gap:64px!important}.m-12{margin:80px!important}.mt-12{margin-top:80px!important}.mr-12{margin-right:80px!important}.mb-12{margin-bottom:80px!important}.ml-12{margin-left:80px!important}.mx-12{margin-left:80px!important;margin-right:80px!important}.my-12{margin-top:80px!important;margin-bottom:80px!important}.p-12{padding:80px!important}.pt-12{padding-top:80px!important}.pr-12{padding-right:80px!important}.pb-12{padding-bottom:80px!important}.pl-12{padding-left:80px!important}.px-12{padding-left:80px!important;padding-right:80px!important}.py-12{padding-top:80px!important;padding-bottom:80px!important}.g-12{gap:80px!important}.gx-12{-moz-column-gap:80px!important;column-gap:80px!important}.gy-12{row-gap:80px!important}.row{display:flex;flex-direction:row}@media(max-width:1279px){.row.adaptive{flex-direction:column}}.column{display:flex;flex-direction:column}.f-grid{display:flex;flex-direction:row;flex-wrap:wrap}.grid{display:grid}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.w-100{width:100%}.w-auto{width:auto!important}.w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-200{width:200%}.h-100{height:100%}.min-w-0{min-width:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.fs-xs{font-size:12px}.fs-sm{font-size:13px}.fs-md,.fs-base{font-size:14px}.fs-lg{font-size:15px}.fs-xl{font-size:18px}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-uppercase{text-transform:uppercase!important}.text-nowrap{white-space:nowrap!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-flex{display:inline-flex!important}.d-flex{display:flex!important}.d-grid{display:grid!important}@media(max-width:767px){.grid-2,.grid-3{grid-template-columns:1fr}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background-color:#16161e;color:#c0caf5}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{width:10px;background:#16161e;cursor:pointer}::-webkit-scrollbar-thumb{width:10px;background:#414868;cursor:default}::-webkit-scrollbar-corner{background:0 0;height:1px}::-webkit-scrollbar-button{display:none}.ph.normalize{position:relative;top:.15em}@font-face{font-family:Phosphor;src:url(/assets/Phosphor-DtdjzkpE.woff2) format("woff2"),url(/assets/Phosphor-BdqudwT5.woff) format("woff"),url(/assets/Phosphor-CDxgqcPu.ttf) format("truetype"),url(/assets/Phosphor-BXRFlF4V.svg#Phosphor) format("svg");font-weight:400;font-style:normal;font-display:block}.ph{font-family:Phosphor!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga=1";-moz-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ph.ph-acorn:before{content:""}.ph.ph-address-book:before{content:""}.ph.ph-address-book-tabs:before{content:""}.ph.ph-air-traffic-control:before{content:""}.ph.ph-airplane:before{content:""}.ph.ph-airplane-in-flight:before{content:""}.ph.ph-airplane-landing:before{content:""}.ph.ph-airplane-takeoff:before{content:""}.ph.ph-airplane-taxiing:before{content:""}.ph.ph-airplane-tilt:before{content:""}.ph.ph-airplay:before{content:""}.ph.ph-alarm:before{content:""}.ph.ph-alien:before{content:""}.ph.ph-align-bottom:before{content:""}.ph.ph-align-bottom-simple:before{content:""}.ph.ph-align-center-horizontal:before{content:""}.ph.ph-align-center-horizontal-simple:before{content:""}.ph.ph-align-center-vertical:before{content:""}.ph.ph-align-center-vertical-simple:before{content:""}.ph.ph-align-left:before{content:""}.ph.ph-align-left-simple:before{content:""}.ph.ph-align-right:before{content:""}.ph.ph-align-right-simple:before{content:""}.ph.ph-align-top:before{content:""}.ph.ph-align-top-simple:before{content:""}.ph.ph-amazon-logo:before{content:""}.ph.ph-ambulance:before{content:""}.ph.ph-anchor:before{content:""}.ph.ph-anchor-simple:before{content:""}.ph.ph-android-logo:before{content:""}.ph.ph-angle:before{content:""}.ph.ph-angular-logo:before{content:""}.ph.ph-aperture:before{content:""}.ph.ph-app-store-logo:before{content:""}.ph.ph-app-window:before{content:""}.ph.ph-apple-logo:before{content:""}.ph.ph-apple-podcasts-logo:before{content:""}.ph.ph-approximate-equals:before{content:""}.ph.ph-archive:before{content:""}.ph.ph-armchair:before{content:""}.ph.ph-arrow-arc-left:before{content:""}.ph.ph-arrow-arc-right:before{content:""}.ph.ph-arrow-bend-double-up-left:before{content:""}.ph.ph-arrow-bend-double-up-right:before{content:""}.ph.ph-arrow-bend-down-left:before{content:""}.ph.ph-arrow-bend-down-right:before{content:""}.ph.ph-arrow-bend-left-down:before{content:""}.ph.ph-arrow-bend-left-up:before{content:""}.ph.ph-arrow-bend-right-down:before{content:""}.ph.ph-arrow-bend-right-up:before{content:""}.ph.ph-arrow-bend-up-left:before{content:""}.ph.ph-arrow-bend-up-right:before{content:""}.ph.ph-arrow-circle-down:before{content:""}.ph.ph-arrow-circle-down-left:before{content:""}.ph.ph-arrow-circle-down-right:before{content:""}.ph.ph-arrow-circle-left:before{content:""}.ph.ph-arrow-circle-right:before{content:""}.ph.ph-arrow-circle-up:before{content:""}.ph.ph-arrow-circle-up-left:before{content:""}.ph.ph-arrow-circle-up-right:before{content:""}.ph.ph-arrow-clockwise:before{content:""}.ph.ph-arrow-counter-clockwise:before{content:""}.ph.ph-arrow-down:before{content:""}.ph.ph-arrow-down-left:before{content:""}.ph.ph-arrow-down-right:before{content:""}.ph.ph-arrow-elbow-down-left:before{content:""}.ph.ph-arrow-elbow-down-right:before{content:""}.ph.ph-arrow-elbow-left:before{content:""}.ph.ph-arrow-elbow-left-down:before{content:""}.ph.ph-arrow-elbow-left-up:before{content:""}.ph.ph-arrow-elbow-right:before{content:""}.ph.ph-arrow-elbow-right-down:before{content:""}.ph.ph-arrow-elbow-right-up:before{content:""}.ph.ph-arrow-elbow-up-left:before{content:""}.ph.ph-arrow-elbow-up-right:before{content:""}.ph.ph-arrow-fat-down:before{content:""}.ph.ph-arrow-fat-left:before{content:""}.ph.ph-arrow-fat-line-down:before{content:""}.ph.ph-arrow-fat-line-left:before{content:""}.ph.ph-arrow-fat-line-right:before{content:""}.ph.ph-arrow-fat-line-up:before{content:""}.ph.ph-arrow-fat-lines-down:before{content:""}.ph.ph-arrow-fat-lines-left:before{content:""}.ph.ph-arrow-fat-lines-right:before{content:""}.ph.ph-arrow-fat-lines-up:before{content:""}.ph.ph-arrow-fat-right:before{content:""}.ph.ph-arrow-fat-up:before{content:""}.ph.ph-arrow-left:before{content:""}.ph.ph-arrow-line-down:before{content:""}.ph.ph-arrow-line-down-left:before{content:""}.ph.ph-arrow-line-down-right:before{content:""}.ph.ph-arrow-line-left:before{content:""}.ph.ph-arrow-line-right:before{content:""}.ph.ph-arrow-line-up:before{content:""}.ph.ph-arrow-line-up-left:before{content:""}.ph.ph-arrow-line-up-right:before{content:""}.ph.ph-arrow-right:before{content:""}.ph.ph-arrow-square-down:before{content:""}.ph.ph-arrow-square-down-left:before{content:""}.ph.ph-arrow-square-down-right:before{content:""}.ph.ph-arrow-square-in:before{content:""}.ph.ph-arrow-square-left:before{content:""}.ph.ph-arrow-square-out:before{content:""}.ph.ph-arrow-square-right:before{content:""}.ph.ph-arrow-square-up:before{content:""}.ph.ph-arrow-square-up-left:before{content:""}.ph.ph-arrow-square-up-right:before{content:""}.ph.ph-arrow-u-down-left:before{content:""}.ph.ph-arrow-u-down-right:before{content:""}.ph.ph-arrow-u-left-down:before{content:""}.ph.ph-arrow-u-left-up:before{content:""}.ph.ph-arrow-u-right-down:before{content:""}.ph.ph-arrow-u-right-up:before{content:""}.ph.ph-arrow-u-up-left:before{content:""}.ph.ph-arrow-u-up-right:before{content:""}.ph.ph-arrow-up:before{content:""}.ph.ph-arrow-up-left:before{content:""}.ph.ph-arrow-up-right:before{content:""}.ph.ph-arrows-clockwise:before{content:""}.ph.ph-arrows-counter-clockwise:before{content:""}.ph.ph-arrows-down-up:before{content:""}.ph.ph-arrows-horizontal:before{content:""}.ph.ph-arrows-in:before{content:""}.ph.ph-arrows-in-cardinal:before{content:""}.ph.ph-arrows-in-line-horizontal:before{content:""}.ph.ph-arrows-in-line-vertical:before{content:""}.ph.ph-arrows-in-simple:before{content:""}.ph.ph-arrows-left-right:before{content:""}.ph.ph-arrows-merge:before{content:""}.ph.ph-arrows-out:before{content:""}.ph.ph-arrows-out-cardinal:before{content:""}.ph.ph-arrows-out-line-horizontal:before{content:""}.ph.ph-arrows-out-line-vertical:before{content:""}.ph.ph-arrows-out-simple:before{content:""}.ph.ph-arrows-split:before{content:""}.ph.ph-arrows-vertical:before{content:""}.ph.ph-article:before{content:""}.ph.ph-article-medium:before{content:""}.ph.ph-article-ny-times:before{content:""}.ph.ph-asclepius:before{content:""}.ph.ph-caduceus:before{content:""}.ph.ph-asterisk:before{content:""}.ph.ph-asterisk-simple:before{content:""}.ph.ph-at:before{content:""}.ph.ph-atom:before{content:""}.ph.ph-avocado:before{content:""}.ph.ph-axe:before{content:""}.ph.ph-baby:before{content:""}.ph.ph-baby-carriage:before{content:""}.ph.ph-backpack:before{content:""}.ph.ph-backspace:before{content:""}.ph.ph-bag:before{content:""}.ph.ph-bag-simple:before{content:""}.ph.ph-balloon:before{content:""}.ph.ph-bandaids:before{content:""}.ph.ph-bank:before{content:""}.ph.ph-barbell:before{content:""}.ph.ph-barcode:before{content:""}.ph.ph-barn:before{content:""}.ph.ph-barricade:before{content:""}.ph.ph-baseball:before{content:""}.ph.ph-baseball-cap:before{content:""}.ph.ph-baseball-helmet:before{content:""}.ph.ph-basket:before{content:""}.ph.ph-basketball:before{content:""}.ph.ph-bathtub:before{content:""}.ph.ph-battery-charging:before{content:""}.ph.ph-battery-charging-vertical:before{content:""}.ph.ph-battery-empty:before{content:""}.ph.ph-battery-full:before{content:""}.ph.ph-battery-high:before{content:""}.ph.ph-battery-low:before{content:""}.ph.ph-battery-medium:before{content:""}.ph.ph-battery-plus:before{content:""}.ph.ph-battery-plus-vertical:before{content:""}.ph.ph-battery-vertical-empty:before{content:""}.ph.ph-battery-vertical-full:before{content:""}.ph.ph-battery-vertical-high:before{content:""}.ph.ph-battery-vertical-low:before{content:""}.ph.ph-battery-vertical-medium:before{content:""}.ph.ph-battery-warning:before{content:""}.ph.ph-battery-warning-vertical:before{content:""}.ph.ph-beach-ball:before{content:""}.ph.ph-beanie:before{content:""}.ph.ph-bed:before{content:""}.ph.ph-beer-bottle:before{content:""}.ph.ph-beer-stein:before{content:""}.ph.ph-behance-logo:before{content:""}.ph.ph-bell:before{content:""}.ph.ph-bell-ringing:before{content:""}.ph.ph-bell-simple:before{content:""}.ph.ph-bell-simple-ringing:before{content:""}.ph.ph-bell-simple-slash:before{content:""}.ph.ph-bell-simple-z:before{content:""}.ph.ph-bell-slash:before{content:""}.ph.ph-bell-z:before{content:""}.ph.ph-belt:before{content:""}.ph.ph-bezier-curve:before{content:""}.ph.ph-bicycle:before{content:""}.ph.ph-binary:before{content:""}.ph.ph-binoculars:before{content:""}.ph.ph-biohazard:before{content:""}.ph.ph-bird:before{content:""}.ph.ph-blueprint:before{content:""}.ph.ph-bluetooth:before{content:""}.ph.ph-bluetooth-connected:before{content:""}.ph.ph-bluetooth-slash:before{content:""}.ph.ph-bluetooth-x:before{content:""}.ph.ph-boat:before{content:""}.ph.ph-bomb:before{content:""}.ph.ph-bone:before{content:""}.ph.ph-book:before{content:""}.ph.ph-book-bookmark:before{content:""}.ph.ph-book-open:before{content:""}.ph.ph-book-open-text:before{content:""}.ph.ph-book-open-user:before{content:""}.ph.ph-bookmark:before{content:""}.ph.ph-bookmark-simple:before{content:""}.ph.ph-bookmarks:before{content:""}.ph.ph-bookmarks-simple:before{content:""}.ph.ph-books:before{content:""}.ph.ph-boot:before{content:""}.ph.ph-boules:before{content:""}.ph.ph-bounding-box:before{content:""}.ph.ph-bowl-food:before{content:""}.ph.ph-bowl-steam:before{content:""}.ph.ph-bowling-ball:before{content:""}.ph.ph-box-arrow-down:before{content:""}.ph.ph-archive-box:before{content:""}.ph.ph-box-arrow-up:before{content:""}.ph.ph-boxing-glove:before{content:""}.ph.ph-brackets-angle:before{content:""}.ph.ph-brackets-curly:before{content:""}.ph.ph-brackets-round:before{content:""}.ph.ph-brackets-square:before{content:""}.ph.ph-brain:before{content:""}.ph.ph-brandy:before{content:""}.ph.ph-bread:before{content:""}.ph.ph-bridge:before{content:""}.ph.ph-briefcase:before{content:""}.ph.ph-briefcase-metal:before{content:""}.ph.ph-broadcast:before{content:""}.ph.ph-broom:before{content:""}.ph.ph-browser:before{content:""}.ph.ph-browsers:before{content:""}.ph.ph-bug:before{content:""}.ph.ph-bug-beetle:before{content:""}.ph.ph-bug-droid:before{content:""}.ph.ph-building:before{content:""}.ph.ph-building-apartment:before{content:""}.ph.ph-building-office:before{content:""}.ph.ph-buildings:before{content:""}.ph.ph-bulldozer:before{content:""}.ph.ph-bus:before{content:""}.ph.ph-butterfly:before{content:""}.ph.ph-cable-car:before{content:""}.ph.ph-cactus:before{content:""}.ph.ph-cake:before{content:""}.ph.ph-calculator:before{content:""}.ph.ph-calendar:before{content:""}.ph.ph-calendar-blank:before{content:""}.ph.ph-calendar-check:before{content:""}.ph.ph-calendar-dot:before{content:""}.ph.ph-calendar-dots:before{content:""}.ph.ph-calendar-heart:before{content:""}.ph.ph-calendar-minus:before{content:""}.ph.ph-calendar-plus:before{content:""}.ph.ph-calendar-slash:before{content:""}.ph.ph-calendar-star:before{content:""}.ph.ph-calendar-x:before{content:""}.ph.ph-call-bell:before{content:""}.ph.ph-camera:before{content:""}.ph.ph-camera-plus:before{content:""}.ph.ph-camera-rotate:before{content:""}.ph.ph-camera-slash:before{content:""}.ph.ph-campfire:before{content:""}.ph.ph-car:before{content:""}.ph.ph-car-battery:before{content:""}.ph.ph-car-profile:before{content:""}.ph.ph-car-simple:before{content:""}.ph.ph-cardholder:before{content:""}.ph.ph-cards:before{content:""}.ph.ph-cards-three:before{content:""}.ph.ph-caret-circle-double-down:before{content:""}.ph.ph-caret-circle-double-left:before{content:""}.ph.ph-caret-circle-double-right:before{content:""}.ph.ph-caret-circle-double-up:before{content:""}.ph.ph-caret-circle-down:before{content:""}.ph.ph-caret-circle-left:before{content:""}.ph.ph-caret-circle-right:before{content:""}.ph.ph-caret-circle-up:before{content:""}.ph.ph-caret-circle-up-down:before{content:""}.ph.ph-caret-double-down:before{content:""}.ph.ph-caret-double-left:before{content:""}.ph.ph-caret-double-right:before{content:""}.ph.ph-caret-double-up:before{content:""}.ph.ph-caret-down:before{content:""}.ph.ph-caret-left:before{content:""}.ph.ph-caret-line-down:before{content:""}.ph.ph-caret-line-left:before{content:""}.ph.ph-caret-line-right:before{content:""}.ph.ph-caret-line-up:before{content:""}.ph.ph-caret-right:before{content:""}.ph.ph-caret-up:before{content:""}.ph.ph-caret-up-down:before{content:""}.ph.ph-carrot:before{content:""}.ph.ph-cash-register:before{content:""}.ph.ph-cassette-tape:before{content:""}.ph.ph-castle-turret:before{content:""}.ph.ph-cat:before{content:""}.ph.ph-cell-signal-full:before{content:""}.ph.ph-cell-signal-high:before{content:""}.ph.ph-cell-signal-low:before{content:""}.ph.ph-cell-signal-medium:before{content:""}.ph.ph-cell-signal-none:before{content:""}.ph.ph-cell-signal-slash:before{content:""}.ph.ph-cell-signal-x:before{content:""}.ph.ph-cell-tower:before{content:""}.ph.ph-certificate:before{content:""}.ph.ph-chair:before{content:""}.ph.ph-chalkboard:before{content:""}.ph.ph-chalkboard-simple:before{content:""}.ph.ph-chalkboard-teacher:before{content:""}.ph.ph-champagne:before{content:""}.ph.ph-charging-station:before{content:""}.ph.ph-chart-bar:before{content:""}.ph.ph-chart-bar-horizontal:before{content:""}.ph.ph-chart-donut:before{content:""}.ph.ph-chart-line:before{content:""}.ph.ph-chart-line-down:before{content:""}.ph.ph-chart-line-up:before{content:""}.ph.ph-chart-pie:before{content:""}.ph.ph-chart-pie-slice:before{content:""}.ph.ph-chart-polar:before{content:""}.ph.ph-chart-scatter:before{content:""}.ph.ph-chat:before{content:""}.ph.ph-chat-centered:before{content:""}.ph.ph-chat-centered-dots:before{content:""}.ph.ph-chat-centered-slash:before{content:""}.ph.ph-chat-centered-text:before{content:""}.ph.ph-chat-circle:before{content:""}.ph.ph-chat-circle-dots:before{content:""}.ph.ph-chat-circle-slash:before{content:""}.ph.ph-chat-circle-text:before{content:""}.ph.ph-chat-dots:before{content:""}.ph.ph-chat-slash:before{content:""}.ph.ph-chat-teardrop:before{content:""}.ph.ph-chat-teardrop-dots:before{content:""}.ph.ph-chat-teardrop-slash:before{content:""}.ph.ph-chat-teardrop-text:before{content:""}.ph.ph-chat-text:before{content:""}.ph.ph-chats:before{content:""}.ph.ph-chats-circle:before{content:""}.ph.ph-chats-teardrop:before{content:""}.ph.ph-check:before{content:""}.ph.ph-check-circle:before{content:""}.ph.ph-check-fat:before{content:""}.ph.ph-check-square:before{content:""}.ph.ph-check-square-offset:before{content:""}.ph.ph-checkerboard:before{content:""}.ph.ph-checks:before{content:""}.ph.ph-cheers:before{content:""}.ph.ph-cheese:before{content:""}.ph.ph-chef-hat:before{content:""}.ph.ph-cherries:before{content:""}.ph.ph-church:before{content:""}.ph.ph-cigarette:before{content:""}.ph.ph-cigarette-slash:before{content:""}.ph.ph-circle:before{content:""}.ph.ph-circle-dashed:before{content:""}.ph.ph-circle-half:before{content:""}.ph.ph-circle-half-tilt:before{content:""}.ph.ph-circle-notch:before{content:""}.ph.ph-circles-four:before{content:""}.ph.ph-circles-three:before{content:""}.ph.ph-circles-three-plus:before{content:""}.ph.ph-circuitry:before{content:""}.ph.ph-city:before{content:""}.ph.ph-clipboard:before{content:""}.ph.ph-clipboard-text:before{content:""}.ph.ph-clock:before{content:""}.ph.ph-clock-afternoon:before{content:""}.ph.ph-clock-clockwise:before{content:""}.ph.ph-clock-countdown:before{content:""}.ph.ph-clock-counter-clockwise:before{content:""}.ph.ph-clock-user:before{content:""}.ph.ph-closed-captioning:before{content:""}.ph.ph-cloud:before{content:""}.ph.ph-cloud-arrow-down:before{content:""}.ph.ph-cloud-arrow-up:before{content:""}.ph.ph-cloud-check:before{content:""}.ph.ph-cloud-fog:before{content:""}.ph.ph-cloud-lightning:before{content:""}.ph.ph-cloud-moon:before{content:""}.ph.ph-cloud-rain:before{content:""}.ph.ph-cloud-slash:before{content:""}.ph.ph-cloud-snow:before{content:""}.ph.ph-cloud-sun:before{content:""}.ph.ph-cloud-warning:before{content:""}.ph.ph-cloud-x:before{content:""}.ph.ph-clover:before{content:""}.ph.ph-club:before{content:""}.ph.ph-coat-hanger:before{content:""}.ph.ph-coda-logo:before{content:""}.ph.ph-code:before{content:""}.ph.ph-code-block:before{content:""}.ph.ph-code-simple:before{content:""}.ph.ph-codepen-logo:before{content:""}.ph.ph-codesandbox-logo:before{content:""}.ph.ph-coffee:before{content:""}.ph.ph-coffee-bean:before{content:""}.ph.ph-coin:before{content:""}.ph.ph-coin-vertical:before{content:""}.ph.ph-coins:before{content:""}.ph.ph-columns:before{content:""}.ph.ph-columns-plus-left:before{content:""}.ph.ph-columns-plus-right:before{content:""}.ph.ph-command:before{content:""}.ph.ph-compass:before{content:""}.ph.ph-compass-rose:before{content:""}.ph.ph-compass-tool:before{content:""}.ph.ph-computer-tower:before{content:""}.ph.ph-confetti:before{content:""}.ph.ph-contactless-payment:before{content:""}.ph.ph-control:before{content:""}.ph.ph-cookie:before{content:""}.ph.ph-cooking-pot:before{content:""}.ph.ph-copy:before{content:""}.ph.ph-copy-simple:before{content:""}.ph.ph-copyleft:before{content:""}.ph.ph-copyright:before{content:""}.ph.ph-corners-in:before{content:""}.ph.ph-corners-out:before{content:""}.ph.ph-couch:before{content:""}.ph.ph-court-basketball:before{content:""}.ph.ph-cow:before{content:""}.ph.ph-cowboy-hat:before{content:""}.ph.ph-cpu:before{content:""}.ph.ph-crane:before{content:""}.ph.ph-crane-tower:before{content:""}.ph.ph-credit-card:before{content:""}.ph.ph-cricket:before{content:""}.ph.ph-crop:before{content:""}.ph.ph-cross:before{content:""}.ph.ph-crosshair:before{content:""}.ph.ph-crosshair-simple:before{content:""}.ph.ph-crown:before{content:""}.ph.ph-crown-cross:before{content:""}.ph.ph-crown-simple:before{content:""}.ph.ph-cube:before{content:""}.ph.ph-cube-focus:before{content:""}.ph.ph-cube-transparent:before{content:""}.ph.ph-currency-btc:before{content:""}.ph.ph-currency-circle-dollar:before{content:""}.ph.ph-currency-cny:before{content:""}.ph.ph-currency-dollar:before{content:""}.ph.ph-currency-dollar-simple:before{content:""}.ph.ph-currency-eth:before{content:""}.ph.ph-currency-eur:before{content:""}.ph.ph-currency-gbp:before{content:""}.ph.ph-currency-inr:before{content:""}.ph.ph-currency-jpy:before{content:""}.ph.ph-currency-krw:before{content:""}.ph.ph-currency-kzt:before{content:""}.ph.ph-currency-ngn:before{content:""}.ph.ph-currency-rub:before{content:""}.ph.ph-cursor:before{content:""}.ph.ph-cursor-click:before{content:""}.ph.ph-cursor-text:before{content:""}.ph.ph-cylinder:before{content:""}.ph.ph-database:before{content:""}.ph.ph-desk:before{content:""}.ph.ph-desktop:before{content:""}.ph.ph-desktop-tower:before{content:""}.ph.ph-detective:before{content:""}.ph.ph-dev-to-logo:before{content:""}.ph.ph-device-mobile:before{content:""}.ph.ph-device-mobile-camera:before{content:""}.ph.ph-device-mobile-slash:before{content:""}.ph.ph-device-mobile-speaker:before{content:""}.ph.ph-device-rotate:before{content:""}.ph.ph-device-tablet:before{content:""}.ph.ph-device-tablet-camera:before{content:""}.ph.ph-device-tablet-speaker:before{content:""}.ph.ph-devices:before{content:""}.ph.ph-diamond:before{content:""}.ph.ph-diamonds-four:before{content:""}.ph.ph-dice-five:before{content:""}.ph.ph-dice-four:before{content:""}.ph.ph-dice-one:before{content:""}.ph.ph-dice-six:before{content:""}.ph.ph-dice-three:before{content:""}.ph.ph-dice-two:before{content:""}.ph.ph-disc:before{content:""}.ph.ph-disco-ball:before{content:""}.ph.ph-discord-logo:before{content:""}.ph.ph-divide:before{content:""}.ph.ph-dna:before{content:""}.ph.ph-dog:before{content:""}.ph.ph-door:before{content:""}.ph.ph-door-open:before{content:""}.ph.ph-dot:before{content:""}.ph.ph-dot-outline:before{content:""}.ph.ph-dots-nine:before{content:""}.ph.ph-dots-six:before{content:""}.ph.ph-dots-six-vertical:before{content:""}.ph.ph-dots-three:before{content:""}.ph.ph-dots-three-circle:before{content:""}.ph.ph-dots-three-circle-vertical:before{content:""}.ph.ph-dots-three-outline:before{content:""}.ph.ph-dots-three-outline-vertical:before{content:""}.ph.ph-dots-three-vertical:before{content:""}.ph.ph-download:before{content:""}.ph.ph-download-simple:before{content:""}.ph.ph-dress:before{content:""}.ph.ph-dresser:before{content:""}.ph.ph-dribbble-logo:before{content:""}.ph.ph-drone:before{content:""}.ph.ph-drop:before{content:""}.ph.ph-drop-half:before{content:""}.ph.ph-drop-half-bottom:before{content:""}.ph.ph-drop-simple:before{content:""}.ph.ph-drop-slash:before{content:""}.ph.ph-dropbox-logo:before{content:""}.ph.ph-ear:before{content:""}.ph.ph-ear-slash:before{content:""}.ph.ph-egg:before{content:""}.ph.ph-egg-crack:before{content:""}.ph.ph-eject:before{content:""}.ph.ph-eject-simple:before{content:""}.ph.ph-elevator:before{content:""}.ph.ph-empty:before{content:""}.ph.ph-engine:before{content:""}.ph.ph-envelope:before{content:""}.ph.ph-envelope-open:before{content:""}.ph.ph-envelope-simple:before{content:""}.ph.ph-envelope-simple-open:before{content:""}.ph.ph-equalizer:before{content:""}.ph.ph-equals:before{content:""}.ph.ph-eraser:before{content:""}.ph.ph-escalator-down:before{content:""}.ph.ph-escalator-up:before{content:""}.ph.ph-exam:before{content:""}.ph.ph-exclamation-mark:before{content:""}.ph.ph-exclude:before{content:""}.ph.ph-exclude-square:before{content:""}.ph.ph-export:before{content:""}.ph.ph-eye:before{content:""}.ph.ph-eye-closed:before{content:""}.ph.ph-eye-slash:before{content:""}.ph.ph-eyedropper:before{content:""}.ph.ph-eyedropper-sample:before{content:""}.ph.ph-eyeglasses:before{content:""}.ph.ph-eyes:before{content:""}.ph.ph-face-mask:before{content:""}.ph.ph-facebook-logo:before{content:""}.ph.ph-factory:before{content:""}.ph.ph-faders:before{content:""}.ph.ph-faders-horizontal:before{content:""}.ph.ph-fallout-shelter:before{content:""}.ph.ph-fan:before{content:""}.ph.ph-farm:before{content:""}.ph.ph-fast-forward:before{content:""}.ph.ph-fast-forward-circle:before{content:""}.ph.ph-feather:before{content:""}.ph.ph-fediverse-logo:before{content:""}.ph.ph-figma-logo:before{content:""}.ph.ph-file:before{content:""}.ph.ph-file-archive:before{content:""}.ph.ph-file-arrow-down:before{content:""}.ph.ph-file-arrow-up:before{content:""}.ph.ph-file-audio:before{content:""}.ph.ph-file-c:before{content:""}.ph.ph-file-c-sharp:before{content:""}.ph.ph-file-cloud:before{content:""}.ph.ph-file-code:before{content:""}.ph.ph-file-cpp:before{content:""}.ph.ph-file-css:before{content:""}.ph.ph-file-csv:before{content:""}.ph.ph-file-dashed:before{content:""}.ph.ph-file-dotted:before{content:""}.ph.ph-file-doc:before{content:""}.ph.ph-file-html:before{content:""}.ph.ph-file-image:before{content:""}.ph.ph-file-ini:before{content:""}.ph.ph-file-jpg:before{content:""}.ph.ph-file-js:before{content:""}.ph.ph-file-jsx:before{content:""}.ph.ph-file-lock:before{content:""}.ph.ph-file-magnifying-glass:before{content:""}.ph.ph-file-search:before{content:""}.ph.ph-file-md:before{content:""}.ph.ph-file-minus:before{content:""}.ph.ph-file-pdf:before{content:""}.ph.ph-file-plus:before{content:""}.ph.ph-file-png:before{content:""}.ph.ph-file-ppt:before{content:""}.ph.ph-file-py:before{content:""}.ph.ph-file-rs:before{content:""}.ph.ph-file-sql:before{content:""}.ph.ph-file-svg:before{content:""}.ph.ph-file-text:before{content:""}.ph.ph-file-ts:before{content:""}.ph.ph-file-tsx:before{content:""}.ph.ph-file-txt:before{content:""}.ph.ph-file-video:before{content:""}.ph.ph-file-vue:before{content:""}.ph.ph-file-x:before{content:""}.ph.ph-file-xls:before{content:""}.ph.ph-file-zip:before{content:""}.ph.ph-files:before{content:""}.ph.ph-film-reel:before{content:""}.ph.ph-film-script:before{content:""}.ph.ph-film-slate:before{content:""}.ph.ph-film-strip:before{content:""}.ph.ph-fingerprint:before{content:""}.ph.ph-fingerprint-simple:before{content:""}.ph.ph-finn-the-human:before{content:""}.ph.ph-fire:before{content:""}.ph.ph-fire-extinguisher:before{content:""}.ph.ph-fire-simple:before{content:""}.ph.ph-fire-truck:before{content:""}.ph.ph-first-aid:before{content:""}.ph.ph-first-aid-kit:before{content:""}.ph.ph-fish:before{content:""}.ph.ph-fish-simple:before{content:""}.ph.ph-flag:before{content:""}.ph.ph-flag-banner:before{content:""}.ph.ph-flag-banner-fold:before{content:""}.ph.ph-flag-checkered:before{content:""}.ph.ph-flag-pennant:before{content:""}.ph.ph-flame:before{content:""}.ph.ph-flashlight:before{content:""}.ph.ph-flask:before{content:""}.ph.ph-flip-horizontal:before{content:""}.ph.ph-flip-vertical:before{content:""}.ph.ph-floppy-disk:before{content:""}.ph.ph-floppy-disk-back:before{content:""}.ph.ph-flow-arrow:before{content:""}.ph.ph-flower:before{content:""}.ph.ph-flower-lotus:before{content:""}.ph.ph-flower-tulip:before{content:""}.ph.ph-flying-saucer:before{content:""}.ph.ph-folder:before{content:""}.ph.ph-folder-notch:before{content:""}.ph.ph-folder-dashed:before{content:""}.ph.ph-folder-dotted:before{content:""}.ph.ph-folder-lock:before{content:""}.ph.ph-folder-minus:before{content:""}.ph.ph-folder-notch-minus:before{content:""}.ph.ph-folder-open:before{content:""}.ph.ph-folder-notch-open:before{content:""}.ph.ph-folder-plus:before{content:""}.ph.ph-folder-notch-plus:before{content:""}.ph.ph-folder-simple:before{content:""}.ph.ph-folder-simple-dashed:before{content:""}.ph.ph-folder-simple-dotted:before{content:""}.ph.ph-folder-simple-lock:before{content:""}.ph.ph-folder-simple-minus:before{content:""}.ph.ph-folder-simple-plus:before{content:""}.ph.ph-folder-simple-star:before{content:""}.ph.ph-folder-simple-user:before{content:""}.ph.ph-folder-star:before{content:""}.ph.ph-folder-user:before{content:""}.ph.ph-folders:before{content:""}.ph.ph-football:before{content:""}.ph.ph-football-helmet:before{content:""}.ph.ph-footprints:before{content:""}.ph.ph-fork-knife:before{content:""}.ph.ph-four-k:before{content:""}.ph.ph-frame-corners:before{content:""}.ph.ph-framer-logo:before{content:""}.ph.ph-function:before{content:""}.ph.ph-funnel:before{content:""}.ph.ph-funnel-simple:before{content:""}.ph.ph-funnel-simple-x:before{content:""}.ph.ph-funnel-x:before{content:""}.ph.ph-game-controller:before{content:""}.ph.ph-garage:before{content:""}.ph.ph-gas-can:before{content:""}.ph.ph-gas-pump:before{content:""}.ph.ph-gauge:before{content:""}.ph.ph-gavel:before{content:""}.ph.ph-gear:before{content:""}.ph.ph-gear-fine:before{content:""}.ph.ph-gear-six:before{content:""}.ph.ph-gender-female:before{content:""}.ph.ph-gender-intersex:before{content:""}.ph.ph-gender-male:before{content:""}.ph.ph-gender-neuter:before{content:""}.ph.ph-gender-nonbinary:before{content:""}.ph.ph-gender-transgender:before{content:""}.ph.ph-ghost:before{content:""}.ph.ph-gif:before{content:""}.ph.ph-gift:before{content:""}.ph.ph-git-branch:before{content:""}.ph.ph-git-commit:before{content:""}.ph.ph-git-diff:before{content:""}.ph.ph-git-fork:before{content:""}.ph.ph-git-merge:before{content:""}.ph.ph-git-pull-request:before{content:""}.ph.ph-github-logo:before{content:""}.ph.ph-gitlab-logo:before{content:""}.ph.ph-gitlab-logo-simple:before{content:""}.ph.ph-globe:before{content:""}.ph.ph-globe-hemisphere-east:before{content:""}.ph.ph-globe-hemisphere-west:before{content:""}.ph.ph-globe-simple:before{content:""}.ph.ph-globe-simple-x:before{content:""}.ph.ph-globe-stand:before{content:""}.ph.ph-globe-x:before{content:""}.ph.ph-goggles:before{content:""}.ph.ph-golf:before{content:""}.ph.ph-goodreads-logo:before{content:""}.ph.ph-google-cardboard-logo:before{content:""}.ph.ph-google-chrome-logo:before{content:""}.ph.ph-google-drive-logo:before{content:""}.ph.ph-google-logo:before{content:""}.ph.ph-google-photos-logo:before{content:""}.ph.ph-google-play-logo:before{content:""}.ph.ph-google-podcasts-logo:before{content:""}.ph.ph-gps:before{content:""}.ph.ph-gps-fix:before{content:""}.ph.ph-gps-slash:before{content:""}.ph.ph-gradient:before{content:""}.ph.ph-graduation-cap:before{content:""}.ph.ph-grains:before{content:""}.ph.ph-grains-slash:before{content:""}.ph.ph-graph:before{content:""}.ph.ph-graphics-card:before{content:""}.ph.ph-greater-than:before{content:""}.ph.ph-greater-than-or-equal:before{content:""}.ph.ph-grid-four:before{content:""}.ph.ph-grid-nine:before{content:""}.ph.ph-guitar:before{content:""}.ph.ph-hair-dryer:before{content:""}.ph.ph-hamburger:before{content:""}.ph.ph-hammer:before{content:""}.ph.ph-hand:before{content:""}.ph.ph-hand-arrow-down:before{content:""}.ph.ph-hand-arrow-up:before{content:""}.ph.ph-hand-coins:before{content:""}.ph.ph-hand-deposit:before{content:""}.ph.ph-hand-eye:before{content:""}.ph.ph-hand-fist:before{content:""}.ph.ph-hand-grabbing:before{content:""}.ph.ph-hand-heart:before{content:""}.ph.ph-hand-palm:before{content:""}.ph.ph-hand-peace:before{content:""}.ph.ph-hand-pointing:before{content:""}.ph.ph-hand-soap:before{content:""}.ph.ph-hand-swipe-left:before{content:""}.ph.ph-hand-swipe-right:before{content:""}.ph.ph-hand-tap:before{content:""}.ph.ph-hand-waving:before{content:""}.ph.ph-hand-withdraw:before{content:""}.ph.ph-handbag:before{content:""}.ph.ph-handbag-simple:before{content:""}.ph.ph-hands-clapping:before{content:""}.ph.ph-hands-praying:before{content:""}.ph.ph-handshake:before{content:""}.ph.ph-hard-drive:before{content:""}.ph.ph-hard-drives:before{content:""}.ph.ph-hard-hat:before{content:""}.ph.ph-hash:before{content:""}.ph.ph-hash-straight:before{content:""}.ph.ph-head-circuit:before{content:""}.ph.ph-headlights:before{content:""}.ph.ph-headphones:before{content:""}.ph.ph-headset:before{content:""}.ph.ph-heart:before{content:""}.ph.ph-heart-break:before{content:""}.ph.ph-heart-half:before{content:""}.ph.ph-heart-straight:before{content:""}.ph.ph-heart-straight-break:before{content:""}.ph.ph-heartbeat:before{content:""}.ph.ph-hexagon:before{content:""}.ph.ph-high-definition:before{content:""}.ph.ph-high-heel:before{content:""}.ph.ph-highlighter:before{content:""}.ph.ph-highlighter-circle:before{content:""}.ph.ph-hockey:before{content:""}.ph.ph-hoodie:before{content:""}.ph.ph-horse:before{content:""}.ph.ph-hospital:before{content:""}.ph.ph-hourglass:before{content:""}.ph.ph-hourglass-high:before{content:""}.ph.ph-hourglass-low:before{content:""}.ph.ph-hourglass-medium:before{content:""}.ph.ph-hourglass-simple:before{content:""}.ph.ph-hourglass-simple-high:before{content:""}.ph.ph-hourglass-simple-low:before{content:""}.ph.ph-hourglass-simple-medium:before{content:""}.ph.ph-house:before{content:""}.ph.ph-house-line:before{content:""}.ph.ph-house-simple:before{content:""}.ph.ph-hurricane:before{content:""}.ph.ph-ice-cream:before{content:""}.ph.ph-identification-badge:before{content:""}.ph.ph-identification-card:before{content:""}.ph.ph-image:before{content:""}.ph.ph-image-broken:before{content:""}.ph.ph-image-square:before{content:""}.ph.ph-images:before{content:""}.ph.ph-images-square:before{content:""}.ph.ph-infinity:before{content:""}.ph.ph-lemniscate:before{content:""}.ph.ph-info:before{content:""}.ph.ph-instagram-logo:before{content:""}.ph.ph-intersect:before{content:""}.ph.ph-intersect-square:before{content:""}.ph.ph-intersect-three:before{content:""}.ph.ph-intersection:before{content:""}.ph.ph-invoice:before{content:""}.ph.ph-island:before{content:""}.ph.ph-jar:before{content:""}.ph.ph-jar-label:before{content:""}.ph.ph-jeep:before{content:""}.ph.ph-joystick:before{content:""}.ph.ph-kanban:before{content:""}.ph.ph-key:before{content:""}.ph.ph-key-return:before{content:""}.ph.ph-keyboard:before{content:""}.ph.ph-keyhole:before{content:""}.ph.ph-knife:before{content:""}.ph.ph-ladder:before{content:""}.ph.ph-ladder-simple:before{content:""}.ph.ph-lamp:before{content:""}.ph.ph-lamp-pendant:before{content:""}.ph.ph-laptop:before{content:""}.ph.ph-lasso:before{content:""}.ph.ph-lastfm-logo:before{content:""}.ph.ph-layout:before{content:""}.ph.ph-leaf:before{content:""}.ph.ph-lectern:before{content:""}.ph.ph-lego:before{content:""}.ph.ph-lego-smiley:before{content:""}.ph.ph-less-than:before{content:""}.ph.ph-less-than-or-equal:before{content:""}.ph.ph-letter-circle-h:before{content:""}.ph.ph-letter-circle-p:before{content:""}.ph.ph-letter-circle-v:before{content:""}.ph.ph-lifebuoy:before{content:""}.ph.ph-lightbulb:before{content:""}.ph.ph-lightbulb-filament:before{content:""}.ph.ph-lighthouse:before{content:""}.ph.ph-lightning:before{content:""}.ph.ph-lightning-a:before{content:""}.ph.ph-lightning-slash:before{content:""}.ph.ph-line-segment:before{content:""}.ph.ph-line-segments:before{content:""}.ph.ph-line-vertical:before{content:""}.ph.ph-link:before{content:""}.ph.ph-link-break:before{content:""}.ph.ph-link-simple:before{content:""}.ph.ph-link-simple-break:before{content:""}.ph.ph-link-simple-horizontal:before{content:""}.ph.ph-link-simple-horizontal-break:before{content:""}.ph.ph-linkedin-logo:before{content:""}.ph.ph-linktree-logo:before{content:""}.ph.ph-linux-logo:before{content:""}.ph.ph-list:before{content:""}.ph.ph-list-bullets:before{content:""}.ph.ph-list-checks:before{content:""}.ph.ph-list-dashes:before{content:""}.ph.ph-list-heart:before{content:""}.ph.ph-list-magnifying-glass:before{content:""}.ph.ph-list-numbers:before{content:""}.ph.ph-list-plus:before{content:""}.ph.ph-list-star:before{content:""}.ph.ph-lock:before{content:""}.ph.ph-lock-key:before{content:""}.ph.ph-lock-key-open:before{content:""}.ph.ph-lock-laminated:before{content:""}.ph.ph-lock-laminated-open:before{content:""}.ph.ph-lock-open:before{content:""}.ph.ph-lock-simple:before{content:""}.ph.ph-lock-simple-open:before{content:""}.ph.ph-lockers:before{content:""}.ph.ph-log:before{content:""}.ph.ph-magic-wand:before{content:""}.ph.ph-magnet:before{content:""}.ph.ph-magnet-straight:before{content:""}.ph.ph-magnifying-glass:before{content:""}.ph.ph-magnifying-glass-minus:before{content:""}.ph.ph-magnifying-glass-plus:before{content:""}.ph.ph-mailbox:before{content:""}.ph.ph-map-pin:before{content:""}.ph.ph-map-pin-area:before{content:""}.ph.ph-map-pin-line:before{content:""}.ph.ph-map-pin-plus:before{content:""}.ph.ph-map-pin-simple:before{content:""}.ph.ph-map-pin-simple-area:before{content:""}.ph.ph-map-pin-simple-line:before{content:""}.ph.ph-map-trifold:before{content:""}.ph.ph-markdown-logo:before{content:""}.ph.ph-marker-circle:before{content:""}.ph.ph-martini:before{content:""}.ph.ph-mask-happy:before{content:""}.ph.ph-mask-sad:before{content:""}.ph.ph-mastodon-logo:before{content:""}.ph.ph-math-operations:before{content:""}.ph.ph-matrix-logo:before{content:""}.ph.ph-medal:before{content:""}.ph.ph-medal-military:before{content:""}.ph.ph-medium-logo:before{content:""}.ph.ph-megaphone:before{content:""}.ph.ph-megaphone-simple:before{content:""}.ph.ph-member-of:before{content:""}.ph.ph-memory:before{content:""}.ph.ph-messenger-logo:before{content:""}.ph.ph-meta-logo:before{content:""}.ph.ph-meteor:before{content:""}.ph.ph-metronome:before{content:""}.ph.ph-microphone:before{content:""}.ph.ph-microphone-slash:before{content:""}.ph.ph-microphone-stage:before{content:""}.ph.ph-microscope:before{content:""}.ph.ph-microsoft-excel-logo:before{content:""}.ph.ph-microsoft-outlook-logo:before{content:""}.ph.ph-microsoft-powerpoint-logo:before{content:""}.ph.ph-microsoft-teams-logo:before{content:""}.ph.ph-microsoft-word-logo:before{content:""}.ph.ph-minus:before{content:""}.ph.ph-minus-circle:before{content:""}.ph.ph-minus-square:before{content:""}.ph.ph-money:before{content:""}.ph.ph-money-wavy:before{content:""}.ph.ph-monitor:before{content:""}.ph.ph-monitor-arrow-up:before{content:""}.ph.ph-monitor-play:before{content:""}.ph.ph-moon:before{content:""}.ph.ph-moon-stars:before{content:""}.ph.ph-moped:before{content:""}.ph.ph-moped-front:before{content:""}.ph.ph-mosque:before{content:""}.ph.ph-motorcycle:before{content:""}.ph.ph-mountains:before{content:""}.ph.ph-mouse:before{content:""}.ph.ph-mouse-left-click:before{content:""}.ph.ph-mouse-middle-click:before{content:""}.ph.ph-mouse-right-click:before{content:""}.ph.ph-mouse-scroll:before{content:""}.ph.ph-mouse-simple:before{content:""}.ph.ph-music-note:before{content:""}.ph.ph-music-note-simple:before{content:""}.ph.ph-music-notes:before{content:""}.ph.ph-music-notes-minus:before{content:""}.ph.ph-music-notes-plus:before{content:""}.ph.ph-music-notes-simple:before{content:""}.ph.ph-navigation-arrow:before{content:""}.ph.ph-needle:before{content:""}.ph.ph-network:before{content:""}.ph.ph-network-slash:before{content:""}.ph.ph-network-x:before{content:""}.ph.ph-newspaper:before{content:""}.ph.ph-newspaper-clipping:before{content:""}.ph.ph-not-equals:before{content:""}.ph.ph-not-member-of:before{content:""}.ph.ph-not-subset-of:before{content:""}.ph.ph-not-superset-of:before{content:""}.ph.ph-notches:before{content:""}.ph.ph-note:before{content:""}.ph.ph-note-blank:before{content:""}.ph.ph-note-pencil:before{content:""}.ph.ph-notebook:before{content:""}.ph.ph-notepad:before{content:""}.ph.ph-notification:before{content:""}.ph.ph-notion-logo:before{content:""}.ph.ph-nuclear-plant:before{content:""}.ph.ph-number-circle-eight:before{content:""}.ph.ph-number-circle-five:before{content:""}.ph.ph-number-circle-four:before{content:""}.ph.ph-number-circle-nine:before{content:""}.ph.ph-number-circle-one:before{content:""}.ph.ph-number-circle-seven:before{content:""}.ph.ph-number-circle-six:before{content:""}.ph.ph-number-circle-three:before{content:""}.ph.ph-number-circle-two:before{content:""}.ph.ph-number-circle-zero:before{content:""}.ph.ph-number-eight:before{content:""}.ph.ph-number-five:before{content:""}.ph.ph-number-four:before{content:""}.ph.ph-number-nine:before{content:""}.ph.ph-number-one:before{content:""}.ph.ph-number-seven:before{content:""}.ph.ph-number-six:before{content:""}.ph.ph-number-square-eight:before{content:""}.ph.ph-number-square-five:before{content:""}.ph.ph-number-square-four:before{content:""}.ph.ph-number-square-nine:before{content:""}.ph.ph-number-square-one:before{content:""}.ph.ph-number-square-seven:before{content:""}.ph.ph-number-square-six:before{content:""}.ph.ph-number-square-three:before{content:""}.ph.ph-number-square-two:before{content:""}.ph.ph-number-square-zero:before{content:""}.ph.ph-number-three:before{content:""}.ph.ph-number-two:before{content:""}.ph.ph-number-zero:before{content:""}.ph.ph-numpad:before{content:""}.ph.ph-nut:before{content:""}.ph.ph-ny-times-logo:before{content:""}.ph.ph-octagon:before{content:""}.ph.ph-office-chair:before{content:""}.ph.ph-onigiri:before{content:""}.ph.ph-open-ai-logo:before{content:""}.ph.ph-option:before{content:""}.ph.ph-orange:before{content:""}.ph.ph-orange-slice:before{content:""}.ph.ph-oven:before{content:""}.ph.ph-package:before{content:""}.ph.ph-paint-brush:before{content:""}.ph.ph-paint-brush-broad:before{content:""}.ph.ph-paint-brush-household:before{content:""}.ph.ph-paint-bucket:before{content:""}.ph.ph-paint-roller:before{content:""}.ph.ph-palette:before{content:""}.ph.ph-panorama:before{content:""}.ph.ph-pants:before{content:""}.ph.ph-paper-plane:before{content:""}.ph.ph-paper-plane-right:before{content:""}.ph.ph-paper-plane-tilt:before{content:""}.ph.ph-paperclip:before{content:""}.ph.ph-paperclip-horizontal:before{content:""}.ph.ph-parachute:before{content:""}.ph.ph-paragraph:before{content:""}.ph.ph-parallelogram:before{content:""}.ph.ph-park:before{content:""}.ph.ph-password:before{content:""}.ph.ph-path:before{content:""}.ph.ph-patreon-logo:before{content:""}.ph.ph-pause:before{content:""}.ph.ph-pause-circle:before{content:""}.ph.ph-paw-print:before{content:""}.ph.ph-paypal-logo:before{content:""}.ph.ph-peace:before{content:""}.ph.ph-pen:before{content:""}.ph.ph-pen-nib:before{content:""}.ph.ph-pen-nib-straight:before{content:""}.ph.ph-pencil:before{content:""}.ph.ph-pencil-circle:before{content:""}.ph.ph-pencil-line:before{content:""}.ph.ph-pencil-ruler:before{content:""}.ph.ph-pencil-simple:before{content:""}.ph.ph-pencil-simple-line:before{content:""}.ph.ph-pencil-simple-slash:before{content:""}.ph.ph-pencil-slash:before{content:""}.ph.ph-pentagon:before{content:""}.ph.ph-pentagram:before{content:""}.ph.ph-pepper:before{content:""}.ph.ph-percent:before{content:""}.ph.ph-person:before{content:""}.ph.ph-person-arms-spread:before{content:""}.ph.ph-person-simple:before{content:""}.ph.ph-person-simple-bike:before{content:""}.ph.ph-person-simple-circle:before{content:""}.ph.ph-person-simple-hike:before{content:""}.ph.ph-person-simple-run:before{content:""}.ph.ph-person-simple-ski:before{content:""}.ph.ph-person-simple-snowboard:before{content:""}.ph.ph-person-simple-swim:before{content:""}.ph.ph-person-simple-tai-chi:before{content:""}.ph.ph-person-simple-throw:before{content:""}.ph.ph-person-simple-walk:before{content:""}.ph.ph-perspective:before{content:""}.ph.ph-phone:before{content:""}.ph.ph-phone-call:before{content:""}.ph.ph-phone-disconnect:before{content:""}.ph.ph-phone-incoming:before{content:""}.ph.ph-phone-list:before{content:""}.ph.ph-phone-outgoing:before{content:""}.ph.ph-phone-pause:before{content:""}.ph.ph-phone-plus:before{content:""}.ph.ph-phone-slash:before{content:""}.ph.ph-phone-transfer:before{content:""}.ph.ph-phone-x:before{content:""}.ph.ph-phosphor-logo:before{content:""}.ph.ph-pi:before{content:""}.ph.ph-piano-keys:before{content:""}.ph.ph-picnic-table:before{content:""}.ph.ph-picture-in-picture:before{content:""}.ph.ph-piggy-bank:before{content:""}.ph.ph-pill:before{content:""}.ph.ph-ping-pong:before{content:""}.ph.ph-pint-glass:before{content:""}.ph.ph-pinterest-logo:before{content:""}.ph.ph-pinwheel:before{content:""}.ph.ph-pipe:before{content:""}.ph.ph-pipe-wrench:before{content:""}.ph.ph-pix-logo:before{content:""}.ph.ph-pizza:before{content:""}.ph.ph-placeholder:before{content:""}.ph.ph-planet:before{content:""}.ph.ph-plant:before{content:""}.ph.ph-play:before{content:""}.ph.ph-play-circle:before{content:""}.ph.ph-play-pause:before{content:""}.ph.ph-playlist:before{content:""}.ph.ph-plug:before{content:""}.ph.ph-plug-charging:before{content:""}.ph.ph-plugs:before{content:""}.ph.ph-plugs-connected:before{content:""}.ph.ph-plus:before{content:""}.ph.ph-plus-circle:before{content:""}.ph.ph-plus-minus:before{content:""}.ph.ph-plus-square:before{content:""}.ph.ph-poker-chip:before{content:""}.ph.ph-police-car:before{content:""}.ph.ph-polygon:before{content:""}.ph.ph-popcorn:before{content:""}.ph.ph-popsicle:before{content:""}.ph.ph-potted-plant:before{content:""}.ph.ph-power:before{content:""}.ph.ph-prescription:before{content:""}.ph.ph-presentation:before{content:""}.ph.ph-presentation-chart:before{content:""}.ph.ph-printer:before{content:""}.ph.ph-prohibit:before{content:""}.ph.ph-prohibit-inset:before{content:""}.ph.ph-projector-screen:before{content:""}.ph.ph-projector-screen-chart:before{content:""}.ph.ph-pulse:before{content:""}.ph.ph-activity:before{content:""}.ph.ph-push-pin:before{content:""}.ph.ph-push-pin-simple:before{content:""}.ph.ph-push-pin-simple-slash:before{content:""}.ph.ph-push-pin-slash:before{content:""}.ph.ph-puzzle-piece:before{content:""}.ph.ph-qr-code:before{content:""}.ph.ph-question:before{content:""}.ph.ph-question-mark:before{content:""}.ph.ph-queue:before{content:""}.ph.ph-quotes:before{content:""}.ph.ph-rabbit:before{content:""}.ph.ph-racquet:before{content:""}.ph.ph-radical:before{content:""}.ph.ph-radio:before{content:""}.ph.ph-radio-button:before{content:""}.ph.ph-radioactive:before{content:""}.ph.ph-rainbow:before{content:""}.ph.ph-rainbow-cloud:before{content:""}.ph.ph-ranking:before{content:""}.ph.ph-read-cv-logo:before{content:""}.ph.ph-receipt:before{content:""}.ph.ph-receipt-x:before{content:""}.ph.ph-record:before{content:""}.ph.ph-rectangle:before{content:""}.ph.ph-rectangle-dashed:before{content:""}.ph.ph-recycle:before{content:""}.ph.ph-reddit-logo:before{content:""}.ph.ph-repeat:before{content:""}.ph.ph-repeat-once:before{content:""}.ph.ph-replit-logo:before{content:""}.ph.ph-resize:before{content:""}.ph.ph-rewind:before{content:""}.ph.ph-rewind-circle:before{content:""}.ph.ph-road-horizon:before{content:""}.ph.ph-robot:before{content:""}.ph.ph-rocket:before{content:""}.ph.ph-rocket-launch:before{content:""}.ph.ph-rows:before{content:""}.ph.ph-rows-plus-bottom:before{content:""}.ph.ph-rows-plus-top:before{content:""}.ph.ph-rss:before{content:""}.ph.ph-rss-simple:before{content:""}.ph.ph-rug:before{content:""}.ph.ph-ruler:before{content:""}.ph.ph-sailboat:before{content:""}.ph.ph-scales:before{content:""}.ph.ph-scan:before{content:""}.ph.ph-scan-smiley:before{content:""}.ph.ph-scissors:before{content:""}.ph.ph-scooter:before{content:""}.ph.ph-screencast:before{content:""}.ph.ph-screwdriver:before{content:""}.ph.ph-scribble:before{content:""}.ph.ph-scribble-loop:before{content:""}.ph.ph-scroll:before{content:""}.ph.ph-seal:before{content:""}.ph.ph-circle-wavy:before{content:""}.ph.ph-seal-check:before{content:""}.ph.ph-circle-wavy-check:before{content:""}.ph.ph-seal-percent:before{content:""}.ph.ph-seal-question:before{content:""}.ph.ph-circle-wavy-question:before{content:""}.ph.ph-seal-warning:before{content:""}.ph.ph-circle-wavy-warning:before{content:""}.ph.ph-seat:before{content:""}.ph.ph-seatbelt:before{content:""}.ph.ph-security-camera:before{content:""}.ph.ph-selection:before{content:""}.ph.ph-selection-all:before{content:""}.ph.ph-selection-background:before{content:""}.ph.ph-selection-foreground:before{content:""}.ph.ph-selection-inverse:before{content:""}.ph.ph-selection-plus:before{content:""}.ph.ph-selection-slash:before{content:""}.ph.ph-shapes:before{content:""}.ph.ph-share:before{content:""}.ph.ph-share-fat:before{content:""}.ph.ph-share-network:before{content:""}.ph.ph-shield:before{content:""}.ph.ph-shield-check:before{content:""}.ph.ph-shield-checkered:before{content:""}.ph.ph-shield-chevron:before{content:""}.ph.ph-shield-plus:before{content:""}.ph.ph-shield-slash:before{content:""}.ph.ph-shield-star:before{content:""}.ph.ph-shield-warning:before{content:""}.ph.ph-shipping-container:before{content:""}.ph.ph-shirt-folded:before{content:""}.ph.ph-shooting-star:before{content:""}.ph.ph-shopping-bag:before{content:""}.ph.ph-shopping-bag-open:before{content:""}.ph.ph-shopping-cart:before{content:""}.ph.ph-shopping-cart-simple:before{content:""}.ph.ph-shovel:before{content:""}.ph.ph-shower:before{content:""}.ph.ph-shrimp:before{content:""}.ph.ph-shuffle:before{content:""}.ph.ph-shuffle-angular:before{content:""}.ph.ph-shuffle-simple:before{content:""}.ph.ph-sidebar:before{content:""}.ph.ph-sidebar-simple:before{content:""}.ph.ph-sigma:before{content:""}.ph.ph-sign-in:before{content:""}.ph.ph-sign-out:before{content:""}.ph.ph-signature:before{content:""}.ph.ph-signpost:before{content:""}.ph.ph-sim-card:before{content:""}.ph.ph-siren:before{content:""}.ph.ph-sketch-logo:before{content:""}.ph.ph-skip-back:before{content:""}.ph.ph-skip-back-circle:before{content:""}.ph.ph-skip-forward:before{content:""}.ph.ph-skip-forward-circle:before{content:""}.ph.ph-skull:before{content:""}.ph.ph-skype-logo:before{content:""}.ph.ph-slack-logo:before{content:""}.ph.ph-sliders:before{content:""}.ph.ph-sliders-horizontal:before{content:""}.ph.ph-slideshow:before{content:""}.ph.ph-smiley:before{content:""}.ph.ph-smiley-angry:before{content:""}.ph.ph-smiley-blank:before{content:""}.ph.ph-smiley-meh:before{content:""}.ph.ph-smiley-melting:before{content:""}.ph.ph-smiley-nervous:before{content:""}.ph.ph-smiley-sad:before{content:""}.ph.ph-smiley-sticker:before{content:""}.ph.ph-smiley-wink:before{content:""}.ph.ph-smiley-x-eyes:before{content:""}.ph.ph-snapchat-logo:before{content:""}.ph.ph-sneaker:before{content:""}.ph.ph-sneaker-move:before{content:""}.ph.ph-snowflake:before{content:""}.ph.ph-soccer-ball:before{content:""}.ph.ph-sock:before{content:""}.ph.ph-solar-panel:before{content:""}.ph.ph-solar-roof:before{content:""}.ph.ph-sort-ascending:before{content:""}.ph.ph-sort-descending:before{content:""}.ph.ph-soundcloud-logo:before{content:""}.ph.ph-spade:before{content:""}.ph.ph-sparkle:before{content:""}.ph.ph-speaker-hifi:before{content:""}.ph.ph-speaker-high:before{content:""}.ph.ph-speaker-low:before{content:""}.ph.ph-speaker-none:before{content:""}.ph.ph-speaker-simple-high:before{content:""}.ph.ph-speaker-simple-low:before{content:""}.ph.ph-speaker-simple-none:before{content:""}.ph.ph-speaker-simple-slash:before{content:""}.ph.ph-speaker-simple-x:before{content:""}.ph.ph-speaker-slash:before{content:""}.ph.ph-speaker-x:before{content:""}.ph.ph-speedometer:before{content:""}.ph.ph-sphere:before{content:""}.ph.ph-spinner:before{content:""}.ph.ph-spinner-ball:before{content:""}.ph.ph-spinner-gap:before{content:""}.ph.ph-spiral:before{content:""}.ph.ph-split-horizontal:before{content:""}.ph.ph-split-vertical:before{content:""}.ph.ph-spotify-logo:before{content:""}.ph.ph-spray-bottle:before{content:""}.ph.ph-square:before{content:""}.ph.ph-square-half:before{content:""}.ph.ph-square-half-bottom:before{content:""}.ph.ph-square-logo:before{content:""}.ph.ph-square-split-horizontal:before{content:""}.ph.ph-square-split-vertical:before{content:""}.ph.ph-squares-four:before{content:""}.ph.ph-stack:before{content:""}.ph.ph-stack-minus:before{content:""}.ph.ph-stack-overflow-logo:before{content:""}.ph.ph-stack-plus:before{content:""}.ph.ph-stack-simple:before{content:""}.ph.ph-stairs:before{content:""}.ph.ph-stamp:before{content:""}.ph.ph-standard-definition:before{content:""}.ph.ph-star:before{content:""}.ph.ph-star-and-crescent:before{content:""}.ph.ph-star-four:before{content:""}.ph.ph-star-half:before{content:""}.ph.ph-star-of-david:before{content:""}.ph.ph-steam-logo:before{content:""}.ph.ph-steering-wheel:before{content:""}.ph.ph-steps:before{content:""}.ph.ph-stethoscope:before{content:""}.ph.ph-sticker:before{content:""}.ph.ph-stool:before{content:""}.ph.ph-stop:before{content:""}.ph.ph-stop-circle:before{content:""}.ph.ph-storefront:before{content:""}.ph.ph-strategy:before{content:""}.ph.ph-stripe-logo:before{content:""}.ph.ph-student:before{content:""}.ph.ph-subset-of:before{content:""}.ph.ph-subset-proper-of:before{content:""}.ph.ph-subtitles:before{content:""}.ph.ph-subtitles-slash:before{content:""}.ph.ph-subtract:before{content:""}.ph.ph-subtract-square:before{content:""}.ph.ph-subway:before{content:""}.ph.ph-suitcase:before{content:""}.ph.ph-suitcase-rolling:before{content:""}.ph.ph-suitcase-simple:before{content:""}.ph.ph-sun:before{content:""}.ph.ph-sun-dim:before{content:""}.ph.ph-sun-horizon:before{content:""}.ph.ph-sunglasses:before{content:""}.ph.ph-superset-of:before{content:""}.ph.ph-superset-proper-of:before{content:""}.ph.ph-swap:before{content:""}.ph.ph-swatches:before{content:""}.ph.ph-swimming-pool:before{content:""}.ph.ph-sword:before{content:""}.ph.ph-synagogue:before{content:""}.ph.ph-syringe:before{content:""}.ph.ph-t-shirt:before{content:""}.ph.ph-table:before{content:""}.ph.ph-tabs:before{content:""}.ph.ph-tag:before{content:""}.ph.ph-tag-chevron:before{content:""}.ph.ph-tag-simple:before{content:""}.ph.ph-target:before{content:""}.ph.ph-taxi:before{content:""}.ph.ph-tea-bag:before{content:""}.ph.ph-telegram-logo:before{content:""}.ph.ph-television:before{content:""}.ph.ph-television-simple:before{content:""}.ph.ph-tennis-ball:before{content:""}.ph.ph-tent:before{content:""}.ph.ph-terminal:before{content:""}.ph.ph-terminal-window:before{content:""}.ph.ph-test-tube:before{content:""}.ph.ph-text-a-underline:before{content:""}.ph.ph-text-aa:before{content:""}.ph.ph-text-align-center:before{content:""}.ph.ph-text-align-justify:before{content:""}.ph.ph-text-align-left:before{content:""}.ph.ph-text-align-right:before{content:""}.ph.ph-text-b:before{content:""}.ph.ph-text-bolder:before{content:""}.ph.ph-text-columns:before{content:""}.ph.ph-text-h:before{content:""}.ph.ph-text-h-five:before{content:""}.ph.ph-text-h-four:before{content:""}.ph.ph-text-h-one:before{content:""}.ph.ph-text-h-six:before{content:""}.ph.ph-text-h-three:before{content:""}.ph.ph-text-h-two:before{content:""}.ph.ph-text-indent:before{content:""}.ph.ph-text-italic:before{content:""}.ph.ph-text-outdent:before{content:""}.ph.ph-text-strikethrough:before{content:""}.ph.ph-text-subscript:before{content:""}.ph.ph-text-superscript:before{content:""}.ph.ph-text-t:before{content:""}.ph.ph-text-t-slash:before{content:""}.ph.ph-text-underline:before{content:""}.ph.ph-textbox:before{content:""}.ph.ph-thermometer:before{content:""}.ph.ph-thermometer-cold:before{content:""}.ph.ph-thermometer-hot:before{content:""}.ph.ph-thermometer-simple:before{content:""}.ph.ph-threads-logo:before{content:""}.ph.ph-three-d:before{content:""}.ph.ph-thumbs-down:before{content:""}.ph.ph-thumbs-up:before{content:""}.ph.ph-ticket:before{content:""}.ph.ph-tidal-logo:before{content:""}.ph.ph-tiktok-logo:before{content:""}.ph.ph-tilde:before{content:""}.ph.ph-timer:before{content:""}.ph.ph-tip-jar:before{content:""}.ph.ph-tipi:before{content:""}.ph.ph-tire:before{content:""}.ph.ph-toggle-left:before{content:""}.ph.ph-toggle-right:before{content:""}.ph.ph-toilet:before{content:""}.ph.ph-toilet-paper:before{content:""}.ph.ph-toolbox:before{content:""}.ph.ph-tooth:before{content:""}.ph.ph-tornado:before{content:""}.ph.ph-tote:before{content:""}.ph.ph-tote-simple:before{content:""}.ph.ph-towel:before{content:""}.ph.ph-tractor:before{content:""}.ph.ph-trademark:before{content:""}.ph.ph-trademark-registered:before{content:""}.ph.ph-traffic-cone:before{content:""}.ph.ph-traffic-sign:before{content:""}.ph.ph-traffic-signal:before{content:""}.ph.ph-train:before{content:""}.ph.ph-train-regional:before{content:""}.ph.ph-train-simple:before{content:""}.ph.ph-tram:before{content:""}.ph.ph-translate:before{content:""}.ph.ph-trash:before{content:""}.ph.ph-trash-simple:before{content:""}.ph.ph-tray:before{content:""}.ph.ph-tray-arrow-down:before{content:""}.ph.ph-archive-tray:before{content:""}.ph.ph-tray-arrow-up:before{content:""}.ph.ph-treasure-chest:before{content:""}.ph.ph-tree:before{content:""}.ph.ph-tree-evergreen:before{content:""}.ph.ph-tree-palm:before{content:""}.ph.ph-tree-structure:before{content:""}.ph.ph-tree-view:before{content:""}.ph.ph-trend-down:before{content:""}.ph.ph-trend-up:before{content:""}.ph.ph-triangle:before{content:""}.ph.ph-triangle-dashed:before{content:""}.ph.ph-trolley:before{content:""}.ph.ph-trolley-suitcase:before{content:""}.ph.ph-trophy:before{content:""}.ph.ph-truck:before{content:""}.ph.ph-truck-trailer:before{content:""}.ph.ph-tumblr-logo:before{content:""}.ph.ph-twitch-logo:before{content:""}.ph.ph-twitter-logo:before{content:""}.ph.ph-umbrella:before{content:""}.ph.ph-umbrella-simple:before{content:""}.ph.ph-union:before{content:""}.ph.ph-unite:before{content:""}.ph.ph-unite-square:before{content:""}.ph.ph-upload:before{content:""}.ph.ph-upload-simple:before{content:""}.ph.ph-usb:before{content:""}.ph.ph-user:before{content:""}.ph.ph-user-check:before{content:""}.ph.ph-user-circle:before{content:""}.ph.ph-user-circle-check:before{content:""}.ph.ph-user-circle-dashed:before{content:""}.ph.ph-user-circle-gear:before{content:""}.ph.ph-user-circle-minus:before{content:""}.ph.ph-user-circle-plus:before{content:""}.ph.ph-user-focus:before{content:""}.ph.ph-user-gear:before{content:""}.ph.ph-user-list:before{content:""}.ph.ph-user-minus:before{content:""}.ph.ph-user-plus:before{content:""}.ph.ph-user-rectangle:before{content:""}.ph.ph-user-sound:before{content:""}.ph.ph-user-square:before{content:""}.ph.ph-user-switch:before{content:""}.ph.ph-users:before{content:""}.ph.ph-users-four:before{content:""}.ph.ph-users-three:before{content:""}.ph.ph-van:before{content:""}.ph.ph-vault:before{content:""}.ph.ph-vector-three:before{content:""}.ph.ph-vector-two:before{content:""}.ph.ph-vibrate:before{content:""}.ph.ph-video:before{content:""}.ph.ph-video-camera:before{content:""}.ph.ph-video-camera-slash:before{content:""}.ph.ph-video-conference:before{content:""}.ph.ph-vignette:before{content:""}.ph.ph-vinyl-record:before{content:""}.ph.ph-virtual-reality:before{content:""}.ph.ph-virus:before{content:""}.ph.ph-visor:before{content:""}.ph.ph-voicemail:before{content:""}.ph.ph-volleyball:before{content:""}.ph.ph-wall:before{content:""}.ph.ph-wallet:before{content:""}.ph.ph-warehouse:before{content:""}.ph.ph-warning:before{content:""}.ph.ph-warning-circle:before{content:""}.ph.ph-warning-diamond:before{content:""}.ph.ph-warning-octagon:before{content:""}.ph.ph-washing-machine:before{content:""}.ph.ph-watch:before{content:""}.ph.ph-wave-sawtooth:before{content:""}.ph.ph-wave-sine:before{content:""}.ph.ph-wave-square:before{content:""}.ph.ph-wave-triangle:before{content:""}.ph.ph-waveform:before{content:""}.ph.ph-waveform-slash:before{content:""}.ph.ph-waves:before{content:""}.ph.ph-webcam:before{content:""}.ph.ph-webcam-slash:before{content:""}.ph.ph-webhooks-logo:before{content:""}.ph.ph-wechat-logo:before{content:""}.ph.ph-whatsapp-logo:before{content:""}.ph.ph-wheelchair:before{content:""}.ph.ph-wheelchair-motion:before{content:""}.ph.ph-wifi-high:before{content:""}.ph.ph-wifi-low:before{content:""}.ph.ph-wifi-medium:before{content:""}.ph.ph-wifi-none:before{content:""}.ph.ph-wifi-slash:before{content:""}.ph.ph-wifi-x:before{content:""}.ph.ph-wind:before{content:""}.ph.ph-windmill:before{content:""}.ph.ph-windows-logo:before{content:""}.ph.ph-wine:before{content:""}.ph.ph-wrench:before{content:""}.ph.ph-x:before{content:""}.ph.ph-x-circle:before{content:""}.ph.ph-x-logo:before{content:""}.ph.ph-x-square:before{content:""}.ph.ph-yarn:before{content:""}.ph.ph-yin-yang:before{content:""}.ph.ph-youtube-logo:before{content:""}.container{padding:18px}.section{margin-bottom:48px}.section-title,.block{margin-bottom:34px}.block-title{margin-bottom:22px}p,.text{margin-bottom:15px}.hint{margin-top:8px}.list{padding-left:22px;margin-bottom:15px}.list-item{margin-bottom:8px}.list-nested{margin-top:8px}.table{margin-bottom:22px}.table-caption{margin-bottom:8px}.form-group{margin-bottom:15px}.label{margin-bottom:5px;display:block}.input,.textarea,.select{margin-top:5px}.toast{padding:15px}.toast-stack{gap:8px}*{scrollbar-width:thin;scrollbar-color:#414868 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{width:8px;background:#414868;border-radius:9999px;cursor:default}*::-webkit-scrollbar-thumb:hover{background:#787c99}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-button{display:none}.chat-header,.context-bar,.profile-badge,.msg-meta-row,.recall-banner,.app-sidebar,.input-bar,.tabs-list{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.chat-header input,.chat-header textarea,.context-bar input,.context-bar textarea,.profile-badge input,.profile-badge textarea,.msg-meta-row input,.msg-meta-row textarea,.recall-banner input,.recall-banner textarea,.app-sidebar input,.app-sidebar textarea,.input-bar input,.input-bar textarea,.tabs-list input,.tabs-list textarea{-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default}@media(max-width:767px){textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]){font-size:16px!important}}html,body{height:100%;overflow:hidden;overscroll-behavior:none}#app{display:flex;height:100%;overflow:hidden}.app-main{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#16161e}.app-sidebar{width:380px;min-width:380px;max-width:380px;display:flex;flex-direction:column;background:#1f2335;border-right:2px solid rgba(192,202,245,.24);overflow:hidden;flex-shrink:0;transition:width .22s ease,min-width .22s ease,max-width .22s ease,border-color .22s ease,transform .28s ease}.app-sidebar.is-hidden-by-artifacts{width:0;min-width:0;max-width:0;border-right-color:transparent}@media(max-width:1279.98px){.app-sidebar{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;width:min(380px,92vw)!important;min-width:min(380px,92vw)!important;transform:translate(-100%);transition:transform .28s ease}.app-sidebar.is-mobile-open{transform:translate(0)}.app-sidebar.is-hidden-by-artifacts{width:min(380px,92vw)!important;min-width:min(380px,92vw)!important;max-width:min(380px,92vw)!important;border-right-color:#c0caf53d}}@media(max-width:980px){.app-sidebar,.app-sidebar.is-hidden-by-artifacts{width:100vw!important;min-width:100vw!important;max-width:100vw!important}}.sidebar-header{padding:15px;border-bottom:2px solid rgba(192,202,245,.24);display:flex;flex-direction:column;gap:8px}.sidebar-logo-row{display:flex;align-items:center;gap:8px}.sidebar-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex:1;min-width:0}.sidebar-logo img{width:42px;height:42px}.sidebar-logo span{font-size:16px;font-weight:700;color:#c0caf5}.sidebar-sessions{flex:1;overflow:hidden;display:flex;flex-direction:column}.sessions-header{display:flex;align-items:center;justify-content:space-between;padding:8px 15px;gap:8px}.sessions-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#787c99}.sessions-refresh-btn{font-size:14px;color:#787c99;transition:color .15s,transform .15s}.sessions-refresh-btn:hover{color:#c0caf5}.sessions-refresh-btn.is-spinning i{animation:spin .8s linear infinite}.session-item{display:flex;align-items:flex-start;gap:8px;padding:8px 15px;cursor:pointer;border-radius:0;transition:background .15s ease;position:relative}.session-item:hover{background:#1f2335}.session-item:hover .session-actions{opacity:1}@media(hover:none){.session-item .session-actions{opacity:1}}.session-item.is-active{background:#c0caf516;border-left:6px solid #7AA2F7;padding-left:9px}.session-item.is-pinned{background:#e0af6812}.session-item.is-pinned .session-name{color:#e0af68}.session-item.has-recall .session-actions{opacity:1}.session-item.is-special{opacity:.72}.session-item.is-special:hover{opacity:1}.session-item.is-special .session-name{font-weight:400}.session-icons{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;margin-top:2px;width:14px}.session-icons .session-pin-icon,.session-icons .session-recall-icon,.session-icons .session-special-icon{color:#787c99;font-size:14px;opacity:0;transition:opacity .15s ease}.session-icons .session-pin-icon{color:#e0af68}.session-icons .session-recall-icon,.session-icons .session-special-icon{color:var(--gn-color-secondary)}.is-pinned .session-icons .session-pin-icon,.has-recall .session-icons .session-recall-icon,.is-special .session-icons .session-special-icon{opacity:1}.session-info{flex:1;overflow:hidden}.session-name{font-size:13px;color:#c0caf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.session-time{font-size:11px;color:#787c99;line-height:1.4;margin-top:2px}.session-preview{font-size:12px;color:#c0caf5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;margin-top:3px}.session-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease;flex-shrink:0;align-self:flex-start;margin-top:1px}.session-actions .btn-icon{width:26px;height:26px;font-size:14px}.chat-area{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#16161e}.chat-header{display:flex;align-items:center;gap:8px;padding:8px 15px;border-bottom:2px solid rgba(192,202,245,.24);background:#1f2335;flex-shrink:0;min-height:54px}.chat-header-info{flex:1;display:flex;align-items:center;gap:8px;overflow:hidden;min-width:0}@media(max-width:768px){.chat-header-info{flex-direction:column;align-items:flex-start;gap:2px}}.chat-header-title{font-size:14px;font-weight:600;color:#c0caf5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;cursor:text}.chat-header-rename{flex:1;min-width:0;height:32px;padding:0 10px;font-size:14px;font-weight:600;font-family:inherit;color:#c0caf5;background:#c0caf516;border:1px solid #7AA2F7;border-radius:3px;outline:none}.profile-badge{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.btn-sidebar-toggle{display:none}@media(max-width:1279.98px){.btn-sidebar-toggle{display:flex}}.context-bar{display:flex;align-items:center;flex-shrink:0;cursor:default}.msg-user{display:flex;justify-content:flex-end;gap:8px}.msg-user-bubble{background:#7aa2f7;color:#16161e;padding:8px 15px;border-radius:6px;font-size:14px;line-height:1.6;word-wrap:break-word;width:100%}.msg-user-bubble .msg-user-quote{margin:0 0 5px;padding:2px 0 2px 8px;border-left:3px solid rgba(22,22,30,.35);opacity:.7;font-size:13px}.msg-user--recall .msg-user-bubble{background:color-mix(in srgb,var(--gn-color-secondary) 12%,transparent);border:1px solid color-mix(in srgb,var(--gn-color-secondary) 25%,transparent)}.msg-user--recall .msg-user-bubble .msg-user-text{color:#c0caf5}.msg-recall-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--gn-color-secondary);margin-bottom:4px;opacity:.85}.msg-user-attachments{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.msg-user-image{width:80px;height:80px;object-fit:cover;border-radius:6px;cursor:pointer;transition:opacity .15s}.msg-user-image:hover{opacity:.75}.msg-user-file-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;background:#16161e4d;border-radius:999px;font-size:12px}.msg-time{font-size:11px;color:#787c99;line-height:1;margin-top:4px}.msg-meta-row{display:flex;align-items:center;gap:8px;margin-top:2px;min-width:0}.msg-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#787c99;white-space:nowrap}.msg-meta-item i{font-size:12px;opacity:.7}.msg-user-wrap{display:flex;flex-direction:column;align-items:flex-end;max-width:70%}@media(max-width:768px){.msg-user-wrap{max-width:90%}}.msg-user-footer{display:flex;align-items:center;gap:5px;align-self:flex-end}.msg-copy-btn{width:22px;height:22px;min-width:22px;padding:0;font-size:12px;opacity:.5;transition:opacity .15s}.msg-copy-btn:hover{opacity:1}.msg-meta-row>.msg-copy-btn{margin-left:auto}.msg-meta-row .msg-rate-btn{width:22px;height:22px;min-width:22px;padding:0;font-size:13px}.msg-assistant{display:flex;flex-direction:column;gap:8px;max-width:100%}.planning-indicator{display:flex;align-items:center;gap:8px;font-size:13px;font-style:italic;color:#787c99;padding:5px 0}.planning-indicator.is-executing{color:#a9b1d6;font-style:normal}.planning-label{opacity:.75;transition:opacity .2s}.msg-assistant-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.msg-assistant-content{font-size:14px;line-height:1.7;color:#c0caf5;display:flex;flex-wrap:wrap;gap:8px}.msg-assistant-content>p,.msg-assistant-content>ul,.msg-assistant-content>ol,.msg-assistant-content>blockquote,.msg-assistant-content>pre,.msg-assistant-content>.table-wrap,.msg-assistant-content>.code-block,.msg-assistant-content>h1,.msg-assistant-content>h2,.msg-assistant-content>h3,.msg-assistant-content>h4,.msg-assistant-content>hr{flex:1 1 100%;margin:0}.msg-assistant-content>p:has(>.msg-md-image-link:only-child){flex:0 0 calc((100% - 16px) / 3)}.msg-assistant-content h1,.msg-assistant-content h2,.msg-assistant-content h3,.msg-assistant-content h4{color:#c0caf5}.msg-assistant-content ul,.msg-assistant-content ol{padding-left:22px}.msg-assistant-content li{margin-bottom:8px}.msg-assistant-content blockquote{padding-left:15px;border-left:6px solid #7AA2F7;color:#a9b1d6}.msg-assistant-content a{color:#7aa2f7}.msg-assistant-content strong{color:#c0caf5}.msg-assistant-content hr{border:none;border-top:1px solid rgba(192,202,245,.24)}.msg-assistant-content .msg-md-image-link{display:block;width:100%;text-decoration:none;border:2px solid rgba(192,202,245,.12);border-radius:3px;overflow:hidden;transition:border-color .2s ease;cursor:zoom-in}.msg-assistant-content .msg-md-image-link:hover{border-color:#7aa2f7}.msg-assistant-content .msg-md-image{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px}.msg-assistant-content .msg-md-image-link.is-broken{cursor:default;border-color:#f7768e66;background:#f7768e0f;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}.msg-assistant-content .msg-md-image-link.is-broken:before{content:"🖼️";font-size:32px;opacity:.4}.msg-assistant-content .msg-md-image-link.is-broken:hover{border-color:#f7768e66}.msg-assistant-content .msg-md-image-link.is-broken .msg-md-image{display:none}.msg-assistant-content .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:15px 0}.msg-assistant-content .table-wrap table{margin:0;border:2px solid rgba(192,202,245,.24);border-radius:3px}.msg-assistant-content .table-wrap table th,.msg-assistant-content .table-wrap table td{padding:8px 15px;font-size:13px;vertical-align:middle;text-align:left;border-bottom:2px solid rgba(192,202,245,.24)}.msg-assistant-content .table-wrap table th{font-weight:600;color:#a9b1d6;background:#1f2335}.msg-assistant-content .table-wrap table tr:last-child th,.msg-assistant-content .table-wrap table tr:last-child td{border-bottom:none}.msg-assistant-content :not(pre)>code{font-family:IBM Plex Mono,monospace;font-size:13px;background:#c0caf516;padding:1px 5px;color:#7dcfff}.msg-assistant-content .code-block{margin:15px 0;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:3px;overflow:hidden}.msg-assistant-content .code-block .code-header{display:flex;align-items:center;justify-content:space-between;padding:5px 15px;background:#c0caf516;border-bottom:2px solid rgba(192,202,245,.24);font-size:12px;color:#787c99;font-family:IBM Plex Mono,monospace}.msg-assistant-content .code-block pre{margin:0;background:#1f2335!important}.msg-assistant-content .code-block pre code{font-family:IBM Plex Mono,monospace;font-size:13px;display:block;padding:15px;overflow-x:auto}.thinking-card summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;color:#787c99;font-size:12px;font-style:italic;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;transition:background .15s ease;-webkit-user-select:none;user-select:none}.thinking-card summary::-webkit-details-marker{display:none}.thinking-card summary:hover{background:#c0caf516}.thinking-card[open] summary{border-bottom-color:transparent;border-radius:6px 6px 0 0}.thinking-card .thinking-chevron{margin-left:auto;font-size:18px;color:#787c99;flex-shrink:0;transition:transform .15s ease}.thinking-card[open] .thinking-chevron{transform:rotate(180deg)}.thinking-card .thinking-body{padding:8px 15px;font-size:12px;font-style:italic;color:#a9b1d6;line-height:1.5;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-top:none;border-radius:0 0 6px 6px;white-space:pre-wrap;word-break:break-word;max-height:800px;overflow-y:auto}.plan-card{border:2px solid #7AA2F7;border-left-width:6px;border-left-color:#7aa2f7;border-radius:6px;overflow:hidden;font-size:12px;margin-bottom:8px}.plan-card summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;background:#7aa2f714;color:#7aa2f7;font-size:12px;-webkit-user-select:none;user-select:none}.plan-card summary::-webkit-details-marker{display:none}.plan-card summary:hover{background:#7aa2f724}.plan-card summary .plan-chevron{margin-left:auto;font-size:18px;color:#7aa2f799;transition:transform .15s ease;flex-shrink:0}.plan-card[open] .plan-chevron{transform:rotate(180deg)}.plan-card .plan-body{padding:8px 15px;font-size:12px;color:#a9b1d6;line-height:1.5;background:#7aa2f70a;border-top:2px solid rgba(122,162,247,.3)}.plan-card .plan-body p{margin:0 0 8px}.plan-card .plan-body p:last-child{margin-bottom:0}.plan-card .plan-body ul,.plan-card .plan-body ol{padding-left:22px;margin-bottom:8px}.plan-card .plan-body li{margin-bottom:5px}.plan-card .plan-body strong{color:#c0caf5}.tool-card{border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-radius:6px;margin-bottom:8px;border-left-color:#7aa2f7;overflow:hidden;font-size:13px}.tool-card.is-success{border-left-color:#9ece6a}.tool-card.is-error{border-left-color:#f7768e}.tool-card>summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;background:#1f2335;color:#a9b1d6;-webkit-user-select:none;user-select:none}.tool-card>summary::-webkit-details-marker{display:none}.tool-card>summary:hover{background:#c0caf516}.tool-card>summary .tool-chevron{font-size:18px;color:#787c99;flex-shrink:0;transition:transform .15s ease}.tool-card[open]>summary .tool-chevron{transform:rotate(180deg)}.tool-card .tool-name{flex:1;font-family:IBM Plex Mono,monospace;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-card .tool-running-time{font-family:IBM Plex Mono,monospace;font-size:11px;color:#787c99;white-space:nowrap}.tool-card .tool-status-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:18px;flex-shrink:0}.tool-card-body{background:#1f2335;border-top:2px solid rgba(192,202,245,.24)}.tool-running-banner{display:flex;align-items:center;gap:8px;padding:8px 15px;color:#a9b1d6;background:#7aa2f714;border-bottom:1px solid rgba(192,202,245,.24);font-size:12px}.tool-section{padding:8px 15px}.tool-section+.tool-section{border-top:1px solid rgba(192,202,245,.24)}.tool-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#787c99;margin-bottom:5px}.tool-code{font-family:IBM Plex Mono,monospace;font-size:12px;color:#a9b1d6;white-space:pre-wrap;word-break:break-word}.tool-args summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:#a9b1d6;background:#1f2335}.tool-args summary::-webkit-details-marker{display:none}.tool-args summary:hover{background:#c0caf516}.tool-args summary .tool-chevron{margin-left:auto;font-size:18px;color:#787c99;transition:transform .15s ease}.tool-args[open]>summary .tool-chevron{transform:rotate(180deg)}.tool-cards-summary{display:inline-flex;align-items:center;gap:8px;padding:5px 0}.tool-fade-item{transition:none}.tool-fade-enter-active,.tool-fade-leave-active{transition:opacity .2s ease,transform .2s ease}.tool-fade-enter-from{opacity:0;transform:translateY(-4px)}.tool-fade-leave-to{opacity:0}@supports (interpolate-size: allow-keywords){details{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow:clip;transition:block-size .25s ease,content-visibility .25s ease;transition-behavior:allow-discrete}details[open]::details-content{block-size:auto}}.tool-result{font-size:12px;line-height:1.5;color:#a9b1d6}.tool-result h1,.tool-result h2,.tool-result h3,.tool-result h4{color:#c0caf5;margin:8px 0}.tool-result p{margin:5px 0}.tool-result ul,.tool-result ol{padding-left:22px;margin:5px 0}.tool-result li{margin-bottom:2px}.tool-result blockquote{padding-left:8px;border-left:6px solid #7AA2F7;color:#a9b1d6;margin:5px 0}.tool-result code{font-family:IBM Plex Mono,monospace;background:#c0caf516;padding:1px 4px;color:#7dcfff;font-size:11px}.tool-result pre{margin:5px 0;background:#1f2335;border:2px solid rgba(192,202,245,.24);overflow:hidden}.tool-result pre code{display:block;padding:8px;overflow-x:auto}.result-line{font-family:IBM Plex Mono,monospace;padding:1px 0;white-space:pre-wrap;word-break:break-word}.result-line.diff-summary,.result-line.diff-hunk,.result-line.diff-add,.result-line.diff-del,.result-line.diff-ctx{padding:0;line-height:1.3}.result-line.diff-summary,.result-line.diff-hunk{color:#a9b1d6}.result-line.diff-add{color:#9ece6a}.result-line.diff-del{color:#f7768e}.result-line.diff-ctx{color:inherit}.diff-num-marker.diff-add{color:#9ece6a}.diff-num-marker.diff-del{color:#f7768e}.diff-num-marker.diff-ctx,.diff-content{color:inherit}.read-header-path{color:#ff9e64}.read-header-rest{color:#a9b1d6}.read-warning{color:#e0af68}.read-num{color:#ff9e64}.read-content{color:inherit}.json-object,.json-array{font-family:IBM Plex Mono,monospace;display:flex;flex-direction:column;gap:1px;padding:5px 0}.json-item{display:flex;align-items:baseline;gap:5px;padding:1px 0}.json-key{color:#c0caf5;font-weight:500;flex-shrink:0}.json-sep{color:#787c99}.json-value{color:#a9b1d6;word-break:break-word;white-space:pre-wrap}.json-string{color:#9ece6a}.json-number{color:#e0af68}.json-bool{color:#c0caf5}.json-null,.json-empty{color:#787c99;font-style:italic}.subagent-steps{display:flex;flex-direction:column;gap:5px;padding:5px 15px 15px;background:#1f2335}.subagent-planning-indicator{display:flex;align-items:center;gap:8px;padding:5px 15px;font-size:12px;font-style:italic;color:#787c99;background:#1f2335}.task-update-step{display:flex;align-items:baseline;gap:8px;padding:5px 15px;font-size:12px;color:#a9b1d6;background:#1f2335}.task-update-step i{font-size:14px;color:#e0af68;flex:none}.task-update-step .task-step-tool{color:#c0caf5;font-weight:500}.task-update-step .task-step-status{color:#787c99;font-style:italic}.task-update-step .task-step-preview{color:#a9b1d6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-update-step.completed i{color:#9ece6a}.task-update-step.completed .task-step-status{color:#9ece6a;font-style:normal}.task-update-step.failed i,.task-update-step.cancelled i{color:#f7768e}.task-update-step.failed .task-step-status,.task-update-step.cancelled .task-step-status{color:#f7768e;font-style:normal}.task-update-step .task-spin{animation:task-spin 1s linear infinite}@keyframes task-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.subagent-step{border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-left-color:#7aa2f7;border-radius:6px;overflow:hidden;margin-bottom:8px;font-size:12px}.subagent-step.is-success{border-left-color:#9ece6a}.subagent-step.is-error{border-left-color:#f7768e}.subagent-step summary{list-style:none;display:flex;align-items:center;gap:8px;padding:5px 15px;cursor:pointer;background:#1f2335;color:#a9b1d6;-webkit-user-select:none;user-select:none}.subagent-step summary::-webkit-details-marker{display:none}.subagent-step summary:hover{background:#c0caf516}.subagent-step .tool-name{flex:1;font-family:IBM Plex Mono,monospace;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subagent-step .tool-running-time{font-family:IBM Plex Mono,monospace;font-size:11px;color:#787c99;white-space:nowrap}.subagent-step .tool-status-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:18px;flex-shrink:0}.subagent-step .tool-chevron{font-size:18px;color:#787c99;flex-shrink:0;transition:transform .15s ease}.subagent-step[open]>summary .tool-chevron{transform:rotate(180deg)}.summary-card{border:2px solid rgba(192,202,245,.24);border-left-width:6px;border-left-color:#bb9af7;border-radius:6px;overflow:hidden;font-size:13px}.summary-card summary{list-style:none;display:flex;align-items:center;gap:8px;padding:8px 15px;cursor:pointer;background:#bb9af714;color:#bb9af7;-webkit-user-select:none;user-select:none}.summary-card summary::-webkit-details-marker{display:none}.compression-notice{font-size:12px}.compression-notice summary{list-style:none;text-align:center;padding:8px;color:#787c99;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.compression-notice summary::-webkit-details-marker{display:none}.compression-notice summary:before,.compression-notice summary:after{content:"";flex:1;height:1px;background:#c0caf53d}.compression-notice .compression-counts{opacity:.7}.compression-notice .compression-chevron{font-size:18px;transition:transform .15s ease}.compression-notice[open] .compression-chevron{transform:rotate(180deg)}.compression-notice .compression-body{padding:15px;font-size:13px;color:#a9b1d6;line-height:1.6;background:#1f2335;border:2px solid rgba(192,202,245,.24)}.input-bar{flex-shrink:0;padding:8px 15px;background:#16161e;border-top:2px solid rgba(192,202,245,.24)}@media(max-width:767px){.input-bar{padding:0}}.input-dropzone{position:relative}.input-dropzone.is-dragging:after{content:"Drop files here";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#7aa2f71f;border:2px dashed #7AA2F7;font-size:14px;color:#7aa2f7;pointer-events:none;z-index:10}.file-preview-strip{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px;max-width:920px;margin-left:auto;margin-right:auto}@media(max-width:767px){.file-preview-strip{padding-top:8px}}.file-preview-image{position:relative;width:60px;height:60px}.file-preview-image img{width:100%;height:100%;object-fit:cover;border:2px solid rgba(192,202,245,.24)}.file-preview-pill.file-preview-pill{text-transform:none;max-width:180px}.file-preview-pill.file-preview-pill .file-preview-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-image{border:2px solid rgba(192,202,245,.24);border-radius:3px;overflow:hidden;background:#1f2335}.file-preview-remove{background:none;border:none;cursor:pointer;color:#787c99;padding:0;display:flex;align-items:center;font-size:14px;transition:color .15s ease;flex-shrink:0}.file-preview-remove:hover{color:#f7768e}.upload-progress{height:2px;background:#c0caf516;margin-bottom:5px;overflow:hidden}.upload-progress-fill{height:100%;background:#7aa2f7;transition:width .2s ease}.upload-progress.is-indeterminate .upload-progress-fill{width:30%;transition:none;animation:upload-slide 1.1s ease-in-out infinite}@keyframes upload-slide{0%{transform:translate(-110%)}to{transform:translate(440%)}}.input-row{display:flex;align-items:center;gap:8px;background:#1f2335;border:2px solid #C0CAF5;border-radius:3px;padding:8px;max-width:920px;margin:0 auto}.input-row:hover{border-bottom-color:#787c99}.input-row:focus-within{border-color:#7aa2f7;background:transparent}@media(max-width:767px){.input-row{border:none;border-radius:0;max-width:none;padding:8px 15px}}.input-textarea{flex:1;background:none;border:none;outline:none;resize:none;color:#c0caf5;font-size:14px;line-height:1.5;font-family:inherit;min-height:24px;max-height:144px;overflow-y:auto;padding:2px 0}.input-textarea::placeholder{color:#787c99}.welcome-screen{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;gap:34px;text-align:center}@media(max-width:768px){.welcome-screen{padding:52px 15px 15px;gap:15px;justify-content:flex-start}}.welcome-logo{display:flex;flex-direction:column;align-items:center;gap:8px}.welcome-logo img{width:64px;height:64px}.welcome-logo h1{font-size:30px;font-weight:600;color:#c0caf5;margin:0}.welcome-logo p{font-size:var(--gn-font-size-base);color:#a9b1d6;margin:0}@media(max-width:768px){.welcome-logo{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px}.welcome-logo img{width:36px;height:36px}.welcome-logo h1{font-size:22px}.welcome-logo p{font-size:13px;flex-basis:100%}}.welcome-profiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;width:min(100%,880px)}@media(max-width:768px){.welcome-profiles{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:100%}}.welcome-profile-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;background:#1f2335;border:2px solid rgba(192,202,245,.24);border-radius:6px;cursor:pointer;transition:border-color .15s ease,background .15s ease;width:100%;text-align:center}.welcome-profile-card:hover{border-color:#7aa2f7;background:#c0caf516}.welcome-profile-card.is-creating{opacity:.6;pointer-events:none}.welcome-profile-card .profile-name{font-size:14px;font-weight:600;color:#c0caf5}.welcome-profile-card .profile-desc{font-size:12px;color:#787c99;line-height:1.4}@media(max-width:768px){.welcome-profile-card{width:auto;padding:10px;gap:6px}.welcome-profile-card .profile-name{font-size:13px}.welcome-profile-card .profile-desc{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.empty-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(192,202,245,.24);border-top-color:#7aa2f7;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease}.fade-enter-from,.fade-leave-to{opacity:0}.msg-enter{animation:msgEnter .2s ease both}@keyframes msgEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-left-enter-active,.slide-left-leave-active{transition:transform .28s ease,opacity .28s ease}.slide-left-enter-from,.slide-left-leave-to{transform:translate(-100%);opacity:0}.modal-enter-active,.modal-leave-active{transition:opacity .28s ease}.modal-enter-active .modal-panel,.modal-leave-active .modal-panel{transition:opacity .28s ease,margin-top .28s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-panel,.modal-leave-to .modal-panel{opacity:0;margin-top:200px}.tool-card[open]>summary .tool-chevron,.thinking-card[open]>summary .tool-chevron{transform:rotate(180deg)!important}.msg-flash{animation:msgFlash 2.5s ease-out}@keyframes msgFlash{0%{filter:brightness(1)}15%{filter:brightness(1.4);background-color:#7aa2f71f}40%{filter:brightness(1.4);background-color:#7aa2f71f}to{filter:brightness(1)}}
diff --git a/webclient/dist/assets/index-Dp40tuNy.js b/webclient/dist/assets/index-Dp40tuNy.js
deleted file mode 100644
index a38ecf0..0000000
--- a/webclient/dist/assets/index-Dp40tuNy.js
+++ /dev/null
@@ -1,118 +0,0 @@
-var zS=Object.defineProperty;var WS=(t,e,n)=>e in t?zS(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var At=(t,e,n)=>WS(t,typeof e!="symbol"?e+"":e,n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))a(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&a(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function a(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();/**
-* @vue/shared v3.5.32
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/function Uu(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const It={},gr=[],jn=()=>{},SE=()=>!1,$i=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),qi=t=>t.startsWith("onUpdate:"),zt=Object.assign,Fu=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},KS=Object.prototype.hasOwnProperty,Rt=(t,e)=>KS.call(t,e),Ye=Array.isArray,Er=t=>ii(t)==="[object Map]",Cr=t=>ii(t)==="[object Set]",fd=t=>ii(t)==="[object Date]",Ze=t=>typeof t=="function",Gt=t=>typeof t=="string",Ln=t=>typeof t=="symbol",Ct=t=>t!==null&&typeof t=="object",bE=t=>(Ct(t)||Ze(t))&&Ze(t.then)&&Ze(t.catch),TE=Object.prototype.toString,ii=t=>TE.call(t),QS=t=>ii(t).slice(8,-1),hE=t=>ii(t)==="[object Object]",Hi=t=>Gt(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Gr=Uu(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Vi=t=>{const e=Object.create(null);return(n=>e[n]||(e[n]=t(n)))},XS=/-\w/g,fn=Vi(t=>t.replace(XS,e=>e.slice(1).toUpperCase())),ZS=/\B([A-Z])/g,Ma=Vi(t=>t.replace(ZS,"-$1").toLowerCase()),zi=Vi(t=>t.charAt(0).toUpperCase()+t.slice(1)),ps=Vi(t=>t?`on${zi(t)}`:""),Jn=(t,e)=>!Object.is(t,e),Ti=(t,...e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:a,value:n})},Wi=t=>{const e=parseFloat(t);return isNaN(e)?t:e},JS=t=>{const e=Gt(t)?Number(t):NaN;return isNaN(e)?t:e};let Sd;const Ki=()=>Sd||(Sd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Da(t){if(Ye(t)){const e={};for(let n=0;n{if(n){const a=n.split(eb);a.length>1&&(e[a[0].trim()]=a[1].trim())}}),e}function Ge(t){let e="";if(Gt(t))e=t;else if(Ye(t))for(let n=0;nwa(n,e))}const CE=t=>!!(t&&t.__v_isRef===!0),X=t=>Gt(t)?t:t==null?"":Ye(t)||Ct(t)&&(t.toString===TE||!Ze(t.toString))?CE(t)?X(t.value):JSON.stringify(t,yE,2):String(t),yE=(t,e)=>CE(e)?yE(t,e.value):Er(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((n,[a,r],i)=>(n[ms(a,i)+" =>"]=r,n),{})}:Cr(e)?{[`Set(${e.size})`]:[...e.values()].map(n=>ms(n))}:Ln(e)?ms(e):Ct(e)&&!Ye(e)&&!hE(e)?String(e):e,ms=(t,e="")=>{var n;return Ln(t)?`Symbol(${(n=t.description)!=null?n:e})`:t};/**
-* @vue/reactivity v3.5.32
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/let nn;class NE{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=nn,!e&&nn&&(this.index=(nn.scopes||(nn.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,n;if(this.scopes)for(e=0,n=this.scopes.length;e0&&--this._on===0&&(nn=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let n,a;for(n=0,a=this.effects.length;n0)return;if($r){let e=$r;for($r=void 0;e;){const n=e.next;e.next=void 0,e.flags&=-9,e=n}}let t;for(;Yr;){let e=Yr;for(Yr=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(a){t||(t=a)}e=n}}if(t)throw t}function xE(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function LE(t){let e,n=t.depsTail,a=n;for(;a;){const r=a.prevDep;a.version===-1?(a===n&&(n=r),$u(a),ob(a)):e=a,a.dep.activeLink=a.prevActiveLink,a.prevActiveLink=void 0,a=r}t.deps=e,t.depsTail=n}function pu(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(ME(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function ME(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===Xr)||(t.globalVersion=Xr,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!pu(t))))return;t.flags|=2;const e=t.dep,n=xt,a=Fn;xt=t,Fn=!0;try{xE(t);const r=t.fn(t._value);(e.version===0||Jn(r,t._value))&&(t.flags|=128,t._value=r,e.version++)}catch(r){throw e.version++,r}finally{xt=n,Fn=a,LE(t),t.flags&=-3}}function $u(t,e=!1){const{dep:n,prevSub:a,nextSub:r}=t;if(a&&(a.nextSub=r,t.prevSub=void 0),r&&(r.prevSub=a,t.nextSub=void 0),n.subs===t&&(n.subs=a,!a&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)$u(i,!0)}!e&&!--n.sc&&n.map&&n.map.delete(n.key)}function ob(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let Fn=!0;const kE=[];function _a(){kE.push(Fn),Fn=!1}function pa(){const t=kE.pop();Fn=t===void 0?!0:t}function bd(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=xt;xt=void 0;try{e()}finally{xt=n}}}let Xr=0;class lb{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class qu{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!xt||!Fn||xt===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==xt)n=this.activeLink=new lb(xt,this),xt.deps?(n.prevDep=xt.depsTail,xt.depsTail.nextDep=n,xt.depsTail=n):xt.deps=xt.depsTail=n,PE(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const a=n.nextDep;a.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=a),n.prevDep=xt.depsTail,n.nextDep=void 0,xt.depsTail.nextDep=n,xt.depsTail=n,xt.deps===n&&(xt.deps=a)}return n}trigger(e){this.version++,Xr++,this.notify(e)}notify(e){Gu();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Yu()}}}function PE(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let a=e.deps;a;a=a.nextDep)PE(a)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}}const yi=new WeakMap,Ja=Symbol(""),mu=Symbol(""),Zr=Symbol("");function an(t,e,n){if(Fn&&xt){let a=yi.get(t);a||yi.set(t,a=new Map);let r=a.get(n);r||(a.set(n,r=new qu),r.map=a,r.key=n),r.track()}}function sa(t,e,n,a,r,i){const s=yi.get(t);if(!s){Xr++;return}const o=c=>{c&&c.trigger()};if(Gu(),e==="clear")s.forEach(o);else{const c=Ye(t),l=c&&Hi(n);if(c&&n==="length"){const u=Number(a);s.forEach((d,_)=>{(_==="length"||_===Zr||!Ln(_)&&_>=u)&&o(d)})}else switch((n!==void 0||s.has(void 0))&&o(s.get(n)),l&&o(s.get(Zr)),e){case"add":c?l&&o(s.get("length")):(o(s.get(Ja)),Er(t)&&o(s.get(mu)));break;case"delete":c||(o(s.get(Ja)),Er(t)&&o(s.get(mu)));break;case"set":Er(t)&&o(s.get(Ja));break}}Yu()}function cb(t,e){const n=yi.get(t);return n&&n.get(e)}function ur(t){const e=gt(t);return e===t?e:(an(e,"iterate",Zr),On(t)?e:e.map(Bn))}function Qi(t){return an(t=gt(t),"iterate",Zr),t}function Xn(t,e){return ma(t)?br(da(t)?Bn(e):e):Bn(e)}const ub={__proto__:null,[Symbol.iterator](){return Es(this,Symbol.iterator,t=>Xn(this,t))},concat(...t){return ur(this).concat(...t.map(e=>Ye(e)?ur(e):e))},entries(){return Es(this,"entries",t=>(t[1]=Xn(this,t[1]),t))},every(t,e){return aa(this,"every",t,e,void 0,arguments)},filter(t,e){return aa(this,"filter",t,e,n=>n.map(a=>Xn(this,a)),arguments)},find(t,e){return aa(this,"find",t,e,n=>Xn(this,n),arguments)},findIndex(t,e){return aa(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return aa(this,"findLast",t,e,n=>Xn(this,n),arguments)},findLastIndex(t,e){return aa(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return aa(this,"forEach",t,e,void 0,arguments)},includes(...t){return fs(this,"includes",t)},indexOf(...t){return fs(this,"indexOf",t)},join(t){return ur(this).join(t)},lastIndexOf(...t){return fs(this,"lastIndexOf",t)},map(t,e){return aa(this,"map",t,e,void 0,arguments)},pop(){return Ir(this,"pop")},push(...t){return Ir(this,"push",t)},reduce(t,...e){return Td(this,"reduce",t,e)},reduceRight(t,...e){return Td(this,"reduceRight",t,e)},shift(){return Ir(this,"shift")},some(t,e){return aa(this,"some",t,e,void 0,arguments)},splice(...t){return Ir(this,"splice",t)},toReversed(){return ur(this).toReversed()},toSorted(t){return ur(this).toSorted(t)},toSpliced(...t){return ur(this).toSpliced(...t)},unshift(...t){return Ir(this,"unshift",t)},values(){return Es(this,"values",t=>Xn(this,t))}};function Es(t,e,n){const a=Qi(t),r=a[e]();return a!==t&&!On(t)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const db=Array.prototype;function aa(t,e,n,a,r,i){const s=Qi(t),o=s!==t&&!On(t),c=s[e];if(c!==db[e]){const d=c.apply(t,i);return o?Bn(d):d}let l=n;s!==t&&(o?l=function(d,_){return n.call(this,Xn(t,d),_,t)}:n.length>2&&(l=function(d,_){return n.call(this,d,_,t)}));const u=c.call(s,l,a);return o&&r?r(u):u}function Td(t,e,n,a){const r=Qi(t),i=r!==t&&!On(t);let s=n,o=!1;r!==t&&(i?(o=a.length===0,s=function(l,u,d){return o&&(o=!1,l=Xn(t,l)),n.call(this,l,Xn(t,u),d,t)}):n.length>3&&(s=function(l,u,d){return n.call(this,l,u,d,t)}));const c=r[e](s,...a);return o?Xn(t,c):c}function fs(t,e,n){const a=gt(t);an(a,"iterate",Zr);const r=a[e](...n);return(r===-1||r===!1)&&Xi(n[0])?(n[0]=gt(n[0]),a[e](...n)):r}function Ir(t,e,n=[]){_a(),Gu();const a=gt(t)[e].apply(t,n);return Yu(),pa(),a}const _b=Uu("__proto__,__v_isRef,__isVue"),UE=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Ln));function pb(t){Ln(t)||(t=String(t));const e=gt(this);return an(e,"has",t),e.hasOwnProperty(t)}class FE{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,a){if(n==="__v_skip")return e.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return a===(r?i?Rb:$E:i?YE:GE).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(a)?e:void 0;const s=Ye(e);if(!r){let c;if(s&&(c=ub[n]))return c;if(n==="hasOwnProperty")return pb}const o=Reflect.get(e,n,Bt(e)?e:a);if((Ln(n)?UE.has(n):_b(n))||(r||an(e,"get",n),i))return o;if(Bt(o)){const c=s&&Hi(n)?o:o.value;return r&&Ct(c)?Eu(c):c}return Ct(o)?r?Eu(o):ar(o):o}}class BE extends FE{constructor(e=!1){super(!1,e)}set(e,n,a,r){let i=e[n];const s=Ye(e)&&Hi(n);if(!this._isShallow){const l=ma(i);if(!On(a)&&!ma(a)&&(i=gt(i),a=gt(a)),!s&&Bt(i)&&!Bt(a))return l||(i.value=a),!0}const o=s?Number(n)t,_i=t=>Reflect.getPrototypeOf(t);function Sb(t,e,n){return function(...a){const r=this.__v_raw,i=gt(r),s=Er(i),o=t==="entries"||t===Symbol.iterator&&s,c=t==="keys"&&s,l=r[t](...a),u=n?gu:e?br:Bn;return!e&&an(i,"iterate",c?mu:Ja),zt(Object.create(l),{next(){const{value:d,done:_}=l.next();return _?{value:d,done:_}:{value:o?[u(d[0]),u(d[1])]:u(d),done:_}}})}}function pi(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function bb(t,e){const n={get(r){const i=this.__v_raw,s=gt(i),o=gt(r);t||(Jn(r,o)&&an(s,"get",r),an(s,"get",o));const{has:c}=_i(s),l=e?gu:t?br:Bn;if(c.call(s,r))return l(i.get(r));if(c.call(s,o))return l(i.get(o));i!==s&&i.get(r)},get size(){const r=this.__v_raw;return!t&&an(gt(r),"iterate",Ja),r.size},has(r){const i=this.__v_raw,s=gt(i),o=gt(r);return t||(Jn(r,o)&&an(s,"has",r),an(s,"has",o)),r===o?i.has(r):i.has(r)||i.has(o)},forEach(r,i){const s=this,o=s.__v_raw,c=gt(o),l=e?gu:t?br:Bn;return!t&&an(c,"iterate",Ja),o.forEach((u,d)=>r.call(i,l(u),l(d),s))}};return zt(n,t?{add:pi("add"),set:pi("set"),delete:pi("delete"),clear:pi("clear")}:{add(r){const i=gt(this),s=_i(i),o=gt(r),c=!e&&!On(r)&&!ma(r)?o:r;return s.has.call(i,c)||Jn(r,c)&&s.has.call(i,r)||Jn(o,c)&&s.has.call(i,o)||(i.add(c),sa(i,"add",c,c)),this},set(r,i){!e&&!On(i)&&!ma(i)&&(i=gt(i));const s=gt(this),{has:o,get:c}=_i(s);let l=o.call(s,r);l||(r=gt(r),l=o.call(s,r));const u=c.call(s,r);return s.set(r,i),l?Jn(i,u)&&sa(s,"set",r,i):sa(s,"add",r,i),this},delete(r){const i=gt(this),{has:s,get:o}=_i(i);let c=s.call(i,r);c||(r=gt(r),c=s.call(i,r)),o&&o.call(i,r);const l=i.delete(r);return c&&sa(i,"delete",r,void 0),l},clear(){const r=gt(this),i=r.size!==0,s=r.clear();return i&&sa(r,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Sb(r,t,e)}),n}function Hu(t,e){const n=bb(t,e);return(a,r,i)=>r==="__v_isReactive"?!t:r==="__v_isReadonly"?t:r==="__v_raw"?a:Reflect.get(Rt(n,r)&&r in a?n:a,r,i)}const Tb={get:Hu(!1,!1)},hb={get:Hu(!1,!0)},vb={get:Hu(!0,!1)};const GE=new WeakMap,YE=new WeakMap,$E=new WeakMap,Rb=new WeakMap;function Cb(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function yb(t){return t.__v_skip||!Object.isExtensible(t)?0:Cb(QS(t))}function ar(t){return ma(t)?t:Vu(t,!1,gb,Tb,GE)}function Nb(t){return Vu(t,!1,fb,hb,YE)}function Eu(t){return Vu(t,!0,Eb,vb,$E)}function Vu(t,e,n,a,r){if(!Ct(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const i=yb(t);if(i===0)return t;const s=r.get(t);if(s)return s;const o=new Proxy(t,i===2?a:n);return r.set(t,o),o}function da(t){return ma(t)?da(t.__v_raw):!!(t&&t.__v_isReactive)}function ma(t){return!!(t&&t.__v_isReadonly)}function On(t){return!!(t&&t.__v_isShallow)}function Xi(t){return t?!!t.__v_raw:!1}function gt(t){const e=t&&t.__v_raw;return e?gt(e):t}function Jr(t){return!Rt(t,"__v_skip")&&Object.isExtensible(t)&&vE(t,"__v_skip",!0),t}const Bn=t=>Ct(t)?ar(t):t,br=t=>Ct(t)?Eu(t):t;function Bt(t){return t?t.__v_isRef===!0:!1}function Y(t){return HE(t,!1)}function qE(t){return HE(t,!0)}function HE(t,e){return Bt(t)?t:new Ob(t,e)}class Ob{constructor(e,n){this.dep=new qu,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:gt(e),this._value=n?e:Bn(e),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(e){const n=this._rawValue,a=this.__v_isShallow||On(e)||ma(e);e=a?e:gt(e),Jn(e,n)&&(this._rawValue=e,this._value=a?e:Bn(e),this.dep.trigger())}}function $(t){return Bt(t)?t.value:t}const Ab={get:(t,e,n)=>e==="__v_raw"?t:$(Reflect.get(t,e,n)),set:(t,e,n,a)=>{const r=t[e];return Bt(r)&&!Bt(n)?(r.value=n,!0):Reflect.set(t,e,n,a)}};function VE(t){return da(t)?t:new Proxy(t,Ab)}function Ib(t){const e=Ye(t)?new Array(t.length):{};for(const n in t)e[n]=wb(t,n);return e}class Db{constructor(e,n,a){this._object=e,this._defaultValue=a,this.__v_isRef=!0,this._value=void 0,this._key=Ln(n)?n:String(n),this._raw=gt(e);let r=!0,i=e;if(!Ye(e)||Ln(this._key)||!Hi(this._key))do r=!Xi(i)||On(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=$(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&Bt(this._raw[this._key])){const n=this._object[this._key];if(Bt(n)){n.value=e;return}}this._object[this._key]=e}get dep(){return cb(this._raw,this._key)}}function wb(t,e,n){return new Db(t,e,n)}class xb{constructor(e,n,a){this.fn=e,this.setter=n,this._value=void 0,this.dep=new qu(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Xr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=a}notify(){if(this.flags|=16,!(this.flags&8)&&xt!==this)return wE(this,!0),!0}get value(){const e=this.dep.track();return ME(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function Lb(t,e,n=!1){let a,r;return Ze(t)?a=t:(a=t.get,r=t.set),new xb(a,r,n)}const mi={},Ni=new WeakMap;let za;function Mb(t,e=!1,n=za){if(n){let a=Ni.get(n);a||Ni.set(n,a=[]),a.push(t)}}function kb(t,e,n=It){const{immediate:a,deep:r,once:i,scheduler:s,augmentJob:o,call:c}=n,l=L=>r?L:On(L)||r===!1||r===0?oa(L,1):oa(L);let u,d,_,m,p=!1,E=!1;if(Bt(t)?(d=()=>t.value,p=On(t)):da(t)?(d=()=>l(t),p=!0):Ye(t)?(E=!0,p=t.some(L=>da(L)||On(L)),d=()=>t.map(L=>{if(Bt(L))return L.value;if(da(L))return l(L);if(Ze(L))return c?c(L,2):L()})):Ze(t)?e?d=c?()=>c(t,2):t:d=()=>{if(_){_a();try{_()}finally{pa()}}const L=za;za=u;try{return c?c(t,3,[m]):t(m)}finally{za=L}}:d=jn,e&&r){const L=d,U=r===!0?1/0:r;d=()=>oa(L(),U)}const b=AE(),I=()=>{u.stop(),b&&b.active&&Fu(b.effects,u)};if(i&&e){const L=e;e=(...U)=>{L(...U),I()}}let R=E?new Array(t.length).fill(mi):mi;const y=L=>{if(!(!(u.flags&1)||!u.dirty&&!L))if(e){const U=u.run();if(r||p||(E?U.some((h,N)=>Jn(h,R[N])):Jn(U,R))){_&&_();const h=za;za=u;try{const N=[U,R===mi?void 0:E&&R[0]===mi?[]:R,m];R=U,c?c(e,3,N):e(...N)}finally{za=h}}}else u.run()};return o&&o(y),u=new IE(d),u.scheduler=s?()=>s(y,!1):y,m=L=>Mb(L,!1,u),_=u.onStop=()=>{const L=Ni.get(u);if(L){if(c)c(L,4);else for(const U of L)U();Ni.delete(u)}},e?a?y(!0):R=u.run():s?s(y.bind(null,!0),!0):u.run(),I.pause=u.pause.bind(u),I.resume=u.resume.bind(u),I.stop=I,I}function oa(t,e=1/0,n){if(e<=0||!Ct(t)||t.__v_skip||(n=n||new Map,(n.get(t)||0)>=e))return t;if(n.set(t,e),e--,Bt(t))oa(t.value,e,n);else if(Ye(t))for(let a=0;a{oa(a,e,n)});else if(hE(t)){for(const a in t)oa(t[a],e,n);for(const a of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,a)&&oa(t[a],e,n)}return t}/**
-* @vue/runtime-core v3.5.32
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/function si(t,e,n,a){try{return a?t(...a):t()}catch(r){Zi(r,e,n)}}function Gn(t,e,n,a){if(Ze(t)){const r=si(t,e,n,a);return r&&bE(r)&&r.catch(i=>{Zi(i,e,n)}),r}if(Ye(t)){const r=[];for(let i=0;i>>1,r=mn[a],i=jr(r);i=jr(n)?mn.push(t):mn.splice(Ub(e),0,t),t.flags|=1,WE()}}function WE(){Oi||(Oi=zE.then(QE))}function Fb(t){Ye(t)?fr.push(...t):Ia&&t.id===-1?Ia.splice(_r+1,0,t):t.flags&1||(fr.push(t),t.flags|=1),WE()}function hd(t,e,n=Kn+1){for(;njr(n)-jr(a));if(fr.length=0,Ia){Ia.push(...e);return}for(Ia=e,_r=0;_rt.id==null?t.flags&2?-1:1/0:t.id;function QE(t){try{for(Kn=0;Kn{a._d&&wi(-1);const i=Ai(e);let s;try{s=t(...r)}finally{Ai(i),a._d&&wi(1)}return s};return a._n=!0,a._c=!0,a._d=!0,a}function Ka(t,e){if(yn===null)return t;const n=as(yn),a=t.dirs||(t.dirs=[]);for(let r=0;r1)return n&&Ze(e)?e.call(a&&a.proxy):e}}function Bb(){return!!(yr()||er)}const Gb=Symbol.for("v-scx"),Yb=()=>ja(Gb);function $b(t,e){return Wu(t,null,e)}function st(t,e,n){return Wu(t,e,n)}function Wu(t,e,n=It){const{immediate:a,deep:r,flush:i,once:s}=n,o=zt({},n),c=e&&a||!e&&i!=="post";let l;if(ni){if(i==="sync"){const m=Yb();l=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=jn,m.resume=jn,m.pause=jn,m}}const u=rn;o.call=(m,p,E)=>Gn(m,u,p,E);let d=!1;i==="post"?o.scheduler=m=>{pn(m,u&&u.suspense)}:i!=="sync"&&(d=!0,o.scheduler=(m,p)=>{p?m():zu(m)}),o.augmentJob=m=>{e&&(m.flags|=4),d&&(m.flags|=2,u&&(m.id=u.uid,m.i=u))};const _=kb(t,e,o);return ni&&(l?l.push(_):c&&_()),_}function qb(t,e,n){const a=this.proxy,r=Gt(t)?t.includes(".")?JE(a,t):()=>a[t]:t.bind(a,a);let i;Ze(e)?i=e:(i=e.handler,n=e);const s=oi(this),o=Wu(r,i.bind(a),n);return s(),o}function JE(t,e){const n=e.split(".");return()=>{let a=t;for(let r=0;rt.__isTeleport,Qa=t=>t&&(t.disabled||t.disabled===""),Hb=t=>t&&(t.defer||t.defer===""),vd=t=>typeof SVGElement<"u"&&t instanceof SVGElement,Rd=t=>typeof MathMLElement=="function"&&t instanceof MathMLElement,fu=(t,e)=>{const n=t&&t.to;return Gt(n)?e?e(n):null:n},Vb={name:"Teleport",__isTeleport:!0,process(t,e,n,a,r,i,s,o,c,l){const{mc:u,pc:d,pbc:_,o:{insert:m,querySelector:p,createText:E,createComment:b}}=l,I=Qa(e.props);let{dynamicChildren:R}=e;const y=(h,N,C)=>{h.shapeFlag&16&&u(h.children,N,C,r,i,s,o,c)},L=(h=e)=>{const N=Qa(h.props),C=h.target=fu(h.props,p),f=Su(C,h,E,m);C&&(s!=="svg"&&vd(C)?s="svg":s!=="mathml"&&Rd(C)&&(s="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(C),N||(y(h,C,f),Ur(h,!1)))},U=h=>{const N=()=>{$a.get(h)===N&&($a.delete(h),Qa(h.props)&&(y(h,n,h.anchor),Ur(h,!0)),L(h))};$a.set(h,N),pn(N,i)};if(t==null){const h=e.el=E(""),N=e.anchor=E("");if(m(h,n,a),m(N,n,a),Hb(e.props)||i&&i.pendingBranch){U(e);return}I&&(y(e,n,N),Ur(e,!0)),L()}else{e.el=t.el;const h=e.anchor=t.anchor,N=$a.get(t);if(N){N.flags|=8,$a.delete(t),U(e);return}e.targetStart=t.targetStart;const C=e.target=t.target,f=e.targetAnchor=t.targetAnchor,A=Qa(t.props),w=A?n:C,F=A?h:f;if(s==="svg"||vd(C)?s="svg":(s==="mathml"||Rd(C))&&(s="mathml"),R?(_(t.dynamicChildren,R,w,r,i,s,o),Zu(t,e,!0)):c||d(t,e,w,F,r,i,s,o,!1),I)A?e.props&&t.props&&e.props.to!==t.props.to&&(e.props.to=t.props.to):gi(e,n,h,l,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const j=e.target=fu(e.props,p);j&&gi(e,j,null,l,0)}else A&&gi(e,C,f,l,1);Ur(e,I)}},remove(t,e,n,{um:a,o:{remove:r}},i){const{shapeFlag:s,children:o,anchor:c,targetStart:l,targetAnchor:u,target:d,props:_}=t;let m=i||!Qa(_);const p=$a.get(t);if(p&&(p.flags|=8,$a.delete(t),m=!1),d&&(r(l),r(u)),i&&r(c),s&16)for(let E=0;E{t.isMounted=!0}),Yn(()=>{t.isUnmounting=!0}),t}const Dn=[Function,Array],nf={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Dn,onEnter:Dn,onAfterEnter:Dn,onEnterCancelled:Dn,onBeforeLeave:Dn,onLeave:Dn,onAfterLeave:Dn,onLeaveCancelled:Dn,onBeforeAppear:Dn,onAppear:Dn,onAfterAppear:Dn,onAppearCancelled:Dn},af=t=>{const e=t.subTree;return e.component?af(e.component):e},Wb={name:"BaseTransition",props:nf,setup(t,{slots:e}){const n=yr(),a=tf();return()=>{const r=e.default&&Ku(e.default(),!0);if(!r||!r.length)return;const i=rf(r),s=gt(t),{mode:o}=s;if(a.isLeaving)return Ss(i);const c=Cd(i);if(!c)return Ss(i);let l=ei(c,s,a,n,d=>l=d);c.type!==gn&&rr(c,l);let u=n.subTree&&Cd(n.subTree);if(u&&u.type!==gn&&!Xa(u,c)&&af(n).type!==gn){let d=ei(u,s,a,n);if(rr(u,d),o==="out-in"&&c.type!==gn)return a.isLeaving=!0,d.afterLeave=()=>{a.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,u=void 0},Ss(i);o==="in-out"&&c.type!==gn?d.delayLeave=(_,m,p)=>{const E=sf(a,u);E[String(u.key)]=u,_[Qn]=()=>{m(),_[Qn]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{p(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return i}}};function rf(t){let e=t[0];if(t.length>1){for(const n of t)if(n.type!==gn){e=n;break}}return e}const Kb=Wb;function sf(t,e){const{leavingVNodes:n}=t;let a=n.get(e.type);return a||(a=Object.create(null),n.set(e.type,a)),a}function ei(t,e,n,a,r){const{appear:i,mode:s,persisted:o=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:_,onLeave:m,onAfterLeave:p,onLeaveCancelled:E,onBeforeAppear:b,onAppear:I,onAfterAppear:R,onAppearCancelled:y}=e,L=String(t.key),U=sf(n,t),h=(f,A)=>{f&&Gn(f,a,9,A)},N=(f,A)=>{const w=A[1];h(f,A),Ye(f)?f.every(F=>F.length<=1)&&w():f.length<=1&&w()},C={mode:s,persisted:o,beforeEnter(f){let A=c;if(!n.isMounted)if(i)A=b||c;else return;f[Qn]&&f[Qn](!0);const w=U[L];w&&Xa(t,w)&&w.el[Qn]&&w.el[Qn](),h(A,[f])},enter(f){if(U[L]===t)return;let A=l,w=u,F=d;if(!n.isMounted)if(i)A=I||l,w=R||u,F=y||d;else return;let j=!1;f[Dr]=be=>{j||(j=!0,be?h(F,[f]):h(w,[f]),C.delayedLeave&&C.delayedLeave(),f[Dr]=void 0)};const _e=f[Dr].bind(null,!1);A?N(A,[f,_e]):_e()},leave(f,A){const w=String(t.key);if(f[Dr]&&f[Dr](!0),n.isUnmounting)return A();h(_,[f]);let F=!1;f[Qn]=_e=>{F||(F=!0,A(),_e?h(E,[f]):h(p,[f]),f[Qn]=void 0,U[w]===t&&delete U[w])};const j=f[Qn].bind(null,!1);U[w]=t,m?N(m,[f,j]):j()},clone(f){const A=ei(f,e,n,a,r);return r&&r(A),A}};return C}function Ss(t){if(ji(t))return t=xa(t),t.children=null,t}function Cd(t){if(!ji(t))return ef(t.type)&&t.children?rf(t.children):t;if(t.component)return t.component.subTree;const{shapeFlag:e,children:n}=t;if(n){if(e&16)return n[0];if(e&32&&Ze(n.default))return n.default()}}function rr(t,e){t.shapeFlag&6&&t.component?(t.transition=e,rr(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function Ku(t,e=!1,n){let a=[],r=0;for(let i=0;i1)for(let i=0;iqr(E,e&&(Ye(e)?e[b]:e),n,a,r));return}if(Hr(a)&&!r){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&qr(t,e,n,a.component.subTree);return}const i=a.shapeFlag&4?as(a.component):a.el,s=r?null:i,{i:o,r:c}=t,l=e&&e.r,u=o.refs===It?o.refs={}:o.refs,d=o.setupState,_=gt(d),m=d===It?SE:E=>yd(u,E)?!1:Rt(_,E),p=(E,b)=>!(b&&yd(u,b));if(l!=null&&l!==c){if(Nd(e),Gt(l))u[l]=null,m(l)&&(d[l]=null);else if(Bt(l)){const E=e;p(l,E.k)&&(l.value=null),E.k&&(u[E.k]=null)}}if(Ze(c))si(c,o,12,[s,u]);else{const E=Gt(c),b=Bt(c);if(E||b){const I=()=>{if(t.f){const R=E?m(c)?d[c]:u[c]:p()||!t.k?c.value:u[t.k];if(r)Ye(R)&&Fu(R,i);else if(Ye(R))R.includes(i)||R.push(i);else if(E)u[c]=[i],m(c)&&(d[c]=u[c]);else{const y=[i];p(c,t.k)&&(c.value=y),t.k&&(u[t.k]=y)}}else E?(u[c]=s,m(c)&&(d[c]=s)):b&&(p(c,t.k)&&(c.value=s),t.k&&(u[t.k]=s))};if(s){const R=()=>{I(),Ii.delete(t)};R.id=-1,Ii.set(t,R),pn(R,n)}else Nd(t),I()}}}function Nd(t){const e=Ii.get(t);e&&(e.flags|=8,Ii.delete(t))}Ki().requestIdleCallback;Ki().cancelIdleCallback;const Hr=t=>!!t.type.__asyncLoader,ji=t=>t.type.__isKeepAlive;function Qb(t,e){lf(t,"a",e)}function Xb(t,e){lf(t,"da",e)}function lf(t,e,n=rn){const a=t.__wdc||(t.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return t()});if(es(e,a,n),n){let r=n.parent;for(;r&&r.parent;)ji(r.parent.vnode)&&Zb(a,e,n,r),r=r.parent}}function Zb(t,e,n,a){const r=es(e,t,a,!0);fa(()=>{Fu(a[e],r)},n)}function es(t,e,n=rn,a=!1){if(n){const r=n[t]||(n[t]=[]),i=e.__weh||(e.__weh=(...s)=>{_a();const o=oi(n),c=Gn(e,n,t,s);return o(),pa(),c});return a?r.unshift(i):r.push(i),i}}const Ea=t=>(e,n=rn)=>{(!ni||t==="sp")&&es(t,(...a)=>e(...a),n)},Jb=Ea("bm"),Sn=Ea("m"),jb=Ea("bu"),cf=Ea("u"),Yn=Ea("bum"),fa=Ea("um"),eT=Ea("sp"),tT=Ea("rtg"),nT=Ea("rtc");function aT(t,e=rn){es("ec",t,e)}const uf="components";function tt(t,e){return pf(uf,t,!0,e)||t}const df=Symbol.for("v-ndc");function _f(t){return Gt(t)?pf(uf,t,!1)||t:t||df}function pf(t,e,n=!0,a=!1){const r=yn||rn;if(r){const i=r.type;{const o=$T(i,!1);if(o&&(o===e||o===fn(e)||o===zi(fn(e))))return i}const s=Od(r[t]||i[t],e)||Od(r.appContext[t],e);return!s&&a?i:s}}function Od(t,e){return t&&(t[e]||t[fn(e)]||t[zi(fn(e))])}function Dt(t,e,n,a){let r;const i=n,s=Ye(t);if(s||Gt(t)){const o=s&&da(t);let c=!1,l=!1;o&&(c=!On(t),l=ma(t),t=Qi(t)),r=new Array(t.length);for(let u=0,d=t.length;ue(o,c,void 0,i));else{const o=Object.keys(t);r=new Array(o.length);for(let c=0,l=o.length;ct?xf(t)?as(t):bu(t.parent):null,Vr=zt(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>bu(t.parent),$root:t=>bu(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>gf(t),$forceUpdate:t=>t.f||(t.f=()=>{zu(t.update)}),$nextTick:t=>t.n||(t.n=Ht.bind(t.proxy)),$watch:t=>qb.bind(t)}),bs=(t,e)=>t!==It&&!t.__isScriptSetup&&Rt(t,e),rT={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:n,setupState:a,data:r,props:i,accessCache:s,type:o,appContext:c}=t;if(e[0]!=="$"){const _=s[e];if(_!==void 0)switch(_){case 1:return a[e];case 2:return r[e];case 4:return n[e];case 3:return i[e]}else{if(bs(a,e))return s[e]=1,a[e];if(r!==It&&Rt(r,e))return s[e]=2,r[e];if(Rt(i,e))return s[e]=3,i[e];if(n!==It&&Rt(n,e))return s[e]=4,n[e];Tu&&(s[e]=0)}}const l=Vr[e];let u,d;if(l)return e==="$attrs"&&an(t.attrs,"get",""),l(t);if((u=o.__cssModules)&&(u=u[e]))return u;if(n!==It&&Rt(n,e))return s[e]=4,n[e];if(d=c.config.globalProperties,Rt(d,e))return d[e]},set({_:t},e,n){const{data:a,setupState:r,ctx:i}=t;return bs(r,e)?(r[e]=n,!0):a!==It&&Rt(a,e)?(a[e]=n,!0):Rt(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(i[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:a,appContext:r,props:i,type:s}},o){let c;return!!(n[o]||t!==It&&o[0]!=="$"&&Rt(t,o)||bs(e,o)||Rt(i,o)||Rt(a,o)||Rt(Vr,o)||Rt(r.config.globalProperties,o)||(c=s.__cssModules)&&c[o])},defineProperty(t,e,n){return n.get!=null?t._.accessCache[e]=0:Rt(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};function Ad(t){return Ye(t)?t.reduce((e,n)=>(e[n]=null,e),{}):t}let Tu=!0;function iT(t){const e=gf(t),n=t.proxy,a=t.ctx;Tu=!1,e.beforeCreate&&Id(e.beforeCreate,t,"bc");const{data:r,computed:i,methods:s,watch:o,provide:c,inject:l,created:u,beforeMount:d,mounted:_,beforeUpdate:m,updated:p,activated:E,deactivated:b,beforeDestroy:I,beforeUnmount:R,destroyed:y,unmounted:L,render:U,renderTracked:h,renderTriggered:N,errorCaptured:C,serverPrefetch:f,expose:A,inheritAttrs:w,components:F,directives:j,filters:_e}=e;if(l&&sT(l,a,null),s)for(const pe in s){const Ce=s[pe];Ze(Ce)&&(a[pe]=Ce.bind(n))}if(r){const pe=r.call(n,n);Ct(pe)&&(t.data=ar(pe))}if(Tu=!0,i)for(const pe in i){const Ce=i[pe],ot=Ze(Ce)?Ce.bind(n,n):Ze(Ce.get)?Ce.get.bind(n,n):jn,lt=!Ze(Ce)&&Ze(Ce.set)?Ce.set.bind(n):jn,at=ue({get:ot,set:lt});Object.defineProperty(a,pe,{enumerable:!0,configurable:!0,get:()=>at.value,set:We=>at.value=We})}if(o)for(const pe in o)mf(o[pe],a,n,pe);if(c){const pe=Ze(c)?c.call(n):c;Reflect.ownKeys(pe).forEach(Ce=>{ZE(Ce,pe[Ce])})}u&&Id(u,t,"c");function oe(pe,Ce){Ye(Ce)?Ce.forEach(ot=>pe(ot.bind(n))):Ce&&pe(Ce.bind(n))}if(oe(Jb,d),oe(Sn,_),oe(jb,m),oe(cf,p),oe(Qb,E),oe(Xb,b),oe(aT,C),oe(nT,h),oe(tT,N),oe(Yn,R),oe(fa,L),oe(eT,f),Ye(A))if(A.length){const pe=t.exposed||(t.exposed={});A.forEach(Ce=>{Object.defineProperty(pe,Ce,{get:()=>n[Ce],set:ot=>n[Ce]=ot,enumerable:!0})})}else t.exposed||(t.exposed={});U&&t.render===jn&&(t.render=U),w!=null&&(t.inheritAttrs=w),F&&(t.components=F),j&&(t.directives=j),f&&of(t)}function sT(t,e,n=jn){Ye(t)&&(t=hu(t));for(const a in t){const r=t[a];let i;Ct(r)?"default"in r?i=ja(r.from||a,r.default,!0):i=ja(r.from||a):i=ja(r),Bt(i)?Object.defineProperty(e,a,{enumerable:!0,configurable:!0,get:()=>i.value,set:s=>i.value=s}):e[a]=i}}function Id(t,e,n){Gn(Ye(t)?t.map(a=>a.bind(e.proxy)):t.bind(e.proxy),e,n)}function mf(t,e,n,a){let r=a.includes(".")?JE(n,a):()=>n[a];if(Gt(t)){const i=e[t];Ze(i)&&st(r,i)}else if(Ze(t))st(r,t.bind(n));else if(Ct(t))if(Ye(t))t.forEach(i=>mf(i,e,n,a));else{const i=Ze(t.handler)?t.handler.bind(n):e[t.handler];Ze(i)&&st(r,i,t)}}function gf(t){const e=t.type,{mixins:n,extends:a}=e,{mixins:r,optionsCache:i,config:{optionMergeStrategies:s}}=t.appContext,o=i.get(e);let c;return o?c=o:!r.length&&!n&&!a?c=e:(c={},r.length&&r.forEach(l=>Di(c,l,s,!0)),Di(c,e,s)),Ct(e)&&i.set(e,c),c}function Di(t,e,n,a=!1){const{mixins:r,extends:i}=e;i&&Di(t,i,n,!0),r&&r.forEach(s=>Di(t,s,n,!0));for(const s in e)if(!(a&&s==="expose")){const o=oT[s]||n&&n[s];t[s]=o?o(t[s],e[s]):e[s]}return t}const oT={data:Dd,props:wd,emits:wd,methods:Fr,computed:Fr,beforeCreate:_n,created:_n,beforeMount:_n,mounted:_n,beforeUpdate:_n,updated:_n,beforeDestroy:_n,beforeUnmount:_n,destroyed:_n,unmounted:_n,activated:_n,deactivated:_n,errorCaptured:_n,serverPrefetch:_n,components:Fr,directives:Fr,watch:cT,provide:Dd,inject:lT};function Dd(t,e){return e?t?function(){return zt(Ze(t)?t.call(this,this):t,Ze(e)?e.call(this,this):e)}:e:t}function lT(t,e){return Fr(hu(t),hu(e))}function hu(t){if(Ye(t)){const e={};for(let n=0;ne==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${fn(e)}Modifiers`]||t[`${Ma(e)}Modifiers`];function pT(t,e,...n){if(t.isUnmounted)return;const a=t.vnode.props||It;let r=n;const i=e.startsWith("update:"),s=i&&_T(a,e.slice(7));s&&(s.trim&&(r=n.map(u=>Gt(u)?u.trim():u)),s.number&&(r=n.map(Wi)));let o,c=a[o=ps(e)]||a[o=ps(fn(e))];!c&&i&&(c=a[o=ps(Ma(e))]),c&&Gn(c,t,6,r);const l=a[o+"Once"];if(l){if(!t.emitted)t.emitted={};else if(t.emitted[o])return;t.emitted[o]=!0,Gn(l,t,6,r)}}const mT=new WeakMap;function ff(t,e,n=!1){const a=n?mT:e.emitsCache,r=a.get(t);if(r!==void 0)return r;const i=t.emits;let s={},o=!1;if(!Ze(t)){const c=l=>{const u=ff(l,e,!0);u&&(o=!0,zt(s,u))};!n&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}return!i&&!o?(Ct(t)&&a.set(t,null),null):(Ye(i)?i.forEach(c=>s[c]=null):zt(s,i),Ct(t)&&a.set(t,s),s)}function ts(t,e){return!t||!$i(e)?!1:(e=e.slice(2).replace(/Once$/,""),Rt(t,e[0].toLowerCase()+e.slice(1))||Rt(t,Ma(e))||Rt(t,e))}function xd(t){const{type:e,vnode:n,proxy:a,withProxy:r,propsOptions:[i],slots:s,attrs:o,emit:c,render:l,renderCache:u,props:d,data:_,setupState:m,ctx:p,inheritAttrs:E}=t,b=Ai(t);let I,R;try{if(n.shapeFlag&4){const L=r||a,U=L;I=Zn(l.call(U,L,u,d,m,_,p)),R=o}else{const L=e;I=Zn(L.length>1?L(d,{attrs:o,slots:s,emit:c}):L(d,null)),R=e.props?o:gT(o)}}catch(L){zr.length=0,Zi(L,t,1),I=ne(gn)}let y=I;if(R&&E!==!1){const L=Object.keys(R),{shapeFlag:U}=y;L.length&&U&7&&(i&&L.some(qi)&&(R=ET(R,i)),y=xa(y,R,!1,!0))}return n.dirs&&(y=xa(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&rr(y,n.transition),I=y,Ai(b),I}const gT=t=>{let e;for(const n in t)(n==="class"||n==="style"||$i(n))&&((e||(e={}))[n]=t[n]);return e},ET=(t,e)=>{const n={};for(const a in t)(!qi(a)||!(a.slice(9)in e))&&(n[a]=t[a]);return n};function fT(t,e,n){const{props:a,children:r,component:i}=t,{props:s,children:o,patchFlag:c}=e,l=i.emitsOptions;if(e.dirs||e.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return a?Ld(a,s,l):!!s;if(c&8){const u=e.dynamicProps;for(let d=0;dObject.create(bf),hf=t=>Object.getPrototypeOf(t)===bf;function bT(t,e,n,a=!1){const r={},i=Tf();t.propsDefaults=Object.create(null),vf(t,e,r,i);for(const s in t.propsOptions[0])s in r||(r[s]=void 0);n?t.props=a?r:Nb(r):t.type.props?t.props=r:t.props=i,t.attrs=i}function TT(t,e,n,a){const{props:r,attrs:i,vnode:{patchFlag:s}}=t,o=gt(r),[c]=t.propsOptions;let l=!1;if((a||s>0)&&!(s&16)){if(s&8){const u=t.vnode.dynamicProps;for(let d=0;d{c=!0;const[_,m]=Rf(d,e,!0);zt(s,_),m&&o.push(...m)};!n&&e.mixins.length&&e.mixins.forEach(u),t.extends&&u(t.extends),t.mixins&&t.mixins.forEach(u)}if(!i&&!c)return Ct(t)&&a.set(t,gr),gr;if(Ye(i))for(let u=0;ut==="_"||t==="_ctx"||t==="$stable",Xu=t=>Ye(t)?t.map(Zn):[Zn(t)],vT=(t,e,n)=>{if(e._n)return e;const a=Be((...r)=>Xu(e(...r)),n);return a._c=!1,a},Cf=(t,e,n)=>{const a=t._ctx;for(const r in t){if(Qu(r))continue;const i=t[r];if(Ze(i))e[r]=vT(r,i,a);else if(i!=null){const s=Xu(i);e[r]=()=>s}}},yf=(t,e)=>{const n=Xu(e);t.slots.default=()=>n},Nf=(t,e,n)=>{for(const a in e)(n||!Qu(a))&&(t[a]=e[a])},RT=(t,e,n)=>{const a=t.slots=Tf();if(t.vnode.shapeFlag&32){const r=e._;r?(Nf(a,e,n),n&&vE(a,"_",r,!0)):Cf(e,a)}else e&&yf(t,e)},CT=(t,e,n)=>{const{vnode:a,slots:r}=t;let i=!0,s=It;if(a.shapeFlag&32){const o=e._;o?n&&o===1?i=!1:Nf(r,e,n):(i=!e.$stable,Cf(e,r)),s=e}else e&&(yf(t,e),s={default:1});if(i)for(const o in r)!Qu(o)&&s[o]==null&&delete r[o]},pn=IT;function yT(t){return NT(t)}function NT(t,e){const n=Ki();n.__VUE__=!0;const{insert:a,remove:r,patchProp:i,createElement:s,createText:o,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:_,setScopeId:m=jn,insertStaticContent:p}=t,E=(D,P,z,K=null,Z=null,W=null,de=void 0,ae=null,re=!!P.dynamicChildren)=>{if(D===P)return;D&&!Xa(D,P)&&(K=je(D),We(D,Z,W,!0),D=null),P.patchFlag===-2&&(re=!1,P.dynamicChildren=null);const{type:ee,ref:Ne,shapeFlag:ce}=P;switch(ee){case ns:b(D,P,z,K);break;case gn:I(D,P,z,K);break;case hi:D==null&&R(P,z,K,de);break;case Ue:F(D,P,z,K,Z,W,de,ae,re);break;default:ce&1?U(D,P,z,K,Z,W,de,ae,re):ce&6?j(D,P,z,K,Z,W,de,ae,re):(ce&64||ce&128)&&ee.process(D,P,z,K,Z,W,de,ae,re,ut)}Ne!=null&&Z?qr(Ne,D&&D.ref,W,P||D,!P):Ne==null&&D&&D.ref!=null&&qr(D.ref,null,W,D,!0)},b=(D,P,z,K)=>{if(D==null)a(P.el=o(P.children),z,K);else{const Z=P.el=D.el;P.children!==D.children&&l(Z,P.children)}},I=(D,P,z,K)=>{D==null?a(P.el=c(P.children||""),z,K):P.el=D.el},R=(D,P,z,K)=>{[D.el,D.anchor]=p(D.children,P,z,K,D.el,D.anchor)},y=({el:D,anchor:P},z,K)=>{let Z;for(;D&&D!==P;)Z=_(D),a(D,z,K),D=Z;a(P,z,K)},L=({el:D,anchor:P})=>{let z;for(;D&&D!==P;)z=_(D),r(D),D=z;r(P)},U=(D,P,z,K,Z,W,de,ae,re)=>{if(P.type==="svg"?de="svg":P.type==="math"&&(de="mathml"),D==null)h(P,z,K,Z,W,de,ae,re);else{const ee=D.el&&D.el._isVueCE?D.el:null;try{ee&&ee._beginPatch(),f(D,P,Z,W,de,ae,re)}finally{ee&&ee._endPatch()}}},h=(D,P,z,K,Z,W,de,ae)=>{let re,ee;const{props:Ne,shapeFlag:ce,transition:Re,dirs:ye}=D;if(re=D.el=s(D.type,W,Ne&&Ne.is,Ne),ce&8?u(re,D.children):ce&16&&C(D.children,re,null,K,Z,Ts(D,W),de,ae),ye&&Ya(D,null,K,"created"),N(re,D,D.scopeId,de,K),Ne){for(const qe in Ne)qe!=="value"&&!Gr(qe)&&i(re,qe,null,Ne[qe],W,K);"value"in Ne&&i(re,"value",null,Ne.value,W),(ee=Ne.onVnodeBeforeMount)&&Vn(ee,K,D)}ye&&Ya(D,null,K,"beforeMount");const Fe=OT(Z,Re);Fe&&Re.beforeEnter(re),a(re,P,z),((ee=Ne&&Ne.onVnodeMounted)||Fe||ye)&&pn(()=>{try{ee&&Vn(ee,K,D),Fe&&Re.enter(re),ye&&Ya(D,null,K,"mounted")}finally{}},Z)},N=(D,P,z,K,Z)=>{if(z&&m(D,z),K)for(let W=0;W{for(let ee=re;ee{const ae=P.el=D.el;let{patchFlag:re,dynamicChildren:ee,dirs:Ne}=P;re|=D.patchFlag&16;const ce=D.props||It,Re=P.props||It;let ye;if(z&&qa(z,!1),(ye=Re.onVnodeBeforeUpdate)&&Vn(ye,z,P,D),Ne&&Ya(P,D,z,"beforeUpdate"),z&&qa(z,!0),(ce.innerHTML&&Re.innerHTML==null||ce.textContent&&Re.textContent==null)&&u(ae,""),ee?A(D.dynamicChildren,ee,ae,z,K,Ts(P,Z),W):de||Ce(D,P,ae,null,z,K,Ts(P,Z),W,!1),re>0){if(re&16)w(ae,ce,Re,z,Z);else if(re&2&&ce.class!==Re.class&&i(ae,"class",null,Re.class,Z),re&4&&i(ae,"style",ce.style,Re.style,Z),re&8){const Fe=P.dynamicProps;for(let qe=0;qe{ye&&Vn(ye,z,P,D),Ne&&Ya(P,D,z,"updated")},K)},A=(D,P,z,K,Z,W,de)=>{for(let ae=0;ae{if(P!==z){if(P!==It)for(const W in P)!Gr(W)&&!(W in z)&&i(D,W,P[W],null,Z,K);for(const W in z){if(Gr(W))continue;const de=z[W],ae=P[W];de!==ae&&W!=="value"&&i(D,W,ae,de,Z,K)}"value"in z&&i(D,"value",P.value,z.value,Z)}},F=(D,P,z,K,Z,W,de,ae,re)=>{const ee=P.el=D?D.el:o(""),Ne=P.anchor=D?D.anchor:o("");let{patchFlag:ce,dynamicChildren:Re,slotScopeIds:ye}=P;ye&&(ae=ae?ae.concat(ye):ye),D==null?(a(ee,z,K),a(Ne,z,K),C(P.children||[],z,Ne,Z,W,de,ae,re)):ce>0&&ce&64&&Re&&D.dynamicChildren&&D.dynamicChildren.length===Re.length?(A(D.dynamicChildren,Re,z,Z,W,de,ae),(P.key!=null||Z&&P===Z.subTree)&&Zu(D,P,!0)):Ce(D,P,z,Ne,Z,W,de,ae,re)},j=(D,P,z,K,Z,W,de,ae,re)=>{P.slotScopeIds=ae,D==null?P.shapeFlag&512?Z.ctx.activate(P,z,K,de,re):_e(P,z,K,Z,W,de,re):be(D,P,re)},_e=(D,P,z,K,Z,W,de)=>{const ae=D.component=UT(D,K,Z);if(ji(D)&&(ae.ctx.renderer=ut),FT(ae,!1,de),ae.asyncDep){if(Z&&Z.registerDep(ae,oe,de),!D.el){const re=ae.subTree=ne(gn);I(null,re,P,z),D.placeholder=re.el}}else oe(ae,D,P,z,Z,W,de)},be=(D,P,z)=>{const K=P.component=D.component;if(fT(D,P,z))if(K.asyncDep&&!K.asyncResolved){pe(K,P,z);return}else K.next=P,K.update();else P.el=D.el,K.vnode=P},oe=(D,P,z,K,Z,W,de)=>{const ae=()=>{if(D.isMounted){let{next:ce,bu:Re,u:ye,parent:Fe,vnode:qe}=D;{const Mt=Of(D);if(Mt){ce&&(ce.el=qe.el,pe(D,ce,de)),Mt.asyncDep.then(()=>{pn(()=>{D.isUnmounted||ee()},Z)});return}}let Qe=ce,et;qa(D,!1),ce?(ce.el=qe.el,pe(D,ce,de)):ce=qe,Re&&Ti(Re),(et=ce.props&&ce.props.onVnodeBeforeUpdate)&&Vn(et,Fe,ce,qe),qa(D,!0);const dt=xd(D),Lt=D.subTree;D.subTree=dt,E(Lt,dt,d(Lt.el),je(Lt),D,Z,W),ce.el=dt.el,Qe===null&&ST(D,dt.el),ye&&pn(ye,Z),(et=ce.props&&ce.props.onVnodeUpdated)&&pn(()=>Vn(et,Fe,ce,qe),Z)}else{let ce;const{el:Re,props:ye}=P,{bm:Fe,m:qe,parent:Qe,root:et,type:dt}=D,Lt=Hr(P);qa(D,!1),Fe&&Ti(Fe),!Lt&&(ce=ye&&ye.onVnodeBeforeMount)&&Vn(ce,Qe,P),qa(D,!0);{et.ce&&et.ce._hasShadowRoot()&&et.ce._injectChildStyle(dt,D.parent?D.parent.type:void 0);const Mt=D.subTree=xd(D);E(null,Mt,z,K,D,Z,W),P.el=Mt.el}if(qe&&pn(qe,Z),!Lt&&(ce=ye&&ye.onVnodeMounted)){const Mt=P;pn(()=>Vn(ce,Qe,Mt),Z)}(P.shapeFlag&256||Qe&&Hr(Qe.vnode)&&Qe.vnode.shapeFlag&256)&&D.a&&pn(D.a,Z),D.isMounted=!0,P=z=K=null}};D.scope.on();const re=D.effect=new IE(ae);D.scope.off();const ee=D.update=re.run.bind(re),Ne=D.job=re.runIfDirty.bind(re);Ne.i=D,Ne.id=D.uid,re.scheduler=()=>zu(Ne),qa(D,!0),ee()},pe=(D,P,z)=>{P.component=D;const K=D.vnode.props;D.vnode=P,D.next=null,TT(D,P.props,K,z),CT(D,P.children,z),_a(),hd(D),pa()},Ce=(D,P,z,K,Z,W,de,ae,re=!1)=>{const ee=D&&D.children,Ne=D?D.shapeFlag:0,ce=P.children,{patchFlag:Re,shapeFlag:ye}=P;if(Re>0){if(Re&128){lt(ee,ce,z,K,Z,W,de,ae,re);return}else if(Re&256){ot(ee,ce,z,K,Z,W,de,ae,re);return}}ye&8?(Ne&16&&rt(ee,Z,W),ce!==ee&&u(z,ce)):Ne&16?ye&16?lt(ee,ce,z,K,Z,W,de,ae,re):rt(ee,Z,W,!0):(Ne&8&&u(z,""),ye&16&&C(ce,z,K,Z,W,de,ae,re))},ot=(D,P,z,K,Z,W,de,ae,re)=>{D=D||gr,P=P||gr;const ee=D.length,Ne=P.length,ce=Math.min(ee,Ne);let Re;for(Re=0;ReNe?rt(D,Z,W,!0,!1,ce):C(P,z,K,Z,W,de,ae,re,ce)},lt=(D,P,z,K,Z,W,de,ae,re)=>{let ee=0;const Ne=P.length;let ce=D.length-1,Re=Ne-1;for(;ee<=ce&&ee<=Re;){const ye=D[ee],Fe=P[ee]=re?ia(P[ee]):Zn(P[ee]);if(Xa(ye,Fe))E(ye,Fe,z,null,Z,W,de,ae,re);else break;ee++}for(;ee<=ce&&ee<=Re;){const ye=D[ce],Fe=P[Re]=re?ia(P[Re]):Zn(P[Re]);if(Xa(ye,Fe))E(ye,Fe,z,null,Z,W,de,ae,re);else break;ce--,Re--}if(ee>ce){if(ee<=Re){const ye=Re+1,Fe=yeRe)for(;ee<=ce;)We(D[ee],Z,W,!0),ee++;else{const ye=ee,Fe=ee,qe=new Map;for(ee=Fe;ee<=Re;ee++){const vt=P[ee]=re?ia(P[ee]):Zn(P[ee]);vt.key!=null&&qe.set(vt.key,ee)}let Qe,et=0;const dt=Re-Fe+1;let Lt=!1,Mt=0;const Vt=new Array(dt);for(ee=0;ee=dt){We(vt,Z,W,!0);continue}let O;if(vt.key!=null)O=qe.get(vt.key);else for(Qe=Fe;Qe<=Re;Qe++)if(Vt[Qe-Fe]===0&&Xa(vt,P[Qe])){O=Qe;break}O===void 0?We(vt,Z,W,!0):(Vt[O-Fe]=ee+1,O>=Mt?Mt=O:Lt=!0,E(vt,P[O],z,null,Z,W,de,ae,re),et++)}const Ut=Lt?AT(Vt):gr;for(Qe=Ut.length-1,ee=dt-1;ee>=0;ee--){const vt=Fe+ee,O=P[vt],G=P[vt+1],Q=vt+1{const{el:W,type:de,transition:ae,children:re,shapeFlag:ee}=D;if(ee&6){at(D.component.subTree,P,z,K);return}if(ee&128){D.suspense.move(P,z,K);return}if(ee&64){de.move(D,P,z,ut);return}if(de===Ue){a(W,P,z);for(let ce=0;ceae.enter(W),Z);else{const{leave:ce,delayLeave:Re,afterLeave:ye}=ae,Fe=()=>{D.ctx.isUnmounted?r(W):a(W,P,z)},qe=()=>{W._isLeaving&&W[Qn](!0),ce(W,()=>{Fe(),ye&&ye()})};Re?Re(W,Fe,qe):qe()}else a(W,P,z)},We=(D,P,z,K=!1,Z=!1)=>{const{type:W,props:de,ref:ae,children:re,dynamicChildren:ee,shapeFlag:Ne,patchFlag:ce,dirs:Re,cacheIndex:ye,memo:Fe}=D;if(ce===-2&&(Z=!1),ae!=null&&(_a(),qr(ae,null,z,D,!0),pa()),ye!=null&&(P.renderCache[ye]=void 0),Ne&256){P.ctx.deactivate(D);return}const qe=Ne&1&&Re,Qe=!Hr(D);let et;if(Qe&&(et=de&&de.onVnodeBeforeUnmount)&&Vn(et,P,D),Ne&6)ke(D.component,z,K);else{if(Ne&128){D.suspense.unmount(z,K);return}qe&&Ya(D,null,P,"beforeUnmount"),Ne&64?D.type.remove(D,P,z,ut,K):ee&&!ee.hasOnce&&(W!==Ue||ce>0&&ce&64)?rt(ee,P,z,!1,!0):(W===Ue&&ce&384||!Z&&Ne&16)&&rt(re,P,z),K&&Ae(D)}const dt=Fe!=null&&ye==null;(Qe&&(et=de&&de.onVnodeUnmounted)||qe||dt)&&pn(()=>{et&&Vn(et,P,D),qe&&Ya(D,null,P,"unmounted"),dt&&(D.el=null)},z)},Ae=D=>{const{type:P,el:z,anchor:K,transition:Z}=D;if(P===Ue){He(z,K);return}if(P===hi){L(D);return}const W=()=>{r(z),Z&&!Z.persisted&&Z.afterLeave&&Z.afterLeave()};if(D.shapeFlag&1&&Z&&!Z.persisted){const{leave:de,delayLeave:ae}=Z,re=()=>de(z,W);ae?ae(D.el,W,re):re()}else W()},He=(D,P)=>{let z;for(;D!==P;)z=_(D),r(D),D=z;r(P)},ke=(D,P,z)=>{const{bum:K,scope:Z,job:W,subTree:de,um:ae,m:re,a:ee}=D;kd(re),kd(ee),K&&Ti(K),Z.stop(),W&&(W.flags|=8,We(de,D,P,z)),ae&&pn(ae,P),pn(()=>{D.isUnmounted=!0},P)},rt=(D,P,z,K=!1,Z=!1,W=0)=>{for(let de=W;de{if(D.shapeFlag&6)return je(D.component.subTree);if(D.shapeFlag&128)return D.suspense.next();const P=_(D.anchor||D.el),z=P&&P[jE];return z?_(z):P};let Ke=!1;const Et=(D,P,z)=>{let K;D==null?P._vnode&&(We(P._vnode,null,null,!0),K=P._vnode.component):E(P._vnode||null,D,P,null,null,null,z),P._vnode=D,Ke||(Ke=!0,hd(K),KE(),Ke=!1)},ut={p:E,um:We,m:at,r:Ae,mt:_e,mc:C,pc:Ce,pbc:A,n:je,o:t};return{render:Et,hydrate:void 0,createApp:dT(Et)}}function Ts({type:t,props:e},n){return n==="svg"&&t==="foreignObject"||n==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:n}function qa({effect:t,job:e},n){n?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function OT(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function Zu(t,e,n=!1){const a=t.children,r=e.children;if(Ye(a)&&Ye(r))for(let i=0;i>1,t[n[o]]0&&(e[a]=n[i-1]),n[i]=a)}}for(i=n.length,s=n[i-1];i-- >0;)n[i]=s,s=e[s];return n}function Of(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Of(e)}function kd(t){if(t)for(let e=0;et.__isSuspense;function IT(t,e){e&&e.pendingBranch?Ye(t)?e.effects.push(...t):e.effects.push(t):Fb(t)}const Ue=Symbol.for("v-fgt"),ns=Symbol.for("v-txt"),gn=Symbol.for("v-cmt"),hi=Symbol.for("v-stc"),zr=[];let Nn=null;function v(t=!1){zr.push(Nn=t?null:[])}function DT(){zr.pop(),Nn=zr[zr.length-1]||null}let ti=1;function wi(t,e=!1){ti+=t,t<0&&Nn&&e&&(Nn.hasOnce=!0)}function Df(t){return t.dynamicChildren=ti>0?Nn||gr:null,DT(),ti>0&&Nn&&Nn.push(t),t}function x(t,e,n,a,r,i){return Df(g(t,e,n,a,r,i,!0))}function ze(t,e,n,a,r){return Df(ne(t,e,n,a,r,!0))}function xi(t){return t?t.__v_isVNode===!0:!1}function Xa(t,e){return t.type===e.type&&t.key===e.key}const wf=({key:t})=>t??null,vi=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?Gt(t)||Bt(t)||Ze(t)?{i:yn,r:t,k:e,f:!!n}:t:null);function g(t,e=null,n=null,a=0,r=null,i=t===Ue?0:1,s=!1,o=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&wf(e),ref:e&&vi(e),scopeId:XE,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:a,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:yn};return o?(Ju(c,n),i&128&&t.normalize(c)):n&&(c.shapeFlag|=Gt(n)?8:16),ti>0&&!s&&Nn&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Nn.push(c),c}const ne=wT;function wT(t,e=null,n=null,a=0,r=null,i=!1){if((!t||t===df)&&(t=gn),xi(t)){const o=xa(t,e,!0);return n&&Ju(o,n),ti>0&&!i&&Nn&&(o.shapeFlag&6?Nn[Nn.indexOf(t)]=o:Nn.push(o)),o.patchFlag=-2,o}if(qT(t)&&(t=t.__vccOpts),e){e=xT(e);let{class:o,style:c}=e;o&&!Gt(o)&&(e.class=Ge(o)),Ct(c)&&(Xi(c)&&!Ye(c)&&(c=zt({},c)),e.style=Da(c))}const s=Gt(t)?1:If(t)?128:ef(t)?64:Ct(t)?4:Ze(t)?2:0;return g(t,e,n,a,r,s,i,!0)}function xT(t){return t?Xi(t)||hf(t)?zt({},t):t:null}function xa(t,e,n=!1,a=!1){const{props:r,ref:i,patchFlag:s,children:o,transition:c}=t,l=e?MT(r||{},e):r,u={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&wf(l),ref:e&&e.ref?n&&i?Ye(i)?i.concat(vi(e)):[i,vi(e)]:vi(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:o,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Ue?s===-1?16:s|16:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:c,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&xa(t.ssContent),ssFallback:t.ssFallback&&xa(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return c&&a&&rr(u,c.clone(u)),u}function $e(t=" ",e=0){return ne(ns,null,t,e)}function LT(t,e){const n=ne(hi,null,t);return n.staticCount=e,n}function J(t="",e=!1){return e?(v(),ze(gn,null,t)):ne(gn,null,t)}function Zn(t){return t==null||typeof t=="boolean"?ne(gn):Ye(t)?ne(Ue,null,t.slice()):xi(t)?ia(t):ne(ns,null,String(t))}function ia(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:xa(t)}function Ju(t,e){let n=0;const{shapeFlag:a}=t;if(e==null)e=null;else if(Ye(e))n=16;else if(typeof e=="object")if(a&65){const r=e.default;r&&(r._c&&(r._d=!1),Ju(t,r()),r._c&&(r._d=!0));return}else{n=32;const r=e._;!r&&!hf(e)?e._ctx=yn:r===3&&yn&&(yn.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else Ze(e)?(e={default:e,_ctx:yn},n=32):(e=String(e),a&64?(n=16,e=[$e(e)]):n=8);t.children=e,t.shapeFlag|=n}function MT(...t){const e={};for(let n=0;nrn||yn;let Li,Ru;{const t=Ki(),e=(n,a)=>{let r;return(r=t[n])||(r=t[n]=[]),r.push(a),i=>{r.length>1?r.forEach(s=>s(i)):r[0](i)}};Li=e("__VUE_INSTANCE_SETTERS__",n=>rn=n),Ru=e("__VUE_SSR_SETTERS__",n=>ni=n)}const oi=t=>{const e=rn;return Li(t),t.scope.on(),()=>{t.scope.off(),Li(e)}},Pd=()=>{rn&&rn.scope.off(),Li(null)};function xf(t){return t.vnode.shapeFlag&4}let ni=!1;function FT(t,e=!1,n=!1){e&&Ru(e);const{props:a,children:r}=t.vnode,i=xf(t);bT(t,a,i,e),RT(t,r,n||e);const s=i?BT(t,e):void 0;return e&&Ru(!1),s}function BT(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,rT);const{setup:a}=n;if(a){_a();const r=t.setupContext=a.length>1?YT(t):null,i=oi(t),s=si(a,t,0,[t.props,r]),o=bE(s);if(pa(),i(),(o||t.sp)&&!Hr(t)&&of(t),o){if(s.then(Pd,Pd),e)return s.then(c=>{Ud(t,c)}).catch(c=>{Zi(c,t,0)});t.asyncDep=s}else Ud(t,s)}else Lf(t)}function Ud(t,e,n){Ze(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:Ct(e)&&(t.setupState=VE(e)),Lf(t)}function Lf(t,e,n){const a=t.type;t.render||(t.render=a.render||jn);{const r=oi(t);_a();try{iT(t)}finally{pa(),r()}}}const GT={get(t,e){return an(t,"get",""),t[e]}};function YT(t){const e=n=>{t.exposed=n||{}};return{attrs:new Proxy(t.attrs,GT),slots:t.slots,emit:t.emit,expose:e}}function as(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(VE(Jr(t.exposed)),{get(e,n){if(n in e)return e[n];if(n in Vr)return Vr[n](t)},has(e,n){return n in e||n in Vr}})):t.proxy}function $T(t,e=!0){return Ze(t)?t.displayName||t.name:t.name||e&&t.__name}function qT(t){return Ze(t)&&"__vccOpts"in t}const ue=(t,e)=>Lb(t,e,ni);function T(t,e,n){try{wi(-1);const a=arguments.length;return a===2?Ct(e)&&!Ye(e)?xi(e)?ne(t,null,[e]):ne(t,e):ne(t,null,e):(a>3?n=Array.prototype.slice.call(arguments,2):a===3&&xi(n)&&(n=[n]),ne(t,e,n))}finally{wi(1)}}const HT="3.5.32";/**
-* @vue/runtime-dom v3.5.32
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/let Cu;const Fd=typeof window<"u"&&window.trustedTypes;if(Fd)try{Cu=Fd.createPolicy("vue",{createHTML:t=>t})}catch{}const Mf=Cu?t=>Cu.createHTML(t):t=>t,VT="http://www.w3.org/2000/svg",zT="http://www.w3.org/1998/Math/MathML",ra=typeof document<"u"?document:null,Bd=ra&&ra.createElement("template"),WT={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,a)=>{const r=e==="svg"?ra.createElementNS(VT,t):e==="mathml"?ra.createElementNS(zT,t):n?ra.createElement(t,{is:n}):ra.createElement(t);return t==="select"&&a&&a.multiple!=null&&r.setAttribute("multiple",a.multiple),r},createText:t=>ra.createTextNode(t),createComment:t=>ra.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>ra.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,a,r,i){const s=n?n.previousSibling:e.lastChild;if(r&&(r===i||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Bd.innerHTML=Mf(a==="svg"?``:a==="mathml"?``:t);const o=Bd.content;if(a==="svg"||a==="mathml"){const c=o.firstChild;for(;c.firstChild;)o.appendChild(c.firstChild);o.removeChild(c)}e.insertBefore(o,n)}return[s?s.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}},Ca="transition",wr="animation",Tr=Symbol("_vtc"),kf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Pf=zt({},nf,kf),KT=t=>(t.displayName="Transition",t.props=Pf,t),hr=KT((t,{slots:e})=>T(Kb,Uf(t),e)),Ha=(t,e=[])=>{Ye(t)?t.forEach(n=>n(...e)):t&&t(...e)},Gd=t=>t?Ye(t)?t.some(e=>e.length>1):t.length>1:!1;function Uf(t){const e={};for(const F in t)F in kf||(e[F]=t[F]);if(t.css===!1)return e;const{name:n="v",type:a,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:o=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:l=s,appearToClass:u=o,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:_=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=t,p=QT(r),E=p&&p[0],b=p&&p[1],{onBeforeEnter:I,onEnter:R,onEnterCancelled:y,onLeave:L,onLeaveCancelled:U,onBeforeAppear:h=I,onAppear:N=R,onAppearCancelled:C=y}=e,f=(F,j,_e,be)=>{F._enterCancelled=be,Oa(F,j?u:o),Oa(F,j?l:s),_e&&_e()},A=(F,j)=>{F._isLeaving=!1,Oa(F,d),Oa(F,m),Oa(F,_),j&&j()},w=F=>(j,_e)=>{const be=F?N:R,oe=()=>f(j,F,_e);Ha(be,[j,oe]),Yd(()=>{Oa(j,F?c:i),zn(j,F?u:o),Gd(be)||$d(j,a,E,oe)})};return zt(e,{onBeforeEnter(F){Ha(I,[F]),zn(F,i),zn(F,s)},onBeforeAppear(F){Ha(h,[F]),zn(F,c),zn(F,l)},onEnter:w(!1),onAppear:w(!0),onLeave(F,j){F._isLeaving=!0;const _e=()=>A(F,j);zn(F,d),F._enterCancelled?(zn(F,_),yu(F)):(yu(F),zn(F,_)),Yd(()=>{F._isLeaving&&(Oa(F,d),zn(F,m),Gd(L)||$d(F,a,b,_e))}),Ha(L,[F,_e])},onEnterCancelled(F){f(F,!1,void 0,!0),Ha(y,[F])},onAppearCancelled(F){f(F,!0,void 0,!0),Ha(C,[F])},onLeaveCancelled(F){A(F),Ha(U,[F])}})}function QT(t){if(t==null)return null;if(Ct(t))return[hs(t.enter),hs(t.leave)];{const e=hs(t);return[e,e]}}function hs(t){return JS(t)}function zn(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t[Tr]||(t[Tr]=new Set)).add(e)}function Oa(t,e){e.split(/\s+/).forEach(a=>a&&t.classList.remove(a));const n=t[Tr];n&&(n.delete(e),n.size||(t[Tr]=void 0))}function Yd(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let XT=0;function $d(t,e,n,a){const r=t._endId=++XT,i=()=>{r===t._endId&&a()};if(n!=null)return setTimeout(i,n);const{type:s,timeout:o,propCount:c}=Ff(t,e);if(!s)return a();const l=s+"end";let u=0;const d=()=>{t.removeEventListener(l,_),i()},_=m=>{m.target===t&&++u>=c&&d()};setTimeout(()=>{u(n[p]||"").split(", "),r=a(`${Ca}Delay`),i=a(`${Ca}Duration`),s=qd(r,i),o=a(`${wr}Delay`),c=a(`${wr}Duration`),l=qd(o,c);let u=null,d=0,_=0;e===Ca?s>0&&(u=Ca,d=s,_=i.length):e===wr?l>0&&(u=wr,d=l,_=c.length):(d=Math.max(s,l),u=d>0?s>l?Ca:wr:null,_=u?u===Ca?i.length:c.length:0);const m=u===Ca&&/\b(?:transform|all)(?:,|$)/.test(a(`${Ca}Property`).toString());return{type:u,timeout:d,propCount:_,hasTransform:m}}function qd(t,e){for(;t.lengthHd(n)+Hd(t[a])))}function Hd(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function yu(t){return(t?t.ownerDocument:document).body.offsetHeight}function ZT(t,e,n){const a=t[Tr];a&&(e=(e?[e,...a]:[...a]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}const Vd=Symbol("_vod"),JT=Symbol("_vsh"),jT=Symbol(""),eh=/(?:^|;)\s*display\s*:/;function th(t,e,n){const a=t.style,r=Gt(n);let i=!1;if(n&&!r){if(e)if(Gt(e))for(const s of e.split(";")){const o=s.slice(0,s.indexOf(":")).trim();n[o]==null&&Ri(a,o,"")}else for(const s in e)n[s]==null&&Ri(a,s,"");for(const s in n)s==="display"&&(i=!0),Ri(a,s,n[s])}else if(r){if(e!==n){const s=a[jT];s&&(n+=";"+s),a.cssText=n,i=eh.test(n)}}else e&&t.removeAttribute("style");Vd in t&&(t[Vd]=i?a.display:"",t[JT]&&(a.display="none"))}const zd=/\s*!important$/;function Ri(t,e,n){if(Ye(n))n.forEach(a=>Ri(t,e,a));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const a=nh(t,e);zd.test(n)?t.setProperty(Ma(a),n.replace(zd,""),"important"):t[a]=n}}const Wd=["Webkit","Moz","ms"],vs={};function nh(t,e){const n=vs[e];if(n)return n;let a=fn(e);if(a!=="filter"&&a in t)return vs[e]=a;a=zi(a);for(let r=0;rRs||(sh.then(()=>Rs=0),Rs=Date.now());function lh(t,e){const n=a=>{if(!a._vts)a._vts=Date.now();else if(a._vts<=n.attached)return;Gn(ch(a,n.value),e,5,[a])};return n.value=t,n.attached=oh(),n}function ch(t,e){if(Ye(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(a=>r=>!r._stopped&&a&&a(r))}else return e}const jd=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,uh=(t,e,n,a,r,i)=>{const s=r==="svg";e==="class"?ZT(t,a,s):e==="style"?th(t,n,a):$i(e)?qi(e)||rh(t,e,n,a,i):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):dh(t,e,a,s))?(Xd(t,e,a),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&Qd(t,e,a,s,i,e!=="value")):t._isVueCE&&(_h(t,e)||t._def.__asyncLoader&&(/[A-Z]/.test(e)||!Gt(a)))?Xd(t,fn(e),a,i,e):(e==="true-value"?t._trueValue=a:e==="false-value"&&(t._falseValue=a),Qd(t,e,a,s))};function dh(t,e,n,a){if(a)return!!(e==="innerHTML"||e==="textContent"||e in t&&jd(e)&&Ze(n));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="sandbox"&&t.tagName==="IFRAME"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const r=t.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return jd(e)&&Gt(n)?!1:e in t}function _h(t,e){const n=t._def.props;if(!n)return!1;const a=fn(e);return Array.isArray(n)?n.some(r=>fn(r)===a):Object.keys(n).some(r=>fn(r)===a)}const Bf=new WeakMap,Gf=new WeakMap,Mi=Symbol("_moveCb"),e_=Symbol("_enterCb"),ph=t=>(delete t.props.mode,t),mh=ph({name:"TransitionGroup",props:zt({},Pf,{tag:String,moveClass:String}),setup(t,{slots:e}){const n=yr(),a=tf();let r,i;return cf(()=>{if(!r.length)return;const s=t.moveClass||`${t.name||"v"}-move`;if(!bh(r[0].el,n.vnode.el,s)){r=[];return}r.forEach(Eh),r.forEach(fh);const o=r.filter(Sh);yu(n.vnode.el),o.forEach(c=>{const l=c.el,u=l.style;zn(l,s),u.transform=u.webkitTransform=u.transitionDuration="";const d=l[Mi]=_=>{_&&_.target!==l||(!_||_.propertyName.endsWith("transform"))&&(l.removeEventListener("transitionend",d),l[Mi]=null,Oa(l,s))};l.addEventListener("transitionend",d)}),r=[]}),()=>{const s=gt(t),o=Uf(s);let c=s.tag||Ue;if(r=[],i)for(let l=0;l{o.split(/\s+/).forEach(c=>c&&a.classList.remove(c))}),n.split(/\s+/).forEach(o=>o&&a.classList.add(o)),a.style.display="none";const i=e.nodeType===1?e:e.parentNode;i.appendChild(a);const{hasTransform:s}=Ff(a);return i.removeChild(a),s}const La=t=>{const e=t.props["onUpdate:modelValue"]||!1;return Ye(e)?n=>Ti(e,n):e};function Th(t){t.target.composing=!0}function t_(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const xn=Symbol("_assign");function n_(t,e,n){return e&&(t=t.trim()),n&&(t=Wi(t)),t}const ai={created(t,{modifiers:{lazy:e,trim:n,number:a}},r){t[xn]=La(r);const i=a||r.props&&r.props.type==="number";la(t,e?"change":"input",s=>{s.target.composing||t[xn](n_(t.value,n,i))}),(n||i)&&la(t,"change",()=>{t.value=n_(t.value,n,i)}),e||(la(t,"compositionstart",Th),la(t,"compositionend",t_),la(t,"change",t_))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:n,modifiers:{lazy:a,trim:r,number:i}},s){if(t[xn]=La(s),t.composing)return;const o=(i||t.type==="number")&&!/^0\d/.test(t.value)?Wi(t.value):t.value,c=e??"";if(o===c)return;const l=t.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===t&&t.type!=="range"&&(a&&e===n||r&&t.value.trim()===c)||(t.value=c)}},$f={deep:!0,created(t,e,n){t[xn]=La(n),la(t,"change",()=>{const a=t._modelValue,r=vr(t),i=t.checked,s=t[xn];if(Ye(a)){const o=Bu(a,r),c=o!==-1;if(i&&!c)s(a.concat(r));else if(!i&&c){const l=[...a];l.splice(o,1),s(l)}}else if(Cr(a)){const o=new Set(a);i?o.add(r):o.delete(r),s(o)}else s(qf(t,i))})},mounted:a_,beforeUpdate(t,e,n){t[xn]=La(n),a_(t,e,n)}};function a_(t,{value:e,oldValue:n},a){t._modelValue=e;let r;if(Ye(e))r=Bu(e,a.props.value)>-1;else if(Cr(e))r=e.has(a.props.value);else{if(e===n)return;r=wa(e,qf(t,!0))}t.checked!==r&&(t.checked=r)}const hh={created(t,{value:e},n){t.checked=wa(e,n.props.value),t[xn]=La(n),la(t,"change",()=>{t[xn](vr(t))})},beforeUpdate(t,{value:e,oldValue:n},a){t[xn]=La(a),e!==n&&(t.checked=wa(e,a.props.value))}},Nu={deep:!0,created(t,{value:e,modifiers:{number:n}},a){const r=Cr(e);la(t,"change",()=>{const i=Array.prototype.filter.call(t.options,s=>s.selected).map(s=>n?Wi(vr(s)):vr(s));t[xn](t.multiple?r?new Set(i):i:i[0]),t._assigning=!0,Ht(()=>{t._assigning=!1})}),t[xn]=La(a)},mounted(t,{value:e}){r_(t,e)},beforeUpdate(t,e,n){t[xn]=La(n)},updated(t,{value:e}){t._assigning||r_(t,e)}};function r_(t,e){const n=t.multiple,a=Ye(e);if(!(n&&!a&&!Cr(e))){for(let r=0,i=t.options.length;rString(l)===String(o)):s.selected=Bu(e,o)>-1}else s.selected=e.has(o);else if(wa(vr(s),e)){t.selectedIndex!==r&&(t.selectedIndex=r);return}}!n&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function vr(t){return"_value"in t?t._value:t.value}function qf(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const vh={created(t,e,n){Ei(t,e,n,null,"created")},mounted(t,e,n){Ei(t,e,n,null,"mounted")},beforeUpdate(t,e,n,a){Ei(t,e,n,a,"beforeUpdate")},updated(t,e,n,a){Ei(t,e,n,a,"updated")}};function Rh(t,e){switch(t){case"SELECT":return Nu;case"TEXTAREA":return ai;default:switch(e){case"checkbox":return $f;case"radio":return hh;default:return ai}}}function Ei(t,e,n,a,r){const s=Rh(t.tagName,n.props&&n.props.type)[r];s&&s(t,e,n,a)}const Ch=["ctrl","shift","alt","meta"],yh={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>Ch.some(n=>t[`${n}Key`]&&!e.includes(n))},ga=(t,e)=>{if(!t)return t;const n=t._withMods||(t._withMods={}),a=e.join(".");return n[a]||(n[a]=((r,...i)=>{for(let s=0;s{const n=t._withKeys||(t._withKeys={}),a=e.join(".");return n[a]||(n[a]=(r=>{if(!("key"in r))return;const i=Ma(r.key);if(e.some(s=>s===i||Nh[s]===i))return t(r)}))},Oh=zt({patchProp:uh},WT);let i_;function Ah(){return i_||(i_=yT(Oh))}const Ih=((...t)=>{const e=Ah().createApp(...t),{mount:n}=e;return e.mount=a=>{const r=wh(a);if(!r)return;const i=e._component;!Ze(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const s=n(r,!1,Dh(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),s},e});function Dh(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function wh(t){return Gt(t)?document.querySelector(t):t}/*!
- * pinia v3.0.4
- * (c) 2025 Eduardo San Martin Morote
- * @license MIT
- */let Hf;const rs=t=>Hf=t,Vf=Symbol();function Ou(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var Wr;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(Wr||(Wr={}));function xh(){const t=OE(!0),e=t.run(()=>Y({}));let n=[],a=[];const r=Jr({install(i){rs(r),r._a=i,i.provide(Vf,r),i.config.globalProperties.$pinia=r,a.forEach(s=>n.push(s)),a=[]},use(i){return this._a?n.push(i):a.push(i),this},_p:n,_a:null,_e:t,_s:new Map,state:e});return r}const zf=()=>{};function s_(t,e,n,a=zf){t.add(e);const r=()=>{t.delete(e)&&a()};return!n&&AE()&&sb(r),r}function dr(t,...e){t.forEach(n=>{n(...e)})}const Lh=t=>t(),o_=Symbol(),Cs=Symbol();function Au(t,e){t instanceof Map&&e instanceof Map?e.forEach((n,a)=>t.set(a,n)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const n in e){if(!e.hasOwnProperty(n))continue;const a=e[n],r=t[n];Ou(r)&&Ou(a)&&t.hasOwnProperty(n)&&!Bt(a)&&!da(a)?t[n]=Au(r,a):t[n]=a}return t}const Mh=Symbol();function kh(t){return!Ou(t)||!Object.prototype.hasOwnProperty.call(t,Mh)}const{assign:Aa}=Object;function Ph(t){return!!(Bt(t)&&t.effect)}function Uh(t,e,n,a){const{state:r,actions:i,getters:s}=e,o=n.state.value[t];let c;function l(){o||(n.state.value[t]=r?r():{});const u=Ib(n.state.value[t]);return Aa(u,i,Object.keys(s||{}).reduce((d,_)=>(d[_]=Jr(ue(()=>{rs(n);const m=n._s.get(t);return s[_].call(m,m)})),d),{}))}return c=Wf(t,l,e,n,a,!0),c}function Wf(t,e,n={},a,r,i){let s;const o=Aa({actions:{}},n),c={deep:!0};let l,u,d=new Set,_=new Set,m;const p=a.state.value[t];!i&&!p&&(a.state.value[t]={});let E;function b(C){let f;l=u=!1,typeof C=="function"?(C(a.state.value[t]),f={type:Wr.patchFunction,storeId:t,events:m}):(Au(a.state.value[t],C),f={type:Wr.patchObject,payload:C,storeId:t,events:m});const A=E=Symbol();Ht().then(()=>{E===A&&(l=!0)}),u=!0,dr(d,f,a.state.value[t])}const I=i?function(){const{state:f}=n,A=f?f():{};this.$patch(w=>{Aa(w,A)})}:zf;function R(){s.stop(),d.clear(),_.clear(),a._s.delete(t)}const y=(C,f="")=>{if(o_ in C)return C[Cs]=f,C;const A=function(){rs(a);const w=Array.from(arguments),F=new Set,j=new Set;function _e(pe){F.add(pe)}function be(pe){j.add(pe)}dr(_,{args:w,name:A[Cs],store:U,after:_e,onError:be});let oe;try{oe=C.apply(this&&this.$id===t?this:U,w)}catch(pe){throw dr(j,pe),pe}return oe instanceof Promise?oe.then(pe=>(dr(F,pe),pe)).catch(pe=>(dr(j,pe),Promise.reject(pe))):(dr(F,oe),oe)};return A[o_]=!0,A[Cs]=f,A},L={_p:a,$id:t,$onAction:s_.bind(null,_),$patch:b,$reset:I,$subscribe(C,f={}){const A=s_(d,C,f.detached,()=>w()),w=s.run(()=>st(()=>a.state.value[t],F=>{(f.flush==="sync"?u:l)&&C({storeId:t,type:Wr.direct,events:m},F)},Aa({},c,f)));return A},$dispose:R},U=ar(L);a._s.set(t,U);const N=(a._a&&a._a.runWithContext||Lh)(()=>a._e.run(()=>(s=OE()).run(()=>e({action:y}))));for(const C in N){const f=N[C];if(Bt(f)&&!Ph(f)||da(f))i||(p&&kh(f)&&(Bt(f)?f.value=p[C]:Au(f,p[C])),a.state.value[t][C]=f);else if(typeof f=="function"){const A=y(f,C);N[C]=A,o.actions[C]=f}}return Aa(U,N),Aa(gt(U),N),Object.defineProperty(U,"$state",{get:()=>a.state.value[t],set:C=>{b(f=>{Aa(f,C)})}}),a._p.forEach(C=>{Aa(U,s.run(()=>C({store:U,app:a._a,pinia:a,options:o})))}),p&&i&&n.hydrate&&n.hydrate(U.$state,p),l=!0,u=!0,U}/*! #__NO_SIDE_EFFECTS__ */function ka(t,e,n){let a;const r=typeof e=="function";a=r?n:e;function i(s,o){const c=Bb();return s=s||(c?ja(Vf,null):null),s&&rs(s),s=Hf,s._s.has(t)||(r?Wf(t,e,a,s):Uh(t,a,s)),s._s.get(t)}return i.$id=t,i}const Fh="modulepreload",Bh=function(t){return"/"+t},l_={},Gh=function(e,n,a){let r=Promise.resolve();if(n&&n.length>0){let s=function(l){return Promise.all(l.map(u=>Promise.resolve(u).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),c=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=s(n.map(l=>{if(l=Bh(l),l in l_)return;l_[l]=!0;const u=l.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const _=document.createElement("link");if(_.rel=u?"stylesheet":Fh,u||(_.as="script"),_.crossOrigin="",_.href=l,c&&_.setAttribute("nonce",c),document.head.appendChild(_),u)return new Promise((m,p)=>{_.addEventListener("load",m),_.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function i(s){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s}return r.then(s=>{for(const o of s||[])o.status==="rejected"&&i(o.reason);return e().catch(i)})},Kf="";window.addEventListener("unhandledrejection",t=>{console.error("[API] Unhandled rejection:",t.reason)});async function pt(t,e,n){const a={method:t,headers:{},credentials:"include"};n!==void 0&&(a.headers["Content-Type"]="application/json",a.body=JSON.stringify(n));const r=await fetch(`${Kf}${e}`,a);if(r.status===401){try{const{useAuthStore:s}=await Gh(async()=>{const{useAuthStore:c}=await Promise.resolve().then(()=>bv);return{useAuthStore:c}},void 0),o=s();o.user=null}catch{}const i=await r.text().catch(()=>"");throw new Error(`${t} ${e} → 401: ${i}`)}if(!r.ok){const i=await r.text().catch(()=>"");throw new Error(`${t} ${e} → ${r.status}: ${i}`)}return r.status===204?null:r.json()}function Yh(){return pt("GET","/auth/me")}function $h(){return pt("POST","/auth/logout")}function qh(){return pt("GET","/agents/profiles")}function c_({limit:t=30,offset:e=0,profileId:n=null,search:a=null,special:r=null}={}){const i=new URLSearchParams({limit:String(t),offset:String(e)});return n&&i.set("profile_id",n),a&&i.set("search",a),r!=null&&i.set("special",String(r)),pt("GET",`/sessions?${i.toString()}`)}function u_(t){return pt("GET",`/sessions/${t}/meta`)}function ys(t,e=null,n=200){const a=new URLSearchParams({limit:String(n)});return e!=null&&a.set("before_seq",String(e)),pt("GET",`/sessions/${t}/messages/history?${a.toString()}`)}function Hh(t){return pt("POST","/sessions",{profile_id:t})}function Vh(t){return pt("DELETE",`/sessions/${t}`)}function zh(t,e){return pt("PATCH",`/sessions/${t}/pin`,{pinned:e})}function Wh(t,e){return pt("PATCH",`/sessions/${t}/name`,{name:e})}function Kh(t){return pt("POST",`/sessions/${t}/stop`)}function Qh(t){return pt("POST",`/sessions/${t}/generate-name`)}function Xh(t){return pt("GET",`/sessions/${t}/content`)}function Zh(t){return pt("GET",`/sessions/${t}/tasks`)}function Jh(t){return pt("GET",`/eval/feedback/${t}`)}function jh(t,e,n){return pt("POST","/eval/feedback",{session_id:t,message_index:e,rating:n})}function ev(t){return pt("GET",`/sessions/${t}/files`)}async function tv(t,e){const n=new FormData;n.append("file",e);const a=await fetch(`${Kf}/sessions/${t}/files`,{method:"POST",credentials:"include",body:n});if(!a.ok){const r=await a.text().catch(()=>"");throw new Error(`Upload failed: ${a.status}: ${r}`)}return a.json()}function nv(t){return pt("GET",`/sessions/${t}/recall`)}function Qf(t){return pt("DELETE",`/sessions/${t}/recall`)}function Xf(t){return pt("POST",`/sessions/${t}/recall/skip`)}function av(){return pt("GET","/api-tokens")}function rv(t){return pt("POST","/api-tokens",{name:t})}function iv(t){return pt("DELETE",`/api-tokens/${t}`)}function sv(){return pt("GET","/synapse-targets")}function ov(t,e){return pt("POST","/synapse-targets",{token_ref:t,secret:e})}function lv(t){return pt("DELETE",`/synapse-targets/${t}`)}function cv(){return pt("GET","/synapse-settings")}function uv(t){return pt("PUT","/synapse-settings",t)}function dv(t=20){return pt("GET",`/synapse-settings/versions?limit=${t}`)}function _v(){return pt("GET","/mcp-keys")}function pv(t,e){return pt("PUT",`/mcp-keys/${t}`,{key:e})}function mv(t){return pt("DELETE",`/mcp-keys/${t}`)}function gv(){return pt("GET","/push/vapid-key")}function Ev(t){return pt("POST","/push/subscribe",t)}function fv(t){return pt("DELETE","/push/subscribe",{endpoint:t})}const Un=ka("sessions",()=>{const e=Y([]),n=Y(!1),a=Y(!1),r=Y(!0),i=Y(0),s=Y(null),o=Y(""),c=Y(!1),l=Y(null),u=Y(!1),d=Y(!1),_=Y({});function m(F,j){F==null||!j||_.value[F]!==j&&(_.value[F]=j)}function p(F){for(const j of F)m(j.session_id,j.name)}async function E(F=null){s.value=F,n.value=!0;try{const j=await c_({limit:30,offset:0,profileId:c.value?null:F,search:c.value?o.value:null,special:!!d.value}),_e=Array.isArray(j)?j:j.items,be=new Map(e.value.map(oe=>[oe.session_id,oe]));e.value=_e.map(oe=>{const pe=be.get(oe.session_id);return pe?(Object.assign(pe,oe),pe):oe}),p(e.value),r.value=Array.isArray(j)?!1:j.has_more,i.value=Array.isArray(j)?_e.length:j.next_offset,c.value&&(l.value={query:o.value,items:[..._e],hasMore:r.value,nextOffset:i.value})}finally{n.value=!1}}async function b(){if(!(n.value||a.value||!r.value)){a.value=!0;try{const F=await c_({limit:30,offset:i.value,profileId:c.value?null:s.value,search:c.value?o.value:null,special:!!d.value}),j=Array.isArray(F)?F:F.items,_e=new Set(e.value.map(be=>be.session_id));e.value=[...e.value,...j.filter(be=>!_e.has(be.session_id))],p(e.value),r.value=Array.isArray(F)?!1:F.has_more,i.value=Array.isArray(F)?e.value.length:F.next_offset,c.value&&(l.value={query:o.value,items:[...e.value],hasMore:r.value,nextOffset:i.value})}finally{a.value=!1}}}function I(F){o.value=F,c.value=F.length>0}function R(){o.value&&(c.value=!0,l.value&&l.value.query===o.value?(e.value=l.value.items,r.value=l.value.hasMore,i.value=l.value.nextOffset):E())}function y(){o.value="",c.value=!1,l.value=null}function L(){c.value=!1}async function U(F){const j=await Hh(F),_e=e.value.findIndex(oe=>!oe.pinned),be=_e===-1?e.value.length:_e;return e.value.splice(be,0,{session_id:j.session_id,profile_id:j.profile_id,created_at:j.created_at,last_active:j.created_at,message_count:0,preview:"",pinned:!1}),i.value+=1,j}async function h(F){await Vh(F),e.value=e.value.filter(j=>j.session_id!==F),i.value=Math.max(0,i.value-1)}async function N(F,j){await zh(F,j);const _e=e.value.find(be=>be.session_id===F);_e&&(_e.pinned=j),e.value.sort((be,oe)=>(oe.pinned?1:0)-(be.pinned?1:0))}function C(F,j){const _e=e.value.find(be=>be.session_id===F);_e&&(_e.has_pending_recall=j)}function f(F,j){const _e=e.value.find(be=>be.session_id===F);_e&&(_e.preview=j)}function A(F,j){m(F,j);const _e=e.value.find(be=>be.session_id===F);_e&&(_e.name=j)}const w=ue(()=>u.value?e.value.filter(F=>F.has_pending_recall):e.value);return{nameById:_,sessions:e,filteredSessions:w,loading:n,loadingMore:a,hasMore:r,currentProfileId:s,searchQuery:o,searchActive:c,hasPendingRecallFilter:u,showSpecial:d,fetchSessions:E,fetchMoreSessions:b,rememberName:m,createSession:U,deleteSession:h,pinSession:N,updatePreview:f,updateName:A,updateRecallStatus:C,setSearch:I,restoreSearch:R,clearSearch:y,exitSearch:L,searchCache:l}}),li=ka("profiles",()=>{const t=Y([]),e=Y(null),n=Y(!1);async function a(){n.value=!0;try{t.value=await qh(),t.value.length&&!e.value&&(e.value=t.value[0].id)}finally{n.value=!1}}function r(i){return t.value.find(s=>s.id===i)??null}return{profiles:t,selectedProfileId:e,loading:n,fetchProfiles:a,getProfile:r}});let d_=null;async function Sv(t){try{const e=Un(),n=e.sessions.find(r=>r.session_id===t);if(n!=null&&n.name)return;const{name:a}=await Qh(t);a&&e.updateName(t,a)}catch{}}const sn=ka("chat",()=>{const t=Un(),e=Y(null),n=Y(null),a=Y([]),r=Y(!1),i=Y([]),s=Y([]),o=Y([]),c=Y([]),l=Y(0),u=Y(0),d=Y(!1),_=Y(0),m=Y(!1),p=qE(null),E=Y(!1),b=Y(null),I=Y(null),R=Y({}),y=Y({}),L=Y({count:0,max:5}),U=new Map,h=Y([]),N=new Set,C=new Set,f=Y(!1),A=Y(!1),w=Y(null);async function F(O,G=null){if(!(e.value===O&&G==null)){d_=O,h.value=[],N.clear(),d.value=!0,a.value=[],o.value=[],c.value=[],r.value=!1,m.value=!1,p.value=null,l.value=0,u.value=0,R.value={},y.value={},C.clear(),L.value={count:0,max:5},U.clear(),b.value=G;try{const[Q,fe]=await Promise.all([u_(O),ys(O,null,200)]);if(d_!==O)return;if(n.value=Q.profile_id??null,t.rememberName(O,Q.name),a.value=vt(fe.items??[]),f.value=!1,A.value=fe.has_more??!1,w.value=fe.next_before_seq??null,Q.context_token_count&&(l.value=Q.context_token_count),Q.max_context_tokens&&(u.value=Q.max_context_tokens),G!=null){let he=0;for(;!a.value.some(we=>{var Pe;return(Pe=we.rawIndices)==null?void 0:Pe.includes(G)})&&A.value&&he<20;)await dt(),he++}await Promise.all([be(O),oe(O),pe(O)]),e.value=O,location.hash=O,Ce(O)}catch(Q){console.error("[chat] loadSession failed",Q)}finally{d.value=!1}}}function j(){e.value=null,n.value=null,a.value=[],h.value=[],N.clear(),o.value=[],c.value=[],r.value=!1,m.value=!1,p.value=null,l.value=0,u.value=0,R.value={},y.value={},C.clear(),L.value={count:0,max:5},U.clear(),location.hash=""}async function _e(O){if(O&&!r.value)try{const[G,Q]=await Promise.all([u_(O),ys(O,null,200)]);if(r.value)return;n.value=G.profile_id??null;const fe=vt(Q.items??[]);a.value=fe,A.value=Q.has_more??!1,w.value=Q.next_before_seq??null,await Promise.all([be(O),oe(O),pe(O),Ce(O)]),G.context_token_count&&(l.value=G.context_token_count),G.max_context_tokens&&(u.value=G.max_context_tokens),p.value=null,r.value=!1,m.value=!1}catch{}}async function be(O){var G,Q;try{const{feedback:fe=[]}=await Jh(O);if(!fe.length)return;const he=new Map(fe.map(we=>[we.message_index,we.rating]));for(const we of a.value){if(we.role!=="assistant")continue;const Pe=(Q=(G=we.id)==null?void 0:G.startsWith)!=null&&Q.call(G,"h_")?Number(we.id.slice(2)):NaN;Number.isInteger(Pe)&&he.has(Pe)&&(we.rating=he.get(Pe))}}catch{}}async function oe(O=e.value){if(!O){o.value=[];return}try{const{content:G=[]}=await Xh(O);o.value=G}catch{o.value=[]}}async function pe(O=e.value){if(!O){c.value=[];return}try{const{files:G=[]}=await ev(O);c.value=G}catch{c.value=[]}}async function Ce(O=e.value){if(!O){y.value={};return}let G=[];try{G=(await Zh(O)).tasks??[]}catch{return}if(e.value!==O)return;const Q={};for(const fe of G)Q[fe.task_id]={taskId:fe.task_id,tool:fe.tool,status:fe.status,startedAt:fe.started_at??null,finishedAt:fe.finished_at??null,argsSummary:fe.args_summary??"",preview:fe.result_preview??"",subagentTokens:fe.subagent_tokens??null},fe.status!=="running"&&C.add(fe.task_id);for(const fe of Object.values(y.value))Q[fe.taskId]=fe;y.value=Q}function ot(O){if(!(O!=null&&O.filename))return;const G=O.id||O.filename,Q=o.value.findIndex(he=>(he.id||he.filename)===G),fe={...O};Q===-1?o.value.unshift(fe):o.value.splice(Q,1,{...o.value[Q],...fe})}async function lt(O,G){var we,Pe;if(!e.value||!O)return;const Q=(Pe=(we=O.id)==null?void 0:we.startsWith)!=null&&Pe.call(we,"h_")?Number(O.id.slice(2)):NaN;if(!Number.isInteger(Q))return;const fe=O.rating===G?0:G,he=O.rating??0;O.rating=fe;try{await jh(e.value,Q,fe)}catch(Je){throw O.rating=he,Je}}function at(O){e.value&&(O?localStorage.setItem(`draft:${e.value}`,O):localStorage.removeItem(`draft:${e.value}`))}function We(O){return localStorage.getItem(`draft:${O}`)??""}function Ae(){if(p.value){const G=a.value.indexOf(p.value);G!==-1&&a.value.splice(G,1),p.value=null}r.value=!0,m.value=!1,L.value={count:0,max:L.value.max},U.clear();const O={id:`stream_${Date.now()}`,role:"assistant",type:"stream",thinking:null,tools:[],text:"",done:!1,time:new Date().toISOString(),animate:!E.value,statusLabel:null};a.value.push(O),p.value=a.value[a.value.length-1]}function He(){E.value=!0}function ke(){E.value=!1,p.value&&(p.value.animate=!0)}function rt(O){const G=p.value;G&&(G.thinking||(G.thinking={text:"",done:!1}),G.thinking.text+=O)}function je(){const O=p.value;O!=null&&O.thinking&&(O.thinking.done=!0)}function Ke(O){for(let G=O.tools.length-1;G>=0;G--){const Q=O.tools[G];if(Q.kind==="tool"&&Q.name==="spawn_agent")return Q}}function Et(O){const G=p.value;if(!G)return;const Q={kind:"turn_thinking",isSubagent:O.is_subagent??!1,thinking:{text:O.thinking??"",done:!0}};if(O.is_subagent){const fe=Ke(G);if(fe){fe.steps.push(Q);return}}G.tools.push(Q)}function ut(O){const G=p.value;if(G){if(O.is_subagent){const Q=Ke(G);Q&&(Q.planningLabel=O.label??"");return}G.statusLabel=O.label??""}}function bt(O){const G=p.value;if(G){if(O.is_subagent){const Q=Ke(G);Q&&(Q.planningLabel=null,Q.steps.push({kind:"plan",text:O.plan??""}));return}G.statusLabel=null,G.tools.push({kind:"plan",text:O.plan??""})}}function D(O){var fe,he;const G=p.value;if(!G)return;const Q={kind:"tool",id:`tool_${Date.now()}`,toolCallId:O.tool_call_id??null,name:O.tool,args:O.args,result:null,success:null,pending:!0,startedAt:Date.now(),isSubagent:O.is_subagent??!1,steps:[],terminalName:O.tool==="terminal"&&((fe=O.args)==null?void 0:fe.terminal_name)||null};if(Q.toolCallId&&U.set(Q.toolCallId,Q),Q.parentMsg=G,O.is_subagent){const we=Ke(G);if(we){we.steps.push(Q);return}}if(G.tools.push(Q),O.tool==="terminal"&&((he=O.args)==null?void 0:he.action)==="open"){const we=O.args.terminal_name;if(we){const Pe=R.value[we]||{};R.value={...R.value,[we]:{...Pe,name:we,description:O.args.description||"",command:O.args.command||"",background:O.args.background||!1,output:Pe.output||"",closed:!1}}}}}function P(O){var Q,fe;if((Q=O.metadata)!=null&&Q.is_image&&((fe=O.metadata)!=null&&fe.base64)&&Ut([O.metadata.data_url??`data:image/jpeg;base64,${O.metadata.base64}`]),O.is_subagent&&!O.tool_call_id){const he=p.value??K(),we=he?Ke(he):null;if(we)for(let Pe=we.steps.length-1;Pe>=0;Pe--){const Je=we.steps[Pe];if(Je.kind==="tool"&&Je.name===O.tool&&Je.pending){z(Je,O);return}}}let G=O.tool_call_id?U.get(O.tool_call_id)??null:null;if(!G&&!O.tool_call_id){const he=p.value;if(he)for(let we=he.tools.length-1;we>=0;we--){const Pe=he.tools[we];if(Pe.kind==="tool"&&Pe.name===O.tool&&Pe.pending){G=Pe;break}}}G||(G=Z(O)),G&&z(G,O)}function z(O,G){var Q,fe,he,we,Pe;{if(O.result=G.result,O.success=G.success!==!1,O.pending=!1,G.metadata&&(O.metadata=G.metadata),G.tool==="mcp__navi_ui__render_component"&&O.success&&((Q=G.metadata)!=null&&Q.ui_component)){const Je=O.parentMsg??p.value??K();Je&&!O.isSubagent&&Je.tools.push({kind:"ui_component",component:G.metadata.ui_component.component??"",payload:G.metadata.ui_component.payload??{}})}if(G.tool==="content_publish"&&O.success&&G.metadata&&ot(G.metadata),G.tool==="filesystem"&&O.success&&e.value){const Je=typeof O.args=="object"?(fe=O.args)==null?void 0:fe.action:null;["write","edit","append","mkdir","rm","cp","mv"].includes(Je)&&pe(e.value),["write","edit"].includes(Je)&&oe(e.value)}if((G.tool==="terminal"||G.tool==="code_exec")&&O.success&&e.value&&pe(e.value),G.tool==="terminal"&&O.success&&e.value){const Je=typeof O.args=="object"?(he=O.args)==null?void 0:he.action:null,k=(we=O.args)==null?void 0:we.terminal_name;if(G.metadata){if(Je==="open"||Je==="status"){if(k){const V=R.value[k]||{};R.value={...R.value,[k]:{...V,...G.metadata,name:k,closed:!1}}}}else if(Je==="list"&&Array.isArray(G.metadata.terminals))for(const V of G.metadata.terminals){if(!V.name)continue;const se=R.value[V.name]||{};R.value={...R.value,[V.name]:{...se,...V,closed:!1}}}else if(Je==="close"&&k){const V=R.value[k]||{};R.value={...R.value,[k]:{...V,closed:!0,closeReason:"explicit"}}}}}if(G.tool==="schedule_recall"&&O.success&&e.value&&(et(e.value),Un().updateRecallStatus(e.value,!0)),G.tool==="manage_recall"&&O.success&&e.value){const Je=(Pe=O.args)==null?void 0:Pe.action;Je==="cancel"?(I.value=null,Un().updateRecallStatus(e.value,!1)):Je==="skip"&&et(e.value)}}}function K(){for(let O=a.value.length-1;O>=0;O--){const G=a.value[O];if(G.role==="assistant"&&Array.isArray(G.tools))return G}return null}function Z(O){const G=p.value??K();if(!G)return null;const Q={kind:"tool",id:`tool_${Date.now()}`,toolCallId:O.tool_call_id??null,name:O.tool,args:null,result:null,success:null,pending:!1,isSubagent:O.is_subagent??!1,steps:[]};if(Q.parentMsg=G,Q.toolCallId&&U.set(Q.toolCallId,Q),O.is_subagent){const fe=Ke(G);if(fe)return fe.steps.push(Q),Q}return G.tools.push(Q),Q}function W(O){const G=O.task_id;if(G&&!(O.session_id&&e.value&&O.session_id!==e.value)){if(O.parent_tool_call_id){const Q=U.get(O.parent_tool_call_id);if(Q){const fe=Q.steps[Q.steps.length-1];(fe==null?void 0:fe.kind)==="task_update"&&fe.status===O.status&&fe.preview===(O.result_preview??"")||Q.steps.push({kind:"task_update",taskId:G,tool:O.tool,status:O.status,preview:O.result_preview??""}),O.subagent_tokens!=null&&(Q.subagentTokens=O.subagent_tokens)}}if(O.status!=="running"){C.add(G);const Q=y.value[G];Q&&(y.value={...y.value,[G]:{...Q,status:O.status,preview:O.result_preview??Q.preview,finishedAt:O.finished_at??Q.finishedAt??null,subagentTokens:O.subagent_tokens??Q.subagentTokens??null}})}else!C.has(G)&&!y.value[G]&&(y.value={...y.value,[G]:{taskId:G,tool:O.tool,status:O.status,startedAt:O.started_at??null,finishedAt:null,argsSummary:O.args_summary??"",preview:"",subagentTokens:null}})}}function de(O){L.value={count:O.queue_len??1,max:O.max??5},m.value=!1}function ae(O){const G=O.terminal_name;if(!G)return;const Q=R.value[G]||{};R.value={...R.value,[G]:{...Q,name:G,closed:!1}}}function re(O){const G=O.terminal_name;if(!G)return;const Q=R.value[G]||{output:""},fe={...Q,output:(Q.output||"")+(O.delta||"")};R.value={...R.value,[G]:fe};const he=p.value;if(he)for(let we=he.tools.length-1;we>=0;we--){const Pe=he.tools[we];if(Pe.kind==="tool"&&Pe.name==="terminal"&&Pe.terminalName===G){Pe.terminalOutput=fe.output;break}}}function ee(O){const G=O.terminal_name;if(!G)return;const fe={...R.value[G]||{},closed:!0,closeReason:O.reason||"unknown"};R.value={...R.value,[G]:fe};const he=p.value;if(he)for(let we=he.tools.length-1;we>=0;we--){const Pe=he.tools[we];if(Pe.kind==="tool"&&Pe.name==="terminal"&&Pe.terminalName===G&&Pe.pending){Pe.pending=!1,Pe.success=O.reason!=="error";break}}}function Ne(O){const G=p.value;G&&(G.statusLabel&&(G.statusLabel=null),G.text+=O)}function ce(O){const G=p.value;if(G){G.done=!0,G.elapsed_seconds=(O==null?void 0:O.elapsed_seconds)??null,G.tool_call_count=(O==null?void 0:O.tool_call_count)??null,G.token_count=(O==null?void 0:O.token_count)??null;const Q=a.value.filter(fe=>fe.role==="assistant").length-1;G.id=`h_${Q}`,p.value=null,!G.thinking&&!G.tools.length&&!G.text&&(a.value=a.value.filter(fe=>fe!==G))}r.value=!1,m.value=!1,(O==null?void 0:O.context_tokens)!=null&&(l.value=O.context_tokens),(O==null?void 0:O.max_context_tokens)!=null&&(u.value=O.max_context_tokens),e.value&&(G!=null&&G.text)&&Un().updatePreview(e.value,G.text.slice(0,80)),e.value&&Sv(e.value)}function Re(){const O=p.value;if(O){O.done=!0;const G=a.value.filter(Q=>Q.role==="assistant").length-1;O.id=`h_${G}`,p.value=null,!O.thinking&&!O.tools.length&&!O.text&&(a.value=a.value.filter(Q=>Q!==O))}r.value=!1,m.value=!1}function ye(O){n.value=O.profile_id}function Fe(O){(O==null?void 0:O.context_tokens)!=null&&(l.value=O.context_tokens),(O==null?void 0:O.max_context_tokens)!=null&&(u.value=O.max_context_tokens),a.value.push({id:`compress_pending_${Date.now()}`,role:"system",type:"compression_pending",text:"Compressing context…"})}function qe(O){(O==null?void 0:O.context_tokens)!=null&&(l.value=O.context_tokens),(O==null?void 0:O.max_context_tokens)!=null&&(u.value=O.max_context_tokens),a.value=a.value.filter(G=>G.type!=="compression_pending"),a.value.push({id:`compress_${Date.now()}`,role:"system",type:"compression_notice",before:O.messages_before,after:O.messages_after,summary:O.summary??""})}function Qe(O){r.value=!1,m.value=!1,p.value=null,a.value.push({id:`err_${Date.now()}`,role:"system",type:"error",text:O.message??"An error occurred"})}async function et(O=e.value){if(!O){I.value=null;return}try{const G=await nv(O);G&&G.id?I.value=G:I.value=null}catch{I.value=null}}async function dt(){if(!(!e.value||f.value||!A.value)){f.value=!0;try{const O=await ys(e.value,w.value),G=vt(O.items??[]);a.value=[...G,...a.value],A.value=O.has_more??!1,w.value=O.next_before_seq??null}catch(O){console.error("[chat] loadArchivedMessages failed",O)}finally{f.value=!1}}}function Lt(O=!1,G=null){A.value=O,w.value=G}function Mt(O){if(!O.session_id)return;const G=Un(),Q=O.status==="pending";G.updateRecallStatus(O.session_id,Q),O.session_id===e.value&&(Q?et(O.session_id):I.value=null)}function Vt(O,G,Q){a.value.push({id:`user_${Date.now()}`,role:"user",text:O,images:[...G],files:[...Q],time:new Date().toISOString(),animate:!0})}function Ut(O){for(const G of O)!G||N.has(G)||(N.add(G),h.value.push(G))}function vt(O){var he,we,Pe,Je,k;const G=[];let Q=0;const fe=V=>{var Ie;const se=O[V];return((Ie=se==null?void 0:se.metadata)==null?void 0:Ie.display_index)??V};for(;Qtypeof mt=="string"&&mt.startsWith("data:")?mt:`data:image/jpeg;base64,${String(mt??"")}`);if((we=(he=V.content)==null?void 0:he.startsWith)!=null&&we.call(he,"[Image loaded via")&&Ie.length){Ut(Ie),Q++;continue}G.push({id:`h_${se}`,role:"user",text:V.content??"",images:Ie,files:V.files??[],time:V.created_at??null,rawIndices:[se],isRecall:V.is_recall??!1}),Q++;continue}if(V.role==="assistant"){const Ie=Q,mt=se,_t=[];let ve=null,me="",De=null;for(;Q=O.length||O[Q].role!=="assistant")break}}if(ve||_t.length||me){const it=`h_${mt}`;let ct=null,Ft=null,kt=null;for(let on=Ie;onfe(Ie+Qt))})}continue}Q++}return G}return{currentId:e,currentProfileId:n,messages:a,streaming:r,pendingImages:i,pendingFiles:s,artifacts:o,files:c,viewedImages:h,contextTokens:l,maxContextTokens:u,loading:d,imagesProcessing:_,awaitingStream:m,streamingMsg:p,scrollToMessageIndex:b,recall:I,terminals:R,backgroundTasks:y,queuedMessages:L,archiveLoading:f,archiveHasMore:A,archiveNextBefore:w,loadSession:F,clearSession:j,reloadSession:_e,fetchArtifacts:oe,fetchFiles:pe,fetchTasks:Ce,rateMessage:lt,saveDraft:at,loadDraft:We,appendUserMessage:Vt,buildMessageList:vt,onStreamStart:Ae,onReplayStart:He,onReplayEnd:ke,onThinkingDelta:rt,onThinkingEnd:je,onTurnThinking:Et,onPlanningStatus:ut,onPlanReady:bt,onToolStarted:D,onToolCall:P,onTerminalOutput:re,onTerminalClosed:ee,onTerminalOpened:ae,onTaskUpdate:W,onMessageQueued:de,onStreamDelta:Ne,onStreamEnd:ce,onStreamStopped:Re,onProfileSwitched:ye,onCompressionStarted:Fe,onContextCompressed:qe,onError:Qe,loadRecall:et,onRecallUpdate:Mt,loadArchivedMessages:dt,initArchiveState:Lt}}),is=ka("auth",()=>{const t=Y(null),e=Y(!1),n=Y(!1),a=ue(()=>t.value!==null),r=ue(()=>{var _;return((_=t.value)==null?void 0:_.role)==="admin"});function i(_){return t.value?t.value.role==="admin"?!0:(t.value.permissions||[]).includes(_):!1}async function s(){var _;console.log("[auth] fetchMe start"),e.value=!0;try{t.value=await Yh(),console.log("[auth] fetchMe success",t.value)}catch(m){console.log("[auth] fetchMe error",m.message),(_=m.message)!=null&&_.includes("401")&&(t.value=null)}finally{e.value=!1,console.log("[auth] fetchMe loading=false")}}const o=Y(!0);async function c(){console.log("[auth] fetchStatus start");try{const _=await fetch("/auth/status");if(console.log("[auth] fetchStatus response",_.status,_.ok),_.ok){const m=await _.json();console.log("[auth] fetchStatus data",m),o.value=m.enabled!==!1,n.value=!!m.configured,console.log("[auth] fetchStatus authEnabled set to",o.value),console.log("[auth] fetchStatus authConfigured set to",n.value)}else console.log("[auth] fetchStatus not ok"),o.value=!0,n.value=!1}catch(_){console.log("[auth] fetchStatus error",_),o.value=!0,n.value=!1}}function l(){const _=navigator.userAgent.includes("NaviAndroid"),m=new URLSearchParams;_&&m.set("platform","android");const p=m.toString();window.location.href="/auth/login"+(p?"?"+p:"")}async function u(){try{await $h()}catch{}t.value=null,window.location.reload()}const d=ue(()=>!o.value);return{user:t,loading:e,authConfigured:n,authEnabled:o,isAuthenticated:a,isAdmin:r,isNoAuthMode:d,hasPermission:i,fetchMe:s,fetchStatus:c,login:l,logout:u}}),bv=Object.freeze(Object.defineProperty({__proto__:null,useAuthStore:is},Symbol.toStringTag,{value:"Module"})),ju="/images/logo.svg";function __(t){if(!t)return"";const e=new Date(t);if(isNaN(e))return"";const n=Date.now()-e;return n<6e4?"just now":n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):e.toLocaleDateString()}function ed(t){const e=Y(__(t.value));let n=null;function a(){e.value=__(t.value)}return Sn(()=>{a(),n=setInterval(a,3e4)}),fa(()=>{n&&clearInterval(n)}),e}const ki=Y(!1),Zf=qE(""),Iu=[];function Tv(){return{visible:ki,message:Zf}}function ss(){return function(e){return Zf.value=e,ki.value=!0,new Promise(n=>{Iu.push(n)})}}function p_(t){ki.value=!1;const e=Iu.shift();e==null||e(t),Iu.length===0&&(ki.value=!1)}const ht=(t,e)=>{const n=t.__vccOpts||t;for(const[a,r]of e)n[a]=r;return n},hv={key:0,class:"session-icons"},vv={key:0,class:"ph ph-push-pin session-pin-icon",title:"Pinned"},Rv={key:1,class:"ph ph-clock session-recall-icon",title:"Scheduled recall pending"},Cv={key:2,class:"ph ph-robot session-special-icon",title:"Service session (Synapse reaction)"},yv={class:"session-info"},Nv={class:"session-name-row"},Ov=["innerHTML"],Av=["innerHTML"],Iv={key:1,class:"session-time"},Dv=["title"],wv={__name:"SessionItem",props:{session:{type:Object,required:!0},active:{type:Boolean,default:!1},searchQuery:{type:String,default:""}},emits:["select","delete","pin","cancel-recall","skip-recall"],setup(t,{emit:e}){const n=t,a=e,r=ss(),i=ue(()=>{const p=n.session.session_id??"";return n.session.name||p.slice(0,8)}),s=ue(()=>n.searchQuery&&n.session.match_preview?n.session.match_preview:n.session.preview),o=ue(()=>n.session.last_active),c=ed(o);function l(p){return typeof p!="string"?String(p??""):p.replace(/&/g,"&").replace(//g,">")}function u(p,E){if(!E||!p)return l(p);const b=E.toLowerCase(),I=p.toLowerCase(),R=[];let y=0;for(;;){const L=I.indexOf(b,y);if(L===-1)break;L>y&&R.push(l(p.slice(y,L))),R.push(`${l(p.slice(L,L+E.length))}`),y=L+E.length}return yu(i.value,n.searchQuery)),_=ue(()=>u(s.value,n.searchQuery));async function m(){await r("Delete this conversation?")&&a("delete")}return(p,E)=>(v(),x("div",{class:Ge(["session-item",{"is-active":t.active,"is-pinned":t.session.pinned,"has-recall":t.session.has_pending_recall,"is-special":t.session.special}]),onClick:E[4]||(E[4]=b=>a("select"))},[t.session.pinned||t.session.has_pending_recall||t.session.special?(v(),x("div",hv,[t.session.pinned?(v(),x("i",vv)):J("",!0),t.session.has_pending_recall?(v(),x("i",Rv)):J("",!0),t.session.special?(v(),x("i",Cv)):J("",!0)])):J("",!0),g("div",yv,[g("div",Nv,[g("span",{class:"session-name",innerHTML:d.value},null,8,Ov)]),s.value?(v(),x("div",{key:0,class:"session-preview",innerHTML:_.value},null,8,Av)):J("",!0),$(c)?(v(),x("div",Iv,X($(c)),1)):J("",!0)]),g("div",{class:"session-actions",onClick:E[3]||(E[3]=ga(()=>{},["stop"]))},[t.session.has_pending_recall?(v(),x("button",{key:0,class:"btn-icon",title:"Cancel recall",onClick:E[0]||(E[0]=b=>a("cancel-recall"))},[...E[5]||(E[5]=[g("i",{class:"ph ph-clock-slash"},null,-1)])])):J("",!0),t.session.has_pending_recall?(v(),x("button",{key:1,class:"btn-icon",title:"Skip next",onClick:E[1]||(E[1]=b=>a("skip-recall"))},[...E[6]||(E[6]=[g("i",{class:"ph ph-skip-forward"},null,-1)])])):J("",!0),g("button",{class:"btn-icon",title:t.session.pinned?"Unpin":"Pin",onClick:E[2]||(E[2]=b=>a("pin"))},[g("i",{class:Ge(t.session.pinned?"ph ph-push-pin-slash":"ph ph-push-pin")},null,2)],8,Dv),g("button",{class:"btn-icon",title:"Delete",onClick:m},[...E[7]||(E[7]=[g("i",{class:"ph ph-trash"},null,-1)])])])],2))}},xv=ht(wv,[["__scopeId","data-v-308a2eeb"]]),Lv={class:"ptr-label"},Mv={key:0,class:"sessions-loading"},kv={key:1,class:"empty-sessions"},Pv={key:2,class:"empty-sessions"},Uv={key:4,class:"sessions-loading sessions-loading-more"},m_=80,Fv=120,Bv={__name:"SessionList",emits:["select"],setup(t,{emit:e}){const n=e,a=Un(),r=sn(),i=li();st(()=>i.selectedProfileId,N=>{N&&N!==a.currentProfileId&&a.fetchSessions(N)});function s(N){n("select",N)}async function o(N){const C=N.session_id===r.currentId;await a.deleteSession(N.session_id),C&&r.clearSession()}async function c(N){await a.pinSession(N.session_id,!N.pinned)}async function l(N){try{await Qf(N.session_id),a.updateRecallStatus(N.session_id,!1)}catch(C){console.error("cancel recall failed",C)}}async function u(N){try{await Xf(N.session_id)}catch(C){console.error("skip recall failed",C)}}function d(N){const C=N.target;C.scrollHeight-C.scrollTop-C.clientHeight<160&&a.fetchMoreSessions()}const _=Y(!1),m=Y(0),p=Y(!1),E=Y(null),b=ue(()=>({transform:`translateY(${Math.min(m.value,Fv)}px)`,opacity:_.value?Math.min(m.value/m_,1):0})),I=ue(()=>a.loading?"Refreshing...":p.value?"Release to refresh":"Pull to refresh");let R=0,y=0;function L(N){var f;const C=E.value;C&&(y=C.scrollTop||0,!(y>2)&&(R=((f=N.touches[0])==null?void 0:f.clientY)??0,_.value=!1,m.value=0,p.value=!1))}function U(N){var A;if(y>2||!R)return;const f=(((A=N.touches[0])==null?void 0:A.clientY)??0)-R;if(f<=0){_.value=!1;return}f>4&&N.preventDefault(),_.value=!0,m.value=f,p.value=f>=m_}function h(){p.value&&!a.loading&&a.fetchSessions(i.selectedProfileId),_.value=!1,m.value=0,p.value=!1,R=0,y=0}return(N,C)=>(v(),x("div",{class:"session-list-wrap",onTouchstart:L,onTouchmove:U,onTouchend:h},[g("div",{class:Ge(["ptr-indicator",{"ptr-active":_.value&&!$(a).loading}]),style:Da(b.value)},[g("span",{class:Ge(["ptr-spinner",{"ptr-spinning":p.value}])},null,2),g("span",Lv,X(I.value),1)],6),$(a).loading&&!$(a).sessions.length?(v(),x("div",Mv,[...C[0]||(C[0]=[g("span",{class:"sessions-spinner"},null,-1),g("p",null,"Loading conversations...",-1)])])):$(a).sessions.length?$(a).filteredSessions.length?J("",!0):(v(),x("div",Pv,[...C[2]||(C[2]=[g("i",{class:"ph ph-faders"},null,-1),g("p",null,"No conversations match the current filter",-1)])])):(v(),x("div",kv,[...C[1]||(C[1]=[g("i",{class:"ph ph-chat-dots"},null,-1),g("p",null,"No conversations yet",-1)])])),$(a).filteredSessions.length?(v(),x("div",{key:3,ref_key:"scrollerRef",ref:E,class:Ge(["session-scroller",{"ptr-pulled":_.value}]),onScrollPassive:d},[(v(!0),x(Ue,null,Dt($(a).filteredSessions,(f,A)=>(v(),ze(xv,{key:f.session_id,session:f,active:f.session_id===$(r).currentId,"search-query":$(a).searchActive?$(a).searchQuery:"",onSelect:w=>s(f),onDelete:w=>o(f),onPin:w=>c(f),onCancelRecall:w=>l(f),onSkipRecall:w=>u(f)},null,8,["session","active","search-query","onSelect","onDelete","onPin","onCancelRecall","onSkipRecall"]))),128))],34)):J("",!0),$(a).loadingMore?(v(),x("div",Uv,[...C[3]||(C[3]=[g("span",{class:"sessions-spinner"},null,-1)])])):J("",!0)],32))}},Gv=ht(Bv,[["__scopeId","data-v-306ab182"]]),Yv={class:"sidebar-header"},$v={class:"sidebar-logo-row"},qv={class:"sidebar-sessions"},Hv={class:"sessions-header"},Vv={class:"sessions-label"},zv={class:"sessions-header-actions"},Wv={class:"sidebar-footer"},Kv={class:"user-info",title:"Authorization is disabled"},Qv={class:"sidebar-footer-actions"},Xv=["href"],Zv={class:"user-name"},Jv={class:"sidebar-footer-actions"},jv={key:0,href:"/admin",target:"_blank",rel:"noopener noreferrer",class:"btn-icon admin-link",title:"Admin"},eR={__name:"AppSidebar",props:{mobileOpen:Boolean},emits:["close"],setup(t,{emit:e}){const n=t,a=e,r=li(),i=Un(),s=sn(),o=is(),c=Y(!1),l=Y(""),u=Y(null);let d=null;st(()=>s.currentProfileId,C=>{C&&(r.selectedProfileId=C)}),st(()=>r.selectedProfileId,C=>{C&&(c.value&&(c.value=!1,i.exitSearch()),i.fetchSessions(C),Ht(()=>{var f,A;(A=(f=_.value)==null?void 0:f.querySelector(".chip-selected"))==null||A.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}))},{immediate:!0});const _=Y(null);function m(C){const f=_.value;f&&(f.scrollLeft+=Math.abs(C.deltaX)>Math.abs(C.deltaY)?C.deltaX:C.deltaY)}function p(C,f){var A;r.selectedProfileId=C,(A=f==null?void 0:f.currentTarget)==null||A.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}function E(){i.showSpecial=!i.showSpecial,i.showSpecial&&c.value&&(c.value=!1,l.value="",i.clearSearch(),i.exitSearch()),i.fetchSessions(r.selectedProfileId)}function b(){var A;const C=((A=u.value)==null?void 0:A.$el)??u.value;if(!C)return;const f=C.querySelector("input");f==null||f.focus()}st(()=>s.currentProfileId,C=>{C&&(r.selectedProfileId=C)});function I(){c.value=!c.value,c.value&&(setTimeout(b,50),i.searchQuery&&(l.value=i.searchQuery,i.restoreSearch()))}function R(){c.value&&(c.value=!1,i.exitSearch(),i.fetchSessions(r.selectedProfileId))}function y(){c.value=!1,l.value="",i.clearSearch(),i.exitSearch(),i.fetchSessions(r.selectedProfileId)}st(l,C=>{if(d&&clearTimeout(d),!C){i.clearSearch(),i.fetchSessions(r.selectedProfileId);return}d=setTimeout(()=>{i.setSearch(C),i.fetchSessions()},300)});function L(){s.clearSession(),a("close")}async function U(C){var A;const f=i.searchActive;f&&C.profile_id&&(r.selectedProfileId=C.profile_id),await s.loadSession(C.session_id,f?(A=C.match_indices)==null?void 0:A[0]:null),f&&(c.value=!1,i.exitSearch(),i.fetchSessions(r.selectedProfileId)),a("close")}function h(){location.hash="#settings",a("close")}function N(C){(C.ctrlKey||C.metaKey)&&C.key==="k"&&(C.preventDefault(),I())}return Sn(()=>window.addEventListener("keydown",N)),Yn(()=>window.removeEventListener("keydown",N)),(C,f)=>{var be,oe,pe,Ce,ot,lt,at;const A=tt("GnButton"),w=tt("GnIconButton"),F=tt("GnSearchField"),j=tt("GnChip"),_e=tt("GnAvatar");return v(),x("aside",{class:Ge(["app-sidebar",{"is-mobile-open":n.mobileOpen}])},[g("div",Yv,[g("div",$v,[f[5]||(f[5]=g("div",{class:"sidebar-logo"},[g("img",{src:ju,alt:"Navi"}),g("span",null,"Navi")],-1)),ne(A,{variant:"primary",icon:"ph ph-plus",onClick:L},{default:Be(()=>[...f[4]||(f[4]=[$e(" New Chat ",-1)])]),_:1}),ne(w,{icon:"ph ph-x",label:"Close",class:"sidebar-close-btn",onClick:f[0]||(f[0]=We=>a("close"))})])]),g("div",{class:Ge(["sidebar-search",{"is-open":c.value}])},[g("div",{class:Ge(["sidebar-search-inner",{"is-loading":$(i).loading&&$(i).searchActive}])},[ne(F,{ref_key:"searchFieldEl",ref:u,modelValue:l.value,"onUpdate:modelValue":f[1]||(f[1]=We=>l.value=We),placeholder:"Search conversations...",compact:"",clearable:"",onClear:y,onKeydown:ea(R,["esc"])},null,8,["modelValue"])],2)],2),g("div",qv,[g("div",{ref_key:"profilesEl",ref:_,class:"sessions-profiles",onWheel:ga(m,["prevent"])},[(v(!0),x(Ue,null,Dt($(r).profiles,We=>(v(),ze(j,{key:We.id,clickable:"",selected:$(r).selectedProfileId===We.id,onClick:Ae=>p(We.id,Ae)},{default:Be(()=>[$e(X(We.name),1)]),_:2},1032,["selected","onClick"]))),128))],544),g("div",Hv,[g("div",Vv,[$(i).searchActive?(v(),x(Ue,{key:0},[$e(X($(i).sessions.length)+" result"+X($(i).sessions.length===1?"":"s"),1)],64)):(v(),x(Ue,{key:1},[$e(X($(i).showSpecial?"Service sessions":"Conversations"),1)],64))]),g("div",zv,[ne(w,{icon:"ph ph-clock",label:"Pending recalls only",class:Ge(["recall-filter-btn",{active:$(i).hasPendingRecallFilter}]),onClick:f[2]||(f[2]=We=>$(i).hasPendingRecallFilter=!$(i).hasPendingRecallFilter)},null,8,["class"]),ne(w,{icon:"ph ph-robot",label:"Service (Synapse) sessions",class:Ge(["special-filter-btn",{active:$(i).showSpecial}]),onClick:E},null,8,["class"]),ne(w,{icon:"ph ph-magnifying-glass",label:"Search",class:Ge(["search-toggle-btn",{active:c.value||$(i).searchActive}]),onClick:I},null,8,["class"]),ne(w,{icon:"ph ph-arrow-clockwise",label:"Refresh",class:Ge(["sessions-refresh-btn",{"is-spinning":$(i).loading}]),onClick:f[3]||(f[3]=We=>$(i).fetchSessions($(r).selectedProfileId))},null,8,["class"])])]),ne(Gv,{onSelect:U})]),g("div",Wv,[$(o).isNoAuthMode?(v(),x(Ue,{key:0},[g("div",Kv,[ne(_e,{size:"sm",src:"",alt:"local",initials:"L"}),f[6]||(f[6]=g("span",{class:"user-name"},"Local mode",-1))]),g("div",Qv,[ne(w,{icon:"ph ph-gear",label:"Settings",onClick:h}),f[7]||(f[7]=g("a",{href:"/admin",target:"_blank",rel:"noopener noreferrer",class:"btn-icon admin-link",title:"Admin"},[g("i",{class:"ph ph-shield-check"})],-1))])],64)):$(o).isAuthenticated?(v(),x(Ue,{key:1},[g("a",{class:"user-info",href:(be=$(o).user)==null?void 0:be.profile_url,target:"_blank",rel:"noopener noreferrer",title:"Open profile in gnexus-auth"},[ne(_e,{size:"sm",src:((oe=$(o).user)==null?void 0:oe.avatar_url)||"",alt:((pe=$(o).user)==null?void 0:pe.display_name)||"avatar",initials:(((Ce=$(o).user)==null?void 0:Ce.display_name)||((ot=$(o).user)==null?void 0:ot.email)||"?").charAt(0).toUpperCase()},null,8,["src","alt","initials"]),g("span",Zv,X(((lt=$(o).user)==null?void 0:lt.display_name)||((at=$(o).user)==null?void 0:at.email)),1)],8,Xv),g("div",Jv,[ne(w,{icon:"ph ph-gear",label:"Settings",onClick:h}),$(o).isAdmin?(v(),x("a",jv,[...f[8]||(f[8]=[g("i",{class:"ph ph-shield-check"},null,-1)])])):J("",!0),ne(w,{icon:"ph ph-sign-out",label:"Logout",onClick:$(o).logout},null,8,["onClick"])])],64)):(v(),ze(A,{key:2,variant:"primary",icon:"ph ph-sign-in",onClick:$(o).login},{default:Be(()=>[...f[9]||(f[9]=[$e(" Login ",-1)])]),_:1},8,["onClick"]))])],2)}}},tR=ht(eR,[["__scopeId","data-v-7de86c3c"]]),Jf={__name:"ConfirmDialog",setup(t){const{visible:e,message:n}=Tv();function a(){p_(!0)}function r(){p_(!1)}return(i,s)=>{const o=tt("GnConfirmDialog");return v(),ze(o,{open:$(e),"onUpdate:open":s[0]||(s[0]=c=>Bt(e)?e.value=c:null),message:$(n),title:"Requires confirmation","cancel-text":"No","confirm-text":"Yes","confirm-variant":"warning",onConfirm:a,onCancel:r},null,8,["open","message"])}}},nR=Object.freeze(Object.defineProperty({__proto__:null,default:Jf},Symbol.toStringTag,{value:"Module"})),mr=Y(null);function aR(){mr.value&&(mr.value=null)}typeof window<"u"&&window.addEventListener("popstate",aR);function ci(){function t(n){var a;(a=history.state)!=null&&a.lightbox||history.pushState({lightbox:!0},""),mr.value=n}function e(){var n;mr.value&&(mr.value=null,(n=history.state)!=null&&n.lightbox&&history.back())}return{src:mr,open:t,close:e}}const rR={key:0,class:"modal a-show","aria-hidden":"false"},iR={class:"modal-dialog lightbox-dialog",role:"dialog","aria-modal":"true",tabindex:"-1"},sR={class:"modal-header"},oR={class:"modal-panel lightbox-panel"},lR={class:"modal-body"},cR=["src"],uR={key:1,class:"lightbox-error"},jf={__name:"ImageLightbox",setup(t){const{src:e,close:n}=ci(),a=Y(!1);return st(e,r=>{document.body.style.overflow=r?"hidden":"",a.value=!1}),(r,i)=>(v(),ze(Ji,{to:"body"},[$(e)?(v(),x("div",rR,[g("div",{class:"modal-backdrop",onClick:i[0]||(i[0]=(...s)=>$(n)&&$(n)(...s))}),g("div",iR,[g("header",sR,[i[3]||(i[3]=g("h4",{class:"modal-title"},"Photo",-1)),g("button",{class:"btn-icon modal-close",type:"button","aria-label":"Close",onClick:i[1]||(i[1]=(...s)=>$(n)&&$(n)(...s))},"✕")]),g("div",oR,[g("div",lR,[a.value?(v(),x("div",uR,[...i[4]||(i[4]=[g("i",{class:"ph ph-image-broken"},null,-1),g("span",null,"Failed to load image",-1)])])):(v(),x("img",{key:0,src:$(e),class:"lightbox-img",onError:i[2]||(i[2]=s=>a.value=!0)},null,40,cR))])])])])):J("",!0)]))}},dR=Object.freeze(Object.defineProperty({__proto__:null,default:jf},Symbol.toStringTag,{value:"Module"})),fi=Y("");function eS(){function t(n){fi.value=n}function e(){const n=fi.value;return fi.value="",n}return{pendingQuote:fi,requestQuote:t,consumeQuote:e}}const _R={__name:"SelectionToolbar",setup(t){const{requestQuote:e}=eS(),n=Y(!1),a=Y({x:0,y:0});let r="";function i(){const u=window.getSelection();if(!u||u.isCollapsed||!u.toString().trim())return null;const d=u.getRangeAt(0),_=d.commonAncestorContainer;return(_.nodeType===Node.TEXT_NODE?_.parentElement:_).closest(".msg-assistant-content")?{text:u.toString().trim(),range:d}:null}function s(){const u=window.getSelection();if(!u||u.isCollapsed||!u.rangeCount){n.value=!1;return}const _=u.getRangeAt(0).getBoundingClientRect();if(!_.width&&!_.height){n.value=!1;return}a.value={x:Math.round(_.left+_.width/2),y:Math.round(_.top-44)}}function o(){setTimeout(()=>{const u=i();if(!u){n.value=!1;return}r=u.text,s(),n.value=!0},10)}function c(){const u=window.getSelection();(!u||u.isCollapsed)&&(n.value=!1)}function l(){var u;r&&(e(r),(u=window.getSelection())==null||u.removeAllRanges(),n.value=!1)}return Sn(()=>{document.addEventListener("mouseup",o),document.addEventListener("selectionchange",c),document.addEventListener("scroll",s,!0)}),fa(()=>{document.removeEventListener("mouseup",o),document.removeEventListener("selectionchange",c),document.removeEventListener("scroll",s,!0)}),(u,d)=>{const _=tt("GnButton");return v(),ze(Ji,{to:"body"},[n.value?(v(),x("div",{key:0,class:"selection-toolbar",style:Da({top:a.value.y+"px",left:a.value.x+"px"}),onMousedown:d[0]||(d[0]=ga(()=>{},["prevent"]))},[ne(_,{variant:"warning",size:"sm",icon:"ph ph-quotes",style:{color:"var(--gn-color-black)"},title:"Reply to selection",onClick:l},{default:Be(()=>[...d[1]||(d[1]=[$e(" Reply ",-1)])]),_:1})],36)):J("",!0)])}}},tS=ht(_R,[["__scopeId","data-v-b94aaefd"]]),pR=Object.freeze(Object.defineProperty({__proto__:null,default:tS},Symbol.toStringTag,{value:"Module"}));function tr(t){if(!t)return"";let e;try{e=new URL(t,window.location.origin)}catch{return t}return e.origin===window.location.origin?`${e.pathname}${e.search}${e.hash}`:e.href}function Pi(t){return t?new URL(t,window.location.origin).href:""}function mR(t,e){const n=tr(t);return!n||!e?n:`${n}${n.includes("?")?"&":"?"}v=${encodeURIComponent(e)}`}function nS(t,e){const n=new URL(`/content-viewers/${t}.html`,window.location.origin);return n.searchParams.set("url",e),n.href}function gR(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ns,g_;function ER(){if(g_)return Ns;g_=1;function t(k){return k instanceof Map?k.clear=k.delete=k.set=function(){throw new Error("map is read-only")}:k instanceof Set&&(k.add=k.clear=k.delete=function(){throw new Error("set is read-only")}),Object.freeze(k),Object.getOwnPropertyNames(k).forEach(V=>{const se=k[V],Ie=typeof se;(Ie==="object"||Ie==="function")&&!Object.isFrozen(se)&&t(se)}),k}class e{constructor(V){V.data===void 0&&(V.data={}),this.data=V.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(k){return k.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function a(k,...V){const se=Object.create(null);for(const Ie in k)se[Ie]=k[Ie];return V.forEach(function(Ie){for(const mt in Ie)se[mt]=Ie[mt]}),se}const r="",i=k=>!!k.scope,s=(k,{prefix:V})=>{if(k.startsWith("language:"))return k.replace("language:","language-");if(k.includes(".")){const se=k.split(".");return[`${V}${se.shift()}`,...se.map((Ie,mt)=>`${Ie}${"_".repeat(mt+1)}`)].join(" ")}return`${V}${k}`};class o{constructor(V,se){this.buffer="",this.classPrefix=se.classPrefix,V.walk(this)}addText(V){this.buffer+=n(V)}openNode(V){if(!i(V))return;const se=s(V.scope,{prefix:this.classPrefix});this.span(se)}closeNode(V){i(V)&&(this.buffer+=r)}value(){return this.buffer}span(V){this.buffer+=``}}const c=(k={})=>{const V={children:[]};return Object.assign(V,k),V};class l{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(V){this.top.children.push(V)}openNode(V){const se=c({scope:V});this.add(se),this.stack.push(se)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(V){return this.constructor._walk(V,this.rootNode)}static _walk(V,se){return typeof se=="string"?V.addText(se):se.children&&(V.openNode(se),se.children.forEach(Ie=>this._walk(V,Ie)),V.closeNode(se)),V}static _collapse(V){typeof V!="string"&&V.children&&(V.children.every(se=>typeof se=="string")?V.children=[V.children.join("")]:V.children.forEach(se=>{l._collapse(se)}))}}class u extends l{constructor(V){super(),this.options=V}addText(V){V!==""&&this.add(V)}startScope(V){this.openNode(V)}endScope(){this.closeNode()}__addSublanguage(V,se){const Ie=V.root;se&&(Ie.scope=`language:${se}`),this.add(Ie)}toHTML(){return new o(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function d(k){return k?typeof k=="string"?k:k.source:null}function _(k){return E("(?=",k,")")}function m(k){return E("(?:",k,")*")}function p(k){return E("(?:",k,")?")}function E(...k){return k.map(se=>d(se)).join("")}function b(k){const V=k[k.length-1];return typeof V=="object"&&V.constructor===Object?(k.splice(k.length-1,1),V):{}}function I(...k){return"("+(b(k).capture?"":"?:")+k.map(Ie=>d(Ie)).join("|")+")"}function R(k){return new RegExp(k.toString()+"|").exec("").length-1}function y(k,V){const se=k&&k.exec(V);return se&&se.index===0}const L=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function U(k,{joinWith:V}){let se=0;return k.map(Ie=>{se+=1;const mt=se;let _t=d(Ie),ve="";for(;_t.length>0;){const me=L.exec(_t);if(!me){ve+=_t;break}ve+=_t.substring(0,me.index),_t=_t.substring(me.index+me[0].length),me[0][0]==="\\"&&me[1]?ve+="\\"+String(Number(me[1])+mt):(ve+=me[0],me[0]==="("&&se++)}return ve}).map(Ie=>`(${Ie})`).join(V)}const h=/\b\B/,N="[a-zA-Z]\\w*",C="[a-zA-Z_]\\w*",f="\\b\\d+(\\.\\d+)?",A="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",w="\\b(0b[01]+)",F="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",j=(k={})=>{const V=/^#![ ]*\//;return k.binary&&(k.begin=E(V,/.*\b/,k.binary,/\b.*/)),a({scope:"meta",begin:V,end:/$/,relevance:0,"on:begin":(se,Ie)=>{se.index!==0&&Ie.ignoreMatch()}},k)},_e={begin:"\\\\[\\s\\S]",relevance:0},be={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[_e]},oe={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[_e]},pe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Ce=function(k,V,se={}){const Ie=a({scope:"comment",begin:k,end:V,contains:[]},se);Ie.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const mt=I("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Ie.contains.push({begin:E(/[ ]+/,"(",mt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ie},ot=Ce("//","$"),lt=Ce("/\\*","\\*/"),at=Ce("#","$"),We={scope:"number",begin:f,relevance:0},Ae={scope:"number",begin:A,relevance:0},He={scope:"number",begin:w,relevance:0},ke={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[_e,{begin:/\[/,end:/\]/,relevance:0,contains:[_e]}]},rt={scope:"title",begin:N,relevance:0},je={scope:"title",begin:C,relevance:0},Ke={begin:"\\.\\s*"+C,relevance:0};var ut=Object.freeze({__proto__:null,APOS_STRING_MODE:be,BACKSLASH_ESCAPE:_e,BINARY_NUMBER_MODE:He,BINARY_NUMBER_RE:w,COMMENT:Ce,C_BLOCK_COMMENT_MODE:lt,C_LINE_COMMENT_MODE:ot,C_NUMBER_MODE:Ae,C_NUMBER_RE:A,END_SAME_AS_BEGIN:function(k){return Object.assign(k,{"on:begin":(V,se)=>{se.data._beginMatch=V[1]},"on:end":(V,se)=>{se.data._beginMatch!==V[1]&&se.ignoreMatch()}})},HASH_COMMENT_MODE:at,IDENT_RE:N,MATCH_NOTHING_RE:h,METHOD_GUARD:Ke,NUMBER_MODE:We,NUMBER_RE:f,PHRASAL_WORDS_MODE:pe,QUOTE_STRING_MODE:oe,REGEXP_MODE:ke,RE_STARTERS_RE:F,SHEBANG:j,TITLE_MODE:rt,UNDERSCORE_IDENT_RE:C,UNDERSCORE_TITLE_MODE:je});function bt(k,V){k.input[k.index-1]==="."&&V.ignoreMatch()}function D(k,V){k.className!==void 0&&(k.scope=k.className,delete k.className)}function P(k,V){V&&k.beginKeywords&&(k.begin="\\b("+k.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",k.__beforeBegin=bt,k.keywords=k.keywords||k.beginKeywords,delete k.beginKeywords,k.relevance===void 0&&(k.relevance=0))}function z(k,V){Array.isArray(k.illegal)&&(k.illegal=I(...k.illegal))}function K(k,V){if(k.match){if(k.begin||k.end)throw new Error("begin & end are not supported with match");k.begin=k.match,delete k.match}}function Z(k,V){k.relevance===void 0&&(k.relevance=1)}const W=(k,V)=>{if(!k.beforeMatch)return;if(k.starts)throw new Error("beforeMatch cannot be used with starts");const se=Object.assign({},k);Object.keys(k).forEach(Ie=>{delete k[Ie]}),k.keywords=se.keywords,k.begin=E(se.beforeMatch,_(se.begin)),k.starts={relevance:0,contains:[Object.assign(se,{endsParent:!0})]},k.relevance=0,delete se.beforeMatch},de=["of","and","for","in","not","or","if","then","parent","list","value"],ae="keyword";function re(k,V,se=ae){const Ie=Object.create(null);return typeof k=="string"?mt(se,k.split(" ")):Array.isArray(k)?mt(se,k):Object.keys(k).forEach(function(_t){Object.assign(Ie,re(k[_t],V,_t))}),Ie;function mt(_t,ve){V&&(ve=ve.map(me=>me.toLowerCase())),ve.forEach(function(me){const De=me.split("|");Ie[De[0]]=[_t,ee(De[0],De[1])]})}}function ee(k,V){return V?Number(V):Ne(k)?0:1}function Ne(k){return de.includes(k.toLowerCase())}const ce={},Re=k=>{console.error(k)},ye=(k,...V)=>{console.log(`WARN: ${k}`,...V)},Fe=(k,V)=>{ce[`${k}/${V}`]||(console.log(`Deprecated as of ${k}. ${V}`),ce[`${k}/${V}`]=!0)},qe=new Error;function Qe(k,V,{key:se}){let Ie=0;const mt=k[se],_t={},ve={};for(let me=1;me<=V.length;me++)ve[me+Ie]=mt[me],_t[me+Ie]=!0,Ie+=R(V[me-1]);k[se]=ve,k[se]._emit=_t,k[se]._multi=!0}function et(k){if(Array.isArray(k.begin)){if(k.skip||k.excludeBegin||k.returnBegin)throw Re("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),qe;if(typeof k.beginScope!="object"||k.beginScope===null)throw Re("beginScope must be object"),qe;Qe(k,k.begin,{key:"beginScope"}),k.begin=U(k.begin,{joinWith:""})}}function dt(k){if(Array.isArray(k.end)){if(k.skip||k.excludeEnd||k.returnEnd)throw Re("skip, excludeEnd, returnEnd not compatible with endScope: {}"),qe;if(typeof k.endScope!="object"||k.endScope===null)throw Re("endScope must be object"),qe;Qe(k,k.end,{key:"endScope"}),k.end=U(k.end,{joinWith:""})}}function Lt(k){k.scope&&typeof k.scope=="object"&&k.scope!==null&&(k.beginScope=k.scope,delete k.scope)}function Mt(k){Lt(k),typeof k.beginScope=="string"&&(k.beginScope={_wrap:k.beginScope}),typeof k.endScope=="string"&&(k.endScope={_wrap:k.endScope}),et(k),dt(k)}function Vt(k){function V(ve,me){return new RegExp(d(ve),"m"+(k.case_insensitive?"i":"")+(k.unicodeRegex?"u":"")+(me?"g":""))}class se{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(me,De){De.position=this.position++,this.matchIndexes[this.matchAt]=De,this.regexes.push([De,me]),this.matchAt+=R(me)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const me=this.regexes.map(De=>De[1]);this.matcherRe=V(U(me,{joinWith:"|"}),!0),this.lastIndex=0}exec(me){this.matcherRe.lastIndex=this.lastIndex;const De=this.matcherRe.exec(me);if(!De)return null;const it=De.findIndex((Ft,kt)=>kt>0&&Ft!==void 0),ct=this.matchIndexes[it];return De.splice(0,it),Object.assign(De,ct)}}class Ie{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(me){if(this.multiRegexes[me])return this.multiRegexes[me];const De=new se;return this.rules.slice(me).forEach(([it,ct])=>De.addRule(it,ct)),De.compile(),this.multiRegexes[me]=De,De}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(me,De){this.rules.push([me,De]),De.type==="begin"&&this.count++}exec(me){const De=this.getMatcher(this.regexIndex);De.lastIndex=this.lastIndex;let it=De.exec(me);if(this.resumingScanAtSamePosition()&&!(it&&it.index===this.lastIndex)){const ct=this.getMatcher(0);ct.lastIndex=this.lastIndex+1,it=ct.exec(me)}return it&&(this.regexIndex+=it.position+1,this.regexIndex===this.count&&this.considerAll()),it}}function mt(ve){const me=new Ie;return ve.contains.forEach(De=>me.addRule(De.begin,{rule:De,type:"begin"})),ve.terminatorEnd&&me.addRule(ve.terminatorEnd,{type:"end"}),ve.illegal&&me.addRule(ve.illegal,{type:"illegal"}),me}function _t(ve,me){const De=ve;if(ve.isCompiled)return De;[D,K,Mt,W].forEach(ct=>ct(ve,me)),k.compilerExtensions.forEach(ct=>ct(ve,me)),ve.__beforeBegin=null,[P,z,Z].forEach(ct=>ct(ve,me)),ve.isCompiled=!0;let it=null;return typeof ve.keywords=="object"&&ve.keywords.$pattern&&(ve.keywords=Object.assign({},ve.keywords),it=ve.keywords.$pattern,delete ve.keywords.$pattern),it=it||/\w+/,ve.keywords&&(ve.keywords=re(ve.keywords,k.case_insensitive)),De.keywordPatternRe=V(it,!0),me&&(ve.begin||(ve.begin=/\B|\b/),De.beginRe=V(De.begin),!ve.end&&!ve.endsWithParent&&(ve.end=/\B|\b/),ve.end&&(De.endRe=V(De.end)),De.terminatorEnd=d(De.end)||"",ve.endsWithParent&&me.terminatorEnd&&(De.terminatorEnd+=(ve.end?"|":"")+me.terminatorEnd)),ve.illegal&&(De.illegalRe=V(ve.illegal)),ve.contains||(ve.contains=[]),ve.contains=[].concat(...ve.contains.map(function(ct){return vt(ct==="self"?ve:ct)})),ve.contains.forEach(function(ct){_t(ct,De)}),ve.starts&&_t(ve.starts,me),De.matcher=mt(De),De}if(k.compilerExtensions||(k.compilerExtensions=[]),k.contains&&k.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return k.classNameAliases=a(k.classNameAliases||{}),_t(k)}function Ut(k){return k?k.endsWithParent||Ut(k.starts):!1}function vt(k){return k.variants&&!k.cachedVariants&&(k.cachedVariants=k.variants.map(function(V){return a(k,{variants:null},V)})),k.cachedVariants?k.cachedVariants:Ut(k)?a(k,{starts:k.starts?a(k.starts):null}):Object.isFrozen(k)?a(k):k}var O="11.11.1";class G extends Error{constructor(V,se){super(V),this.name="HTMLInjectionError",this.html=se}}const Q=n,fe=a,he=Symbol("nomatch"),we=7,Pe=function(k){const V=Object.create(null),se=Object.create(null),Ie=[];let mt=!0;const _t="Could not find the language '{}', did you forget to load/include a language module?",ve={disableAutodetect:!0,name:"Plain text",contains:[]};let me={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:u};function De(le){return me.noHighlightRe.test(le)}function it(le){let xe=le.className+" ";xe+=le.parentNode?le.parentNode.className:"";const Xe=me.languageDetectRe.exec(xe);if(Xe){const Nt=Zt(Xe[1]);return Nt||(ye(_t.replace("{}",Xe[1])),ye("Falling back to no-highlight mode for this block.",le)),Nt?Xe[1]:"no-highlight"}return xe.split(/\s+/).find(Nt=>De(Nt)||Zt(Nt))}function ct(le,xe,Xe){let Nt="",Pt="";typeof xe=="object"?(Nt=le,Xe=xe.ignoreIllegals,Pt=xe.language):(Fe("10.7.0","highlight(lang, code, ...args) has been deprecated."),Fe("10.7.0",`Please use highlight(code, options) instead.
-https://github.com/highlightjs/highlight.js/issues/2277`),Pt=le,Nt=xe),Xe===void 0&&(Xe=!0);const ln={code:Nt,language:Pt};$n("before:highlight",ln);const Pn=ln.result?ln.result:Ft(ln.language,ln.code,Xe);return Pn.code=ln.code,$n("after:highlight",Pn),Pn}function Ft(le,xe,Xe,Nt){const Pt=Object.create(null);function ln(S,M){return S.keywords[M]}function Pn(){if(!Ve.keywords){qt.addText(Tt);return}let S=0;Ve.keywordPatternRe.lastIndex=0;let M=Ve.keywordPatternRe.exec(Tt),H="";for(;M;){H+=Tt.substring(S,M.index);const te=cn.case_insensitive?M[0].toLowerCase():M[0],Ee=ln(Ve,te);if(Ee){const[Le,Ot]=Ee;if(qt.addText(H),H="",Pt[te]=(Pt[te]||0)+1,Pt[te]<=we&&(Hn+=Ot),Le.startsWith("_"))H+=M[0];else{const wt=cn.classNameAliases[Le]||Le;en(M[0],wt)}}else H+=M[0];S=Ve.keywordPatternRe.lastIndex,M=Ve.keywordPatternRe.exec(Tt)}H+=Tt.substring(S),qt.addText(H)}function Ta(){if(Tt==="")return;let S=null;if(typeof Ve.subLanguage=="string"){if(!V[Ve.subLanguage]){qt.addText(Tt);return}S=Ft(Ve.subLanguage,Tt,!0,Ga[Ve.subLanguage]),Ga[Ve.subLanguage]=S._top}else S=on(Tt,Ve.subLanguage.length?Ve.subLanguage:null);Ve.relevance>0&&(Hn+=S.relevance),qt.__addSublanguage(S._emitter,S.language)}function Jt(){Ve.subLanguage!=null?Ta():Pn(),Tt=""}function en(S,M){S!==""&&(qt.startScope(M),qt.addText(S),qt.endScope())}function Pa(S,M){let H=1;const te=M.length-1;for(;H<=te;){if(!S._emit[H]){H++;continue}const Ee=cn.classNameAliases[S[H]]||S[H],Le=M[H];Ee?en(Le,Ee):(Tt=Le,Pn(),Tt=""),H++}}function ha(S,M){return S.scope&&typeof S.scope=="string"&&qt.openNode(cn.classNameAliases[S.scope]||S.scope),S.beginScope&&(S.beginScope._wrap?(en(Tt,cn.classNameAliases[S.beginScope._wrap]||S.beginScope._wrap),Tt=""):S.beginScope._multi&&(Pa(S.beginScope,M),Tt="")),Ve=Object.create(S,{parent:{value:Ve}}),Ve}function qn(S,M,H){let te=y(S.endRe,H);if(te){if(S["on:end"]){const Ee=new e(S);S["on:end"](M,Ee),Ee.isMatchIgnored&&(te=!1)}if(te){for(;S.endsParent&&S.parent;)S=S.parent;return S}}if(S.endsWithParent)return qn(S.parent,M,H)}function va(S){return Ve.matcher.regexIndex===0?(Tt+=S[0],1):(ie=!0,0)}function vn(S){const M=S[0],H=S.rule,te=new e(H),Ee=[H.__beforeBegin,H["on:begin"]];for(const Le of Ee)if(Le&&(Le(S,te),te.isMatchIgnored))return va(M);return H.skip?Tt+=M:(H.excludeBegin&&(Tt+=M),Jt(),!H.returnBegin&&!H.excludeBegin&&(Tt=M)),ha(H,S),H.returnBegin?0:M.length}function di(S){const M=S[0],H=xe.substring(S.index),te=qn(Ve,S,H);if(!te)return he;const Ee=Ve;Ve.endScope&&Ve.endScope._wrap?(Jt(),en(M,Ve.endScope._wrap)):Ve.endScope&&Ve.endScope._multi?(Jt(),Pa(Ve.endScope,S)):Ee.skip?Tt+=M:(Ee.returnEnd||Ee.excludeEnd||(Tt+=M),Jt(),Ee.excludeEnd&&(Tt=M));do Ve.scope&&qt.closeNode(),!Ve.skip&&!Ve.subLanguage&&(Hn+=Ve.relevance),Ve=Ve.parent;while(Ve!==te.parent);return te.starts&&ha(te.starts,S),Ee.returnEnd?0:M.length}function Ua(){const S=[];for(let M=Ve;M!==cn;M=M.parent)M.scope&&S.unshift(M.scope);S.forEach(M=>qt.openNode(M))}let Fa={};function Ba(S,M){const H=M&&M[0];if(Tt+=S,H==null)return Jt(),0;if(Fa.type==="begin"&&M.type==="end"&&Fa.index===M.index&&H===""){if(Tt+=xe.slice(M.index,M.index+1),!mt){const te=new Error(`0 width match regex (${le})`);throw te.languageName=le,te.badRule=Fa.rule,te}return 1}if(Fa=M,M.type==="begin")return vn(M);if(M.type==="illegal"&&!Xe){const te=new Error('Illegal lexeme "'+H+'" for mode "'+(Ve.scope||"")+'"');throw te.mode=Ve,te}else if(M.type==="end"){const te=di(M);if(te!==he)return te}if(M.type==="illegal"&&H==="")return Tt+=`
-`,1;if(na>1e5&&na>M.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Tt+=H,H.length}const cn=Zt(le);if(!cn)throw Re(_t.replace("{}",le)),new Error('Unknown language: "'+le+'"');const cr=Vt(cn);let Ra="",Ve=Nt||cr;const Ga={},qt=new me.__emitter(me);Ua();let Tt="",Hn=0,un=0,na=0,ie=!1;try{if(cn.__emitTokens)cn.__emitTokens(xe,qt);else{for(Ve.matcher.considerAll();;){na++,ie?ie=!1:Ve.matcher.considerAll(),Ve.matcher.lastIndex=un;const S=Ve.matcher.exec(xe);if(!S)break;const M=xe.substring(un,S.index),H=Ba(M,S);un=S.index+H}Ba(xe.substring(un))}return qt.finalize(),Ra=qt.toHTML(),{language:le,value:Ra,relevance:Hn,illegal:!1,_emitter:qt,_top:Ve}}catch(S){if(S.message&&S.message.includes("Illegal"))return{language:le,value:Q(xe),illegal:!0,relevance:0,_illegalBy:{message:S.message,index:un,context:xe.slice(un-100,un+100),mode:S.mode,resultSoFar:Ra},_emitter:qt};if(mt)return{language:le,value:Q(xe),illegal:!1,relevance:0,errorRaised:S,_emitter:qt,_top:Ve};throw S}}function kt(le){const xe={value:Q(le),illegal:!1,relevance:0,_top:ve,_emitter:new me.__emitter(me)};return xe._emitter.addText(le),xe}function on(le,xe){xe=xe||me.languages||Object.keys(V);const Xe=kt(le),Nt=xe.filter(Zt).filter(In).map(Jt=>Ft(Jt,le,!1));Nt.unshift(Xe);const Pt=Nt.sort((Jt,en)=>{if(Jt.relevance!==en.relevance)return en.relevance-Jt.relevance;if(Jt.language&&en.language){if(Zt(Jt.language).supersetOf===en.language)return 1;if(Zt(en.language).supersetOf===Jt.language)return-1}return 0}),[ln,Pn]=Pt,Ta=ln;return Ta.secondBest=Pn,Ta}function Qt(le,xe,Xe){const Nt=xe&&se[xe]||Xe;le.classList.add("hljs"),le.classList.add(`language-${Nt}`)}function Mn(le){let xe=null;const Xe=it(le);if(De(Xe))return;if($n("before:highlightElement",{el:le,language:Xe}),le.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",le);return}if(le.children.length>0&&(me.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(le)),me.throwUnescapedHTML))throw new G("One of your code blocks includes unescaped HTML.",le.innerHTML);xe=le;const Nt=xe.textContent,Pt=Xe?ct(Nt,{language:Xe,ignoreIllegals:!0}):on(Nt);le.innerHTML=Pt.value,le.dataset.highlighted="yes",Qt(le,Xe,Pt.language),le.result={language:Pt.language,re:Pt.relevance,relevance:Pt.relevance},Pt.secondBest&&(le.secondBest={language:Pt.secondBest.language,relevance:Pt.secondBest.relevance}),$n("after:highlightElement",{el:le,result:Pt,text:Nt})}function lr(le){me=fe(me,le)}const B=()=>{Te(),Fe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function q(){Te(),Fe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Oe=!1;function Te(){function le(){Te()}if(document.readyState==="loading"){Oe||window.addEventListener("DOMContentLoaded",le,!1),Oe=!0;return}document.querySelectorAll(me.cssSelector).forEach(Mn)}function Se(le,xe){let Xe=null;try{Xe=xe(k)}catch(Nt){if(Re("Language definition for '{}' could not be registered.".replace("{}",le)),mt)Re(Nt);else throw Nt;Xe=ve}Xe.name||(Xe.name=le),V[le]=Xe,Xe.rawDefinition=xe.bind(null,k),Xe.aliases&&jt(Xe.aliases,{languageName:le})}function $t(le){delete V[le];for(const xe of Object.keys(se))se[xe]===le&&delete se[xe]}function Yt(){return Object.keys(V)}function Zt(le){return le=(le||"").toLowerCase(),V[le]||V[se[le]]}function jt(le,{languageName:xe}){typeof le=="string"&&(le=[le]),le.forEach(Xe=>{se[Xe.toLowerCase()]=xe})}function In(le){const xe=Zt(le);return xe&&!xe.disableAutodetect}function ba(le){le["before:highlightBlock"]&&!le["before:highlightElement"]&&(le["before:highlightElement"]=xe=>{le["before:highlightBlock"](Object.assign({block:xe.el},xe))}),le["after:highlightBlock"]&&!le["after:highlightElement"]&&(le["after:highlightElement"]=xe=>{le["after:highlightBlock"](Object.assign({block:xe.el},xe))})}function ta(le){ba(le),Ie.push(le)}function Ar(le){const xe=Ie.indexOf(le);xe!==-1&&Ie.splice(xe,1)}function $n(le,xe){const Xe=le;Ie.forEach(function(Nt){Nt[Xe]&&Nt[Xe](xe)})}function kn(le){return Fe("10.7.0","highlightBlock will be removed entirely in v12.0"),Fe("10.7.0","Please use highlightElement now."),Mn(le)}Object.assign(k,{highlight:ct,highlightAuto:on,highlightAll:Te,highlightElement:Mn,highlightBlock:kn,configure:lr,initHighlighting:B,initHighlightingOnLoad:q,registerLanguage:Se,unregisterLanguage:$t,listLanguages:Yt,getLanguage:Zt,registerAliases:jt,autoDetection:In,inherit:fe,addPlugin:ta,removePlugin:Ar}),k.debugMode=function(){mt=!1},k.safeMode=function(){mt=!0},k.versionString=O,k.regex={concat:E,lookahead:_,either:I,optional:p,anyNumberOfTimes:m};for(const le in ut)typeof ut[le]=="object"&&t(ut[le]);return Object.assign(k,ut),k},Je=Pe({});return Je.newInstance=()=>Pe({}),Ns=Je,Je.HighlightJS=Je,Je.default=Je,Ns}var Os,E_;function fR(){if(E_)return Os;E_=1;function t(e){const n="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+",i="далее "+"возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ",c="загрузитьизфайла "+"вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ",m="разделительстраниц разделительстрок символтабуляции "+"ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон "+"acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища "+"wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ",lt="webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля "+"автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени форматкартинки ширинаподчиненныхэлементовформы "+"виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента "+"авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных "+"использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц "+"отображениевремениэлементовпланировщика "+"типфайлаформатированногодокумента "+"обходрезультатазапроса типзаписизапроса "+"видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов "+"доступкфайлу режимдиалогавыборафайла режимоткрытияфайла "+"типизмеренияпостроителязапроса "+"видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений "+"wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs форматдатыjson экранированиесимволовjson "+"видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных использованиеусловногооформлениякомпоновкиданных "+"важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты статусразборапочтовогосообщения "+"режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации "+"расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии типхранилищасертификатовкриптографии "+"кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip режимсохраненияпутейzip уровеньсжатияzip "+"звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp "+"направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса "+"httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса типномерадокумента типномеразадачи типформы удалениедвижений "+"важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты",Ae="comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных "+"comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура фиксированноесоответствие фиксированныймассив ",He="null истина ложь неопределено",ke=e.inherit(e.NUMBER_MODE),rt={className:"string",begin:'"|\\|',end:'"|$',contains:[{begin:'""'}]},je={begin:"'",end:"'",excludeBegin:!0,excludeEnd:!0,contains:[{className:"number",begin:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]},Ke={match:/[;()+\-:=,]/,className:"punctuation",relevance:0},Et=e.inherit(e.C_LINE_COMMENT_MODE),ut={className:"meta",begin:"#|&",end:"$",keywords:{$pattern:n,keyword:i+c},contains:[Et]},bt={className:"symbol",begin:"~",end:";|:",excludeEnd:!0},D={className:"function",variants:[{begin:"процедура|функция",end:"\\)",keywords:"процедура функция"},{begin:"конецпроцедуры|конецфункции",keywords:"конецпроцедуры конецфункции"}],contains:[{begin:"\\(",end:"\\)",endsParent:!0,contains:[{className:"params",begin:n,end:",",excludeEnd:!0,endsWithParent:!0,keywords:{$pattern:n,keyword:"знач",literal:He},contains:[ke,rt,je]},Et]},e.inherit(e.TITLE_MODE,{begin:n})]};return{name:"1C:Enterprise",case_insensitive:!0,keywords:{$pattern:n,keyword:i,built_in:m,class:lt,type:Ae,literal:He},contains:[ut,D,Et,bt,ke,rt,je,Ke]}}return Os=t,Os}var As,f_;function SR(){if(f_)return As;f_=1;function t(e){const n=e.regex,a=/^[a-zA-Z][a-zA-Z0-9-]*/,r=["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"],i=e.COMMENT(/;/,/$/),s={scope:"symbol",match:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+)?/},o={scope:"symbol",match:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+)?/},c={scope:"symbol",match:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+)?/},l={scope:"symbol",match:/%[si](?=".*")/},u={scope:"attribute",match:n.concat(a,/(?=\s*=)/)};return{name:"Augmented Backus-Naur Form",illegal:/[!@#$^&',?+~`|:]/,keywords:r,contains:[{scope:"operator",match:/=\/?/},u,i,s,o,c,l,e.QUOTE_STRING_MODE,e.NUMBER_MODE]}}return As=t,As}var Is,S_;function bR(){if(S_)return Is;S_=1;function t(e){const n=e.regex,a=["GET","POST","HEAD","PUT","DELETE","CONNECT","OPTIONS","PATCH","TRACE"];return{name:"Apache Access Log",contains:[{className:"number",begin:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?\b/,relevance:5},{className:"number",begin:/\b\d+\b/,relevance:0},{className:"string",begin:n.concat(/"/,n.either(...a)),end:/"/,keywords:a,illegal:/\n/,relevance:5,contains:[{begin:/HTTP\/[12]\.\d'/,relevance:5}]},{className:"string",begin:/\[\d[^\]\n]{8,}\]/,illegal:/\n/,relevance:1},{className:"string",begin:/\[/,end:/\]/,illegal:/\n/,relevance:0},{className:"string",begin:/"Mozilla\/\d\.\d \(/,end:/"/,illegal:/\n/,relevance:3},{className:"string",begin:/"/,end:/"/,illegal:/\n/,relevance:0}]}}return Is=t,Is}var Ds,b_;function TR(){if(b_)return Ds;b_=1;function t(e){const n=e.regex,a=/[a-zA-Z_$][a-zA-Z0-9_$]*/,r=n.concat(a,n.concat("(\\.",a,")*")),i=/([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/,s={className:"rest_arg",begin:/[.]{3}/,end:a,relevance:10};return{name:"ActionScript",aliases:["as"],keywords:{keyword:["as","break","case","catch","class","const","continue","default","delete","do","dynamic","each","else","extends","final","finally","for","function","get","if","implements","import","in","include","instanceof","interface","internal","is","namespace","native","new","override","package","private","protected","public","return","set","static","super","switch","this","throw","try","typeof","use","var","void","while","with"],literal:["true","false","null","undefined"]},contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{match:[/\bpackage/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{match:[/\b(?:class|interface|extends|implements)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{className:"meta",beginKeywords:"import include",end:/;/,keywords:{keyword:"import include"}},{beginKeywords:"function",end:/[{;]/,excludeEnd:!0,illegal:/\S/,contains:[e.inherit(e.TITLE_MODE,{className:"title.function"}),{className:"params",begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]},{begin:n.concat(/:\s*/,i)}]},e.METHOD_GUARD],illegal:/#/}}return Ds=t,Ds}var ws,T_;function hR(){if(T_)return ws;T_=1;function t(e){const n="\\d(_|\\d)*",a="[eE][-+]?"+n,r=n+"(\\."+n+")?("+a+")?",i="\\w+",o="\\b("+(n+"#"+i+"(\\."+i+")?#("+a+")?")+"|"+r+")",c="[A-Za-z](_?[A-Za-z0-9.])*",l=`[]\\{\\}%#'"`,u=e.COMMENT("--","$"),d={begin:"\\s+:\\s+",end:"\\s*(:=|;|\\)|=>|$)",illegal:l,contains:[{beginKeywords:"loop for declare others",endsParent:!0},{className:"keyword",beginKeywords:"not null constant access function procedure in out aliased exception"},{className:"type",begin:c,endsParent:!0,relevance:0}]};return{name:"Ada",case_insensitive:!0,keywords:{keyword:["abort","else","new","return","abs","elsif","not","reverse","abstract","end","accept","entry","select","access","exception","of","separate","aliased","exit","or","some","all","others","subtype","and","for","out","synchronized","array","function","overriding","at","tagged","generic","package","task","begin","goto","pragma","terminate","body","private","then","if","procedure","type","case","in","protected","constant","interface","is","raise","use","declare","range","delay","limited","record","when","delta","loop","rem","while","digits","renames","with","do","mod","requeue","xor"],literal:["True","False"]},contains:[u,{className:"string",begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{className:"string",begin:/'.'/},{className:"number",begin:o,relevance:0},{className:"symbol",begin:"'"+c},{className:"title",begin:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",end:"(is|$)",keywords:"package body",excludeBegin:!0,excludeEnd:!0,illegal:l},{begin:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",end:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",keywords:"overriding function procedure with is renames return",returnBegin:!0,contains:[u,{className:"title",begin:"(\\bwith\\s+)?\\b(function|procedure)\\s+",end:"(\\(|\\s+|$)",excludeBegin:!0,excludeEnd:!0,illegal:l},d,{className:"type",begin:"\\breturn\\s+",end:"(\\s+|;|$)",keywords:"return",excludeBegin:!0,excludeEnd:!0,endsParent:!0,illegal:l}]},{className:"type",begin:"\\b(sub)?type\\s+",end:"\\s+",keywords:"type",excludeBegin:!0,illegal:l},d]}}return ws=t,ws}var xs,h_;function vR(){if(h_)return xs;h_=1;function t(e){const n={className:"built_in",begin:"\\b(void|bool|int8|int16|int32|int64|int|uint8|uint16|uint32|uint64|uint|string|ref|array|double|float|auto|dictionary)"},a={className:"symbol",begin:"[a-zA-Z0-9_]+@"},r={className:"keyword",begin:"<",end:">",contains:[n,a]};return n.contains=[r],a.contains=[r],{name:"AngelScript",aliases:["asc"],keywords:["for","in|0","break","continue","while","do|0","return","if","else","case","switch","namespace","is","cast","or","and","xor","not","get|0","in","inout|10","out","override","set|0","private","public","const","default|0","final","shared","external","mixin|10","enum","typedef","funcdef","this","super","import","from","interface","abstract|0","try","catch","protected","explicit","property"],illegal:"(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunction\\s*[^\\(])",contains:[{className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"""',end:'"""'},{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:"^\\s*\\[",end:"\\]"},{beginKeywords:"interface namespace",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]},{beginKeywords:"class",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+",contains:[{begin:"[:,]\\s*",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]}]}]},n,a,{className:"literal",begin:"\\b(null|true|false)"},{className:"number",relevance:0,begin:"(-?)(\\b0[xXbBoOdD][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)"}]}}return xs=t,xs}var Ls,v_;function RR(){if(v_)return Ls;v_=1;function t(e){const n={className:"number",begin:/[$%]\d+/},a={className:"number",begin:/\b\d+/},r={className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/},i={className:"number",begin:/:\d{1,5}/};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,contains:[r,i,e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{_:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"]},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{scope:"punctuation",match:/\\\n/},{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",begin:/[\$%]\{/,end:/\}/,contains:["self",n]},r,a,e.QUOTE_STRING_MODE]}}],illegal:/\S/}}return Ls=t,Ls}var Ms,R_;function CR(){if(R_)return Ms;R_=1;function t(e){const n=e.regex,a=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),r={className:"params",begin:/\(/,end:/\)/,contains:["self",e.C_NUMBER_MODE,a]},i=e.COMMENT(/--/,/$/),s=e.COMMENT(/\(\*/,/\*\)/,{contains:["self",i]}),o=[i,s,e.HASH_COMMENT_MODE],c=[/apart from/,/aside from/,/instead of/,/out of/,/greater than/,/isn't|(doesn't|does not) (equal|come before|come after|contain)/,/(greater|less) than( or equal)?/,/(starts?|ends|begins?) with/,/contained by/,/comes (before|after)/,/a (ref|reference)/,/POSIX (file|path)/,/(date|time) string/,/quoted form/],l=[/clipboard info/,/the clipboard/,/info for/,/list (disks|folder)/,/mount volume/,/path to/,/(close|open for) access/,/(get|set) eof/,/current date/,/do shell script/,/get volume settings/,/random number/,/set volume/,/system attribute/,/system info/,/time to GMT/,/(load|run|store) script/,/scripting components/,/ASCII (character|number)/,/localized string/,/choose (application|color|file|file name|folder|from list|remote application|URL)/,/display (alert|dialog)/];return{name:"AppleScript",aliases:["osascript"],keywords:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name|0 paragraph paragraphs rest reverse running time version weekday word words year"},contains:[a,e.C_NUMBER_MODE,{className:"built_in",begin:n.concat(/\b/,n.either(...l),/\b/)},{className:"built_in",begin:/^\s*return\b/},{className:"literal",begin:/\b(text item delimiters|current application|missing value)\b/},{className:"keyword",begin:n.concat(/\b/,n.either(...c),/\b/)},{beginKeywords:"on",illegal:/[${=;\n]/,contains:[e.UNDERSCORE_TITLE_MODE,r]},...o],illegal:/\/\/|->|=>|\[\[/}}return Ms=t,Ms}var ks,C_;function yR(){if(C_)return ks;C_=1;function t(e){const n=e.regex,a="[A-Za-z_][0-9A-Za-z_]*",r={keyword:["break","case","catch","continue","debugger","do","else","export","for","function","if","import","in","new","of","return","switch","try","var","void","while"],literal:["BackSlash","DoubleQuote","ForwardSlash","Infinity","NaN","NewLine","PI","SingleQuote","Tab","TextFormatting","false","null","true","undefined"],built_in:["Abs","Acos","All","Angle","Any","Area","AreaGeodetic","Array","Asin","Atan","Atan2","Attachments","Average","Back","Bearing","Boolean","Buffer","BufferGeodetic","Ceil","Centroid","ChangeTimeZone","Clip","Concatenate","Console","Constrain","Contains","ConvertDirection","ConvexHull","Cos","Count","Crosses","Cut","Date|0","DateAdd","DateDiff","DateOnly","Day","Decode","DefaultValue","Densify","DensifyGeodetic","Dictionary","Difference","Disjoint","Distance","DistanceGeodetic","DistanceToCoordinate","Distinct","Domain","DomainCode","DomainName","EnvelopeIntersects","Equals","Erase","Exp","Expects","Extent","Feature","FeatureInFilter","FeatureSet","FeatureSetByAssociation","FeatureSetById","FeatureSetByName","FeatureSetByPortalItem","FeatureSetByRelationshipClass","FeatureSetByRelationshipName","Filter","FilterBySubtypeCode","Find","First|0","Floor","FromCharCode","FromCodePoint","FromJSON","Front","GdbVersion","Generalize","Geometry","GetEnvironment","GetFeatureSet","GetFeatureSetInfo","GetUser","GroupBy","Guid","HasKey","HasValue","Hash","Hour","IIf","ISOMonth","ISOWeek","ISOWeekday","ISOYear","Includes","IndexOf","Insert","Intersection","Intersects","IsEmpty","IsNan","IsSelfIntersecting","IsSimple","KnowledgeGraphByPortalItem","Left|0","Length","Length3D","LengthGeodetic","Log","Lower","Map","Max","Mean","MeasureToCoordinate","Mid","Millisecond","Min","Minute","Month","MultiPartToSinglePart","Multipoint","NearestCoordinate","NearestVertex","NextSequenceValue","None","Now","Number","Offset","OrderBy","Overlaps","Point","PointToCoordinate","Polygon","Polyline","Pop","Portal","Pow","Proper","Push","QueryGraph","Random","Reduce","Relate","Replace","Resize","Reverse","Right|0","RingIsClockwise","Rotate","Round","Schema","Second","SetGeometry","Simplify","Sin","Slice","Sort","Splice","Split","Sqrt","StandardizeFilename","StandardizeGuid","Stdev","SubtypeCode","SubtypeName","Subtypes","Sum","SymmetricDifference","Tan","Text","Time","TimeZone","TimeZoneOffset","Timestamp","ToCharCode","ToCodePoint","ToHex","ToLocal","ToUTC","Today","Top|0","Touches","TrackAccelerationAt","TrackAccelerationWindow","TrackCurrentAcceleration","TrackCurrentDistance","TrackCurrentSpeed","TrackCurrentTime","TrackDistanceAt","TrackDistanceWindow","TrackDuration","TrackFieldWindow","TrackGeometryWindow","TrackIndex","TrackSpeedAt","TrackSpeedWindow","TrackStartTime","TrackWindow","Trim","TypeOf","Union","Upper","UrlEncode","Variance","Week","Weekday","When|0","Within","Year|0"]},i=["aggregatedFeatures","analytic","config","datapoint","datastore","editcontext","feature","featureSet","feedfeature","fencefeature","fencenotificationtype","graph","join","layer","locationupdate","map","measure","measure","originalFeature","record","reference","rowindex","sourcedatastore","sourcefeature","sourcelayer","target","targetdatastore","targetfeature","targetlayer","userInput","value","variables","view"],s={className:"symbol",begin:"\\$"+n.either(...i)},o={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},c={className:"subst",begin:"\\$\\{",end:"\\}",keywords:r,contains:[]},l={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,c]};c.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,o,e.REGEXP_MODE];const u=c.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{name:"ArcGIS Arcade",case_insensitive:!0,keywords:r,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,o,{begin:/[{,]\s*/,relevance:0,contains:[{begin:a+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:a,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(return)\\b)\\s*",keywords:"return",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+a+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:a},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:u}]}]}],relevance:0},{beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{className:"title.function",begin:a}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:u}],illegal:/\[|%/},{begin:/\$[(.]/}],illegal:/#(?!!)/}}return ks=t,ks}var Ps,y_;function NR(){if(y_)return Ps;y_=1;function t(n){const a=n.regex,r=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="(?!struct)("+i+"|"+a.optional(s)+"[a-zA-Z_]\\w*"+a.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},_={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},m={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},n.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},r,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:a.optional(s)+n.IDENT_RE,relevance:0},E=a.optional(s)+n.IDENT_RE+"\\s*\\(",b=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],I=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],R=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],y=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],h={type:I,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:R},N={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:a.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,n.IDENT_RE,a.lookahead(/(<[^<>]+>|)\s*\(/))},C=[N,m,l,r,n.C_BLOCK_COMMENT_MODE,_,d],f={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:h,contains:C.concat([{begin:/\(/,end:/\)/,keywords:h,contains:C.concat(["self"]),relevance:0}]),relevance:0},A={className:"function",begin:"("+c+"[\\*&\\s]+)+"+E,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:h,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:h,relevance:0},{begin:E,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[d,_]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[r,n.C_BLOCK_COMMENT_MODE,d,_,l,{begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:["self",r,n.C_BLOCK_COMMENT_MODE,d,_,l]}]},l,r,n.C_BLOCK_COMMENT_MODE,m]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:h,illegal:"",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(f,A,N,C,[m,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:h,contains:["self",l]},{begin:n.IDENT_RE+"::",keywords:h},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function e(n){const a={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},r=t(n),i=r.keywords;return i.type=[...i.type,...a.type],i.literal=[...i.literal,...a.literal],i.built_in=[...i.built_in,...a.built_in],i._hints=a._hints,r.name="Arduino",r.aliases=["ino"],r.supersetOf="cpp",r}return Ps=e,Ps}var Us,N_;function OR(){if(N_)return Us;N_=1;function t(e){const n={variants:[e.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),e.COMMENT("[;@]","$",{relevance:0}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+e.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 w0 w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 w14 w15 w16 w17 w18 w19 w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},n,e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}return Us=t,Us}var Fs,O_;function AR(){if(O_)return Fs;O_=1;function t(e){const n=e.regex,a=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|[0-9]+;|[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(s,{begin:/\(/,end:/\)/}),c=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[s,l,c,o,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,o,l,c]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/