.zero-loading-screen {
  position: fixed;
  inset: 0;
  z-index: 520;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 38%, rgba(251, 249, 255, 0.92) 0%, rgba(241, 236, 249, 0.82) 38%, rgba(226, 220, 241, 0.92) 100%);
}

.zero-loading-screen__backdrop,
.zero-loading-screen__mist,
.zero-loading-screen__glow,
.zero-loading-screen__content,
.zero-loading-screen__particle {
  position: absolute;
}

.zero-loading-screen__backdrop {
  inset: -10%;
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.75), rgba(238, 231, 248, 0.56) 46%, rgba(215, 207, 232, 0.44) 100%),
    url('/brand/zero-loading-bg.jpg') center center / cover no-repeat;
  filter: saturate(0.62) contrast(1.02);
  transform: scale(1.08);
  will-change: transform;
  backface-visibility: hidden;
}

.zero-loading-screen__mist {
  width: 72vw;
  max-width: 560px;
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(215, 205, 241, 0.34) 0%, rgba(219, 212, 241, 0.16) 44%, rgba(255, 255, 255, 0) 76%);
  filter: blur(28px);
  opacity: 0.96;
  will-change: transform;
  backface-visibility: hidden;
}

.zero-loading-screen__mist--top {
  top: -14%;
  right: -14%;
}

.zero-loading-screen__mist--bottom {
  bottom: -18%;
  left: -16%;
}

.zero-loading-screen__mist--side {
  top: 26%;
  left: -22%;
}

.zero-loading-screen__glow {
  inset: 0;
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.14) 38%, rgba(255, 255, 255, 0) 62%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(245, 241, 252, 0.06));
  opacity: 0.92;
  pointer-events: none;
}

.zero-loading-screen__content {
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(32px, env(safe-area-inset-top)) 24px max(36px, env(safe-area-inset-bottom)) 24px;
}

.zero-loading-screen__card {
  position: relative;
  width: min(76vw, 360px);
  min-height: 430px;
  padding: 42px 24px 32px;
  border-radius: 36px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(250, 247, 255, 0.34));
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow:
    0 28px 70px rgba(161, 150, 185, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.58),
    inset 0 -1px 0 rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(14px) saturate(1.04);
  -webkit-backdrop-filter: blur(14px) saturate(1.04);
  overflow: hidden;
  transform: translateZ(0);
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.zero-loading-screen__card::before {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: 35px;
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0) 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0));
  pointer-events: none;
}

.zero-loading-screen__logo-stage {
  position: relative;
  width: min(48vw, 208px);
  aspect-ratio: 1;
  margin: 0 auto;
  transform: translateZ(0);
  will-change: transform;
}

.zero-loading-screen__orbit,
.zero-loading-screen__orbiter,
.zero-loading-screen__logo-wrap,
.zero-loading-screen__star,
.zero-loading-screen__halo,
.zero-loading-screen__sheen {
  position: absolute;
}

.zero-loading-screen__orbit {
  inset: 0;
  border-radius: 999px;
}

.zero-loading-screen__orbit--outer {
  border: 1px solid rgba(197, 188, 225, 0.52);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.18) inset,
    0 0 20px rgba(214, 204, 236, 0.12);
}

.zero-loading-screen__orbit--inner {
  inset: 8%;
  border: 1px solid rgba(226, 219, 246, 0.6);
  opacity: 0.72;
}

.zero-loading-screen__orbit-highlight {
  position: absolute;
  top: -1px;
  left: 24%;
  width: 28%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0));
  filter: blur(1px);
}

.zero-loading-screen__orbiter {
  inset: 0;
}

.zero-loading-screen__orbiter--secondary {
  inset: 8%;
}

.zero-loading-screen__orbiter-dot {
  position: absolute;
  top: -5px;
  left: calc(50% - 5px);
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.96) 0%, rgba(229, 219, 255, 0.72) 54%, rgba(229, 219, 255, 0) 100%);
  box-shadow: 0 0 12px rgba(235, 228, 255, 0.44);
}

.zero-loading-screen__orbiter-dot--primary {
  width: 10px;
  height: 10px;
}

.zero-loading-screen__orbiter-dot--secondary {
  width: 7px;
  height: 7px;
}

.zero-loading-screen__star {
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 18px;
  color: rgba(188, 174, 226, 0.82);
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.54);
  pointer-events: none;
}

.zero-loading-screen__logo-wrap {
  inset: 14%;
  display: grid;
  place-items: center;
}

.zero-loading-screen__halo {
  inset: 10%;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(220, 209, 247, 0.5) 0%, rgba(220, 209, 247, 0.12) 46%, rgba(255, 255, 255, 0) 74%);
  filter: blur(16px);
}

.zero-loading-screen__logo {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 999px;
  filter: drop-shadow(0 18px 34px rgba(174, 161, 204, 0.16));
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.zero-loading-screen__sheen {
  inset: 6%;
  border-radius: 999px;
  background: linear-gradient(108deg, rgba(255, 255, 255, 0) 24%, rgba(255, 255, 255, 0.28) 45%, rgba(255, 255, 255, 0) 67%);
  mix-blend-mode: screen;
  filter: blur(8px);
  pointer-events: none;
  opacity: 0.72;
}

.zero-loading-screen__copy {
  position: relative;
  margin-top: 28px;
  text-align: center;
}

.zero-loading-screen__wordmark {
  font-family: 'Songti SC', 'STSong', 'Noto Serif SC', serif;
  font-size: clamp(28px, 7vw, 34px);
  font-weight: 500;
  letter-spacing: 0.24em;
  text-indent: 0.24em;
  color: rgba(73, 73, 86, 0.94);
}

.zero-loading-screen__message {
  margin-top: 16px;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0.12em;
  color: rgba(91, 92, 107, 0.72);
}

.zero-loading-screen__message.is-error {
  color: rgba(124, 83, 96, 0.82);
}

.zero-loading-screen__detail {
  margin-top: 12px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.34em;
  text-indent: 0.34em;
  color: rgba(121, 121, 135, 0.42);
}

.zero-loading-screen__particle {
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.94) 0%, rgba(229, 220, 249, 0.62) 48%, rgba(229, 220, 249, 0) 100%);
  box-shadow: 0 0 12px rgba(239, 231, 255, 0.28);
  opacity: 0;
  will-change: transform, opacity;
}

@media (max-width: 420px) {
  .zero-loading-screen__card {
    width: min(84vw, 340px);
    min-height: 408px;
    padding: 36px 20px 28px;
    border-radius: 30px;
  }

  .zero-loading-screen__card::before {
    border-radius: 29px;
  }

  .zero-loading-screen__logo-stage {
    width: min(54vw, 190px);
  }

  .zero-loading-screen__message {
    font-size: 12px;
    letter-spacing: 0.1em;
  }

  .zero-loading-screen__detail {
    letter-spacing: 0.28em;
    text-indent: 0.28em;
  }
}
._overlay_8fy3g_1 {
  position: fixed;
  inset: 0;
  z-index: 1200;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 100dvh;
  padding: calc(env(safe-area-inset-top) + 76px) 24px calc(env(safe-area-inset-bottom) + 56px);
  color: rgba(255, 255, 255, 0.96);
}

._backdrop_8fy3g_15 {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 10, 15, 0.64) 0%, rgba(8, 10, 15, 0.88) 62%, rgba(5, 6, 9, 0.98) 100%),
    var(--incoming-avatar, radial-gradient(circle at 50% 20%, rgba(142, 124, 255, 0.24), transparent 48%), linear-gradient(180deg, #090b10 0%, #0f131a 100%));
  background-size: cover;
  background-position: center;
  filter: saturate(0.82) blur(0);
  transform: scale(1.04);
}

._backdrop_8fy3g_15::after {
  content: "";
  position: absolute;
  inset: -8%;
  background: inherit;
  filter: blur(44px) saturate(0.72);
  opacity: 0.88;
}

._noise_8fy3g_36 {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(184, 166, 255, 0.16), transparent 34%),
    radial-gradient(circle at 50% 110%, rgba(88, 104, 172, 0.2), transparent 44%);
}

._identityGroup_8fy3g_44,
._actions_8fy3g_45 {
  position: relative;
  z-index: 1;
}

._identityGroup_8fy3g_44 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

._avatarWrap_8fy3g_57 {
  width: 104px;
  height: 104px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
}

._avatar_8fy3g_57,
._avatarPlaceholder_8fy3g_71 {
  width: 92px;
  height: 92px;
  border-radius: 999px;
}

._avatar_8fy3g_57 {
  -o-object-fit: cover;
     object-fit: cover;
}

._avatarPlaceholder_8fy3g_71 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  font-size: 32px;
  font-weight: 600;
}

._name_8fy3g_90 {
  font-size: 22px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.02em;
}

._meta_8fy3g_97 {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.66);
}

._actions_8fy3g_45 {
  width: min(100%, 280px);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

._actionColumn_8fy3g_109 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

._actionButton_8fy3g_121 {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
  transition: transform 120ms ease, box-shadow 120ms ease;
}

._actionColumn_8fy3g_109:active ._actionButton_8fy3g_121 {
  transform: scale(0.94);
}

._declineButton_8fy3g_137 {
  background: #f05a5a;
}

._acceptButton_8fy3g_141 {
  background: #3ca772;
}

._actionLabel_8fy3g_145 {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.72);
}
/* ============================================================
   System Status Bar — 手机系统栏
   三段式：时间 · 中间文字 · 信号/Wi-Fi/电量
   ============================================================ */

:root {
  --ssb-ch: 30px;
  --ssb-st: 0px;
  --ssb-th: calc(var(--ssb-st) + var(--ssb-ch));
  --ssb-scale: 1;
  --ssb-hp: 16px;
  --ssb-fg: #2F3035;
  --ssb-bg: transparent;
  --ssb-ig: 5px;
  --ssb-cmw: min(44vw, 240px);
  --ssb-cis: 16px;
}

/* --- 全局视口 --- */
:root {
  --zd-safe-top: env(safe-area-inset-top, 0px);
  --zd-safe-right: env(safe-area-inset-right, 0px);
  --zd-safe-bottom: env(safe-area-inset-bottom, 0px);
  --zd-safe-left: env(safe-area-inset-left, 0px);
  /* WeChat 底部导航包含安全区 */
  --zd-wx-global-nav-shell-padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  /* 桌面 Dock 底部间距包含安全区 */
  --zd-dock-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}

.zero-degree-viewport {
  width: 100%;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: transparent;
}

/* --- 系统栏 --- */
.ssb {
  position: relative;
  flex: 0 0 var(--ssb-th);
  height: var(--ssb-th);
  background: var(--ssb-bg);
  box-sizing: border-box;
  overflow: hidden;
}

/* --- Grid 三列布局 --- */
.ssb__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 var(--ssb-hp);
  box-sizing: border-box;
}

/* --- 左侧：时间 --- */
.ssb__left {
  justify-self: start;
  display: flex;
  align-items: center;
  min-width: 0;
}

.ssb__time {
  font-size: calc(12px * var(--ssb-scale));
  font-weight: 500;
  letter-spacing: 0.15px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  color: var(--ssb-fg);
}

/* --- 中间：自定义文字 --- */
.ssb__center {
  justify-self: center;
  min-width: 0;
  max-width: var(--ssb-cmw);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0 8px;
}

.ssb__center-text {
  font-size: calc(11px * var(--ssb-scale));
  font-weight: 500;
  letter-spacing: 0.1px;
  color: var(--ssb-fg);
  line-height: 1;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

/* --- 右侧：信号 · Wi-Fi · 电量 --- */
.ssb__right {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: calc(var(--ssb-ig) * var(--ssb-scale));
  min-width: 0;
}

.ssb__signal-slot {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* --- 信号柱 --- */
.ssb-signal {
  display: inline-flex;
  align-items: flex-end;
  gap: 1.5px;
  height: calc(11px * var(--ssb-scale));
}

.ssb-signal__bar {
  width: calc(2.5px * var(--ssb-scale));
  border-radius: 0.8px;
  background: var(--ssb-fg);
  opacity: 0.2;
}

.ssb-signal__bar.on {
  opacity: 0.7;
}

.ssb-signal__bar:nth-child(1) { height: calc(4px * var(--ssb-scale)); }
.ssb-signal__bar:nth-child(2) { height: calc(6px * var(--ssb-scale)); }
.ssb-signal__bar:nth-child(3) { height: calc(8px * var(--ssb-scale)); }
.ssb-signal__bar:nth-child(4) { height: calc(10px * var(--ssb-scale)); }

/* --- 自定义信号位图片 --- */
.ssb__custom-signal {
  width: var(--ssb-cis);
  height: var(--ssb-cis);
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  flex: 0 0 auto;
}

/* --- Wi-Fi --- */
.ssb-wifi {
  flex-shrink: 0;
  stroke: var(--ssb-fg);
}

/* --- 电量 --- */
.ssb-battery {
  flex-shrink: 0;
}

/* --- AppStage --- */
.zero-degree-app-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

/* --- AppStage 覆盖层 --- */
.zero-degree-app-stage-overlay {
  position: absolute;
  inset: 0;
  z-index: 1000;
  pointer-events: none;
}

.zero-degree-app-stage-overlay > * {
  pointer-events: auto;
}
/* 引入全局主题变量 */
/**
 * @file index.css
 * @description 零度存档 - 主题系统聚合入口
 *
 * 设计哲学：Theme System (主题系统)
 * 所有 UI 组件必须只引用变量，禁止写死颜色值
 *
 * 文件结构：
 * 1. base.css - :root 基础变量
 * 2. mobile.css - 移动端桌面主题系统
 * 3. navigation.css - WeChat 导航栏变量
 * 4. moments.css - 朋友圈组件变量
 * 5. chatroom.css - 聊天室主题商城核心样式
 * 6. crystal.css - 晶体实验室主题
 * 7. arctic.css - 极地之境主题
 * 8. cyberpunk.css - 赛博朋克主题
 * 9. lockscreen-worldbook.css - 锁屏与世界书主题
 * 10. wechat.css - 极地·枢纽主题 & WeChat 组件变量
 * 11. magazine.css - 日系杂志风主题
 * 12. narrative.css - 叙事风格主题
 * 13. animations.css - 动画关键帧
 * 14. utilities.css - 工具类
 */
/* ========== 1. 基础变量 (:root) ========== */
/**
 * @file base.css
 * @description 零度存档 - 基础变量 (:root)
 */
:root {
  /* ========== 字体栈 ========== */
  --zd-font-sans: system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', 'Inter', sans-serif;
  --zd-font-mono: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;
  
  /* ========== 用户自定义字体 (动态换字体功能) ========== */
  --zd-font-user: var(--zd-font-sans);
  --zd-font-user-mono: var(--zd-font-mono);
  
  /* ========== 全局过渡 ========== */
  --zd-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-transition-slower: 500ms cubic-bezier(0.4, 0, 0.2, 1);
  
  /* ========== 圆角系统 · 微圆角/直角设计 (Minimal Radius System) ========== */
  /* 零度存档采用极简圆角，拒绝幼态大圆角 */
  --zd-radius-xs: 2px;      /* 极小圆角 - 几乎直角 */
  --zd-radius-sm: 4px;      /* 小圆角 - 微妙的柔和 */
  --zd-radius-md: 6px;      /* 中圆角 - 精致按钮 */
  --zd-radius-lg: 8px;      /* 大圆角 - 卡片容器 */
  --zd-radius-xl: 10px;     /* 超大圆角 - 特殊组件 */
  --zd-radius-2xl: 12px;    /* 极大圆角 - 罕见场景 */
  --zd-radius-full: 9999px; /* 完全圆形 - 头像/开关 */


  /* ========== 编辑器专用变量 (Editor System) ========== */
  --zd-editor-bg-primary: #080808;
  --zd-editor-bg-secondary: #fafafa;
  --zd-editor-text-primary: #e5e5e5;
  --zd-editor-text-secondary: #171717;
  --zd-editor-label: #525252;
  --zd-editor-label-light: #a3a3a3;
  --zd-editor-border-hairline: rgba(255,255,255,0.02);
  --zd-editor-border-subtle: rgba(255,255,255,0.03);
  --zd-editor-border-light: rgba(0,0,0,0.04);
  --zd-editor-border-light-strong: rgba(0,0,0,0.05);
  --zd-editor-border-focus-amber: rgba(245,158,11,0.3);
  --zd-editor-border-focus-amber-light: rgba(245,158,11,0.4);
  --zd-editor-border-focus-violet: rgba(139,92,246,0.25);
  --zd-editor-border-focus-violet-light: rgba(139,92,246,0.35);
  --zd-editor-saved-bg: rgba(52,211,153,0.06);
  --zd-editor-saved-border: rgba(52,211,153,0.12);
  --zd-editor-saved-text: #34d399;
  --zd-editor-btn-bg: rgba(255,255,255,0.03);
  --zd-editor-btn-bg-hover: rgba(255,255,255,0.04);
  --zd-editor-btn-border: rgba(255,255,255,0.06);
  
  /* ========== 位置指示器颜色 (Position Indicators) ========== */
  --zd-position-front: #d4a843;
  --zd-position-front-label: '逻辑基石';
  --zd-position-middle: #6ee7b7;
  --zd-position-middle-label: '动态知识';
  --zd-position-back: #f472b6;
  --zd-position-back-label: '行为枷锁';
  
  /* ========== 协议卡片颜色 (Protocol Cards) ========== */
  --zd-protocol-card-bg-dark: rgba(255,255,255,0.02);
  --zd-protocol-card-bg-light: rgba(0,0,0,0.02);
  --zd-protocol-border-enabled-dark: rgba(239,68,68,0.12);
  --zd-protocol-border-enabled-light: rgba(239,68,68,0.15);
  --zd-protocol-border-disabled-dark: rgba(255,255,255,0.02);
  --zd-protocol-border-disabled-light: rgba(0,0,0,0.04);
  --zd-protocol-title-enabled-dark: #f8fafc;
  --zd-protocol-title-enabled-light: #111111;
  --zd-protocol-title-disabled-dark: #a3a3a3;
  --zd-protocol-title-disabled-light: #737373;
  --zd-protocol-summary-enabled-dark: #737373;
  --zd-protocol-summary-enabled-light: #525252;
  --zd-protocol-summary-disabled-dark: #404040;
  --zd-protocol-summary-disabled-light: #a3a3a3;
  --zd-protocol-icon-enabled-dark: #ef4444;
  --zd-protocol-icon-enabled-light: #dc2626;
  --zd-protocol-icon-disabled-dark: #737373;
  --zd-protocol-icon-disabled-light: #a3a3a3;
  --zd-protocol-subtitle-dark: #a3a3a3;
  --zd-protocol-subtitle-light: #737373;
  --zd-protocol-subtitle-muted-dark: #525252;
  --zd-protocol-subtitle-muted-light: #a3a3a3;
  
  /* ========== AmbientGlow 透明度系统 ========== */
  --zd-ambient-glow-dark: 0.08;
  --zd-ambient-glow-light: 0.12;
  
  /* ========== 灵魂铭刻编辑器专用变量 (Soul Inscription Editor) ========== */
  --zd-soul-editor-bg: #080808;
  --zd-soul-editor-bg-light: #fafafa;
  --zd-soul-editor-border: rgba(255,255,255,0.03);
  --zd-soul-editor-border-light: rgba(0,0,0,0.04);
  --zd-soul-editor-text: #e5e5e5;
  --zd-soul-editor-text-light: #171717;
  --zd-soul-editor-label: #525252;
  
  /* ========== 世界书绑定功能变量 (World Book Binding) ========== */
  --zd-worldbook-protocol-color: #d4a843;
  --zd-worldbook-protocol-bg: rgba(212, 175, 55, 0.1);
  --zd-worldbook-protocol-glow: rgba(212, 175, 55, 0.3);
  --zd-worldbook-protocol-gradient: linear-gradient(135deg, rgba(212, 175, 55, 0.15), rgba(212, 175, 55, 0.05));
  --zd-worldbook-protocol-active-gradient: linear-gradient(135deg, var(--zd-wechat-gold-light), var(--zd-wechat-gold));
  
  --zd-worldbook-narrative-color: #6ee7b7;
  --zd-worldbook-narrative-bg: rgba(110, 231, 183, 0.1);
  --zd-worldbook-narrative-glow: rgba(110, 231, 183, 0.3);
  --zd-worldbook-narrative-gradient: linear-gradient(135deg, rgba(110, 231, 183, 0.15), rgba(110, 231, 183, 0.05));
  --zd-worldbook-narrative-active-gradient: linear-gradient(135deg, #6ee7b7, #34d399);
  
  --zd-worldbook-inscription-color: #f472b6;
  --zd-worldbook-inscription-bg: rgba(244, 114, 182, 0.1);
  --zd-worldbook-inscription-glow: rgba(244, 114, 182, 0.3);
  --zd-worldbook-inscription-gradient: linear-gradient(135deg, rgba(244, 114, 182, 0.15), rgba(244, 114, 182, 0.05));
  --zd-worldbook-inscription-active-gradient: linear-gradient(135deg, #f472b6, #ec4899);
  --zd-soul-editor-label-light: #a3a3a3;
  --zd-soul-editor-focus-amber: rgba(245,158,11,0.3);
  --zd-soul-editor-focus-violet: rgba(139,92,246,0.25);
  --zd-soul-editor-keyword-core-bg: rgba(52,211,153,0.06);
  --zd-soul-editor-keyword-core-border: rgba(52,211,153,0.12);
  --zd-soul-editor-keyword-core-text: #34d399;
  --zd-soul-editor-keyword-broad-text: #a78bfa;
  --zd-soul-editor-slot-front: #d4a843;
  --zd-soul-editor-slot-middle: #6ee7b7;
  --zd-soul-editor-slot-back: #f472b6;
  --zd-soul-editor-btn-bg: rgba(255,255,255,0.03);
  --zd-soul-editor-btn-hover: rgba(255,255,255,0.04);
  --zd-soul-editor-toast-success-bg: rgba(52,211,153,0.1);
  --zd-soul-editor-toast-success-border: rgba(52,211,153,0.3);
  --zd-soul-editor-toast-error-bg: rgba(239,68,68,0.1);
  --zd-soul-editor-toast-error-border: rgba(239,68,68,0.3);
  --zd-soul-editor-modal-overlay: rgba(0,0,0,0.6);
  --zd-soul-editor-modal-blur: blur(8px);
  
  /* ========== 阴影系统 · 弥散阴影增加呼吸感 (Diffuse Shadow System) ========== */
  --zd-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --zd-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --zd-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
  --zd-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
  --zd-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.15);
  
  /* 弥散阴影 - 柔和呼吸感 */
  --zd-shadow-diffuse-sm: 0 4px 16px rgba(0, 0, 0, 0.04), 0 0 24px rgba(0, 0, 0, 0.02);
  --zd-shadow-diffuse-md: 0 8px 32px rgba(0, 0, 0, 0.06), 0 0 40px rgba(0, 0, 0, 0.03);
  --zd-shadow-diffuse-lg: 0 16px 48px rgba(0, 0, 0, 0.08), 0 0 64px rgba(0, 0, 0, 0.04);
  
  /* 光晕阴影 - 极光质感 */
  --zd-shadow-glow-sm: 0 0 12px rgba(120, 160, 220, 0.3);
  --zd-shadow-glow-md: 0 0 24px rgba(120, 160, 220, 0.4);
  --zd-shadow-glow-lg: 0 0 40px rgba(120, 160, 220, 0.5);
  
  /* 悬浮阴影 - 动态呼吸效果 */
  --zd-shadow-float: 0 8px 24px rgba(0, 0, 0, 0.06), 0 0 32px rgba(120, 160, 220, 0.08);
  --zd-shadow-float-hover: 0 16px 40px rgba(0, 0, 0, 0.1), 0 0 48px rgba(120, 160, 220, 0.12);
}
/* ========== 2. 移动端桌面主题系统 ========== */
/**
 * @file mobile.css
 * @description 零度存档 - 移动端桌面主题系统
 * 
 * 设计哲学：
 * 1. 纯语义化 CSS 变量命名，不区分主题名称
 * 2. 主题切换唯一方式：在根节点切换 data-theme 或 className
 * 3. 组件只引用 CSS 变量，禁止 JS 判断主题
 * 
 * 使用方式：
 * - 深色模式：<html data-theme="dark"> 或 <body class="theme-dark">
 * - 浅色模式：<html data-theme="light"> 或 <body class="theme-light">
 */
/* ============================================
   移动端桌面主题变量 - 纯语义化命名
   ============================================ */
:root {
  /* 材质系统 - 透明度和磨砂感 */
  --zd-widget-opacity: 0.75;
  --zd-widget-blur: 20px;
  
  /* 颜色系统 - 可自定义主题色 */
  --zd-color-accent: #98B486;
  --zd-color-accent-rgb: 152, 180, 134;
  
  /* 背景系统 - 默认黑色 (RGB 分离格式，透明度由 --zd-widget-opacity 控制) */
  --zd-mobile-bg-primary: #0A0A0F;
  /* 基础 RGB 值 - 用于动态透明度 (可由玻璃基底色覆盖) */
  --zd-mobile-bg-glass-rgb: 20, 20, 25;
  --zd-mobile-bg-glass-alt-rgb: 25, 25, 32;
  --zd-mobile-bg-glass-heavy-rgb: 15, 15, 20;
  /* 复合背景色 - 使用 calc 结合透明度变量 */
  --zd-mobile-bg-glass: rgba(var(--zd-mobile-bg-glass-rgb), calc(var(--zd-widget-opacity) * 0.54));
  --zd-mobile-bg-glass-alt: rgba(var(--zd-mobile-bg-glass-alt-rgb), calc(var(--zd-widget-opacity) * 0.67));
  --zd-mobile-bg-glass-heavy: rgba(var(--zd-mobile-bg-glass-heavy-rgb), calc(var(--zd-widget-opacity) * 0.8));
  --zd-mobile-bg-button: var(--zd-mobile-bg-primary);
  --zd-mobile-bg-button-hover: rgba(35, 35, 45, 0.7);
  
  /* 变量别名 - 向后兼容 --zd-desktop-* 旧变量名 (RGB 分离格式，可由玻璃基底色覆盖) */
  --zd-desktop-glass-rgb: var(--zd-mobile-bg-glass-rgb);
  --zd-desktop-glass-alt-rgb: var(--zd-mobile-bg-glass-rgb);
  --zd-desktop-glass-heavy-rgb: var(--zd-mobile-bg-glass-heavy-rgb);
  --zd-desktop-glass-border: rgba(255, 255, 255, 0.08);
  /* Dock 背景 - RGB 分离格式，透明度由 --zd-widget-opacity 控制 */
  --zd-desktop-dock-bg-rgb: var(--zd-mobile-bg-glass-rgb);
  --zd-desktop-dock-bg: rgba(var(--zd-desktop-dock-bg-rgb), calc(var(--zd-widget-opacity) * 0.8));
  --zd-desktop-dock-border: rgba(255, 255, 255, 0.08);
  --zd-blur-2xl: blur(32px);
  --zd-blur-xl: blur(40px);
  --zd-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.4);
  --zd-shadow-md: 0 8px 32px rgba(0, 0, 0, 0.5);
  --zd-shadow-lg: 0 12px 48px rgba(0, 0, 0, 0.6);
  --zd-border-glass: rgba(255, 255, 255, 0.08);
  --zd-radius-2xl: 24px;
  --zd-radius-xl: 20px;
  --zd-text-primary: #F0F0F0;
  --zd-text-secondary: #B0B0B0;
  --zd-text-tertiary: rgba(255, 255, 255, 0.5);
  --zd-color-matcha-400: var(--zd-color-accent);
  --zd-color-matcha-500: var(--zd-color-accent);
  --zd-color-matcha-600: var(--zd-color-accent);
  --zd-color-white: #ffffff;
  --zd-color-off-white: #faf9f6;
  
  /* 文字系统 - 默认为白色文字 */
  --zd-mobile-text-primary: #F0F0F0;
  --zd-mobile-text-secondary: #B0B0B0;
  --zd-mobile-text-accent: var(--zd-color-accent);
  --zd-mobile-text-accent-dark: var(--zd-color-accent);
  --zd-mobile-text-on-glass: #F0F0F0;
  --zd-mobile-text-muted: rgba(255, 255, 255, 0.5);
  
  /* 文字颜色模式 - 可通过 --zd-text-color-mode 切换 */
  --zd-text-color-mode: 'light';
  
  /* 边框系统 - 极透明白 */
  --zd-mobile-border-subtle: rgba(255, 255, 255, 0.08);
  --zd-mobile-border-strong: rgba(255, 255, 255, 0.15);
  --zd-mobile-border-glass: rgba(255, 255, 255, 0.08);
  
  /* 阴影系统 */
  --zd-mobile-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.2);
  --zd-mobile-shadow-md: 0 8px 32px rgba(0, 0, 0, 0.25);
  --zd-mobile-shadow-lg: 0 12px 48px rgba(0, 0, 0, 0.3);
  
  /* 毛玻璃效果 */
  --zd-mobile-blur-sm: blur(24px);
  --zd-mobile-blur-md: blur(32px);
  --zd-mobile-blur-lg: blur(40px);
  --zd-mobile-blur-xl: blur(56px);
  
  /* 过渡动画 */
  --zd-mobile-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-mobile-transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-mobile-transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  
  /* 头像系统 - 用于用户卡片头像 */
  --zd-mobile-avatar-bg: #0d0d10;
  --zd-mobile-avatar-border: rgba(255, 255, 255, 0.3);
  --zd-mobile-avatar-text: #ffffff;
  
  /* 用户名系统 */
  --zd-mobile-username-color: #ffffff;
  
  /* 图标系统 - 用于 Moon、Settings 等图标 */
  --zd-mobile-icon-color: #ffffff;
  
  /* 徽章/标签背景 */
  --zd-mobile-badge-bg: rgba(152, 180, 134, 0.2);
  --zd-mobile-badge-bg-alt: rgba(0, 0, 0, 0.4);
  
  /* 遮罩系统 - 用于 hover 遮罩 */
  --zd-mobile-overlay-hover: rgba(0, 0, 0, 0.15);
}
/* ============================================
   深色模式主题（原 textColorMode === 'light'）
   通过 data-theme 或 className 切换
   ============================================ */
.mobile-root[data-theme="dark"],
.mobile-root.theme-dark,
[data-theme="dark"] .mobile-root,
.theme-dark .mobile-root,
[data-theme="dark"],
.theme-dark {
  /* 材质系统 - 透明度、磨砂感和圆角（深色模式默认值） */
  --zd-widget-opacity: 0.75;
  --zd-widget-blur: 20px;
  --zd-widget-radius: 16px;
  
  /* 背景系统 - 深色模式 (RGB 分离格式，透明度由 --zd-widget-opacity 控制) */
  --zd-mobile-bg-primary: #1a1a1e;
  /* 基础 RGB 值 - 深色模式 */
  --zd-mobile-bg-glass-rgb: 12, 12, 16;
  --zd-mobile-bg-glass-alt-rgb: 10, 10, 14;
  --zd-mobile-bg-glass-heavy-rgb: 8, 8, 12;
  /* 复合背景色 - 使用 calc 结合透明度变量 */
  --zd-mobile-bg-glass: rgba(var(--zd-mobile-bg-glass-rgb), calc(var(--zd-widget-opacity) * 0.96));
  --zd-mobile-bg-glass-alt: rgba(var(--zd-mobile-bg-glass-alt-rgb), calc(var(--zd-widget-opacity) * 0.93));
  --zd-mobile-bg-glass-heavy: rgba(var(--zd-mobile-bg-glass-heavy-rgb), calc(var(--zd-widget-opacity) * 1.07));
  --zd-mobile-bg-button: linear-gradient(135deg, #3A4B36 0%, #1A2F1A 100%);
  --zd-mobile-bg-button-hover: rgba(255, 255, 255, 0.1);
  
  /* 变量别名 - 深色模式 (RGB 分离格式) */
  --zd-desktop-glass-rgb: 12, 12, 16;
  --zd-desktop-glass-alt-rgb: 10, 10, 14;
  --zd-desktop-glass-heavy-rgb: 8, 8, 12;
  --zd-desktop-glass-border: rgba(255, 255, 255, 0.07);
  /* Dock 背景 - 深色模式 RGB 分离格式 */
  --zd-desktop-dock-bg-rgb: 8, 8, 12;
  --zd-desktop-dock-bg: rgba(var(--zd-desktop-dock-bg-rgb), calc(var(--zd-widget-opacity) * 1.07));
  --zd-desktop-dock-border: rgba(255, 255, 255, 0.07);
  --zd-blur-2xl: blur(44px);
  --zd-blur-xl: blur(50px);
  --zd-shadow-sm: 0 8px 32px rgba(0, 0, 0, 0.30);
  --zd-shadow-md: 0 8px 40px rgba(0, 0, 0, 0.35);
  --zd-shadow-lg: 0 12px 56px rgba(0, 0, 0, 0.40);
  --zd-border-glass: rgba(255, 255, 255, 0.07);
  --zd-radius-2xl: 24px;
  --zd-radius-xl: 20px;
  --zd-text-primary: #ffffff;
  --zd-text-secondary: rgba(255, 255, 255, 0.7);
  --zd-text-tertiary: rgba(255, 255, 255, 0.5);
  --zd-color-matcha-400: #98B486;
  --zd-color-matcha-500: #7A9D75;
  --zd-color-matcha-600: #5A7D55;
  --zd-color-white: #ffffff;
  --zd-color-off-white: #1a1a1e;
  
  /* 文字系统 - 深色模式 */
  --zd-mobile-text-primary: #ffffff;
  --zd-mobile-text-secondary: rgba(255, 255, 255, 0.7);
  --zd-mobile-text-accent: #98B486;
  --zd-mobile-text-accent-dark: #7A9D75;
  --zd-mobile-text-on-glass: #ffffff;
  --zd-mobile-text-muted: rgba(255, 255, 255, 0.5);
  
  /* 边框系统 - 深色模式（极细分隔线） */
  --zd-mobile-border-subtle: rgba(255, 255, 255, 0.08);
  --zd-mobile-border-strong: rgba(0, 0, 0, 0.5);
  --zd-mobile-border-glass: rgba(255, 255, 255, 0.06);
  
  /* 头像系统 - 深色模式下保持相同视觉 */
  --zd-mobile-avatar-bg: #0d0d10;
  --zd-mobile-avatar-border: rgba(255, 255, 255, 0.3);
  --zd-mobile-avatar-text: #ffffff;
  
  /* 用户名系统 */
  --zd-mobile-username-color: #ffffff;
  
  /* 图标系统 */
  --zd-mobile-icon-color: #ffffff;
  
  /* 徽章/标签背景 */
  --zd-mobile-badge-bg: rgba(152, 180, 134, 0.2);
  --zd-mobile-badge-bg-alt: rgba(0, 0, 0, 0.4);
  
  /* 遮罩系统 */
  --zd-mobile-overlay-hover: rgba(0, 0, 0, 0.15);
}
/* ============================================
   浅色模式主题（原 textColorMode === 'dark'）
   ============================================ */
.mobile-root[data-theme="light"],
.mobile-root.theme-light,
[data-theme="light"] .mobile-root,
.theme-light .mobile-root,
[data-theme="light"],
.theme-light {
  /* 背景系统 - 浅色模式已在 :root 中定义，此处无需重复 */
}
/* ============================================
   移动端组件样式类
   ============================================ */
/* 毛玻璃卡片容器 - 使用 --zd-widget-blur 和 --zd-widget-radius 变量实现动态材质 */
.mobile-glass {
  background: var(--zd-mobile-bg-glass);
  backdrop-filter: blur(var(--zd-widget-blur, 20px));
  -webkit-backdrop-filter: blur(var(--zd-widget-blur, 20px));
  border: 1px solid var(--zd-mobile-border-glass);
  box-shadow: var(--zd-mobile-shadow-sm);
  border-radius: var(--zd-widget-radius, 16px);
}
.mobile-glass--heavy {
  background: var(--zd-mobile-bg-glass-heavy);
  backdrop-filter: blur(var(--zd-widget-blur, 20px));
  -webkit-backdrop-filter: blur(var(--zd-widget-blur, 20px));
  border-radius: var(--zd-widget-radius, 16px);
}
.mobile-glass--alt {
  background: var(--zd-mobile-bg-glass-alt);
  backdrop-filter: blur(var(--zd-widget-blur, 20px));
  -webkit-backdrop-filter: blur(var(--zd-widget-blur, 20px));
  border-radius: var(--zd-widget-radius, 16px);
}
/* 文字颜色类 */
.mobile-text-primary {
  color: var(--zd-mobile-text-primary);
}
.mobile-text-secondary {
  color: var(--zd-mobile-text-secondary);
}
.mobile-text-accent {
  color: var(--zd-mobile-text-accent);
}
.mobile-text-on-glass {
  color: var(--zd-mobile-text-on-glass);
}
/* 文字透明度修饰类 */
.mobile-text-muted {
  color: var(--zd-mobile-text-muted);
}
/* WidgetWrapper - 通用组件容器 */
.mobile-widget-wrapper {
  position: relative;
  border-radius: var(--zd-widget-radius, 24px);
  transition: all var(--zd-mobile-transition-base);
  overflow: hidden;
  opacity: var(--zd-widget-opacity, 1);
}
.mobile-widget-wrapper--glass {
  background: var(--zd-mobile-bg-glass);
  backdrop-filter: var(--zd-widget-blur, var(--zd-mobile-blur-md));
  -webkit-backdrop-filter: var(--zd-widget-blur, var(--zd-mobile-blur-md));
  border: 1px solid var(--zd-mobile-border-glass);
  box-shadow: var(--zd-mobile-shadow-sm);
}
/* 实心卡片变体 - 用于深色实心背景（深色毛玻璃效果） */
.mobile-widget-wrapper--solid {
  background: var(--zd-mobile-bg-glass-heavy);
  backdrop-filter: var(--zd-mobile-blur-lg);
  -webkit-backdrop-filter: var(--zd-mobile-blur-lg);
  border: none;
  box-shadow: var(--zd-mobile-shadow-md);
}
.mobile-widget-wrapper--card {
  background: var(--zd-mobile-bg-glass-heavy);
  backdrop-filter: var(--zd-widget-blur, var(--zd-mobile-blur-lg));
  -webkit-backdrop-filter: var(--zd-widget-blur, var(--zd-mobile-blur-lg));
  border: 1px solid var(--zd-mobile-border-subtle);
  box-shadow: var(--zd-mobile-shadow-md);
}
.mobile-widget-wrapper--floating {
  background: var(--zd-mobile-bg-glass-alt);
  backdrop-filter: var(--zd-widget-blur, var(--zd-mobile-blur-md));
  -webkit-backdrop-filter: var(--zd-widget-blur, var(--zd-mobile-blur-md));
  border: 1px solid var(--zd-mobile-border-glass);
  box-shadow: var(--zd-mobile-shadow-lg);
}
.mobile-widget-wrapper:hover {
  transform: translateY(-2px);
}
/* 按钮样式 */
.mobile-icon-button {
  background: var(--zd-mobile-bg-glass);
  border: 1px solid var(--zd-mobile-border-subtle);
  backdrop-filter: var(--zd-mobile-blur-md);
  -webkit-backdrop-filter: var(--zd-mobile-blur-md);
  transition: all var(--zd-mobile-transition-fast);
}
.mobile-icon-button:hover {
  background: var(--zd-mobile-bg-button-hover);
}
/* 技能按钮（右下角带图标的圆形按钮） */
.mobile-skill-button {
  background: var(--zd-mobile-bg-button);
  border: 1px solid var(--zd-mobile-border-subtle);
  backdrop-filter: var(--zd-mobile-blur-lg);
  -webkit-backdrop-filter: var(--zd-mobile-blur-lg);
  box-shadow: var(--zd-mobile-shadow-md);
}
/* 九宫格区域 */
.mobile-grid-area {
  background: var(--zd-mobile-bg-glass);
  backdrop-filter: var(--zd-mobile-blur-md);
  -webkit-backdrop-filter: var(--zd-mobile-blur-md);
  border: 1px solid var(--zd-mobile-border-glass);
  box-shadow: var(--zd-mobile-shadow-sm);
}
/* 底部工具栏 */
.mobile-dock {
  background: var(--zd-mobile-bg-glass-heavy);
  backdrop-filter: var(--zd-mobile-blur-lg);
  -webkit-backdrop-filter: var(--zd-mobile-blur-lg);
  border: 1px solid var(--zd-mobile-border-glass);
  box-shadow: var(--zd-mobile-shadow-md);
}
/* 磨砂玻璃层（壁纸上方） */
.mobile-glass-overlay {
  background-color: rgba(0, 0, 0, 0.12);
  backdrop-filter: var(--zd-mobile-blur-md);
  -webkit-backdrop-filter: var(--zd-mobile-blur-md);
}
/* ============================================
   Theme Store Icon - Liquid Glass pass
   Focused only on the material block
   ============================================ */
.liquid-glass-theme-store {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.026)) !important;
  border: 1px solid rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.2)) !important;
  backdrop-filter: blur(calc(var(--zd-widget-blur, 8px) * 0.15)) !important;
  -webkit-backdrop-filter: blur(calc(var(--zd-widget-blur, 8px) * 0.15)) !important;
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.66)),
    inset 0 -2px 6px rgba(0, 0, 0, calc(var(--zd-widget-opacity, 0.75) * 0.26)),
    0 8px 18px rgba(0, 0, 0, calc(var(--zd-widget-opacity, 0.75) * 0.11)) !important;
  border-radius: var(--zd-widget-radius, 20px) !important;
}
.liquid-glass-theme-store > * {
  position: relative;
  z-index: 3;
  opacity: 1 !important;
  filter: none !important;
}
.liquid-glass-theme-store::before {
  content: none;
}
.liquid-glass-theme-store::after {
  content: none;
}
.liquid-glass-theme-store svg,
.liquid-glass-theme-store span {
  opacity: 1 !important;
  filter: none !important;
}
.mobile-root[data-material-mode="liquid-crystal"] .liquid-crystal-surface {
  background: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.026)) !important;
  border: 1px solid rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.2)) !important;
  backdrop-filter: blur(calc(var(--zd-widget-blur, 8px) * 0.15)) !important;
  -webkit-backdrop-filter: blur(calc(var(--zd-widget-blur, 8px) * 0.15)) !important;
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.4)),
    inset 0 -2px 6px rgba(0, 0, 0, calc(var(--zd-widget-opacity, 0.75) * 0.16)),
    0 8px 18px rgba(0, 0, 0, calc(var(--zd-widget-opacity, 0.75) * 0.11)) !important;
  border-radius: var(--zd-widget-radius, 16px) !important;
}
.mobile-root[data-material-mode="liquid-crystal"] .liquid-crystal-surface--heavy {
  background: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.036)) !important;
}
.mobile-root[data-material-mode="liquid-crystal"] .liquid-crystal-surface--dock {
  background: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.04)) !important;
}
.mobile-root[data-material-mode="liquid-crystal"] {
  --zd-mobile-bg-glass: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.026));
  --zd-mobile-bg-glass-alt: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.03));
  --zd-mobile-bg-glass-heavy: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.036));
  --zd-mobile-border-glass: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.2));
  --zd-border-glass: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.2));
  --zd-desktop-dock-border: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.2));
  --zd-desktop-dock-bg: rgba(255, 255, 255, calc(var(--zd-widget-opacity, 0.75) * 0.04));
  --zd-mobile-shadow-sm: 0 8px 18px rgba(0, 0, 0, calc(var(--zd-widget-opacity, 0.75) * 0.11));
  --zd-mobile-shadow-md: 0 10px 22px rgba(0, 0, 0, calc(var(--zd-widget-opacity, 0.75) * 0.13));
  --zd-mobile-shadow-lg: 0 14px 28px rgba(0, 0, 0, calc(var(--zd-widget-opacity, 0.75) * 0.16));
}
.mobile-root[data-material-mode="liquid-crystal"] .mobile-glass,
.mobile-root[data-material-mode="liquid-crystal"] .mobile-glass--heavy,
.mobile-root[data-material-mode="liquid-crystal"] .mobile-glass--alt,
.mobile-root[data-material-mode="liquid-crystal"] .mobile-widget-wrapper--glass,
.mobile-root[data-material-mode="liquid-crystal"] .mobile-widget-wrapper--solid,
.mobile-root[data-material-mode="liquid-crystal"] .mobile-widget-wrapper--card,
.mobile-root[data-material-mode="liquid-crystal"] .mobile-widget-wrapper--floating {
  border-color: rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.3),
    inset 0 -2px 6px rgba(0, 0, 0, 0.12),
    0 8px 18px rgba(0, 0, 0, 0.08) !important;
}
/* ============================================
   响应式调整（移动端优先）
   ============================================ */
@media (max-width: 768px) {
  :root {
    --zd-mobile-blur-sm: blur(16px);
    --zd-mobile-blur-md: blur(20px);
    --zd-mobile-blur-lg: blur(24px);
  }
}
/* ============================================
   无障碍优化
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  :root {
    --zd-mobile-transition-fast: 0.01ms;
    --zd-mobile-transition-base: 0.01ms;
    --zd-mobile-transition-slow: 0.01ms;
  }
}
/* ============================================
   高对比度模式
   ============================================ */
@media (prefers-contrast: high) {
  :root {
    --zd-mobile-border-subtle: rgba(255, 255, 255, 0.9);
    --zd-mobile-border-glass: rgba(255, 255, 255, 0.9);
  }
  
  [data-theme="dark"],
  .theme-dark {
    --zd-mobile-border-subtle: rgba(255, 255, 255, 0.9);
    --zd-mobile-border-glass: rgba(255, 255, 255, 0.9);
  }
}
/* ============================================
   桌面布局容器
   ============================================ */
.desktop-layout {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.desktop-widgets-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 72px;
  gap: var(--zd-layout-gap, 12px);
  width: 100%;
  min-height: 100%;
  padding: var(--zd-layout-padding, 16px 20px);
  align-content: start;
  box-sizing: border-box;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
/* 隐藏网格滚动条 */
.desktop-widgets-grid::-webkit-scrollbar {
  display: none;
}
.desktop-widget {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border-radius: var(--zd-widget-radius, 16px);
  background: var(--zd-mobile-bg-glass);
  border: 1px solid var(--zd-mobile-border-glass);
  backdrop-filter: blur(var(--zd-widget-blur, 20px));
  -webkit-backdrop-filter: blur(var(--zd-widget-blur, 20px));
  box-shadow: var(--zd-mobile-shadow-sm);
  transition: all var(--zd-mobile-transition-base);
  pointer-events: auto;
}
/* ============================================================
   文字颜色模式切换
   ============================================================ */
/* 深色文字模式（默认） */
.mobile-root.text-color-mode-dark {
  --zd-mobile-text-primary: #2d2d2d !important;
  --zd-mobile-text-secondary: #6b7280 !important;
  --zd-mobile-text-on-glass: #2d2d2d !important;
  --zd-mobile-text-muted: rgba(0, 0, 0, 0.5) !important;
  /* 覆盖通用文字变量（用于 Dock 等组件） */
  --zd-text-primary: #2d2d2d !important;
  --zd-text-secondary: #6b7280 !important;
  --zd-text-tertiary: rgba(0, 0, 0, 0.5) !important;
}
/* 浅色文字模式 */
.mobile-root.text-color-mode-light {
  --zd-mobile-text-primary: #ffffff !important;
  --zd-mobile-text-secondary: rgba(255, 255, 255, 0.8) !important;
  --zd-mobile-text-on-glass: #ffffff !important;
  --zd-mobile-text-muted: rgba(255, 255, 255, 0.6) !important;
  /* 覆盖通用文字变量（用于 Dock 等组件） */
  --zd-text-primary: #ffffff !important;
  --zd-text-secondary: rgba(255, 255, 255, 0.8) !important;
  --zd-text-tertiary: rgba(255, 255, 255, 0.6) !important;
}
/* ============================================================
   滚动行为修复 - 防止滑动时页面抖动变形
   ============================================================ */
.mobile-root,
.mobile-root * {
  overscroll-behavior: none;
  -webkit-overscroll-behavior: none;
}
/* 阻止横向滚动（仅对 mobile-root 本体生效，不阻止内部 scroll container） */
.mobile-root {
  touch-action: pan-y;
}
/* 页面滑动容器：显式允许横向滚动，覆盖任何潜在的 touch-action 限制 */
.pages-scroll-container {
  touch-action: pan-x pan-y !important;
}
/* ========== 2.5. 主题商城系统 ========== */
/**
 * 主题商城系统 - 双列呼吸感网格
 * Theme Store - 2-Column Minimal Grid
 * 
 * 设计规格:
 * - 移动端优先，流式布局
 * - 顶部页眉 + 横向标签
 * - 双列 Grid，16px 呼吸间距，20px 边距
 * - 3/4 比例卡片，#F9F9F9 背景，28px 圆角
 * - 极淡阴影 0 4px 12px rgba(0,0,0,0.02)
 * - 底部 12px 居中标题
 */
/* ========================================
   根变量
   ======================================== */
:root {
  /* === 背景 === */
  --zd-store-bg: #FDFBF7;
  --zd-store-card-bg: #F9F9F9;
  
  /* === 文字 === */
  --zd-store-text-primary: #1A1A1A;
  --zd-store-text-secondary: #6B6B6B;
  --zd-store-text-tertiary: #A0A0A0;
  --zd-store-text-light: rgba(255, 255, 255, 0.9);
  
  /* === 间距 === */
  --zd-store-grid-gap: 16px;
  --zd-store-grid-padding: 20px;
  
  /* === 圆角 === */
  --zd-store-radius-card: 28px;
  --zd-store-radius-tab: 999px;
  
  /* === 阴影 === */
  --zd-store-shadow-card: 0 4px 12px rgba(0, 0, 0, 0.02);
  --zd-store-shadow-card-hover: 0 6px 16px rgba(0, 0, 0, 0.04);
  
  /* === 字体 === */
  --zd-store-font-sans: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif;
  --zd-store-font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
}
/* ========================================
   容器 - 移动端流式布局
   ======================================== */
.theme-store-container {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background: var(--zd-store-bg);
}
/* ========================================
   顶部区域
   ======================================== */
.theme-store-header {
  padding: 20px var(--zd-store-grid-padding) 16px;
}
.theme-store-header__top {
  margin-bottom: 16px;
}
.theme-store-header__title {
  font-size: 16px;
  font-weight: 600;
  font-family: var(--zd-store-font-serif);
  color: var(--zd-store-text-primary);
  margin: 0;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.theme-store-header__title:hover {
  opacity: 0.6;
}
/* ========================================
   横向标签导航
   ======================================== */
.theme-store-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.theme-store-tabs::-webkit-scrollbar {
  display: none;
}
.theme-store-tabs__tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: transparent;
  border: none;
  border-radius: var(--zd-store-radius-tab);
  cursor: pointer;
  outline: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.theme-store-tabs__tab:hover {
  background: rgba(0, 0, 0, 0.03);
}
.theme-store-tabs__tab__icon {
  display: flex;
  align-items: center;
  color: var(--zd-store-text-tertiary);
  transition: color 0.2s ease;
}
.theme-store-tabs__tab__label {
  font-size: 13px;
  font-weight: 400;
  font-family: var(--zd-store-font-sans);
  color: var(--zd-store-text-tertiary);
  transition: color 0.2s ease;
}
.theme-store-tabs__tab--active .theme-store-tabs__tab__icon,
.theme-store-tabs__tab--active .theme-store-tabs__tab__label {
  color: var(--zd-store-text-primary);
}
.theme-store-tabs__tab--active {
  background: rgba(0, 0, 0, 0.05);
}
/* ========================================
   主体区域
   ======================================== */
.theme-store-main {
  padding: 0 var(--zd-store-grid-padding) 24px;
  /* 确保内容可以撑开 */
  display: block;
}
/* ========================================
   双列 Grid 容器
   ======================================== */
.theme-store-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--zd-store-grid-gap);
}
/* ========================================
   网格卡片 - 3/4 比例
   ======================================== */
.theme-store-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.theme-store-card__body {
  position: relative;
  /* 3/4 比例 - 移动端友好 */
  aspect-ratio: 3 / 4;
  width: 100%;
  background: var(--zd-store-card-bg);
  border-radius: var(--zd-store-radius-card);
  box-shadow: var(--zd-store-shadow-card);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  overflow: hidden;
}
.theme-store-card:hover .theme-store-card__body {
  box-shadow: var(--zd-store-shadow-card-hover);
}
.theme-store-card__initial {
  font-size: 32px;
  font-weight: 500;
  font-family: var(--zd-store-font-serif);
  color: rgba(0, 0, 0, 0.5);
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.theme-store-card:hover .theme-store-card__initial {
  color: rgba(0, 0, 0, 0.7);
}
/* 底部标签 - 卡片下方居中 */
.theme-store-card__label {
  font-size: 12px;
  font-weight: 400;
  font-family: var(--zd-store-font-sans);
  color: var(--zd-store-text-secondary);
  text-align: center;
  margin: 0;
  letter-spacing: 0.1em;
}
/* ========================================
   底部版权
   ======================================== */
.theme-store-footer {
  padding: 16px 20px 24px;
  text-align: center;
}
.theme-store-footer__copyright {
  font-size: 9px;
  font-weight: 300;
  font-family: var(--zd-store-font-sans);
  color: var(--zd-store-text-tertiary);
  letter-spacing: 0.3em;
  margin: 0;
  text-transform: uppercase;
  opacity: 0.5;
}
/* ========== 3. WeChat 导航栏变量 ========== */
/**
 * @file navigation.css
 * @description 零度存档 - 微信导航栏主题 (WeChat Navigation Bar Theme)
 */
/* ============================================
   零度 · 微信导航栏主题 (WeChat Navigation Bar Theme)
   Zero Degree · WeChat Navigation Bar Theme System
   ============================================ */
/* ========== 语义化变量层 ========== */
:root {
  /* 高级缓动函数 */
  --zd-ease-premium: cubic-bezier(0.16, 1, 0.3, 1);
  --zd-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  
  /* 悬浮阴影 - 多层柔和扩散 (韩系粉紫) */
  --zd-shadow-float-sm:
    0 8px 16px -4px rgba(212, 160, 200, 0.08),
    0 0 12px rgba(212, 160, 200, 0.04);
  --zd-shadow-float:
    0 20px 40px -8px rgba(212, 160, 200, 0.12),
    0 0 24px rgba(212, 160, 200, 0.06);
  --zd-shadow-float-lg:
    0 28px 56px -10px rgba(212, 160, 200, 0.16),
    0 0 32px rgba(212, 160, 200, 0.08);
  --zd-shadow-float-hover:
    0 24px 48px -6px rgba(212, 160, 200, 0.15),
    0 0 28px rgba(212, 160, 200, 0.1);
  
  /* 陶瓷内阴影 - 温润质感 */
  --zd-shadow-ceramic:
    inset 0 2px 6px rgba(255, 255, 255, 0.7),
    inset 0 -2px 6px rgba(212, 160, 200, 0.08);
  --zd-shadow-ceramic-strong:
    inset 0 3px 8px rgba(255, 255, 255, 0.9),
    inset 0 -3px 8px rgba(212, 160, 200, 0.12);
  
  /* 次表面散射 - 内部透光 */
  --zd-subsurface-glow: radial-gradient(
    ellipse at center,
    rgba(212, 160, 200, 0.15) 0%,
    rgba(212, 160, 200, 0.05) 60%,
    transparent 100%
  );
  
  /* 滑块变量 */
  --zd-slider-track-bg: rgba(255, 255, 255, 0.06);
  --zd-slider-track-border: rgba(255, 255, 255, 0.08);
  --zd-slider-fill-gradient: linear-gradient(90deg, rgba(212, 160, 200, 0.6) 0%, rgba(184, 154, 212, 0.8) 100%);
  
  /* 上下文菜单 */
  --zd-wechat-context-bg: #08080A;
  --zd-wechat-context-overlay: rgba(20, 20, 25, 0.98);
  --zd-wechat-context-dark-gray: #1A1A1E;
  --zd-wechat-context-dark-gray-hover: #25252A;
  --zd-wechat-context-danger: #C44569;
  
  /* 遮罩层 */
  --zd-wechat-overlay-dark: rgba(0, 0, 0, 0.75);
  --zd-wechat-overlay-darker: rgba(0, 0, 0, 0.92);
  --zd-wechat-overlay-blur: blur(4px);
  --zd-wechat-overlay-blur-heavy: blur(20px);
  
  /* 阴影 */
  --zd-wechat-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --zd-wechat-shadow-md: 0 8px 32px rgba(0, 0, 0, 0.6);
  --zd-wechat-shadow-lg: 0 30px 80px rgba(0, 0, 0, 0.6);
  --zd-wechat-shadow-gold: 0 8px 20px rgba(229, 192, 123, 0.2);
  
  /* 环境光效果 */
  --zd-wechat-ambient-gold: radial-gradient(ellipse 80% 60% at 70% 40%, rgba(212, 175, 55, 0.06) 0%, transparent 70%);
  --zd-wechat-ambient-purple: radial-gradient(ellipse 80% 60% at 30% 60%, rgba(98, 88, 128, 0.06) 0%, transparent 70%);
  
  /* 圆角系统 */
  --zd-wechat-radius-sm: 8px;
  --zd-wechat-radius-md: 12px;
  --zd-wechat-radius-lg: 16px;
  --zd-wechat-radius-xl: 20px;
  --zd-wechat-radius-2xl: 24px;
  --zd-wechat-radius-3xl: 32px;
  --zd-wechat-radius-full: 9999px;
  
  /* 过渡动画 */
  --zd-wechat-transition-fast: 0.15s;
  --zd-wechat-transition-base: 0.2s;
  --zd-wechat-transition-slow: 0.3s;
}
/* 日间模式 (LUX) - "沙丘色与苦巧克力" (Dune & Bitter Chocolate) - Old Money Aesthetic */
.zd-theme-wechat-lux {
  /* 基础背景色系 - 温润沙灰色 */
  --zd-wechat-bg-primary: #EBE8E2;      /* 温润沙灰 - 全局背景 */
  --zd-wechat-bg-secondary: #F3F1ED;    /* 浅沙灰 - 次要背景 */
  --zd-wechat-bg-card: #F9F8F6;         /* 暖白 - 功能卡片 */
  --zd-wechat-bg-overlay: rgba(235, 232, 226, 0.96);
  --zd-wechat-bg-modal: rgba(235, 232, 226, 0.92);
  
  /* 玻璃效果 - 亮色模式（暖调） */
  --zd-wechat-glass: rgba(61, 43, 31, 0.04);
  --zd-wechat-glass-strong: rgba(61, 43, 31, 0.08);
  --zd-wechat-glass-border: rgba(61, 43, 31, 0.08);
  --zd-wechat-glass-highlight: rgba(61, 43, 31, 0.12);
  
  /* CrystalContainer 专用变量 - 暖白琉璃质感 */
  --zd-wechat-glass-bg: rgba(249, 248, 246, 0.85);
  --zd-wechat-glass-blur: 20px;
  
  /* 文本色系 - 深巧克力色与暖棕灰 */
  --zd-wechat-text-title: #2D2520;       /* 主标题 - 深巧克力黑 */
  --zd-wechat-text-primary: #3D2B1F;     /* 正文 - 苦巧克力 */
  --zd-wechat-text-secondary: #5A5048;   /* 次要文本 - 暖棕灰 */
  --zd-wechat-text-tertiary: #7D6F63;    /* 第三级文本 - 沙棕 */
  --zd-wechat-text-muted: #9C9288;       /* 弱化文本 - 沙灰 */
  --zd-wechat-text-subtle: #B8A99A;      /* 极 subtle - 浅沙 */
  --zd-wechat-text-pure: rgba(45, 37, 32, 0.95);
  
  /* 强调色 - 金色与巧克力 */
  --zd-wechat-gold: #B8957A;             /* 香槟金 - 选中状态 */
  --zd-wechat-gold-light: #C9B8A4;       /* 浅金 - 悬停 */
  --zd-wechat-chocolate: #3D2B1F;        /* 苦巧克力 - 主要强调 */
  --zd-wechat-chocolate-light: #5A4033;  /* 浅巧克力 - 次要强调 */
  
  /* 边框色系 - 微妙沙色 */
  --zd-wechat-border-hairline: rgba(201, 184, 164, 0.06);  /* 极细沙线 */
  --zd-wechat-border-subtle: rgba(201, 184, 164, 0.12);    /* 微妙边框 */
  --zd-wechat-border-divider: rgba(201, 184, 164, 0.2);    /* 分隔线 */
  --zd-wechat-border-gold: rgba(184, 149, 122, 0.3);       /* 金色边框 */
  
  /* 阴影系统 - 暖调柔影 */
  --zd-wechat-shadow-sm: 0 1px 3px rgba(61, 43, 31, 0.06);
  --zd-wechat-shadow-md: 0 4px 12px rgba(61, 43, 31, 0.08);
  --zd-wechat-shadow-lg: 0 8px 24px rgba(61, 43, 31, 0.1);
  
  /* 卡片/按钮基础背景 - 浅沙灰色（日间模式） */
  --zd-wechat-slate: rgba(201, 184, 164, 0.15);  /* 沙色半透明 */
  --zd-wechat-charcoal: rgba(61, 43, 31, 0.05);  /* 极淡巧克力阴影 */
  
  /* 金色光晕 - 日间模式 */
  --zd-wechat-gold-glow: rgba(184, 149, 122, 0.3);
  
  /* 朋友圈主题变量 - 亮色模式 */
  --zd-moments-bg-primary: #FAF9F6;
  --zd-moments-bg-deep: #F2F2F6;
  --zd-moments-bg-elevated: #FFFFFF;
  --zd-moments-bg-secondary: #F9F9FB;
  --zd-moments-bg-card: #FFFFFF;
  --zd-moments-bg-surface: #F7F7F8;
  --zd-moments-bg-glass: linear-gradient(145deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.6) 100%);
  --zd-moments-ambient-glow: radial-gradient(ellipse 100% 50% at 50% 0%, rgba(245, 235, 220, 0.5) 0%, transparent 60%);
  --zd-moments-ambient-purple: radial-gradient(ellipse 80% 60% at 70% 20%, rgba(180, 160, 190, 0.03) 0%, transparent 70%);
  --zd-moments-ambient-pink: radial-gradient(ellipse 60% 50% at 30% 80%, rgba(235, 200, 200, 0.04) 0%, transparent 60%);
  --zd-moments-text-nickname: #2A2A2A;
  --zd-moments-text-primary: #3A3A38;
  --zd-moments-text-secondary: #727270;
  --zd-moments-text-accent: #5E5E5C;
  --zd-moments-text-placeholder: #B8B8B8;
  --zd-moments-text-shadow: none !important;
  --zd-moments-border-hairline: none;
  --zd-moments-border-subtle: none;
  --zd-moments-border-glass: none;
  --zd-moments-border-avatar: 0.5px solid rgba(0, 0, 0, 0.08);
  --zd-moments-border-champagne: none;
  --zd-moments-cover-gradient: linear-gradient(to top, var(--zd-moments-bg-primary) 0%, rgba(250, 249, 246, 0) 100%);
  --zd-moments-cover-overlay: none;
  --zd-moments-comment-bg: #F7F7F8;
  --zd-moments-comment-blur: none;
  --zd-moments-comment-inner-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
  --zd-moments-comment-outer-glow: 0 16px 48px rgba(0, 0, 0, 0.02);
  --zd-moments-popover-bg: #FFFFFF;
  --zd-moments-popover-blur: none;
  
  /* 朋友圈补充变量 - 亮色模式 */
  --zd-moments-image-bg: #F2F2F2;
  --zd-moments-avatar-bg: #E8E8E8;
  --zd-moments-avatar-border-feed: none;
  --zd-moments-avatar-border-cover: 2px solid #FFFFFF;
  --zd-moments-button-bg: #F2F2F2;
  --zd-moments-button-color: #727270;
  --zd-moments-subtitle-color: #727270;
  --zd-moments-feed-border: 0.5px solid rgba(120, 120, 120, 0.08);
  --zd-moments-feed-padding: 16px 16px;
  --zd-moments-interaction-divider: 0.5px solid rgba(120, 120, 120, 0.08);
  --zd-moments-interaction-padding-bottom: 8px;
  --zd-moments-interaction-like-color: #5E5E5C;
  --zd-moments-interaction-comment-name-color: #2A2A2A;
  --zd-moments-interaction-comment-text-color: #727270;
  
  /* 导航栏主题变量 - 韩系极简白 */
  --zd-wechat-nav-bg: rgba(255, 255, 255, 0.85);  /* 纯白半透明背景 */
  --zd-wechat-nav-border: rgba(0, 0, 0, 0.08);  /* 极细浅灰边框 */
  
  /* 聊天室容器变量 - 纯白背景 */
  --zd-wechat-bg-primary: #FFFFFF;  /* 纯白背景 */
  --zd-wechat-glass: rgba(255, 255, 255, 0.5);  /* 白色玻璃效果（更通透） */
  --zd-wechat-border-light: rgba(0, 0, 0, 0.06);  /* 极细浅灰边框 */
  
  /* 输入区域变量 - 纯白与浅灰 */
  --zd-wechat-input-bg: rgba(255, 255, 255, 0.9);  /* 纯白半透明背景 */
  --zd-wechat-input-field-bg: #F2F2F2;  /* 浅灰色输入框 */
  --zd-wechat-input-field-inner-shadow: none;  /* 无内阴影 */
  --zd-wechat-input-accent: rgba(0, 0, 0, 0.05);  /* 黑色点缀（极淡） */
  --zd-wechat-icon-primary: #222222;  /* 深灰色图标 */
  --zd-wechat-icon-secondary: #666666;  /* 中灰辅助图标 */
  --zd-wechat-text-placeholder: #B8B8B8;  /* 输入框提示文字 */
  
  /* 发送按钮变量 - 极简深灰 */
  --zd-wechat-send-bg: #E8E8E8;  /* 浅灰色底座 */
  --zd-wechat-send-icon: #222222;  /* 深灰色纸飞机图标 */
  --zd-wechat-send-glow: rgba(0, 0, 0, 0.1);  /* 极柔和光晕 */
  
  /* 文字颜色 - 纯黑与深灰 */
  --zd-wechat-nav-text: #000000;  /* 纯黑文字 */
  --zd-wechat-nav-text-muted: #999999;  /* 浅灰辅助文字 */
  --zd-wechat-nav-text-pure: #000000;
  
  /* 高亮色 - 金属渐变（日间低饱和版） */
  --zd-wechat-nav-gold-light: #E8D5A3;
  --zd-wechat-nav-gold: #C9A961;
  --zd-wechat-nav-pink-light: #F0C0C0;
  --zd-wechat-nav-pink: #D48C8C;
  --zd-wechat-nav-green-light: #6FD9B5;
  --zd-wechat-nav-green: #2E9672;
  
  /* 渐变定义 - 统一管理 */
  --zd-wechat-nav-gold-gradient: linear-gradient(135deg, var(--zd-wechat-nav-gold-light) 0%, var(--zd-wechat-nav-gold) 100%);
  --zd-wechat-nav-pink-gradient: linear-gradient(135deg, var(--zd-wechat-nav-pink-light) 0%, var(--zd-wechat-nav-pink) 100%);
  --zd-wechat-nav-green-gradient: linear-gradient(135deg, var(--zd-wechat-nav-green-light) 0%, var(--zd-wechat-nav-green) 100%);
  
  /* 阴影系统 - 悬浮岛设计（移除顶部硬分界线） */
  --zd-wechat-nav-shadow:
    0 -8px 24px rgba(0, 0, 0, 0.06),
    0 4px 16px rgba(120, 113, 108, 0.04),
    inset 0 0 0 1px rgba(255, 255, 255, 0.3);
  
  /* 光点指示器 */
  --zd-wechat-nav-dot-opacity: 0.6;
  --zd-wechat-nav-dot-blur: blur(2px);
  --zd-wechat-nav-dot-size: 3px;
  
  /* 触碰反馈 */
  --zd-wechat-nav-pressed-bg: rgba(120, 113, 108, 0.03);
  --zd-wechat-nav-pressed-scale: 0.92;
  
  /* 图标系统 */
  --zd-wechat-nav-icon-size: 22px;
  --zd-wechat-nav-icon-stroke-inactive: 1.8;
  --zd-wechat-nav-icon-stroke-active: 2.5;
  
  /* 布局间距 */
  --zd-wechat-nav-padding-x: 16px;
  --zd-wechat-nav-padding-y: 8px;
  --zd-wechat-nav-height: 84px;
  
  /* 焦点状态 - 无障碍支持 */
  --zd-wechat-nav-focus-ring: 0 0 0 2px rgba(201, 169, 97, 0.5);
  
  /* ========== Editorial Minimalism 2.0 - 极简纸质杂志风 ========== */
  /* 全局底色 - 极淡暖灰纸张色 */
  --zd-wechat-paper-bg: #F5F5F5;
  
  /* 用户气泡 (发送方/右侧) - 深碳灰底白字，锋利紧凑 */
  --zd-wechat-bubble-user-bg: #1A1A1A;
  --zd-wechat-bubble-user-border: none;
  --zd-wechat-bubble-user-shadow: none;
  --zd-wechat-bubble-user-text: #FFFFFF;
  /* 非对称几何圆角 - 右下角最尖 */
  --zd-wechat-bubble-user-radius-tl: 12px;
  --zd-wechat-bubble-user-radius-tr: 12px;
  --zd-wechat-bubble-user-radius-br: 2px;
  --zd-wechat-bubble-user-radius-bl: 12px;
  
  /* AI 气泡 (接收方/左侧) - 纯白底深灰字 + 极细边框，无阴影 */
  --zd-wechat-bubble-ai-bg: #FFFFFF;
  --zd-wechat-bubble-ai-border: 0.5px solid #EAEAEA;
  --zd-wechat-bubble-ai-shadow: none;
  --zd-wechat-bubble-ai-text: #1A1A1A;
  /* 非对称几何圆角 - 左下角最尖 */
  --zd-wechat-bubble-ai-radius-tl: 12px;
  --zd-wechat-bubble-ai-radius-tr: 12px;
  --zd-wechat-bubble-ai-radius-br: 12px;
  --zd-wechat-bubble-ai-radius-bl: 2px;
  
  /* 文字排版 - 小而精 */
  --zd-wechat-bubble-font-size: 14px;
  --zd-wechat-bubble-letter-spacing: 0.03em;
  --zd-wechat-bubble-line-height: 1.5;
  /* 紧凑内边距 - 上下 8px, 左右 12px */
  --zd-wechat-bubble-padding-x: 12px;
  --zd-wechat-bubble-padding-y: 8px;
  
  /* 时间戳 - 外侧下方，等宽字体 */
  --zd-wechat-timestamp-font: 'Roboto Mono', monospace;
  --zd-wechat-timestamp-size: 10px;
  --zd-wechat-timestamp-color: #B0B0B0;
  --zd-wechat-timestamp-spacing: 0.05em;
}
/* 夜间模式 (NOX) - 极光深渊 */
.zd-theme-wechat-nox {
  /* 背景与边框 */
  --zd-wechat-nav-bg: rgba(13, 12, 15, 0.85);
  --zd-wechat-nav-border: rgba(255, 255, 255, 0.08);
  
  /* 文字颜色 */
  --zd-wechat-nav-text: rgba(255, 255, 255, 0.9);
  --zd-wechat-nav-text-muted: rgba(255, 255, 255, 0.5);  /* 提升对比度 */
  --zd-wechat-nav-text-pure: rgba(255, 255, 255, 0.98);
  
  /* 高亮色 - 金属渐变（夜间高饱和版） */
  --zd-wechat-nav-gold-light: #F5E6A8;
  --zd-wechat-nav-gold: #D4AF37;
  --zd-wechat-nav-pink-light: #FFB5B5;
  --zd-wechat-nav-pink: #E07B7B;
  --zd-wechat-nav-green-light: #4FD9A8;
  --zd-wechat-nav-green: #00B88A;
  
  /* 渐变定义 - 统一管理 */
  --zd-wechat-nav-gold-gradient: linear-gradient(135deg, var(--zd-wechat-nav-gold-light) 0%, var(--zd-wechat-nav-gold) 100%);
  --zd-wechat-nav-pink-gradient: linear-gradient(135deg, var(--zd-wechat-nav-pink-light) 0%, var(--zd-wechat-nav-pink) 100%);
  --zd-wechat-nav-green-gradient: linear-gradient(135deg, var(--zd-wechat-nav-green-light) 0%, var(--zd-wechat-nav-green) 100%);
  
  /* 阴影系统 - 悬浮岛设计（移除顶部硬分界线，深邃外发光） */
  --zd-wechat-nav-shadow:
    0 -12px 32px rgba(0, 0, 0, 0.3),
    0 8px 24px rgba(0, 0, 0, 0.25),
    inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  
  /* 光点指示器 */
  --zd-wechat-nav-dot-opacity: 0.7;
  --zd-wechat-nav-dot-blur: blur(1.5px);
  --zd-wechat-nav-dot-size: 3px;
  
  /* 触碰反馈 */
  --zd-wechat-nav-pressed-bg: rgba(255, 255, 255, 0.03);
  --zd-wechat-nav-pressed-scale: 0.92;
  
  /* 图标系统 */
  --zd-wechat-nav-icon-size: 22px;
  --zd-wechat-nav-icon-stroke-inactive: 1.8;
  --zd-wechat-nav-icon-stroke-active: 2.5;
  
  /* 布局间距 */
  --zd-wechat-nav-padding-x: 16px;
  --zd-wechat-nav-padding-y: 8px;
  --zd-wechat-nav-height: 84px;
  
  /* 焦点状态 - 无障碍支持 */
  --zd-wechat-nav-focus-ring: 0 0 0 2px rgba(212, 175, 55, 0.5);
  
  /* 聊天室容器变量 - 夜间模式保持原有极光深渊质感 */
  --zd-wechat-bg-primary: #0D0C0F;
  --zd-wechat-glass: rgba(13, 12, 15, 0.45);
  --zd-wechat-border-light: rgba(255, 255, 255, 0.08);
  
  /* 输入区域变量 - 夜间模式，保持深邃感 + 金色点缀 */
  --zd-wechat-input-bg: rgba(13, 12, 15, 0.75);
  --zd-wechat-input-field-bg: rgba(20, 18, 22, 0.8);
  --zd-wechat-input-accent: rgba(212, 175, 55, 0.15);
  --zd-wechat-icon-primary: rgba(212, 175, 55, 0.8);  /* 金色图标 */
  
  /* 发送按钮变量 - 夜间模式保持金色 */
  --zd-wechat-send-bg: #D4AF37;   /* 金色底座 */
  --zd-wechat-send-icon: #F5E6A8; /* 浅金色图标 */
  --zd-wechat-send-glow: rgba(212, 175, 55, 0.5);
  
  /* 朋友圈主题变量 - 暗色模式 */
  --zd-moments-bg-primary: #0A0A0E;
  --zd-moments-bg-deep: #050508;
  --zd-moments-bg-elevated: #0F0F14;
  --zd-moments-bg-secondary: #121218;
  --zd-moments-bg-card: #15151A;
  --zd-moments-bg-glass: linear-gradient(145deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.005) 100%);
  --zd-moments-ambient-glow: radial-gradient(ellipse 100% 50% at 50% 0%, rgba(90, 80, 120, 0.04) 0%, transparent 60%);
  --zd-moments-ambient-purple: radial-gradient(ellipse 80% 60% at 70% 20%, rgba(74, 43, 82, 0.03) 0%, transparent 70%);
  --zd-moments-ambient-pink: radial-gradient(ellipse 60% 50% at 30% 80%, rgba(255, 182, 193, 0.015) 0%, transparent 60%);
  --zd-moments-text-nickname: #EAC8A9;
  --zd-moments-text-primary: rgba(255, 255, 255, 0.85);
  --zd-moments-text-secondary: rgba(255, 255, 255, 0.45);
  --zd-moments-text-accent: #EAC8A9;
  --zd-moments-text-placeholder: rgba(255, 255, 255, 0.30);
  --zd-moments-text-shadow: none;
  --zd-moments-border-hairline: none;
  --zd-moments-border-subtle: none;
  --zd-moments-border-glass: none;
  --zd-moments-border-avatar: 0.5px solid rgba(255, 255, 255, 0.15);
  --zd-moments-border-champagne: none;
  --zd-moments-cover-gradient: linear-gradient(to top, var(--zd-moments-bg-primary) 0%, rgba(10, 10, 14, 0) 60%);
  --zd-moments-cover-overlay: none;
  --zd-moments-comment-bg: linear-gradient(145deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.005) 100%);
  --zd-moments-comment-blur: blur(20px);
  --zd-moments-comment-inner-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --zd-moments-comment-outer-glow: 0 1px 3px rgba(0, 0, 0, 0.4);
  --zd-moments-popover-bg: linear-gradient(145deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.005) 100%);
  --zd-moments-popover-blur: blur(20px);
  
  /* 朋友圈补充变量 - 暗色模式 */
  --zd-moments-image-bg: #1A1A1A;
  --zd-moments-avatar-bg: #222222;
  --zd-moments-avatar-border-feed: none;
  --zd-moments-avatar-border-cover: 2px solid rgba(255, 255, 255, 0.1);
  --zd-moments-button-bg: rgba(255, 255, 255, 0.15);
  --zd-moments-button-color: rgba(255, 255, 255, 0.65);
  --zd-moments-subtitle-color: rgba(255, 255, 255, 0.45);
  --zd-moments-feed-border: 0.5px solid rgba(255, 255, 255, 0.08);
  --zd-moments-feed-padding: 16px 16px;
  --zd-moments-interaction-divider: 0.5px solid rgba(255, 255, 255, 0.08);
  --zd-moments-interaction-padding-bottom: 8px;
  --zd-moments-interaction-like-color: #EAC8A9;
  --zd-moments-interaction-comment-name-color: #EAC8A9;
  --zd-moments-interaction-comment-text-color: rgba(255, 255, 255, 0.45);
}
/**
 * @file wechat-global.css
 * @description 微信全局主题层，仅作用于消息 / 联系人 / 朋友圈 / 我 四页。
 *
 * 目标：
 * 1. 建立独立作用域 `.zd-theme-wechat-global`
 * 2. 默认视觉与现有界面保持一致
 * 3. 为后续主题商城注入整套 CSS 提供稳定 token 边界
 * 4. 不接管聊天室
 */
.zd-theme-wechat-global {
  --zd-wx-global-bg: var(--zd-wechat-bg-primary);
  --zd-wx-global-bg-secondary: var(--zd-wechat-bg-secondary, var(--zd-wechat-bg-primary));
  --zd-wx-global-bg-card: var(--zd-wechat-bg-card, var(--zd-wechat-glass, rgba(255, 255, 255, 0.04)));
  --zd-wx-global-bg-overlay: var(--zd-wechat-bg-overlay, rgba(0, 0, 0, 0.06));
  --zd-wx-global-bg-modal: var(--zd-wechat-bg-modal, var(--zd-wechat-bg-primary));

  --zd-wx-global-glass: var(--zd-wechat-glass, rgba(255, 255, 255, 0.05));
  --zd-wx-global-glass-strong: var(--zd-wechat-glass-strong, var(--zd-wx-global-glass));
  --zd-wx-global-glass-border: var(--zd-wechat-glass-border, var(--zd-wechat-border-light, rgba(255, 255, 255, 0.08)));
  --zd-wx-global-glass-highlight: var(--zd-wechat-glass-highlight, rgba(255, 255, 255, 0.12));
  --zd-wx-global-glass-blur: var(--zd-wechat-glass-blur, 20px);

  --zd-wx-global-text-title: var(--zd-wechat-text-title, var(--zd-wechat-text-primary));
  --zd-wx-global-text-primary: var(--zd-wechat-text-primary);
  --zd-wx-global-text-secondary: var(--zd-wechat-text-secondary);
  --zd-wx-global-text-tertiary: var(--zd-wechat-text-tertiary, var(--zd-wechat-text-secondary));
  --zd-wx-global-text-muted: var(--zd-wechat-text-muted, var(--zd-wechat-text-secondary));
  --zd-wx-global-text-subtle: var(--zd-wechat-text-subtle, var(--zd-wechat-text-muted, var(--zd-wechat-text-secondary)));
  --zd-wx-global-text-placeholder: var(--zd-wechat-text-placeholder, var(--zd-wechat-text-muted, var(--zd-wechat-text-secondary)));

  --zd-wx-global-border-hairline: var(--zd-wechat-border-hairline, rgba(255, 255, 255, 0.08));
  --zd-wx-global-border-subtle: var(--zd-wechat-border-subtle, var(--zd-wx-global-border-hairline));
  --zd-wx-global-border-divider: var(--zd-wechat-border-divider, var(--zd-wx-global-border-hairline));
  --zd-wx-global-border-light: var(--zd-wechat-border-light, var(--zd-wx-global-border-subtle));

  --zd-wx-global-shadow-sm: var(--zd-wechat-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.06));
  --zd-wx-global-shadow-md: var(--zd-wechat-shadow-md, 0 8px 32px rgba(0, 0, 0, 0.08));
  --zd-wx-global-shadow-lg: var(--zd-wechat-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.12));

  --zd-wx-global-radius-sm: var(--zd-wechat-radius-sm, 8px);
  --zd-wx-global-radius-md: var(--zd-wechat-radius-md, 12px);
  --zd-wx-global-radius-lg: var(--zd-wechat-radius-lg, 16px);
  --zd-wx-global-radius-xl: var(--zd-wechat-radius-xl, 20px);
  --zd-wx-global-radius-2xl: var(--zd-wechat-radius-2xl, 24px);
  --zd-wx-global-radius-3xl: var(--zd-wechat-radius-3xl, 32px);
  --zd-wx-global-radius-full: var(--zd-wechat-radius-full, 9999px);

  --zd-wx-global-nav-bg: var(--zd-wechat-nav-bg, var(--zd-wx-global-bg-card));
  --zd-wx-global-nav-border: var(--zd-wechat-nav-border, var(--zd-wx-global-border-light));
  --zd-wx-global-nav-text: var(--zd-wechat-nav-text, var(--zd-wx-global-text-primary));
  --zd-wx-global-nav-text-muted: var(--zd-wechat-nav-text-muted, var(--zd-wx-global-text-muted));
  --zd-wx-global-nav-text-active: var(--zd-wechat-nav-text, var(--zd-wx-global-accent));
  --zd-wx-global-nav-icon-size: var(--zd-wechat-nav-icon-size, 22px);
  --zd-wx-global-nav-height: var(--zd-wechat-nav-height, 84px);
  --zd-wx-global-nav-focus-ring: var(--zd-wechat-nav-focus-ring, 0 0 0 2px rgba(201, 169, 97, 0.5));
  --zd-wx-global-nav-width: var(--zd-wechat-nav-width, calc(100% - 48px));
  --zd-wx-global-nav-max-width: var(--zd-wechat-nav-max-width, 420px);
  --zd-wx-global-nav-radius: var(--zd-wechat-nav-radius, 9999px);
  --zd-wx-global-nav-shadow: var(--zd-wechat-nav-shadow, none);
  --zd-wx-global-nav-shell-bottom: var(--zd-wechat-nav-shell-bottom, 0);
  --zd-wx-global-nav-shell-padding-bottom: var(--zd-wechat-nav-shell-padding-bottom, 20px);
  --zd-wx-global-nav-inner-padding: var(--zd-wechat-nav-inner-padding, 8px 20px);
  --zd-wx-global-nav-button-padding: var(--zd-wechat-nav-button-padding, 10px 18px);
  --zd-wx-global-nav-button-min-width: var(--zd-wechat-nav-button-min-width, 56px);
  --zd-wx-global-nav-button-gap: var(--zd-wechat-nav-button-gap, 0px);
  --zd-wx-global-nav-button-radius: var(--zd-wechat-nav-button-radius, 0px);
  --zd-wx-global-nav-label-size: var(--zd-wechat-nav-label-size, 10px);
  --zd-wx-global-nav-label-font-family: var(--zd-wechat-nav-label-font-family, var(--zd-magazine-font-meta, "Futura PT", "Futura", "Helvetica Neue", sans-serif));
  --zd-wx-global-nav-label-font-weight: var(--zd-wechat-nav-label-font-weight, 500);
  --zd-wx-global-nav-label-letter-spacing: var(--zd-wechat-nav-label-letter-spacing, 1.5px);
  --zd-wx-global-nav-label-margin-top: var(--zd-wechat-nav-label-margin-top, 6px);
  --zd-wx-global-nav-label-translate-y: var(--zd-wechat-nav-label-translate-y, 0);
  --zd-wx-global-nav-icon-stroke-active: var(--zd-wechat-nav-icon-stroke-active, 2.2);
  --zd-wx-global-nav-icon-stroke-inactive: var(--zd-wechat-nav-icon-stroke-inactive, 1.8);
  --zd-wx-global-nav-icon-shadow-blur: var(--zd-wechat-nav-icon-shadow-blur, 6px);
  --zd-wx-global-nav-icon-shadow-color: var(--zd-wechat-nav-icon-shadow-color, rgba(255, 255, 255, 0.25));
  --zd-wx-global-nav-button-opacity: var(--zd-wechat-nav-button-opacity, 1);
  --zd-wx-global-nav-button-active-opacity: var(--zd-wechat-nav-button-active-opacity, 1);
  --zd-wx-global-nav-translate-y: var(--zd-wechat-nav-translate-y, 0);
  --zd-wx-global-nav-indicator-size: var(--zd-wechat-nav-indicator-size, 4px);
  --zd-wx-global-nav-indicator-radius: var(--zd-wechat-nav-indicator-radius, 9999px);
  --zd-wx-global-nav-indicator-bottom: var(--zd-wechat-nav-indicator-bottom, 2px);
  --zd-wx-global-nav-indicator-blur: var(--zd-wechat-nav-indicator-blur, 3px);
  --zd-wx-global-nav-indicator-opacity: var(--zd-wechat-nav-indicator-opacity, 0.6);
  --zd-wx-global-nav-indicator-bg: var(--zd-wechat-nav-indicator-bg, currentColor);

  --zd-wx-global-input-bg: var(--zd-wechat-input-bg, var(--zd-wx-global-bg-card));
  --zd-wx-global-input-field-bg: var(--zd-wechat-input-field-bg, var(--zd-wx-global-glass));
  --zd-wx-global-input-border: var(--zd-wechat-input-field-border, var(--zd-wx-global-border-light));
  --zd-wx-global-input-placeholder: var(--zd-wechat-text-placeholder, var(--zd-wx-global-text-placeholder));

  --zd-wx-global-accent: var(--zd-wechat-gold, var(--zd-wechat-icon-primary, currentColor));
  --zd-wx-global-accent-soft: var(--zd-wechat-gold-light, var(--zd-wx-global-accent));
  --zd-wx-global-accent-coral: var(--zd-wechat-nav-pink, var(--zd-wx-global-accent));
  --zd-wx-global-accent-matcha: var(--zd-wechat-nav-green, var(--zd-wx-global-accent));

  --zd-wx-global-shortcut-text: var(--zd-wx-global-text-muted);
  --zd-wx-global-shortcut-divider: var(--zd-wx-global-border-divider);
  --zd-wx-global-shortcut-highlight: var(--zd-wx-global-accent-matcha);

  --zd-wx-global-header-title: var(--zd-wx-global-text-title);
  --zd-wx-global-header-icon: var(--zd-wx-global-text-title);
  --zd-wx-global-header-icon-hover: var(--zd-wx-global-glass);

  --zd-wx-global-search-bg: var(--zd-wx-global-input-field-bg);
  --zd-wx-global-search-bg-focus: var(--zd-wx-global-glass-strong);
  --zd-wx-global-search-text: var(--zd-wx-global-text-primary);
  --zd-wx-global-search-placeholder: var(--zd-wx-global-input-placeholder);
  --zd-wx-global-search-icon: var(--zd-wx-global-text-muted);

  --zd-wx-global-list-section: var(--zd-wx-global-text-muted);
  --zd-wx-global-empty-icon: var(--zd-wx-global-text-subtle);
  --zd-wx-global-empty-title: var(--zd-wx-global-text-title);
  --zd-wx-global-empty-text: var(--zd-wx-global-text-muted);
  --zd-wx-global-contacts-shortcuts-padding-top: var(--zd-wechat-contacts-shortcuts-padding-top, 12px);
  --zd-wx-global-contacts-shortcuts-padding-bottom: var(--zd-wechat-contacts-shortcuts-padding-bottom, 12px);
  --zd-wx-global-contacts-shortcuts-opacity: var(--zd-wechat-contacts-shortcuts-opacity, 1);
  --zd-wx-global-contacts-shell-padding-bottom: var(--zd-wechat-contacts-shell-padding-bottom, 100px);
  --zd-wx-global-contacts-header-padding-top: var(--zd-wechat-contacts-header-padding-top, 0px);
  --zd-wx-global-contacts-header-padding-bottom: var(--zd-wechat-contacts-header-padding-bottom, 0px);
  --zd-wx-global-contacts-search-margin-top: var(--zd-wechat-contacts-search-margin-top, 0px);
  --zd-wx-global-contacts-search-margin-bottom: var(--zd-wechat-contacts-search-margin-bottom, 0px);
  --zd-wx-global-contacts-shortcuts-margin-top: var(--zd-wechat-contacts-shortcuts-margin-top, 0px);
  --zd-wx-global-contacts-shortcuts-margin-bottom: var(--zd-wechat-contacts-shortcuts-margin-bottom, 0px);
  --zd-wx-global-contacts-list-padding-x: var(--zd-wechat-contacts-list-padding-x, 24px);
  --zd-wx-global-contacts-list-padding-top: var(--zd-wechat-contacts-list-padding-top, 0px);
  --zd-wx-global-contacts-list-padding-bottom: var(--zd-wechat-contacts-list-padding-bottom, 128px);
  --zd-wx-global-contacts-list-gap: var(--zd-wechat-contacts-list-gap, 0px);
  --zd-wx-global-contacts-section-margin-top: var(--zd-wechat-contacts-section-margin-top, 24px);
  --zd-wx-global-contacts-section-margin-bottom: var(--zd-wechat-contacts-section-margin-bottom, 0px);
  --zd-wx-global-contacts-section-letter-spacing: var(--zd-wechat-contacts-section-letter-spacing, 0.12em);
  --zd-wx-global-contacts-section-label-margin-top: var(--zd-wechat-contacts-section-label-margin-top, 24px);
  --zd-wx-global-contacts-section-label-margin-bottom: var(--zd-wechat-contacts-section-label-margin-bottom, 12px);
  --zd-wx-global-contacts-title-font-family: var(--zd-wechat-contacts-title-font-family, var(--zd-magazine-font-title, "Didot", "Bodoni MT", "Noto Serif JP", serif));
  --zd-wx-global-contacts-title-font-size: var(--zd-wechat-contacts-title-font-size, 20px);
  --zd-wx-global-contacts-title-font-weight: var(--zd-wechat-contacts-title-font-weight, 300);
  --zd-wx-global-contacts-title-letter-spacing: var(--zd-wechat-contacts-title-letter-spacing, 0.3em);
  --zd-wx-global-contacts-item-padding-x: var(--zd-wechat-contacts-item-padding-x, 8px);
  --zd-wx-global-contacts-item-padding-y: var(--zd-wechat-contacts-item-padding-y, 0px);
  --zd-wx-global-contacts-item-gap: var(--zd-wechat-contacts-item-gap, 16px);
  --zd-wx-global-contacts-item-radius: var(--zd-wechat-contacts-item-radius, 0px);
  --zd-wx-global-contacts-avatar-size: var(--zd-wechat-contacts-avatar-size, 48px);
  --zd-wx-global-contacts-avatar-radius: var(--zd-wechat-contacts-avatar-radius, 18px);
  --zd-wx-global-contacts-alphabet-right: var(--zd-wechat-contacts-alphabet-right, 8px);
  --zd-wx-global-contacts-alphabet-top: var(--zd-wechat-contacts-alphabet-top, 50%);
  --zd-wx-global-contacts-alphabet-translate-y: var(--zd-wechat-contacts-alphabet-translate-y, -50%);
  --zd-wx-global-contacts-alphabet-gap: var(--zd-wechat-contacts-alphabet-gap, 1px);
  --zd-wx-global-contacts-alphabet-opacity: var(--zd-wechat-contacts-alphabet-opacity, 1);
  --zd-wx-global-contacts-alphabet-size: var(--zd-wechat-contacts-alphabet-size, 12px);
  --zd-wx-global-contacts-alphabet-font-size: var(--zd-wechat-contacts-alphabet-font-size, 8px);

  --zd-wx-global-chat-stage-bg: var(--zd-wechat-chat-stage-bg, var(--zd-wx-global-bg));
  --zd-wx-global-chat-header-bg: var(--zd-wechat-chat-header-bg, rgba(26, 26, 26, 0.9));
  --zd-wx-global-chat-header-blur: var(--zd-wechat-chat-header-blur, 20px);
  --zd-wx-global-chat-pinned-label: var(--zd-wechat-chat-pinned-label, rgba(180, 180, 180, 0.45));
  --zd-wx-global-chat-bottom-fade-bg: var(--zd-wechat-chat-bottom-fade-bg, rgba(18, 18, 18, 0.85));
  --zd-wx-global-chat-bottom-fade-border: var(--zd-wechat-chat-bottom-fade-border, var(--zd-wx-global-border-hairline));
  --zd-wx-global-chat-bottom-fade-height: var(--zd-wechat-chat-bottom-fade-height, 84px);
  --zd-wx-global-chat-header-padding-top: var(--zd-wechat-chat-header-padding-top, 40px);
  --zd-wx-global-chat-header-padding-bottom: var(--zd-wechat-chat-header-padding-bottom, 8px);
  --zd-wx-global-chat-header-padding-x: var(--zd-wechat-chat-header-padding-x, 24px);
  --zd-wx-global-chat-header-title-gap: var(--zd-wechat-chat-header-title-gap, 18px);
  --zd-wx-global-chat-title-font-family: var(--zd-wechat-chat-title-font-family, var(--zd-magazine-font-title, "Didot", "Bodoni MT", "Noto Serif JP", serif));
  --zd-wx-global-chat-title-font-size: var(--zd-wechat-chat-title-font-size, 26px);
  --zd-wx-global-chat-title-font-weight: var(--zd-wechat-chat-title-font-weight, 400);
  --zd-wx-global-chat-title-letter-spacing: var(--zd-wechat-chat-title-letter-spacing, -0.3px);
  --zd-wx-global-chat-title-line-height: var(--zd-wechat-chat-title-line-height, 1.3);
  --zd-wx-global-chat-subtitle-font-family: var(--zd-wechat-chat-subtitle-font-family, var(--zd-magazine-font-decorative, "Noto Serif JP", "Yu Mincho", serif));
  --zd-wx-global-chat-subtitle-font-size: var(--zd-wechat-chat-subtitle-font-size, 9px);
  --zd-wx-global-chat-subtitle-letter-spacing: var(--zd-wechat-chat-subtitle-letter-spacing, 2px);
  --zd-wx-global-chat-list-padding-x: var(--zd-wechat-chat-list-padding-x, 12px);
  --zd-wx-global-chat-list-padding-top: var(--zd-wechat-chat-list-padding-top, 0px);
  --zd-wx-global-chat-list-padding-bottom: var(--zd-wechat-chat-list-padding-bottom, 16px);
  --zd-wx-global-chat-list-gap: var(--zd-wechat-chat-list-gap, 0px);
  --zd-wx-global-chat-list-scrollbar-width: var(--zd-wechat-chat-list-scrollbar-width, auto);
  --zd-wx-global-chat-list-ms-overflow-style: var(--zd-wechat-chat-list-ms-overflow-style, auto);
  --zd-wx-global-chat-item-padding: var(--zd-wechat-chat-item-padding, 20px 16px);
  --zd-wx-global-chat-item-gap: var(--zd-wechat-chat-item-gap, 16px);
  --zd-wx-global-chat-item-radius: var(--zd-wechat-chat-item-radius, var(--zd-wx-global-radius-xl));
  --zd-wx-global-chat-item-inner-gap: var(--zd-wechat-chat-item-inner-gap, 16px);
  --zd-wx-global-chat-item-hover-bg: var(--zd-wechat-chat-item-hover-bg, var(--zd-wx-global-glass));
  --zd-wx-global-chat-item-shadow: var(--zd-wechat-chat-item-shadow, var(--zd-wx-global-shadow-sm));
  --zd-wx-global-chat-item-avatar-bg: var(
    --zd-wechat-chat-item-avatar-bg,
    linear-gradient(135deg, rgba(212, 196, 160, 0.15) 0%, rgba(168, 176, 192, 0.1) 100%)
  );
  --zd-wx-global-chat-item-avatar-border: var(--zd-wechat-chat-item-avatar-border, var(--zd-wx-global-border-hairline));
  --zd-wx-global-chat-item-avatar-size: var(--zd-wechat-chat-item-avatar-size, 40px);
  --zd-wx-global-chat-item-avatar-radius: var(--zd-wechat-chat-item-avatar-radius, 10px);
  --zd-wx-global-chat-item-online-bg: var(--zd-wechat-chat-item-online-bg, var(--zd-wx-global-accent-matcha));
  --zd-wx-global-chat-item-online-ring: var(--zd-wechat-chat-item-online-ring, var(--zd-wx-global-bg));
  --zd-wx-global-chat-item-unread-bg: var(
    --zd-wechat-chat-item-unread-bg,
    linear-gradient(135deg, var(--zd-wx-global-accent-coral), var(--zd-wx-global-accent))
  );
  --zd-wx-global-chat-item-unread-text: var(--zd-wechat-chat-item-unread-text, #ffffff);
  --zd-wx-global-chat-search-trigger-bg: var(--zd-wechat-chat-search-trigger-bg, transparent);
  --zd-wx-global-chat-search-trigger-border: var(--zd-wechat-chat-search-trigger-border, var(--zd-wx-global-border-divider));

  --zd-wx-global-moments-bg: var(--zd-moments-bg-primary, var(--zd-wx-global-bg));
  --zd-wx-global-moments-card-bg: var(--zd-moments-bg-card, var(--zd-wx-global-bg-card));
  --zd-wx-global-moments-text-primary: var(--zd-moments-text-primary, var(--zd-wx-global-text-primary));
  --zd-wx-global-moments-text-secondary: var(--zd-moments-text-secondary, var(--zd-wx-global-text-secondary));
  --zd-wx-global-moments-text-accent: var(--zd-moments-text-accent, var(--zd-wx-global-accent));
  --zd-wx-global-moments-border-hairline: var(--zd-moments-border-hairline, var(--zd-wx-global-border-hairline));
  --zd-wx-global-moments-empty-icon: var(--zd-moments-empty-icon-color, var(--zd-wx-global-text-subtle));
  --zd-wx-global-moments-empty-text: var(--zd-moments-text-secondary, var(--zd-wx-global-text-secondary));
  --zd-wx-global-moments-empty-muted: var(--zd-moments-text-secondary-muted, var(--zd-wx-global-text-muted));
  --zd-wx-global-moments-top-fade: var(
    --zd-moments-top-fade,
    linear-gradient(to bottom, rgba(10, 10, 14, 0.85) 0%, rgba(10, 10, 14, 0.4) 35%, rgba(10, 10, 14, 0.08) 65%, transparent 100%)
  );
  --zd-wx-global-moments-top-fade-height: var(--zd-wechat-moments-top-fade-height, 120px);
  --zd-wx-global-moments-feed-padding-x: var(--zd-wechat-moments-feed-padding-x, 0);
  --zd-wx-global-moments-feed-shell-margin-top: var(--zd-wechat-moments-feed-shell-margin-top, var(--zd-moments-profile-margin-top, -8px));
  --zd-wx-global-moments-feed-shell-padding-top: var(--zd-wechat-moments-feed-shell-padding-top, var(--zd-moments-profile-padding-top, 52px));
  --zd-wx-global-moments-feed-padding: var(--zd-wechat-moments-feed-padding, var(--zd-moments-feed-padding, 16px 16px));
  --zd-wx-global-moments-feed-padding-edit: var(--zd-wechat-moments-feed-padding-edit, var(--zd-moments-feed-padding, 12px 16px));
  --zd-wx-global-moments-feed-gap: var(--zd-wechat-moments-feed-gap, 0);
  --zd-wx-global-moments-feed-radius: var(--zd-wechat-moments-feed-radius, 0);
  --zd-wx-global-moments-feed-card-bg: var(--zd-wechat-moments-feed-card-bg, transparent);
  --zd-wx-global-moments-feed-card-shadow: var(--zd-wechat-moments-feed-card-shadow, none);
  --zd-wx-global-moments-feed-list-gap: var(--zd-wechat-moments-feed-list-gap, 0px);
  --zd-wx-global-moments-feed-header-gap: var(--zd-wechat-moments-feed-header-gap, 12px);
  --zd-wx-global-moments-feed-header-margin-bottom: var(--zd-wechat-moments-feed-header-margin-bottom, 8px);
  --zd-wx-global-moments-feed-content-padding-right: var(--zd-wechat-moments-feed-content-padding-right, 48px);
  --zd-wx-global-moments-feed-content-margin-bottom: var(--zd-wechat-moments-feed-content-margin-bottom, 8px);
  --zd-wx-global-moments-feed-media-margin-bottom: var(--zd-wechat-moments-feed-media-margin-bottom, 12px);
  --zd-wx-global-moments-feed-footer-margin-top: var(--zd-wechat-moments-feed-footer-margin-top, 8px);
  --zd-wx-global-moments-feed-interactions-margin-top: var(--zd-wechat-moments-feed-interactions-margin-top, 12px);
  --zd-wx-global-moments-loading-padding-top: var(--zd-wechat-moments-loading-padding-top, 48px);
  --zd-wx-global-moments-loading-padding-bottom: var(--zd-wechat-moments-loading-padding-bottom, 48px);
  --zd-wx-global-moments-empty-padding-top: var(--zd-wechat-moments-empty-padding-top, 80px);
  --zd-wx-global-moments-empty-padding-bottom: var(--zd-wechat-moments-empty-padding-bottom, 80px);
  --zd-wx-global-moments-cover-actions-top: var(--zd-wechat-moments-cover-actions-top, 14px);
  --zd-wx-global-moments-cover-actions-left: var(--zd-wechat-moments-cover-actions-left, 14px);
  --zd-wx-global-moments-cover-actions-right: var(--zd-wechat-moments-cover-actions-right, 14px);
  --zd-wx-global-moments-cover-actions-gap: var(--zd-wechat-moments-cover-actions-gap, 8px);
  --zd-wx-global-moments-cover-fade-height: var(--zd-wechat-moments-cover-fade-height, 50%);
  --zd-wx-global-moments-cover-profile-padding-x: var(--zd-wechat-moments-cover-profile-padding-x, 20px);
  --zd-wx-global-moments-cover-profile-meta-padding-bottom: var(--zd-wechat-moments-cover-profile-meta-padding-bottom, 4px);
  --zd-wx-global-moments-status-strip-margin: var(--zd-wechat-moments-status-strip-margin, 48px 20px 0px 20px);
  --zd-wx-global-moments-status-strip-padding-top: var(--zd-wechat-moments-status-strip-padding-top, 12px);
  --zd-wx-global-moments-status-strip-padding-bottom: var(--zd-wechat-moments-status-strip-padding-bottom, 4px);
  --zd-wx-global-moments-status-gap: var(--zd-wechat-moments-status-gap, 8px);
  --zd-wx-global-moments-status-card-size: var(--zd-wechat-moments-status-card-size, 64px);
  --zd-wx-global-moments-status-card-radius: var(--zd-wechat-moments-status-card-radius, 8px);
  --zd-wx-global-moments-status-hint-padding-top: var(--zd-wechat-moments-status-hint-padding-top, 8px);
  --zd-wx-global-moments-status-hint-padding-bottom: var(--zd-wechat-moments-status-hint-padding-bottom, 4px);

  --zd-wx-global-me-bg: var(--zd-wechat-me-bg, linear-gradient(180deg, #1A1A1A 0%, #1F1F1F 100%));
  --zd-wx-global-me-cover-fade: var(--zd-wechat-me-cover-fade, linear-gradient(180deg, transparent 0%, #1A1A1A 100%));
  --zd-wx-global-me-meta: var(--zd-wechat-me-meta, var(--zd-wx-global-text-muted));
  --zd-wx-global-me-title: var(--zd-wechat-me-title, var(--zd-wx-global-text-title));
  --zd-wx-global-me-text-secondary: var(--zd-wechat-me-text-secondary, var(--zd-wx-global-text-secondary));
  --zd-wx-global-me-card-bg: var(--zd-wechat-me-card-bg, rgba(50, 50, 50, 0.65));
  --zd-wx-global-me-card-bg-hover: var(--zd-wechat-me-card-bg-hover, rgba(60, 60, 60, 0.75));
  --zd-wx-global-me-card-border: var(--zd-wechat-me-card-border, var(--zd-wx-global-border-subtle));
  --zd-wx-global-me-card-shadow: var(--zd-wechat-me-card-shadow, var(--zd-wx-global-shadow-md));
  --zd-wx-global-me-card-shadow-hover: var(--zd-wechat-me-card-shadow-hover, var(--zd-wx-global-shadow-lg));
  --zd-wx-global-me-shell-padding-bottom: var(--zd-wechat-me-shell-padding-bottom, 100px);
  --zd-wx-global-me-content-overlap: var(--zd-wechat-me-content-overlap, -50px);
  --zd-wx-global-me-content-padding-x: var(--zd-wechat-me-content-padding-x, 24px);
  --zd-wx-global-me-profile-gap: var(--zd-wechat-me-profile-gap, 32px);
  --zd-wx-global-me-avatar-margin-bottom: var(--zd-wechat-me-avatar-margin-bottom, 20px);
  --zd-wx-global-me-header-top: var(--zd-wechat-me-header-top, 24px);
  --zd-wx-global-me-header-left: var(--zd-wechat-me-header-left, 24px);
  --zd-wx-global-me-meta-font-family: var(--zd-wechat-me-meta-font-family, var(--zd-magazine-font-meta, "Futura PT", "Futura", "Helvetica Neue", sans-serif));
  --zd-wx-global-me-meta-font-size: var(--zd-wechat-me-meta-font-size, 10px);
  --zd-wx-global-me-meta-font-weight: var(--zd-wechat-me-meta-font-weight, 500);
  --zd-wx-global-me-meta-letter-spacing: var(--zd-wechat-me-meta-letter-spacing, 1.2px);
  --zd-wx-global-me-cover-height: var(--zd-wechat-me-cover-height, 32vh);
  --zd-wx-global-me-cover-min-height: var(--zd-wechat-me-cover-min-height, 180px);
  --zd-wx-global-me-cover-max-height: var(--zd-wechat-me-cover-max-height, 240px);
  --zd-wx-global-me-cover-button-top: var(--zd-wechat-me-cover-button-top, 16px);
  --zd-wx-global-me-cover-button-right: var(--zd-wechat-me-cover-button-right, 16px);
  --zd-wx-global-me-name-font-family: var(--zd-wechat-me-name-font-family, var(--zd-magazine-font-display, "Didot", "Bodoni MT", "Noto Serif JP", serif));
  --zd-wx-global-me-name-font-size: var(--zd-wechat-me-name-font-size, 32px);
  --zd-wx-global-me-name-font-weight: var(--zd-wechat-me-name-font-weight, 400);
  --zd-wx-global-me-name-letter-spacing: var(--zd-wechat-me-name-letter-spacing, -0.5px);
  --zd-wx-global-me-name-margin-bottom: var(--zd-wechat-me-name-margin-bottom, 12px);
  --zd-wx-global-me-signature-wrap-margin-bottom: var(--zd-wechat-me-signature-wrap-margin-bottom, 8px);
  --zd-wx-global-me-signature-font-family: var(--zd-wechat-me-signature-font-family, var(--zd-magazine-font-quote, "Noto Serif SC", "Noto Serif JP", serif));
  --zd-wx-global-me-signature-font-size: var(--zd-wechat-me-signature-font-size, 15px);
  --zd-wx-global-me-signature-font-weight: var(--zd-wechat-me-signature-font-weight, 450);
  --zd-wx-global-me-signature-letter-spacing: var(--zd-wechat-me-signature-letter-spacing, 1px);
  --zd-wx-global-me-signature-line-height: var(--zd-wechat-me-signature-line-height, 1.6);
  --zd-wx-global-me-decorative-font-family: var(--zd-wechat-me-decorative-font-family, var(--zd-magazine-font-decorative, "Noto Serif JP", "Yu Mincho", serif));
  --zd-wx-global-me-decorative-font-size: var(--zd-wechat-me-decorative-font-size, 10px);
  --zd-wx-global-me-decorative-font-weight: var(--zd-wechat-me-decorative-font-weight, 300);
  --zd-wx-global-me-decorative-letter-spacing: var(--zd-wechat-me-decorative-letter-spacing, 1.5px);
  --zd-wx-global-me-decorative-margin-top: var(--zd-wechat-me-decorative-margin-top, 8px);
  --zd-wx-global-me-info-gap: var(--zd-wechat-me-info-gap, 10px);
  --zd-wx-global-me-info-margin-bottom: var(--zd-wechat-me-info-margin-bottom, 14px);
  --zd-wx-global-me-card-grid-columns: var(--zd-wechat-me-card-grid-columns, 1fr 1fr);
  --zd-wx-global-me-card-grid-gap: var(--zd-wechat-me-card-grid-gap, 16px);
  --zd-wx-global-me-card-grid-margin-top: var(--zd-wechat-me-card-grid-margin-top, 24px);
  --zd-wx-global-me-card-row-gap: var(--zd-wechat-me-card-row-gap, 24px);
  --zd-wx-global-me-card-padding: var(--zd-wechat-me-card-padding, 12px);
  --zd-wx-global-me-row-card-padding: var(--zd-wechat-me-row-card-padding, 12px 24px);
  --zd-wx-global-me-footer-margin-top: var(--zd-wechat-me-footer-margin-top, 40px);
  --zd-wx-global-me-settings-shell-max-width: var(--zd-wechat-me-settings-shell-max-width, 640px);
  --zd-wx-global-me-settings-shell-padding-bottom: var(--zd-wechat-me-settings-shell-padding-bottom, 48px);
  --zd-wx-global-me-settings-header-padding: var(--zd-wechat-me-settings-header-padding, 14px 16px 10px);
  --zd-wx-global-me-settings-header-gap: var(--zd-wechat-me-settings-header-gap, 12px);
  --zd-wx-global-me-settings-header-title-offset: var(--zd-wechat-me-settings-header-title-offset, 32px);
  --zd-wx-global-me-settings-header-title-size: var(--zd-wechat-me-settings-header-title-size, 17px);
  --zd-wx-global-me-settings-content-padding: var(--zd-wechat-me-settings-content-padding, 20px 16px 0);
  --zd-wx-global-me-settings-hero-margin-bottom: var(--zd-wechat-me-settings-hero-margin-bottom, 24px);
  --zd-wx-global-me-settings-hero-title-size: var(--zd-wechat-me-settings-hero-title-size, 34px);
  --zd-wx-global-me-settings-hero-subtitle-margin-top: var(--zd-wechat-me-settings-hero-subtitle-margin-top, 6px);
  --zd-wx-global-me-settings-hero-subtitle-size: var(--zd-wechat-me-settings-hero-subtitle-size, 15px);
  --zd-wx-global-me-settings-section-label-margin-bottom: var(--zd-wechat-me-settings-section-label-margin-bottom, 8px);
  --zd-wx-global-me-settings-section-label-padding-left: var(--zd-wechat-me-settings-section-label-padding-left, 6px);
  --zd-wx-global-me-settings-section-label-size: var(--zd-wechat-me-settings-section-label-size, 13px);
  --zd-wx-global-me-settings-card-margin-bottom: var(--zd-wechat-me-settings-card-margin-bottom, 28px);
  --zd-wx-global-me-settings-card-radius: var(--zd-wechat-me-settings-card-radius, 18px);
  --zd-wx-global-me-settings-profile-padding: var(--zd-wechat-me-settings-profile-padding, 16px);
  --zd-wx-global-me-settings-profile-gap: var(--zd-wechat-me-settings-profile-gap, 12px);
  --zd-wx-global-me-settings-profile-avatar-size: var(--zd-wechat-me-settings-profile-avatar-size, 56px);
  --zd-wx-global-me-settings-profile-avatar-radius: var(--zd-wechat-me-settings-profile-avatar-radius, 16px);
  --zd-wx-global-me-settings-profile-avatar-font-size: var(--zd-wechat-me-settings-profile-avatar-font-size, 24px);
  --zd-wx-global-me-settings-profile-title-size: var(--zd-wechat-me-settings-profile-title-size, 21px);
  --zd-wx-global-me-settings-profile-subtitle-margin-top: var(--zd-wechat-me-settings-profile-subtitle-margin-top, 4px);
  --zd-wx-global-me-settings-profile-subtitle-size: var(--zd-wechat-me-settings-profile-subtitle-size, 13px);
  --zd-wx-global-me-settings-row-padding: var(--zd-wechat-me-settings-row-padding, 14px 16px);
  --zd-wx-global-me-settings-row-gap: var(--zd-wechat-me-settings-row-gap, 12px);
  --zd-wx-global-me-settings-row-icon-size: var(--zd-wechat-me-settings-row-icon-size, 30px);
  --zd-wx-global-me-settings-row-icon-radius: var(--zd-wechat-me-settings-row-icon-radius, 9px);
  --zd-wx-global-me-settings-row-title-size: var(--zd-wechat-me-settings-row-title-size, 17px);
  --zd-wx-global-me-settings-row-subtitle-margin-top: var(--zd-wechat-me-settings-row-subtitle-margin-top, 3px);
  --zd-wx-global-me-settings-row-subtitle-size: var(--zd-wechat-me-settings-row-subtitle-size, 13px);
  --zd-wx-global-me-settings-row-status-size: var(--zd-wechat-me-settings-row-status-size, 13px);
  --zd-wx-global-me-settings-note-padding: var(--zd-wechat-me-settings-note-padding, 14px 16px);
  --zd-wx-global-me-settings-note-size: var(--zd-wechat-me-settings-note-size, 14px);
  --zd-wx-global-me-wallet-header-padding: var(--zd-wechat-me-wallet-header-padding, 12px 20px);
  --zd-wx-global-me-wallet-header-padding-top: var(--zd-wechat-me-wallet-header-padding-top, max(12px, env(safe-area-inset-top)));
  --zd-wx-global-me-wallet-header-title-size: var(--zd-wechat-me-wallet-header-title-size, 16px);
  --zd-wx-global-me-wallet-home-padding-bottom: var(--zd-wechat-me-wallet-home-padding-bottom, 40px);
  --zd-wx-global-me-wallet-horizontal-padding: var(--zd-wechat-me-wallet-horizontal-padding, 24px);
  --zd-wx-global-me-wallet-balance-hero-padding: var(--zd-wechat-me-wallet-balance-hero-padding, 32px 24px 24px);
  --zd-wx-global-me-wallet-balance-glow-size: var(--zd-wechat-me-wallet-balance-glow-size, 160px);
  --zd-wx-global-me-wallet-balance-kicker-margin-bottom: var(--zd-wechat-me-wallet-balance-kicker-margin-bottom, 20px);
  --zd-wx-global-me-wallet-balance-amount-size: var(--zd-wechat-me-wallet-balance-amount-size, 52px);
  --zd-wx-global-me-wallet-balance-amount-margin-bottom: var(--zd-wechat-me-wallet-balance-amount-margin-bottom, 8px);
  --zd-wx-global-me-wallet-balance-meta-size: var(--zd-wechat-me-wallet-balance-meta-size, 11px);
  --zd-wx-global-me-wallet-quick-actions-margin-bottom: var(--zd-wechat-me-wallet-quick-actions-margin-bottom, 8px);
  --zd-wx-global-me-wallet-quick-actions-gap: var(--zd-wechat-me-wallet-quick-actions-gap, 10px);
  --zd-wx-global-me-wallet-quick-action-padding: var(--zd-wechat-me-wallet-quick-action-padding, 12px 0);
  --zd-wx-global-me-wallet-quick-action-radius: var(--zd-wechat-me-wallet-quick-action-radius, 12px);
  --zd-wx-global-me-wallet-quick-action-icon-size: var(--zd-wechat-me-wallet-quick-action-icon-size, 28px);
  --zd-wx-global-me-wallet-quick-action-icon-radius: var(--zd-wechat-me-wallet-quick-action-icon-radius, 8px);
  --zd-wx-global-me-wallet-quick-action-label-size: var(--zd-wechat-me-wallet-quick-action-label-size, 11px);
  --zd-wx-global-me-wallet-divider-margin: var(--zd-wechat-me-wallet-divider-margin, 20px 24px 0);
  --zd-wx-global-me-wallet-divider-mid-margin: var(--zd-wechat-me-wallet-divider-mid-margin, 0 24px);
  --zd-wx-global-me-wallet-lingqiantong-padding: var(--zd-wechat-me-wallet-lingqiantong-padding, 16px 24px);
  --zd-wx-global-me-wallet-services-kicker-margin: var(--zd-wechat-me-wallet-services-kicker-margin, 20px 0 4px);
  --zd-wx-global-me-wallet-subpage-hero-padding: var(--zd-wechat-me-wallet-subpage-hero-padding, 40px 24px 20px);
  --zd-wx-global-me-wallet-subpage-hero-alt-padding: var(--zd-wechat-me-wallet-subpage-hero-alt-padding, 40px 24px 24px);
  --zd-wx-global-me-wallet-subpage-kicker-margin-bottom: var(--zd-wechat-me-wallet-subpage-kicker-margin-bottom, 32px);
  --zd-wx-global-me-wallet-subpage-currency-size: var(--zd-wechat-me-wallet-subpage-currency-size, 24px);
  --zd-wx-global-me-wallet-subpage-amount-size: var(--zd-wechat-me-wallet-subpage-amount-size, 48px);
  --zd-wx-global-me-wallet-subpage-amount-width: var(--zd-wechat-me-wallet-subpage-amount-width, 200px);
  --zd-wx-global-me-wallet-subpage-caption-size: var(--zd-wechat-me-wallet-subpage-caption-size, 12px);
  --zd-wx-global-me-wallet-subpage-grid-gap: var(--zd-wechat-me-wallet-subpage-grid-gap, 8px);
  --zd-wx-global-me-wallet-subpage-section-gap: var(--zd-wechat-me-wallet-subpage-section-gap, 40px);
  --zd-wx-global-me-wallet-subpage-chip-padding: var(--zd-wechat-me-wallet-subpage-chip-padding, 12px 0);
  --zd-wx-global-me-wallet-subpage-chip-radius: var(--zd-wechat-me-wallet-subpage-chip-radius, 12px);
  --zd-wx-global-me-wallet-subpage-primary-button-padding: var(--zd-wechat-me-wallet-subpage-primary-button-padding, 16px);
  --zd-wx-global-me-wallet-subpage-primary-button-radius: var(--zd-wechat-me-wallet-subpage-primary-button-radius, 16px);
  --zd-wx-global-me-wallet-subpage-card-margin: var(--zd-wechat-me-wallet-subpage-card-margin, 0 24px 32px);
  --zd-wx-global-me-wallet-subpage-card-padding: var(--zd-wechat-me-wallet-subpage-card-padding, 20px);
  --zd-wx-global-me-wallet-subpage-row-card-padding: var(--zd-wechat-me-wallet-subpage-row-card-padding, 16px 20px);
  --zd-wx-global-me-wallet-bill-summary-margin: var(--zd-wechat-me-wallet-bill-summary-margin, 20px 24px);
  --zd-wx-global-me-wallet-bill-summary-gap: var(--zd-wechat-me-wallet-bill-summary-gap, 16px);
  --zd-wx-global-me-wallet-bill-filter-gap: var(--zd-wechat-me-wallet-bill-filter-gap, 6px);
  --zd-wx-global-me-wallet-bill-filter-padding: var(--zd-wechat-me-wallet-bill-filter-padding, 8px 24px 16px);
  --zd-wx-global-me-wallet-bill-filter-button-padding: var(--zd-wechat-me-wallet-bill-filter-button-padding, 6px 14px);
  --zd-wx-global-me-wallet-bill-filter-button-radius: var(--zd-wechat-me-wallet-bill-filter-button-radius, 9999px);
  --zd-wx-global-me-wallet-bill-list-padding: var(--zd-wechat-me-wallet-bill-list-padding, 0 24px 100px);
  --zd-wx-global-me-wallet-lingqiantong-stats-margin: var(--zd-wechat-me-wallet-lingqiantong-stats-margin, 0 24px 24px);
  --zd-wx-global-me-wallet-lingqiantong-stats-gap: var(--zd-wechat-me-wallet-lingqiantong-stats-gap, 12px);
  --zd-wx-global-me-wallet-lingqiantong-input-shell-margin: var(--zd-wechat-me-wallet-lingqiantong-input-shell-margin, 0 24px 16px);
  --zd-wx-global-me-wallet-lingqiantong-actions-gap: var(--zd-wechat-me-wallet-lingqiantong-actions-gap, 12px);
  --zd-wx-global-me-wallet-lingqiantong-actions-margin-bottom: var(--zd-wechat-me-wallet-lingqiantong-actions-margin-bottom, 32px);
  --zd-wx-global-me-wallet-lingqiantong-records-padding: var(--zd-wechat-me-wallet-lingqiantong-records-padding, 0 24px 100px);
  --zd-wx-global-me-wallet-bankcards-list-padding: var(--zd-wechat-me-wallet-bankcards-list-padding, 0 24px 100px);
  --zd-wx-global-me-wallet-bankcard-gap: var(--zd-wechat-me-wallet-bankcard-gap, 12px);
  --zd-wx-global-me-wallet-bankcard-padding: var(--zd-wechat-me-wallet-bankcard-padding, 24px);
  --zd-wx-global-me-wallet-bankcard-radius: var(--zd-wechat-me-wallet-bankcard-radius, 16px);
  --zd-wx-global-me-wallet-bankcard-add-padding: var(--zd-wechat-me-wallet-bankcard-add-padding, 16px);
  --zd-wx-global-me-wallet-lock-content-padding: var(--zd-wechat-me-wallet-lock-content-padding, 40px 24px);
  --zd-wx-global-me-wallet-lock-status-card-padding: var(--zd-wechat-me-wallet-lock-status-card-padding, 24px);
  --zd-wx-global-me-wallet-lock-status-card-radius: var(--zd-wechat-me-wallet-lock-status-card-radius, 16px);
  --zd-wx-global-me-wallet-lock-card-padding: var(--zd-wechat-me-wallet-lock-card-padding, 20px);
  --zd-wx-global-me-wallet-lock-pin-card-padding: var(--zd-wechat-me-wallet-lock-pin-card-padding, 24px);
  --zd-wx-global-me-wallet-lock-card-radius: var(--zd-wechat-me-wallet-lock-card-radius, 16px);
  --zd-wx-global-me-wallet-balance-detail-hero-padding: var(--zd-wechat-me-wallet-balance-detail-hero-padding, 40px 24px 32px);
  --zd-wx-global-me-wallet-balance-detail-amount-size: var(--zd-wechat-me-wallet-balance-detail-amount-size, 48px);
  --zd-wx-global-me-wallet-balance-detail-input-gap: var(--zd-wechat-me-wallet-balance-detail-input-gap, 8px);
  --zd-wx-global-me-wallet-balance-detail-input-padding: var(--zd-wechat-me-wallet-balance-detail-input-padding, 8px 16px);
  --zd-wx-global-me-wallet-balance-detail-input-margin-bottom: var(--zd-wechat-me-wallet-balance-detail-input-margin-bottom, 16px);
  --zd-wx-global-me-wallet-balance-detail-action-padding: var(--zd-wechat-me-wallet-balance-detail-action-padding, 16px 20px);
  --zd-wx-global-me-wallet-balance-detail-action-gap: var(--zd-wechat-me-wallet-balance-detail-action-gap, 8px);
  --zd-wx-global-notification-dot: var(--zd-wechat-notification-dot, #ff5a5f);
}
.zd-theme-wechat-global.zd-theme-wechat-lux {
  --zd-wx-global-chat-header-bg: var(--zd-wechat-chat-header-bg, rgba(249, 248, 244, 0.9));
  --zd-wx-global-chat-pinned-label: var(--zd-wechat-chat-pinned-label, rgba(120, 120, 120, 0.5));
  --zd-wx-global-chat-bottom-fade-bg: var(--zd-wechat-chat-bottom-fade-bg, rgba(253, 251, 247, 0.85));
  --zd-wx-global-moments-top-fade: var(
    --zd-moments-top-fade,
    linear-gradient(to bottom, rgba(250, 249, 246, 0.6) 0%, rgba(250, 249, 246, 0.2) 35%, rgba(250, 249, 246, 0.05) 65%, transparent 100%)
  );
  --zd-wx-global-me-bg: var(--zd-wechat-me-bg, linear-gradient(180deg, #F9F8F4 0%, #F7F4ED 100%));
  --zd-wx-global-me-cover-fade: var(--zd-wechat-me-cover-fade, linear-gradient(180deg, transparent 0%, #F9F8F4 100%));
  --zd-wx-global-me-card-bg: var(--zd-wechat-me-card-bg, rgba(255, 255, 255, 0.72));
  --zd-wx-global-me-card-bg-hover: var(--zd-wechat-me-card-bg-hover, rgba(255, 255, 255, 0.85));
}
.zd-theme-wechat-global .wechat-contacts-view,
.zd-theme-wechat-global .wechat-contacts-shell {
  background: var(--zd-wx-global-bg);
  color: var(--zd-wx-global-text-primary);
  overflow-x: hidden;
}
.zd-theme-wechat-global .wechat-contacts-header {
  background: transparent;
}
.zd-theme-wechat-global .wechat-contacts-header-title {
  color: var(--zd-wx-global-header-title);
}
.zd-theme-wechat-global .wechat-contacts-header-button,
.zd-theme-wechat-global .wechat-contacts-header-button-add,
.zd-theme-wechat-global .wechat-contacts-header-button-notification {
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.zd-theme-wechat-global .wechat-contacts-editorial-shell {
  display: var(--zd-wx-global-contacts-editorial-display, none);
  padding: var(--zd-wx-global-contacts-editorial-padding, 0 24px);
}
.zd-theme-wechat-global .wechat-contacts-curated-strip {
  display: var(--zd-wx-global-contacts-curated-display, flex);
  gap: var(--zd-wx-global-contacts-curated-gap, 12px);
  overflow-x: auto;
  padding: 0 0 2px;
  margin-bottom: var(--zd-wx-global-contacts-curated-margin-bottom, 14px);
  scrollbar-width: none;
}
.zd-theme-wechat-global .wechat-contacts-curated-strip::-webkit-scrollbar {
  display: none;
}
.zd-theme-wechat-global .wechat-contacts-curated-card {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--zd-wx-global-contacts-curated-card-gap, 6px);
  width: var(--zd-wx-global-contacts-curated-card-width, 62px);
  min-width: var(--zd-wx-global-contacts-curated-card-width, 62px);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}
.zd-theme-wechat-global .wechat-contacts-curated-avatar {
  width: var(--zd-wx-global-contacts-curated-avatar-size, 54px);
  height: var(--zd-wx-global-contacts-curated-avatar-size, 54px);
  border-radius: var(--zd-wx-global-contacts-curated-avatar-radius, 18px);
  -o-object-fit: cover;
     object-fit: cover;
  border: var(--zd-wx-global-contacts-curated-avatar-border, 0);
  box-shadow: var(--zd-wx-global-contacts-curated-avatar-shadow, none);
}
.zd-theme-wechat-global .wechat-contacts-curated-avatar-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--zd-wx-global-contacts-curated-avatar-fallback-bg, rgba(255, 255, 255, 0.08));
  color: var(--zd-wx-global-contacts-curated-avatar-fallback-color, var(--zd-wx-global-text-secondary));
  font-size: 12px;
  font-weight: 700;
}
.zd-theme-wechat-global .wechat-contacts-curated-name {
  display: block;
  width: 100%;
  font-size: var(--zd-wx-global-contacts-curated-name-size, 11px);
  font-weight: var(--zd-wx-global-contacts-curated-name-weight, 650);
  color: var(--zd-wx-global-contacts-curated-name-color, var(--zd-wx-global-text-primary));
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.zd-theme-wechat-global .wechat-contacts-curated-meta {
  display: var(--zd-wx-global-contacts-curated-meta-display, none);
}
.zd-theme-wechat-global .wechat-contacts-filter-row {
  display: var(--zd-wx-global-contacts-filter-display, flex);
  gap: var(--zd-wx-global-contacts-filter-gap, 16px);
  padding: 0 2px 4px;
  margin-bottom: var(--zd-wx-global-contacts-filter-margin-bottom, 10px);
  overflow-x: auto;
  scrollbar-width: none;
}
.zd-theme-wechat-global .wechat-contacts-filter-row::-webkit-scrollbar {
  display: none;
}
.zd-theme-wechat-global .wechat-contacts-filter-pill {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--zd-wx-global-contacts-filter-pill-color, var(--zd-wx-global-text-muted));
  font-size: var(--zd-wx-global-contacts-filter-pill-size, 11px);
  font-weight: var(--zd-wx-global-contacts-filter-pill-weight, 700);
  letter-spacing: var(--zd-wx-global-contacts-filter-pill-letter-spacing, 0.08em);
}
.zd-theme-wechat-global .wechat-contacts-filter-pill:first-child {
  color: var(--zd-wx-global-contacts-filter-pill-active-color, var(--zd-wx-global-text-primary));
}
.zd-theme-wechat-global .wechat-contacts-shortcuts-row {
  gap: var(--zd-wx-global-contacts-shortcuts-gap, 8px);
  flex-wrap: wrap;
}
.zd-theme-wechat-global .wechat-contacts-list,
.zd-theme-wechat-global .wechat-contacts-list-grouped {
  padding-top: 2px;
}
.zd-theme-wechat-global .wechat-contacts-section {
  margin-top: var(--zd-wx-global-contacts-section-margin-top, 24px);
}
.zd-theme-wechat-global .wechat-contacts-section-label {
  color: var(--zd-wx-global-list-section);
}
.zd-theme-wechat-global .wechat-contacts-section-label::after {
  content: none;
}
.zd-theme-wechat-global .wechat-contact-item {
  position: relative;
}
.zd-theme-wechat-global .wechat-contact-item::before {
  content: none;
}
.zd-theme-wechat-global .wechat-contact-item img {
  width: var(--zd-wx-global-contacts-avatar-size, 48px);
  height: var(--zd-wx-global-contacts-avatar-size, 48px);
  border-radius: var(--zd-wx-global-contacts-avatar-radius, 18px);
  -o-object-fit: cover;
     object-fit: cover;
}
.zd-theme-wechat-global .wechat-contact-item-content {
  min-width: 0;
  overflow: hidden;
}
.zd-theme-wechat-global .wechat-contact-item-title {
  color: var(--zd-wx-global-text-primary);
}
.zd-theme-wechat-global .wechat-contact-item-subtitle {
  color: var(--zd-wx-global-text-muted);
}
.zd-theme-wechat-global .wechat-contacts-alphabet-nav {
  padding: var(--zd-wx-global-contacts-alphabet-padding, 0);
  border-radius: var(--zd-wx-global-contacts-alphabet-radius, 0);
  background: var(--zd-wx-global-contacts-alphabet-bg, transparent);
  box-shadow: var(--zd-wx-global-contacts-alphabet-shadow, none);
}
.zd-theme-wechat-global .wechat-me-settings-view {}
.zd-theme-wechat-global .wechat-me-settings-shell {}
.zd-theme-wechat-global .wechat-me-settings-header {}
.zd-theme-wechat-global .wechat-me-settings-content {}
.zd-theme-wechat-global .wechat-me-settings-hero {}
.zd-theme-wechat-global .wechat-me-settings-hero-title {}
.zd-theme-wechat-global .wechat-me-settings-hero-subtitle {}
.zd-theme-wechat-global .wechat-me-settings-section-label {}
.zd-theme-wechat-global .wechat-me-settings-card {}
.zd-theme-wechat-global .wechat-me-settings-row {}
.zd-theme-wechat-global .wechat-me-settings-row-icon {}
.zd-theme-wechat-global .wechat-me-settings-row-title {}
.zd-theme-wechat-global .wechat-me-settings-row-subtitle {}
.zd-theme-wechat-global .wechat-me-settings-row-status {}
.zd-theme-wechat-global .wechat-me-settings-note {}
.zd-theme-wechat-global .wechat-me-wallet-overlay {}
.zd-theme-wechat-global .wechat-me-wallet-screen {}
.zd-theme-wechat-global .wechat-me-wallet-header {}
.zd-theme-wechat-global .wechat-me-wallet-content-shell {}
.zd-theme-wechat-global .wechat-me-wallet-subscreen {}
.zd-theme-wechat-global .wechat-me-wallet-home-scroll {}
.zd-theme-wechat-global .wechat-me-wallet-balance-hero {}
.zd-theme-wechat-global .wechat-me-wallet-balance-glow {}
.zd-theme-wechat-global .wechat-me-wallet-balance-kicker {}
.zd-theme-wechat-global .wechat-me-wallet-balance-amount {}
.zd-theme-wechat-global .wechat-me-wallet-balance-meta {}
.zd-theme-wechat-global .wechat-me-wallet-quick-actions-shell {}
.zd-theme-wechat-global .wechat-me-wallet-section-kicker {}
.zd-theme-wechat-global .wechat-me-wallet-quick-actions {}
.zd-theme-wechat-global .wechat-me-wallet-quick-action {}
.zd-theme-wechat-global .wechat-me-wallet-quick-action-icon {}
.zd-theme-wechat-global .wechat-me-wallet-quick-action-label {}
.zd-theme-wechat-global .wechat-me-wallet-divider {}
.zd-theme-wechat-global .wechat-me-wallet-lingqiantong-row {}
.zd-theme-wechat-global .wechat-me-wallet-services-shell {}
.zd-theme-wechat-global .wechat-me-wallet-list-row {}
.zd-theme-wechat-global .wechat-me-wallet-list-row-content {}
.zd-theme-wechat-global .wechat-me-wallet-list-row-label {}
/* ========== 5. 朋友圈组件变量 ========== */
/**
 * @file moments.css
 * @description 零度存档 - 朋友圈组件主题 (Moments Components)
 */
/* ================================================================
   朋友圈组件 - 暗色模式 [默认]
   Zero Degree · 黑曜石深邃风格
   ================================================================ */
/* 暗色模式变量 - 黑曜石深夜，深邃而通透 */
:root {
  /* 背景色系 - 黑曜石深夜 */
  --zd-moments-bg-primary: #0A0A0E;           /* 主背景：深邃午夜蓝黑 */
  --zd-moments-bg-deep: #050508;              /* 深邃层：黑曜石色 */
  --zd-moments-bg-elevated: #0F0F14;          /* 浮起层：微妙深度 */
  --zd-moments-bg-secondary: #121218;         /* 次要背景 */
  --zd-moments-bg-card: #15151A;              /* 卡片背景 */
  --zd-moments-bg-glass: linear-gradient(145deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.005) 100%);  /* 渐变玻璃背景 */
  
  /* 氛围光效果 - 单层克制光晕 */
  --zd-moments-ambient-glow: radial-gradient(ellipse 100% 50% at 50% 0%, rgba(90, 80, 120, 0.04) 0%, transparent 60%);
  --zd-moments-ambient-purple: radial-gradient(ellipse 80% 60% at 70% 20%, rgba(74, 43, 82, 0.03) 0%, transparent 70%);
  --zd-moments-ambient-pink: radial-gradient(ellipse 60% 50% at 30% 80%, rgba(255, 182, 193, 0.015) 0%, transparent 60%);
  
  /* 文本色系 - 暖调柔和，去商务化 */
  --zd-moments-text-nickname: #EAC8A9;        /* 昵称：暖金，不加粗 */
  --zd-moments-text-primary: rgba(255, 255, 255, 0.85);  /* 正文：暖白（稍亮） */
  --zd-moments-text-secondary: rgba(255, 255, 255, 0.45);  /* 时间来源：暖灰 */
  --zd-moments-text-accent: #EAC8A9;          /* 链接/强调：暖金 */
  --zd-moments-text-placeholder: rgba(255, 255, 255, 0.30); /* 占位符 */
  
  /* 边框与材质 - 极简直线，无描边 */
  --zd-moments-border-hairline: none;
  --zd-moments-border-subtle: none;
  --zd-moments-border-glass: none;
  --zd-moments-border-avatar: 0.5px solid rgba(255, 255, 255, 0.15);
  --zd-moments-border-champagne: none;  /* 移除香槟金描边 */
  
  /* 封面图渐变遮罩 - 从底部向上柔和过渡 */
  --zd-moments-cover-gradient: linear-gradient(to top, var(--zd-moments-bg-primary) 0%, rgba(10, 10, 14, 0) 60%);
  --zd-moments-cover-overlay: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 0%, transparent 45%);
  
  /* 互动区域 - 微光影过渡（无描边，内阴影 + 渐变） */
  --zd-moments-comment-bg: linear-gradient(145deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.005) 100%);
  --zd-moments-comment-blur: blur(20px);
  --zd-moments-comment-inner-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --zd-moments-comment-outer-glow: 0 1px 3px rgba(0, 0, 0, 0.4);
  
  /* 点赞弹出层 - 微光影材质 */
  --zd-moments-popover-bg: linear-gradient(145deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.005) 100%);
  --zd-moments-popover-blur: blur(20px);
  --zd-moments-popover-glow: 0 4px 16px rgba(0, 0, 0, 0.5);
  --zd-moments-popover-border: none;
  
  /* 九宫格图片 - 圆润角 */
  --zd-moments-image-radius: 8px;
  --zd-moments-image-border: none;
  --zd-moments-image-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
  
  /* 阴影系统 - 柔和弥散 */
  --zd-moments-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --zd-moments-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.35);
  --zd-moments-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.45);
  --zd-moments-shadow-avatar: 0 8px 24px rgba(0, 0, 0, 0.4);
  
  /* 排版间距 - 梦幻精致 */
  --zd-moments-spacing-xs: 4px;
  --zd-moments-spacing-sm: 7px;
  --zd-moments-spacing-md: 11px;
  --zd-moments-spacing-lg: 15px;
  --zd-moments-spacing-xl: 19px;
  --zd-moments-spacing-feed: 22px;  /* Feed Item 间距 */
  
  /* 字号系统 */
  --zd-moments-font-size-nickname: 17px;
  --zd-moments-font-size-content: 15px;
  --zd-moments-font-size-time: 13px;
  --zd-moments-font-size-comment: 14px;

  /* 排版行高与字间距 - 修复文字重叠问题 */
  --zd-moments-line-height-content: 1.6;
  --zd-moments-line-height-comment: 1.5;
  --zd-moments-content-letter-spacing: 0.2px;
  --zd-moments-time-letter-spacing: 0.15em;

  /* 圆角系统 - 梦幻圆润 */
  --zd-moments-radius-avatar: 12px;   /* 头像圆角 */
  --zd-moments-radius-image: 8px;     /* 九宫格图片圆角 */
  --zd-moments-radius-popover: 10px;  /* 弹出层圆角 */
  --zd-moments-radius-comment: 12px;  /* 评论区圆角 */
  
  /* 过渡动画 */
  --zd-moments-transition-fast: 0.1s;
  --zd-moments-transition-base: 0.15s;
  --zd-moments-transition-slow: 0.25s;
  
  /* 朋友圈补充变量 - 暗色模式 */
  --zd-moments-image-bg: #1A1A1A;
  --zd-moments-avatar-bg: #222222;
  --zd-moments-avatar-border-feed: none;
  --zd-moments-avatar-border-cover: 2px solid rgba(255, 255, 255, 0.1);
  --zd-moments-button-bg: rgba(255, 255, 255, 0.15);
  --zd-moments-button-color: rgba(255, 255, 255, 0.65);
  --zd-moments-subtitle-color: rgba(255, 255, 255, 0.45);
  --zd-moments-feed-border: 0.5px solid rgba(255, 255, 255, 0.08);
  --zd-moments-feed-padding: 16px 16px;
  --zd-moments-interaction-divider: 0.5px solid rgba(255, 255, 255, 0.08);
  --zd-moments-interaction-padding-bottom: 8px;
  --zd-moments-interaction-like-color: #EAC8A9;
  --zd-moments-interaction-comment-name-color: #EAC8A9;
  --zd-moments-interaction-comment-text-color: rgba(255, 255, 255, 0.45);
}
/* ================================================================
   朋友圈组件 - 亮色模式 [data-theme="light"]
   Zero Degree · 奶油白杂志感
   老钱风底色 + 柔和对比 + 克制分割
   ================================================================ */
[data-theme="light"] {
  /* 背景色系 - 奶油燕麦色，重建空间层级 */
  --zd-moments-bg-primary: #FAF9F6;           /* 全局底层背景：奶油燕麦色（非纯白） */
  --zd-moments-bg-deep: #F2F2F6;              /* 深邃层：冷调浅灰 */
  --zd-moments-bg-elevated: #FFFFFF;          /* 浮起层：纯净白（卡片浮在背景上） */
  --zd-moments-bg-secondary: #F9F9FB;         /* 次要背景：极浅冷灰 */
  --zd-moments-bg-card: #FFFFFF;              /* 卡片背景：纯净白 */
  --zd-moments-bg-surface: #F7F7F8;           /* 朋友圈内容区/评论区底色：极微弱灰白 */
  --zd-moments-bg-glass: linear-gradient(145deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.6) 100%);
  
  /* 氛围光效果 - 暖调弥散光 */
  --zd-moments-ambient-glow: radial-gradient(ellipse 100% 50% at 50% 0%, rgba(245, 235, 220, 0.5) 0%, transparent 60%);
  --zd-moments-ambient-purple: radial-gradient(ellipse 80% 60% at 70% 20%, rgba(180, 160, 190, 0.03) 0%, transparent 70%);
  --zd-moments-ambient-pink: radial-gradient(ellipse 60% 50% at 30% 80%, rgba(235, 200, 200, 0.04) 0%, transparent 60%);
  
  /* 文本色系 - Vogue 杂志感暖灰色，拒绝死黑 + 移除文字阴影 */
  --zd-moments-text-nickname: #2A2A2A;        /* 昵称：暖调深灰（克制高级） */
  --zd-moments-text-primary: #3A3A38;         /* 正文：暖调灰（杂志感正文色） */
  --zd-moments-text-secondary: #727270;       /* 时间来源：柔和中灰 */
  --zd-moments-text-accent: #5E5E5C;          /* 链接/强调：暖调深灰 */
  --zd-moments-text-placeholder: #B8B8B8;     /* 占位符：浅灰 */
  --zd-moments-text-shadow: none !important;  /* 【强制移除文字阴影】 */
  
  /* 边框与材质 - 极简直线，微弱分割 */
  --zd-moments-border-hairline: none;
  --zd-moments-border-subtle: none;
  --zd-moments-border-glass: none;
  --zd-moments-border-avatar: 0.5px solid rgba(0, 0, 0, 0.08);
  --zd-moments-border-champagne: none;
  
  /* 封面图 - 亮色模式独立柔和封面（莫兰迪色系静物/海浪） */
  --zd-moments-cover-light: url('https://images.unsplash.com/photo-1507525428034-b723cf961d9e?w=800&h=450&fit=crop');  /* 浅色胶片海浪图 */
  --zd-moments-cover-gradient: linear-gradient(to top, var(--zd-moments-bg-primary) 0%, var(--zd-moments-bg-primary) 100%);
  --zd-moments-cover-overlay: none;  /* 移除白雾渐变蒙版 */
  
  /* 互动区域 - #F7F7F8 极微弱灰白底色，统一容器 + 弥散阴影 */
  --zd-moments-comment-bg: #F7F7F8;  /* 极微弱灰白色，统一互动区容器 */
  --zd-moments-comment-blur: none;
  --zd-moments-comment-inner-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
  --zd-moments-comment-outer-glow: 0 16px 48px rgba(0, 0, 0, 0.02);  /* 极其微弱弥散阴影 */
  
  /* 点赞弹出层 - 微光影材质 */
  --zd-moments-popover-bg: #FFFFFF;
  --zd-moments-popover-blur: none;
  --zd-moments-popover-glow: 0 8px 24px rgba(0, 0, 0, 0.08);
  --zd-moments-popover-border: none;
  
  /* 九宫格图片 - 柔化边缘，温润质感 */
  --zd-moments-image-radius: 4px;             /* 4px 微圆角，温润边缘 */
  --zd-moments-image-border: none;
  --zd-moments-image-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);  /* 弥散阴影 */
  
  /* 阴影系统 - 物理空间弥散呼吸感 */
  --zd-moments-shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.03);   /* 轻微抬升 */
  --zd-moments-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.04);   /* 卡片浮起 */
  --zd-moments-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.02);  /* 深层悬浮 - 极微弱 */
  --zd-moments-shadow-avatar: 0 12px 36px rgba(0, 0, 0, 0.08);  /* 头像精致阴影 */
  
  /* 底部导航栏 - 亮色模式界限 */
  --zd-wechat-nav-border-top: 0.5px solid rgba(0, 0, 0, 0.05);
  --zd-wechat-nav-shadow-top: 0 -2px 8px rgba(0, 0, 0, 0.03);
  
  /* 圆角系统 - 杂志感微圆角，克制几何（幼态玩具圆角消灭） */
  --zd-moments-radius-avatar: 4px;    /* 头像精致小圆角 */
  --zd-moments-radius-image: 0px;     /* 九宫格直角，Vogue 杂志感 */
  --zd-moments-radius-popover: 4px;   /* 弹出层克制圆角 */
  --zd-moments-radius-comment: 4px;   /* 评论区微圆角 */
  --zd-moments-radius-card: 4px;      /* 互动容器圆角：克制高级 */

  /* 排版行高与字间距 - 亮色模式 */
  --zd-moments-line-height-content: 1.6;
  --zd-moments-line-height-comment: 1.5;
  --zd-moments-content-letter-spacing: 0.2px;
  --zd-moments-time-letter-spacing: 0.15em;

  /* 朋友圈补充变量 - 亮色模式 */
  --zd-moments-image-bg: #F2F2F2;
  --zd-moments-avatar-bg: #E8E8E8;
  --zd-moments-avatar-border-feed: none;
  --zd-moments-avatar-border-cover: 2px solid #FFFFFF;
  --zd-moments-button-bg: #F2F2F2;
  --zd-moments-button-color: #727270;
  --zd-moments-subtitle-color: #727270;
  --zd-moments-feed-border: 0.5px solid rgba(120, 120, 120, 0.08);
  --zd-moments-feed-padding: 16px 16px;
  --zd-moments-interaction-divider: 0.5px solid rgba(120, 120, 120, 0.08);
  --zd-moments-interaction-padding-bottom: 8px;
  --zd-moments-interaction-like-color: #5E5E5C;
  --zd-moments-interaction-comment-name-color: #2A2A2A;
  --zd-moments-interaction-comment-text-color: #727270;
}
/* ========== 6. 聊天室镀铬样式 (Header + Input + Panel + Typing) ========== */
/**
 * @file chatroom-chrome.css
 * @description 聊天室镀铬样式 (Chat Room Chrome Theme)
 *   Header + Input + ActionPanel + Typing Indicator + Emoji Panel
 *
 * 主题商城创作者：在 .zd-theme-wechat-nox / .zd-theme-wechat-lux 下覆盖变量
 * 即可定制聊天室顶栏和输入栏配色
 *
 * 变量命名：--zd-chrome-{区域}-{属性}
 */
/* ============================================
   Night Mode (NOX) - 极光深渊
   ============================================ */
.zd-theme-wechat-nox {
  /* --- Header (顶栏) --- */
  --zd-chrome-header-bg: rgba(20, 20, 22, 0.85);
  --zd-chrome-header-border: rgba(255, 255, 255, 0.08);
  --zd-chrome-header-text: rgba(255, 255, 255, 0.9);
  --zd-chrome-header-text-muted: rgba(255, 255, 255, 0.5);
  --zd-chrome-header-icon-color: rgba(255, 255, 255, 0.9);
  --zd-chrome-header-icon-muted: rgba(165, 216, 255, 0.15);
  --zd-chrome-header-avatar-bg: linear-gradient(135deg, rgba(165, 216, 255, 0.15), rgba(134, 150, 255, 0.08));
  --zd-chrome-header-avatar-text: #ffffff;
  --zd-chrome-header-avatar-border: rgba(165, 216, 255, 0.15);

  /* --- Input Bar (输入栏) --- */
  --zd-chrome-input-bg: rgba(28, 28, 30, 0.85);
  --zd-chrome-input-border: rgba(255, 255, 255, 0.08);
  --zd-chrome-input-field-bg: rgba(40, 38, 42, 0.6);
  --zd-chrome-input-field-border: rgba(255, 255, 255, 0.08);
  --zd-chrome-input-field-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  --zd-chrome-input-text: rgba(255, 255, 255, 0.9);
  --zd-chrome-input-placeholder: rgba(255, 255, 255, 0.4);
  --zd-chrome-input-accent: rgba(212, 175, 55, 0.12);
  --zd-chrome-icon-primary: rgba(212, 175, 55, 0.7);
  --zd-chrome-icon-secondary: rgba(255, 255, 255, 0.4);
  --zd-chrome-glass: rgba(212, 175, 55, 0.05);
  --zd-chrome-send-bg: #D4B882;
  --zd-chrome-send-icon: #FFFFFF;
  --zd-chrome-ai-generate-bg: transparent;
  --zd-chrome-ai-generate-border: rgba(212, 184, 130, 0.3);
  --zd-chrome-ai-generate-color: rgba(212, 184, 130, 0.5);
  --zd-chat-input-backdrop: blur(12px);
  --zd-chat-input-border-top: 0.5px solid var(--zd-chrome-input-border);

  /* --- Action Panel (功能面板) --- */
  --zd-chrome-panel-bg: rgba(20, 20, 22, 0.85);
  --zd-chrome-panel-border: rgba(255, 255, 255, 0.08);
  --zd-chrome-panel-item-bg: rgba(255, 255, 255, 0.05);
  --zd-chrome-panel-item-border: rgba(255, 255, 255, 0.08);
  --zd-chrome-panel-icon-color: rgba(212, 175, 55, 0.7);
  --zd-chrome-panel-text: rgba(255, 255, 255, 0.7);

  /* --- Typing Indicator (正在输入) --- */
  --zd-chrome-typing-bg: rgba(28, 28, 30, 0.85);
  --zd-chrome-typing-border: rgba(255, 255, 255, 0.08);
  --zd-chrome-typing-text: rgba(255, 255, 255, 0.85);
  --zd-chrome-typing-dot-color: #D4B882;
  --zd-chrome-typing-backdrop: none;

  /* --- Emoji Panel (表情面板) --- */
  --zd-chrome-emoji-overlay-bg: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-overlay-backdrop: blur(4px);
  --zd-chrome-emoji-panel-bg: #050507;
  --zd-chrome-emoji-panel-bg-image: radial-gradient(ellipse at 20% 0%, rgba(122, 157, 117, 0.08) 0%, transparent 50%), radial-gradient(ellipse at 80% 0%, rgba(123, 149, 183, 0.06) 0%, transparent 50%);
  --zd-chrome-emoji-panel-border-top: 0.5px solid rgba(255, 255, 255, 0.06);
  --zd-chrome-emoji-tabbar-bg: rgba(5, 5, 7, 0.3);
  --zd-chrome-emoji-tabbar-border-top: 0.5px solid rgba(255, 255, 255, 0.06);
  --zd-chrome-emoji-tab-text: rgba(255, 255, 255, 0.35);
  --zd-chrome-emoji-tab-active-text: rgba(255, 255, 255, 0.95);
  --zd-chrome-emoji-tab-active-bg: rgba(255, 255, 255, 0.08);
  --zd-chrome-emoji-desc-text: rgba(255, 255, 255, 0.6);
  --zd-chrome-emoji-sticker-hover-bg: rgba(255, 255, 255, 0.05);
  --zd-chrome-emoji-sticker-active-bg: rgba(255, 255, 255, 0.08);
  --zd-chrome-emoji-add-btn-bg: transparent;
  --zd-chrome-emoji-add-btn-color: rgba(120, 160, 220, 0.6);
  --zd-chrome-emoji-album-card-bg: rgba(255, 255, 255, 0.02);
  --zd-chrome-emoji-album-card-border: 0.5px solid rgba(255, 255, 255, 0.04);
  --zd-chrome-emoji-album-name-text: rgba(255, 255, 255, 0.9);
  --zd-chrome-emoji-album-count-text: rgba(255, 255, 255, 0.35);
  --zd-chrome-emoji-create-btn-bg: rgba(255, 255, 255, 0.03);
  --zd-chrome-emoji-create-btn-color: rgba(255, 255, 255, 0.6);
  --zd-chrome-emoji-import-modal-bg: rgba(0, 0, 0, 0.7);
  --zd-chrome-emoji-import-title-text: rgba(255, 255, 255, 0.95);
  --zd-chrome-emoji-import-desc-text: rgba(255, 255, 255, 0.4);
  --zd-chrome-emoji-import-btn-bg: rgba(255, 255, 255, 0.08);
  --zd-chrome-emoji-import-btn-text: rgba(255, 255, 255, 0.95);
  --zd-chrome-emoji-import-cancel-text: rgba(255, 255, 255, 0.45);
  --zd-chrome-emoji-import-input-bg: rgba(255, 255, 255, 0.06);
  --zd-chrome-emoji-import-input-border: rgba(255, 255, 255, 0.12);
  --zd-chrome-emoji-import-input-placeholder: rgba(255, 255, 255, 0.3);
  --zd-chrome-emoji-import-format-bg: rgba(255, 255, 255, 0.04);
  --zd-chrome-emoji-import-format-border: rgba(255, 255, 255, 0.08);
  --zd-chrome-emoji-import-handle: rgba(255, 255, 255, 0.3);
  --zd-chrome-emoji-import-cancel-border: rgba(255, 255, 255, 0.15);
  --zd-chrome-emoji-import-shadow: 0 -8px 32px rgba(0, 0, 0, 0.4);
}
/* ============================================
   Day Mode (LUX) - 极简纯白
   ============================================ */
.zd-theme-wechat-lux {
  /* --- Header (顶栏) --- */
  --zd-chrome-header-bg: #F7F7F7;
  --zd-chrome-header-border: #E5E5E5;
  --zd-chrome-header-text: #1A1A1A;
  --zd-chrome-header-text-muted: #999999;
  --zd-chrome-header-icon-color: #1A1A1A;
  --zd-chrome-header-icon-muted: #1A1A1A;
  --zd-chrome-header-avatar-bg: #F7F7F7;
  --zd-chrome-header-avatar-text: #1A1A1A;
  --zd-chrome-header-avatar-border: #E5E5E5;

  /* --- Input Bar (输入栏) --- */
  --zd-chrome-input-bg: #F7F7F7;
  --zd-chrome-input-border: #E5E5E5;
  --zd-chrome-input-field-bg: #FFFFFF;
  --zd-chrome-input-field-border: #E5E5E5;
  --zd-chrome-input-field-shadow: none;
  --zd-chrome-input-text: #1A1A1A;
  --zd-chrome-input-placeholder: #B8B8B8;
  --zd-chrome-input-accent: rgba(0, 0, 0, 0.03);
  --zd-chrome-icon-primary: #1A1A1A;
  --zd-chrome-icon-secondary: #666666;
  --zd-chrome-glass: rgba(255, 255, 255, 0.8);
  --zd-chrome-send-bg: #E8E8E8;
  --zd-chrome-send-icon: #0D0C0F;
  --zd-chrome-ai-generate-bg: rgba(0, 0, 0, 0.03);
  --zd-chrome-ai-generate-border: #E5E5E5;
  --zd-chrome-ai-generate-color: #1A1A1A;
  --zd-chat-input-backdrop: blur(12px);
  --zd-chat-input-border-top: 0.5px solid var(--zd-chrome-input-border);

  /* --- Action Panel (功能面板) --- */
  --zd-chrome-panel-bg: rgba(255, 255, 255, 0.95);
  --zd-chrome-panel-border: #E5E5E5;
  --zd-chrome-panel-item-bg: rgba(0, 0, 0, 0.03);
  --zd-chrome-panel-item-border: rgba(0, 0, 0, 0.06);
  --zd-chrome-panel-icon-color: #1A1A1A;
  --zd-chrome-panel-text: #666666;

  /* --- Typing Indicator (正在输入) --- */
  --zd-chrome-typing-bg: #F7F7F7;
  --zd-chrome-typing-border: #E5E5E5;
  --zd-chrome-typing-text: #999999;
  --zd-chrome-typing-dot-color: #1A1A1A;
  --zd-chrome-typing-backdrop: blur(12px);

  /* --- Emoji Panel (表情面板) --- */
  --zd-chrome-emoji-overlay-bg: transparent;
  --zd-chrome-emoji-overlay-backdrop: none;
  --zd-chrome-emoji-panel-bg: #F8F8F8;
  --zd-chrome-emoji-panel-bg-image: none;
  --zd-chrome-emoji-panel-border-top: 0.5px solid #E0E0E0;
  --zd-chrome-emoji-tabbar-bg: rgba(248, 248, 248, 0.8);
  --zd-chrome-emoji-tabbar-border-top: 0.5px solid #E8E8E8;
  --zd-chrome-emoji-tab-text: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-tab-active-text: #1A1A1A;
  --zd-chrome-emoji-tab-active-bg: rgba(0, 0, 0, 0.05);
  --zd-chrome-emoji-desc-text: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-sticker-hover-bg: rgba(0, 0, 0, 0.05);
  --zd-chrome-emoji-sticker-active-bg: rgba(0, 0, 0, 0.08);
  --zd-chrome-emoji-add-btn-bg: rgba(0, 0, 0, 0.05);
  --zd-chrome-emoji-add-btn-color: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-album-card-bg: #FFFFFF;
  --zd-chrome-emoji-album-card-border: 0.5px solid #E8E8E8;
  --zd-chrome-emoji-album-name-text: #1A1A1A;
  --zd-chrome-emoji-album-count-text: rgba(0, 0, 0, 0.4);
  --zd-chrome-emoji-create-btn-bg: rgba(0, 0, 0, 0.05);
  --zd-chrome-emoji-create-btn-color: rgba(0, 0, 0, 0.6);
  --zd-chrome-emoji-import-modal-bg: #F8F8F8;
  --zd-chrome-emoji-import-title-text: #1A1A1A;
  --zd-chrome-emoji-import-desc-text: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-import-btn-bg: #1A1A1A;
  --zd-chrome-emoji-import-btn-text: #FFFFFF;
  --zd-chrome-emoji-import-cancel-text: rgba(0, 0, 0, 0.4);
  --zd-chrome-emoji-import-input-bg: rgba(0, 0, 0, 0.04);
  --zd-chrome-emoji-import-input-border: rgba(0, 0, 0, 0.1);
  --zd-chrome-emoji-import-input-placeholder: rgba(0, 0, 0, 0.25);
  --zd-chrome-emoji-import-format-bg: rgba(0, 0, 0, 0.03);
  --zd-chrome-emoji-import-format-border: rgba(0, 0, 0, 0.08);
  --zd-chrome-emoji-import-handle: rgba(0, 0, 0, 0.2);
  --zd-chrome-emoji-import-cancel-border: rgba(0, 0, 0, 0.15);
  --zd-chrome-emoji-import-shadow: 0 -8px 32px rgba(0, 0, 0, 0.1);
}
/* ============================================
   Input Inner Bar - 由 CSS 变量驱动
   自定义主题可覆盖 --zd-chat-input-backdrop / --zd-chat-input-border-top
   ============================================ */
.zd-chat-input-inner {
  backdrop-filter: var(--zd-chat-input-backdrop, blur(12px));
  -webkit-backdrop-filter: var(--zd-chat-input-backdrop, blur(12px));
  border-top: var(--zd-chat-input-border-top, 0.5px solid var(--zd-chrome-input-border));
}
/* ========== 7. 聊天室主题商城核心样式 ========== */
/**
 * @file chatroom.css
 * @description 零度存档 - 聊天室主题商城核心样式
 * 
 * 未来主题商城可通过覆盖以下 CSS 变量实现主题切换
 * 所有颜色、圆角、阴影、字体均使用变量，禁止在组件内硬编码
 * 
 * @module styles/theme/chatroom
 */
/* ============================================
   聊天室容器变量 (Chat Room Container)
   主容器、背景层、导航栏
   ============================================ */
:root {
  /* 背景色系 */
  --zd-chatroom-bg-primary: #050507;
  --zd-chatroom-bg-secondary: #0A0A0D;
  --zd-chatroom-bg-tertiary: #0F0F14;
  --zd-chatroom-bg-overlay: rgba(8, 8, 10, 0.98);

  /* 玻璃效果 */
  --zd-chatroom-glass-bg: rgba(20, 20, 22, 0.85);
  --zd-chatroom-glass-border: rgba(255, 255, 255, 0.08);
  --zd-chatroom-glass-blur: 40px;
  --zd-chatroom-glass-blur-heavy: 50px;

  /* 导航栏 */
  --zd-chatroom-nav-bg: rgba(20, 20, 22, 0.85);
  --zd-chatroom-nav-text: rgba(255, 255, 255, 0.9);
  --zd-chatroom-nav-text-muted: rgba(255, 255, 255, 0.5);
  --zd-chatroom-nav-border: rgba(255, 255, 255, 0.08);

  /* 输入框区域 */
  --zd-chatroom-input-bg: rgba(28, 28, 30, 0.85);
  --zd-chatroom-input-field-bg: rgba(40, 38, 42, 0.6);
  --zd-chatroom-input-text: rgba(255, 255, 255, 0.9);
  --zd-chatroom-input-placeholder: rgba(255, 255, 255, 0.4);
  --zd-chatroom-input-border: rgba(255, 255, 255, 0.08);

  /* 图标颜色 */
  --zd-chatroom-icon-primary: rgba(212, 175, 55, 0.7);
  --zd-chatroom-icon-secondary: rgba(255, 255, 255, 0.4);
  --zd-chatroom-send-bg: #D4B882;
  --zd-chatroom-send-icon: #FFFFFF;

  /* 正在输入提示 */
  --zd-chatroom-typing-text: rgba(255, 255, 255, 0.85);

  /* 过渡动画 */
  --zd-chatroom-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ============================================
     WeChat 主题变量 (日间/夜间模式)
     用于 ChatHeader 和 ChatInput 组件
     ============================================ */

  /* 夜间模式 (NOX) - 默认 */
  --zd-wechat-nav-bg: rgba(13, 12, 15, 0.85);
  --zd-wechat-nav-border: rgba(255, 255, 255, 0.08);
  --zd-wechat-nav-text: rgba(255, 255, 255, 0.9);
  --zd-wechat-nav-text-muted: rgba(255, 255, 255, 0.5);
  --zd-wechat-border-light: rgba(255, 255, 255, 0.08);
  --zd-wechat-icon-primary: rgba(212, 175, 55, 0.7);
  --zd-wechat-icon-secondary: rgba(255, 255, 255, 0.4);
  --zd-wechat-input-bg: rgba(28, 28, 30, 0.85);
  --zd-wechat-input-field-bg: rgba(40, 38, 42, 0.6);
  --zd-wechat-input-field-border: rgba(255, 255, 255, 0.08);
  --zd-wechat-text-primary: rgba(255, 255, 255, 0.9);
  --zd-wechat-text-secondary: rgba(255, 255, 255, 0.5);
  --zd-wechat-input-accent: rgba(212, 175, 55, 0.12);
  --zd-wechat-glass: rgba(255, 255, 255, 0.05);
  --zd-wechat-send-bg: rgba(232, 232, 232, 0.9);
  --zd-wechat-send-icon: #1A1A1A;
  --zd-wechat-typing-bg: rgba(28, 28, 30, 0.85);
  --zd-wechat-typing-border: rgba(255, 255, 255, 0.08);
  --zd-wechat-typing-text: rgba(255, 255, 255, 0.85);
  --zd-wechat-typing-dot-color: rgba(212, 175, 55, 0.7);

  /* 极地主题变量 */
  --zd-arctic-border-dawn: rgba(165, 216, 255, 0.15);
  --zd-arctic-dawn-border: rgba(165, 216, 255, 0.15);
  --zd-arctic-glacier-border: rgba(134, 150, 255, 0.08);
  --zd-arctic-text-primary: rgba(255, 255, 255, 0.9);
  --zd-arctic-text-secondary: rgba(255, 255, 255, 0.5);
  --zd-wechat-border-hairline: rgba(255, 255, 255, 0.08);
}
/* ============================================
   日间模式 (LUX) - WeChat 主题变量覆盖
   ============================================ */
.zd-theme-wechat-lux {
  --zd-wechat-nav-bg: #F7F7F7;
  --zd-wechat-nav-border: #E5E5E5;
  --zd-wechat-nav-text: #1A1A1A;
  --zd-wechat-nav-text-muted: #999999;
  --zd-wechat-border-light: #E5E5E5;
  --zd-wechat-icon-primary: #1A1A1A;
  --zd-wechat-icon-secondary: #666666;
  --zd-wechat-input-bg: #F7F7F7;
  --zd-wechat-input-field-bg: #FFFFFF;
  --zd-wechat-input-field-border: #E5E5E5;
  --zd-wechat-text-primary: #1A1A1A;
  --zd-wechat-text-secondary: #666666;
  --zd-wechat-input-accent: rgba(0, 0, 0, 0.03);
  --zd-wechat-glass: rgba(255, 255, 255, 0.8);
  --zd-wechat-send-bg: #E8E8E8;
  --zd-wechat-send-icon: #1A1A1A;
  --zd-wechat-typing-bg: #F7F7F7;
  --zd-wechat-typing-border: #E5E5E5;
  --zd-wechat-typing-text: #1A1A1A;
  --zd-wechat-typing-dot-color: rgba(212, 175, 55, 0.7);

  /* 极地主题变量 - 日间模式 */
  --zd-arctic-border-dawn: rgba(0, 0, 0, 0.08);
  --zd-arctic-dawn-border: rgba(0, 0, 0, 0.08);
  --zd-arctic-glacier-border: rgba(0, 0, 0, 0.08);
  --zd-arctic-text-primary: #1A1A1A;
  --zd-arctic-text-secondary: #666666;
}
/* ============================================
   聊天气泡基础变量 (Message Bubble Base)
   用于所有气泡的通用属性
   ============================================ */
:root {
  /* 气泡最大宽度 */
  --zd-bubble-max-width: 72%;
  
  /* 气泡内边距 */
  --zd-bubble-padding-x: 14px;
  --zd-bubble-padding-y: 10px;
  
  /* 气泡字体 */
  --zd-bubble-font-size: 15px;
  --zd-bubble-font-weight: 300;
  --zd-bubble-line-height: 1.5;
  --zd-bubble-letter-spacing: 0.05em;
  
  /* 气泡圆角 */
  --zd-bubble-radius: 12px;
  --zd-bubble-radius-sm: 8px;
  --zd-bubble-radius-lg: 16px;
  
  /* 圆角变体 - 用于不同方向的气泡 */
  --zd-bubble-radius-user: var(--zd-bubble-radius);
  --zd-bubble-radius-user-corner: var(--zd-bubble-radius-sm);
  --zd-bubble-radius-ai: var(--zd-bubble-radius);
  --zd-bubble-radius-ai-corner: var(--zd-bubble-radius-sm);
}
/* ============================================
   夜·霜华主题 (Night Frost) - 默认主题
   深色渐变琉璃气泡
   ============================================ */
.zd-theme-night-frost {
  /* 用户气泡（右侧，冰蓝色渐变） */
  --zd-bubble-user-bg: linear-gradient(135deg, rgba(165, 216, 255, 0.12) 0%, rgba(134, 150, 255, 0.08) 100%);
  --zd-bubble-user-border: 1px solid rgba(165, 216, 255, 0.15);
  --zd-bubble-user-shadow: 0 4px 12px rgba(165, 216, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  --zd-bubble-user-text: #E8EDF5;
  --zd-bubble-user-backdrop-blur: 8px;
  --zd-bubble-user-radius: var(--zd-bubble-radius) var(--zd-bubble-radius) var(--zd-bubble-radius-sm) var(--zd-bubble-radius);
  
  /* AI 气泡（左侧，金色渐变） */
  --zd-bubble-ai-bg: linear-gradient(135deg, rgba(212, 175, 55, 0.1) 0%, rgba(189, 147, 44, 0.06) 100%);
  --zd-bubble-ai-border: 1px solid rgba(212, 175, 55, 0.12);
  --zd-bubble-ai-shadow: 0 4px 12px rgba(212, 175, 55, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --zd-bubble-ai-text: #F5E6C8;
  --zd-bubble-ai-backdrop-blur: 8px;
  --zd-bubble-ai-radius: var(--zd-bubble-radius) var(--zd-bubble-radius) var(--zd-bubble-radius) var(--zd-bubble-radius-sm);
}
/* ============================================
   极·奢华主题 (Lux) - Editorial Minimalism
   纯色纸感气泡，极简油墨风格
   ============================================ */
.zd-theme-lux {
  /* 用户气泡（右侧，深碳灰纸感） */
  --zd-bubble-user-bg: rgba(26, 26, 26, 0.95);
  --zd-bubble-user-border: none;
  --zd-bubble-user-shadow: none;
  --zd-bubble-user-text: #FFFFFF;
  --zd-bubble-user-backdrop-blur: none;
  --zd-bubble-user-radius: 12px 12px 2px 12px;
  --zd-bubble-user-letter-spacing: 0.05em;
  --zd-bubble-user-line-height: 1.4;
  --zd-bubble-user-padding: 6px 12px;
  --zd-bubble-user-font-size: 14px;
  
  /* AI 气泡（左侧，纯白纸感） */
  --zd-bubble-ai-bg: rgba(255, 255, 255, 0.9);
  --zd-bubble-ai-border: 0.5px solid #EAEAEA;
  --zd-bubble-ai-shadow: none;
  --zd-bubble-ai-text: #1A1A1A;
  --zd-bubble-ai-backdrop-blur: none;
  --zd-bubble-ai-radius: 12px 12px 12px 2px;
  --zd-bubble-ai-letter-spacing: 0.05em;
  --zd-bubble-ai-line-height: 1.4;
  --zd-bubble-ai-padding: 6px 12px;
  --zd-bubble-ai-font-size: 14px;
}
/* ============================================
   冰·琉璃主题 (Arctic Lucent) - 极地琉璃
   冰蓝与暖金交织，高透光琉璃质感
   ============================================ */
.zd-theme-arctic-lucent {
  /* 用户气泡（右侧，冰川蓝琉璃） */
  --zd-bubble-user-bg: linear-gradient(135deg, rgba(123, 149, 183, 0.25) 0%, rgba(120, 160, 220, 0.15) 100%);
  --zd-bubble-user-border: 0.5px solid rgba(123, 149, 183, 0.3);
  --zd-bubble-user-shadow: 0 4px 16px rgba(123, 149, 183, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  --zd-bubble-user-text: #E8F0F8;
  --zd-bubble-user-backdrop-blur: 12px;
  --zd-bubble-user-radius: 14px 14px 4px 14px;
  
  /* AI 气泡（左侧，晨曦金琉璃） */
  --zd-bubble-ai-bg: linear-gradient(135deg, rgba(212, 184, 130, 0.2) 0%, rgba(212, 175, 55, 0.12) 100%);
  --zd-bubble-ai-border: 0.5px solid rgba(212, 175, 55, 0.25);
  --zd-bubble-ai-shadow: 0 4px 16px rgba(212, 175, 55, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  --zd-bubble-ai-text: #FDF6E6;
  --zd-bubble-ai-backdrop-blur: 12px;
  --zd-bubble-ai-radius: 14px 14px 14px 4px;
}
/* ============================================
   绯·烬主题 (Crimson Ember) - 绯红余烬
   绯红与暗金交织，温暖深邃
   ============================================ */
.zd-theme-crimson-ember {
  /* 用户气泡（右侧，绯红色渐变） */
  --zd-bubble-user-bg: linear-gradient(135deg, rgba(196, 69, 105, 0.25) 0%, rgba(139, 35, 69, 0.15) 100%);
  --zd-bubble-user-border: 0.5px solid rgba(196, 69, 105, 0.3);
  --zd-bubble-user-shadow: 0 4px 16px rgba(196, 69, 105, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  --zd-bubble-user-text: #FDE8EE;
  --zd-bubble-user-backdrop-blur: 10px;
  --zd-bubble-user-radius: 14px 14px 4px 14px;
  
  /* AI 气泡（左侧，暗金色渐变） */
  --zd-bubble-ai-bg: linear-gradient(135deg, rgba(212, 175, 55, 0.18) 0%, rgba(139, 95, 45, 0.1) 100%);
  --zd-bubble-ai-border: 0.5px solid rgba(212, 175, 55, 0.25);
  --zd-bubble-ai-shadow: 0 4px 16px rgba(212, 175, 55, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  --zd-bubble-ai-text: #FFF4E6;
  --zd-bubble-ai-backdrop-blur: 10px;
  --zd-bubble-ai-radius: 14px 14px 14px 4px;
}
/* ============================================
   墨·韵主题 (Ink Rhyme) - 东方墨韵
   水墨黑白，东方禅意
   ============================================ */
.zd-theme-ink-rhyme {
  /* 用户气泡（右侧，深墨色） */
  --zd-bubble-user-bg: linear-gradient(135deg, rgba(38, 38, 42, 0.95) 0%, rgba(28, 28, 32, 0.9) 100%);
  --zd-bubble-user-border: 0.5px solid rgba(80, 80, 85, 0.3);
  --zd-bubble-user-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --zd-bubble-user-text: #F0F0F5;
  --zd-bubble-user-backdrop-blur: 6px;
  --zd-bubble-user-radius: 12px 12px 4px 12px;
  
  /* AI 气泡（左侧，宣纸白） */
  --zd-bubble-ai-bg: linear-gradient(135deg, rgba(245, 245, 250, 0.92) 0%, rgba(235, 235, 240, 0.88) 100%);
  --zd-bubble-ai-border: 0.5px solid rgba(200, 200, 205, 0.25);
  --zd-bubble-ai-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.5);
  --zd-bubble-ai-text: #2C2C32;
  --zd-bubble-ai-backdrop-blur: 6px;
  --zd-bubble-ai-radius: 12px 12px 12px 4px;
}
/* ============================================
   星·空主题 (Starry Void) - 深邃星空
   紫罗兰与深蓝，宇宙星空感
   ============================================ */
.zd-theme-starry-void {
  /* 用户气泡（右侧，深空紫） */
  --zd-bubble-user-bg: linear-gradient(135deg, rgba(108, 92, 231, 0.3) 0%, rgba(79, 70, 229, 0.2) 100%);
  --zd-bubble-user-border: 0.5px solid rgba(108, 92, 231, 0.4);
  --zd-bubble-user-shadow: 0 4px 20px rgba(108, 92, 231, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  --zd-bubble-user-text: #EEF2FF;
  --zd-bubble-user-backdrop-blur: 14px;
  --zd-bubble-user-radius: 16px 16px 4px 16px;
  
  /* AI 气泡（左侧，星云蓝） */
  --zd-bubble-ai-bg: linear-gradient(135deg, rgba(59, 130, 246, 0.25) 0%, rgba(37, 99, 235, 0.15) 100%);
  --zd-bubble-ai-border: 0.5px solid rgba(59, 130, 246, 0.35);
  --zd-bubble-ai-shadow: 0 4px 20px rgba(59, 130, 246, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  --zd-bubble-ai-text: #EFF6FF;
  --zd-bubble-ai-backdrop-blur: 14px;
  --zd-bubble-ai-radius: 16px 16px 16px 4px;
}
/* ============================================
   头像样式变量 (Avatar Variables)
   ============================================ */
:root {
  /* 头像尺寸 */
  --zd-avatar-size: 36px;
  --zd-avatar-radius: 50%;
  
  /* 头像边框 */
  --zd-avatar-border: 0.5px solid rgba(255, 255, 255, 0.08);
  --zd-avatar-border-lux: 0.5px solid var(--zd-lux-border);
  
  /* 头像间距 */
  --zd-avatar-gap: 8px;
  
  /* 头像渐变背景（无头像时） */
  --zd-avatar-placeholder-bg: linear-gradient(135deg, var(--zd-arctic-dawn-border), var(--zd-arctic-glacier-border));
  --zd-avatar-placeholder-text: #FFFFFF;
}
/* ============================================
   时间戳样式变量 (Timestamp Variables)
   ============================================ */
:root {
  /* 时间戳字体 */
  --zd-timestamp-font-size: 11px;
  --zd-timestamp-font-family: monospace;
  --zd-timestamp-font-weight: 400;
  
  /* 时间戳颜色 */
  --zd-timestamp-color: rgba(255, 255, 255, 0.35);
  --zd-timestamp-color-lux: var(--zd-lux-text-muted);
  
  /* 时间戳间距 */
  --zd-timestamp-margin: 4px;
}
/* ============================================
   已读标记样式变量 (Read Status Variables)
   ============================================ */
:root {
  /* 已读图标尺寸 */
  --zd-read-icon-size: 16px;
  
  /* 已读图标颜色 */
  --zd-read-icon-color: rgba(212, 175, 55, 0.6);
  --zd-read-icon-color-read: rgba(34, 197, 94, 0.8);
  
  /* 已读动画 */
  --zd-read-pop-animation: zd-read-pop 0.3s ease-out;
}
@keyframes zd-read-pop {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
/* ============================================
   转账气泡变量 (Transfer Bubble Variables)
   ============================================ */
:root {
  /* 转账卡片 */
  --zd-transfer-card-bg: rgba(28, 28, 30, 0.95);
  --zd-transfer-card-border: 0.5px solid rgba(255, 255, 255, 0.08);
  --zd-transfer-card-radius: 12px;
  --zd-transfer-card-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  
  /* 转账金额 */
  --zd-transfer-amount-color: #F1F1F1;
  --zd-transfer-amount-font-size: 20px;
  --zd-transfer-amount-font-weight: 500;
  
  /* 转账状态 */
  --zd-transfer-status-color: rgba(255, 255, 255, 0.5);
  --zd-transfer-status-font-size: 12px;
  
  /* 转账标识 */
  --zd-transfer-label-bg: rgba(212, 175, 55, 0.15);
  --zd-transfer-label-color: rgba(212, 175, 55, 0.8);
  --zd-transfer-label-font-size: 11px;
}
/* ============================================
   红包气泡变量 (Hongbao Bubble Variables)
   ============================================ */
:root {
  /* 红包卡片 */
  --zd-hongbao-card-bg: linear-gradient(180deg, #C44545 0%, #B83838 100%);
  --zd-hongbao-card-border: 0.5px solid rgba(212, 175, 55, 0.3);
  --zd-hongbao-card-radius: 12px;
  --zd-hongbao-card-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  
  /* 红包金额 */
  --zd-hongbao-amount-color: #E8D88B;
  --zd-hongbao-amount-gradient: linear-gradient(180deg, #E8D88B 0%, #D4AF37 50%, #C9A945 100%);
  
  /* 红包状态 */
  --zd-hongbao-opened-bg: rgba(139, 38, 38, 0.5);
  --zd-hongbao-opened-text: rgba(255, 255, 255, 0.5);
  --zd-hongbao-returned-bg: rgba(80, 80, 80, 0.4);
  --zd-hongbao-returned-text: rgba(200, 200, 200, 0.5);
}
/* ============================================
   表情包变量 (Sticker Variables)
   ============================================ */
:root {
  /* 表情包尺寸 */
  --zd-sticker-max-width: 180px;
  --zd-sticker-max-height: 180px;
  
  /* 表情包容器 */
  --zd-sticker-container-radius: 8px;
  --zd-sticker-container-border: none;
}
/* ============================================
   消息列表变量 (Message List Variables)
   ============================================ */
:root {
  /* 消息列表滚动条 */
  --zd-message-list-scrollbar-width: 0px; /* 隐藏滚动条 */
  
  /* 消息间距 */
  --zd-message-margin-bottom: 16px;
  --zd-message-group-gap: 4px;
  
  /* 时间分割线 */
  --zd-time-divider-color: rgba(255, 255, 255, 0.1);
  --zd-time-divider-text: #888888;
  --zd-time-divider-text-size: 12px;
  --zd-time-divider-border: 0.5px solid rgba(255, 255, 255, 0.08);
}
/* ============================================
   系统提示变量 (System Alert Variables)
   ============================================ */
:root {
  /* 系统提示文字 */
  --zd-system-alert-color: #888888;
  --zd-system-alert-font-size: 11px;
  --zd-system-alert-bg: transparent;
  --zd-system-alert-padding: 6px 12px;
  --zd-system-alert-radius: 8px;
}
/* ============================================
   正在输入提示变量 (Typing Indicator Variables)
   ============================================ */
:root {
  /* 正在输入容器 */
  --zd-typing-indicator-bg: rgba(28, 28, 30, 0.9);
  --zd-typing-indicator-border: 0.5px solid rgba(255, 255, 255, 0.08);
  --zd-typing-indicator-radius: 12px;
  --zd-typing-indicator-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);

  /* 跳动圆点 */
  --zd-typing-dot-size: 6px;
  --zd-typing-dot-color: #D4B882;
  --zd-typing-dot-lux-color: var(--zd-lux-icon-primary);
  --zd-typing-dot-animation-duration: 1s;
}
/* ============================================
   正在输入提示 · 默认主题样式 (Typing Indicator Default Theme)
   横幅型，导航栏下方，圆点 + 文字居左
   ============================================ */
.zd-chat-typing-indicator {
  position: absolute !important;
  top: 3.75rem !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 8px 12px 8px 14px !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 60 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.92) 80%, rgba(255,255,255,0) 100%) !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.zd-chat-typing-indicator .zd-typing-dots {
  display: flex !important;
  gap: 3px !important;
  flex-shrink: 0 !important;
  align-items: center !important;
}
.zd-chat-typing-indicator .zd-typing-dots > div {
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #333 !important;
  animation: zd-typing-dot-bounce 1.4s ease-in-out infinite !important;
}
.zd-chat-typing-indicator .zd-typing-dots > div:nth-child(2) {
  animation-delay: 0.2s !important;
}
.zd-chat-typing-indicator .zd-typing-dots > div:nth-child(3) {
  animation-delay: 0.4s !important;
}
.zd-chat-typing-indicator .zd-typing-text {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  color: #666 !important;
  opacity: 1 !important;
}
@keyframes zd-typing-dot-bounce {
  0%, 60%, 100% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-4px);
  }
}
/* ============================================
   群聊打字指示器 (Group Typing Indicator)
   头像 + 跳动点 · 支持双人叠放
   ============================================ */
.zd-group-typing-indicator {
  position: absolute !important;
  top: 4rem !important;
  left: 14px !important;
  z-index: 60 !important;
  pointer-events: none !important;
}
/* waiting 阶段：通用三点，居中 */
.zd-group-typing-indicator .zd-group-typing-dots--waiting {
  display: inline-flex !important;
  gap: 3px !important;
  padding: 6px 12px !important;
  background: rgba(0, 0, 0, 0.03) !important;
  border-radius: 14px !important;
}
.zd-group-typing-dots--waiting > div {
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: #999 !important;
  animation: zd-typing-dot-swell 1.2s ease-in-out infinite !important;
}
.zd-group-typing-dots--waiting > div:nth-child(2) { animation-delay: 0.2s !important; }
.zd-group-typing-dots--waiting > div:nth-child(3) { animation-delay: 0.4s !important; }
@keyframes zd-typing-dot-swell {
  0%, 100% { transform: scale(0.7); opacity: 0.4; }
  50% { transform: scale(1.3); opacity: 1; }
}
/* typing 阶段：头像行 */
.zd-group-typing-avatar-row {
  display: flex !important;
  align-items: flex-end !important;
  gap: 4px !important;
}
/* 单个头像单元 */
.zd-group-typing-avatar-cell {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
}
.zd-group-typing-avatar-img {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
}
.zd-group-typing-avatar-fallback {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #e0e0e0, #ccc) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #888 !important;
}
/* 打字点（头像旁边的小点） */
.zd-group-typing-dots--avatar {
  display: flex !important;
  gap: 3px !important;
  margin-left: 2px !important;
  padding-bottom: 6px !important;
  flex-shrink: 0 !important;
}
.zd-group-typing-dots--avatar > div {
  width: 3.5px !important;
  height: 3.5px !important;
  border-radius: 50% !important;
  background: #666 !important;
  animation: zd-typing-dot-swell 0.8s ease-in-out infinite !important;
}
.zd-group-typing-dots--avatar > div:nth-child(2) { animation-delay: 0.15s !important; }
.zd-group-typing-dots--avatar > div:nth-child(3) { animation-delay: 0.3s !important; }
/* 即将发言：半透明叠放 */
.zd-group-typing-avatar-cell--incoming .zd-group-typing-avatar-img,
.zd-group-typing-avatar-cell--incoming .zd-group-typing-avatar-fallback {
  opacity: 0.35 !important;
  transform: scale(0.85) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}
/* 入场动画：头像出现 */
.zd-group-typing-avatar-cell--active {
  animation: zd-typing-avatar-enter 0.2s ease-out !important;
}
@keyframes zd-typing-avatar-enter {
  from { opacity: 0; transform: translateY(6px) scale(0.9); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
/* ============================================
   情感波形图变量 (Mood Waveform Variables)
   ============================================ */
:root {
  /* 波形条 */
  --zd-waveform-bar-width: 3px;
  --zd-waveform-bar-height: 14px;
  --zd-waveform-bar-gap: 2px;
  --zd-waveform-bar-radius: 2px;
  
  /* 波形颜色 */
  --zd-waveform-bar-bg: linear-gradient(180deg, var(--zd-arctic-accent-ice) 0%, var(--zd-arctic-accent-gold) 100%);
  
  /* 波形动画 */
  --zd-waveform-animation-duration: 0.8s;
  --zd-waveform-animation-timing: ease-in-out infinite;
}
.zd-arctic-waveform-bar {
  width: var(--zd-waveform-bar-width);
  height: var(--zd-waveform-bar-height);
  border-radius: var(--zd-waveform-bar-radius);
  background: var(--zd-waveform-bar-bg);
  animation: zd-waveform-pulse var(--zd-waveform-animation-duration) var(--zd-waveform-animation-timing);
  animation-delay: var(--animation-delay, 0ms);
}
@keyframes zd-waveform-pulse {
  0%, 100% {
    transform: scaleY(0.4);
  }
  50% {
    transform: scaleY(1);
  }
}
/* ============================================
   工具类 (Utility Classes)
   ============================================ */
/* 隐藏滚动条 */
.zd-no-scrollbar::-webkit-scrollbar {
  display: none;
}
.zd-no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
/* 玻璃效果 */
.zd-glass {
  background: var(--zd-chatroom-glass-bg);
  backdrop-filter: blur(var(--zd-chatroom-glass-blur));
  -webkit-backdrop-filter: blur(var(--zd-chatroom-glass-blur));
  border: 0.5px solid var(--zd-chatroom-glass-border);
}
.zd-glass-heavy {
  background: var(--zd-chatroom-glass-bg);
  backdrop-filter: blur(var(--zd-chatroom-glass-blur-heavy));
  -webkit-backdrop-filter: blur(var(--zd-chatroom-glass-blur-heavy));
  border: 0.5px solid var(--zd-chatroom-glass-border);
}
/* 气泡基础样式 */
.zd-bubble {
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x);
  font-size: var(--zd-bubble-font-size);
  font-weight: var(--zd-bubble-font-weight);
  line-height: var(--zd-bubble-line-height);
  letter-spacing: var(--zd-bubble-letter-spacing);
  word-wrap: break-word;
  white-space: pre-wrap;
}
/* 头像基础样式 */
.zd-avatar {
  width: var(--zd-avatar-size);
  height: var(--zd-avatar-size);
  border-radius: var(--zd-avatar-radius);
  border: var(--zd-avatar-border);
  -o-object-fit: cover;
     object-fit: cover;
}
/* 时间戳基础样式 */
.zd-timestamp {
  font-size: var(--zd-timestamp-font-size);
  font-family: var(--zd-timestamp-font-family);
  font-weight: var(--zd-timestamp-font-weight);
  color: var(--zd-timestamp-color);
}
/**
 * 奶油 · 沉木 — 聊天室 Chrome 主题
 * Cream & Dark Wood · 柔粉奶油色 + 沉木暖调，日夜双版
 *
 * 作用域：.zd-theme-chatroom-cream-wood
 * 通过 ChatRoom 组件读取 localStorage['zero_chatroom_theme'] 自动激活
 */
/* ============================================
   结构性覆盖 — 奶油 · 沉木（日夜双版）
   ============================================ */
/* ---- 顶栏共用结构 ---- */
.zd-theme-chatroom-cream-wood:not(.zd-chat-settings-panel) .zd-chat-header {
  background: var(--zd-chrome-header-bg) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: none !important;
  border-radius: 0 0 28px 28px !important;
  padding: 12px 20px !important;
  min-height: unset !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
}
/* 顶栏阴影 — LUX / NOX 分开 */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux:not(.zd-chat-settings-panel) .zd-chat-header {
  box-shadow: 0 10px 28px rgba(220, 205, 210, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox:not(.zd-chat-settings-panel) .zd-chat-header {
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}
/* ---- 标题/副标题 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-header .zd-chat-header-title {
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  color: var(--zd-chrome-header-text) !important;
}
.zd-theme-chatroom-cream-wood .zd-chat-header .zd-chat-header-subtitle {
  font-size: 12px !important;
  color: var(--zd-chrome-header-text-muted) !important;
}
/* ---- 头像 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-header .zd-chat-header-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-header .zd-chat-header-avatar {
  border: 2px solid rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 4px 10px rgba(220, 205, 210, 0.4) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-header .zd-chat-header-avatar {
  border: 2px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
}
/* ---- 图标 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-header .zd-chat-header-icon {
  color: var(--zd-chrome-header-icon-color) !important;
  font-size: 20px !important;
  opacity: 0.8 !important;
  transition: opacity 0.2s !important;
}
.zd-theme-chatroom-cream-wood .zd-chat-header .zd-chat-header-icon:hover {
  opacity: 1 !important;
}
/* ---- 输入区域容器（仅覆盖颜色相关，不碰布局） ---- */
.zd-theme-chatroom-cream-wood .zd-chat-input-container {
  background: transparent !important;
}
.zd-theme-chatroom-cream-wood .zd-chat-input-bar {
  background: transparent !important;
  border-top: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* ---- 输入框主体 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-input-field {
  position: relative !important;
  background: var(--zd-chrome-input-field-bg) !important;
  border-radius: 30px !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  padding: 6px 20px !important;
  height: 44px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-input-field {
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  box-shadow: var(--zd-chrome-input-field-shadow), inset 0 1px 2px rgba(255, 255, 255, 0.7) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-input-field {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: var(--zd-chrome-input-field-shadow), inset 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}
/* ---- 输入框光泽 ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-input-field::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.45) 0%, transparent 55%);
  pointer-events: none;
  z-index: 1;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-input-field::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, transparent 55%);
  pointer-events: none;
  z-index: 1;
}
/* ---- 输入框内部元素 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-input-field textarea,
.zd-theme-chatroom-cream-wood .zd-chat-input-field input {
  position: relative !important;
  z-index: 2 !important;
  font-size: 10px !important;
  color: var(--zd-chrome-input-text) !important;
  background: transparent !important;
}
/* ---- 输入框 focus 状态 ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-input-field:focus-within {
  transform: scale(1.015);
  box-shadow: var(--zd-chrome-input-field-shadow), 0 0 0 4px rgba(255, 210, 220, 0.25), inset 0 1px 3px rgba(255, 255, 255, 0.9) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-input-field:focus-within {
  transform: scale(1.015);
  box-shadow: var(--zd-chrome-input-field-shadow), 0 0 0 4px rgba(184, 158, 168, 0.3), inset 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}
/* ---- 发送按钮 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-send-btn {
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  border: none !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-send-btn {
  background: linear-gradient(135deg, #F2D7D9 0%, #E8D1E0 100%) !important;
  box-shadow: 0 6px 16px rgba(220, 200, 210, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-send-btn {
  background: linear-gradient(135deg, #4D3E42 0%, #3D3438 100%) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}
/* ---- 发送按钮装饰贴纸 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-send-btn::after {
  content: "";
  position: absolute;
  top: -12px;
  right: -6px;
  width: 24px;
  height: 24px;
  background-image: url('可以填贴纸');
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 10;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-send-btn::after {
  filter: drop-shadow(0 2px 4px rgba(220, 200, 210, 0.4));
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-send-btn::after {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}
/* ---- 发送按钮 hover / active ---- */
.zd-theme-chatroom-cream-wood .zd-chat-send-btn:hover {
  transform: translateY(-2px);
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-send-btn:hover {
  box-shadow: 0 8px 20px rgba(220, 200, 210, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-send-btn:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}
.zd-theme-chatroom-cream-wood .zd-chat-send-btn:active {
  transform: scale(0.9) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-send-btn:active {
  box-shadow: 0 2px 6px rgba(220, 200, 210, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-send-btn:active {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}
/* ============================================
   正在输入 · 奶油沉木呼吸胶囊
   容器 class: .zd-chat-typing-indicator
   圆点 class: .zd-typing-dots > div
   文字 class: .zd-typing-text
   ============================================ */
/* ---- 胶囊容器（共用结构） ---- */
.zd-theme-chatroom-cream-wood .zd-chat-typing-indicator {
  position: absolute !important;
  top: 4.25rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  max-width: 220px !important;
  padding: 6px 14px !important;
  border-radius: 100px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  z-index: 50 !important;
  pointer-events: none !important;
}
/* ---- LUX 日间 · 奶油光感 ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-typing-indicator {
  background: rgba(253, 249, 245, 0.78) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  box-shadow:
    0 8px 24px rgba(220, 205, 210, 0.32),
    inset 0 1px 1px rgba(255, 255, 255, 0.9) !important;
  animation: cw-typing-glow-lux 3.5s ease-in-out infinite !important;
}
/* ---- NOX 夜间 · 沉木微光 ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-typing-indicator {
  background: rgba(22, 18, 20, 0.68) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  animation: cw-typing-glow-nox 3.5s ease-in-out infinite !important;
}
/* ---- 顶部高光丝线 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-typing-indicator::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 22%;
  right: 22%;
  height: 1px;
  border-radius: 1px;
  pointer-events: none;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-typing-indicator::before {
  background: linear-gradient(90deg, transparent, rgba(242, 227, 229, 0.7), transparent) !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-typing-indicator::before {
  background: linear-gradient(90deg, transparent, rgba(138, 118, 122, 0.25), transparent) !important;
}
/* ---- 圆点容器 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-typing-indicator .zd-typing-dots {
  display: flex !important;
  gap: 3px !important;
}
/* ---- 圆点个体 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-typing-indicator .zd-typing-dots > div {
  width: 4.5px !important;
  height: 4.5px !important;
  border-radius: 50% !important;
  animation: cw-typing-dot-breathe 1.6s ease-in-out infinite !important;
}
.zd-theme-chatroom-cream-wood .zd-chat-typing-indicator .zd-typing-dots > div:nth-child(2) {
  animation-delay: 0.25s !important;
}
.zd-theme-chatroom-cream-wood .zd-chat-typing-indicator .zd-typing-dots > div:nth-child(3) {
  animation-delay: 0.5s !important;
}
/* LUX 圆点 · 奶油粉渐变 */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-typing-indicator .zd-typing-dots > div {
  background: linear-gradient(135deg, #D4BFC3, #8A767A) !important;
  box-shadow: 0 0 5px rgba(212, 191, 195, 0.25) !important;
}
/* NOX 圆点 · 暖木棕渐变 */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-typing-indicator .zd-typing-dots > div {
  background: linear-gradient(135deg, #8A767A, #5A4E52) !important;
  box-shadow: 0 0 5px rgba(138, 118, 122, 0.15) !important;
}
/* ---- 文字 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-typing-indicator .zd-typing-text {
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-typing-indicator .zd-typing-text {
  color: #A89B9D !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-typing-indicator .zd-typing-text {
  color: #7A6E72 !important;
}
/* ---- 呼吸光晕 · LUX ---- */
@keyframes cw-typing-glow-lux {
  0%, 100% {
    box-shadow: 0 8px 24px rgba(220, 205, 210, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.9);
  }
  50% {
    box-shadow: 0 10px 30px rgba(220, 205, 210, 0.4), inset 0 1px 2px rgba(255, 255, 255, 1), 0 0 10px rgba(242, 227, 229, 0.12);
  }
}
/* ---- 呼吸微光 · NOX ---- */
@keyframes cw-typing-glow-nox {
  0%, 100% {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  }
  50% {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 10px rgba(138, 118, 122, 0.06);
  }
}
/* ---- 圆点呼吸 ---- */
@keyframes cw-typing-dot-breathe {
  0%, 100% {
    transform: scale(0.8);
    opacity: 0.45;
  }
  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}
/* ============================================
   "+" 功能面板 · 奶油沉木
   ============================================ */
/* ---- 面板容器 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-action-panel,
.zd-theme-chatroom-cream-wood [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] {
  border-radius: 28px 28px 0 0 !important;
}
/* ---- 面板背景 —— LUX 奶油底色 ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-action-panel,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] {
  background: rgba(250, 246, 243, 0.92) !important;
  backdrop-filter: blur(30px) !important;
  -webkit-backdrop-filter: blur(30px) !important;
  border-top: 0.5px solid rgba(220, 205, 210, 0.3) !important;
  box-shadow: 0 -8px 32px rgba(220, 205, 210, 0.2) !important;
}
/* ---- 面板背景 —— NOX 沉木底色 ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-action-panel,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] {
  background: rgba(18, 15, 17, 0.9) !important;
  backdrop-filter: blur(30px) !important;
  -webkit-backdrop-filter: blur(30px) !important;
  border-top: 0.5px solid rgba(255, 255, 255, 0.05) !important;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.25) !important;
}
/* ---- 内部内容容器 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-action-panel > div,
.zd-theme-chatroom-cream-wood [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] > div {
  padding: 20px 16px 16px !important;
}
/* ---- Grid 布局 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-action-panel .grid,
.zd-theme-chatroom-cream-wood [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] .grid {
  gap: 12px !important;
}
/* ---- 功能按钮 ---- */
.zd-theme-chatroom-cream-wood .zd-chat-action-panel button,
.zd-theme-chatroom-cream-wood [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button {
  padding: 10px 4px !important;
  transition: transform 0.2s ease !important;
}
.zd-theme-chatroom-cream-wood .zd-chat-action-panel button:hover {
  opacity: 1 !important;
}
/* ---- 图标圆形背景 —— LUX ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-action-panel button > div:first-child,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button > div:first-child {
  width: 52px !important;
  height: 52px !important;
  background: linear-gradient(145deg, rgba(255, 253, 252, 0.9), rgba(248, 240, 238, 0.7)) !important;
  border: 0.5px solid rgba(220, 205, 210, 0.4) !important;
  box-shadow: 0 2px 8px rgba(220, 205, 210, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  transition: box-shadow 0.2s ease !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-action-panel button:hover > div:first-child,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button:hover > div:first-child {
  box-shadow: 0 4px 12px rgba(220, 205, 210, 0.3), inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}
/* ---- 图标圆形背景 —— NOX ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-action-panel button > div:first-child,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button > div:first-child {
  width: 52px !important;
  height: 52px !important;
  background: linear-gradient(145deg, rgba(35, 30, 33, 0.8), rgba(25, 22, 24, 0.6)) !important;
  border: 0.5px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  transition: box-shadow 0.2s ease !important;
}
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-action-panel button:hover > div:first-child,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button:hover > div:first-child {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}
/* ---- 图标颜色 —— LUX 暖木棕统一 ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-action-panel button > div:first-child svg,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button > div:first-child svg {
  color: #7A686B !important;
  filter: none !important;
  width: 22px !important;
  height: 22px !important;
}
/* ---- 图标颜色 —— NOX 暖木棕 ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-action-panel button > div:first-child svg,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button > div:first-child svg {
  color: #B89EA8 !important;
  filter: none !important;
  width: 22px !important;
  height: 22px !important;
}
/* ---- 功能文字 —— LUX ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux .zd-chat-action-panel button > span,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button > span {
  color: #A89B9D !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
  margin-top: 2px !important;
}
/* ---- 功能文字 —— NOX ---- */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox .zd-chat-action-panel button > span,
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox [class*="backdrop-blur"][class*="border-t"][class*="rounded-t"] button > span {
  color: #7A6E72 !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
  margin-top: 2px !important;
}
/* ============================================
   夜间模式 (NOX) — 沉木变量
   ============================================ */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-nox {
  --zd-chat-input-bottom: 24px;
  --zd-chat-input-backdrop: blur(16px);
  --zd-chat-input-border-top: 0.5px solid rgba(255, 255, 255, 0.06);

  --zd-chrome-header-bg: rgba(22, 18, 20, 0.75);
  --zd-chrome-header-border: rgba(255, 255, 255, 0.06);
  --zd-chrome-header-text: #D4C4C8;
  --zd-chrome-header-text-muted: #7A6E72;
  --zd-chrome-header-icon-color: #C4A8AE;
  --zd-chrome-header-icon-muted: #4A4044;
  --zd-chrome-header-avatar-bg: rgba(45, 38, 42, 0.8);
  --zd-chrome-header-avatar-text: #D4C4C8;
  --zd-chrome-header-avatar-border: 2px solid rgba(255, 255, 255, 0.08);

  --zd-chrome-input-bg: transparent;
  --zd-chrome-input-border: transparent;
  --zd-chrome-input-field-bg: rgba(35, 30, 33, 0.7);
  --zd-chrome-input-field-border: transparent;
  --zd-chrome-input-field-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
  --zd-chrome-input-text: #D4C4C8;
  --zd-chrome-input-placeholder: #6A5E62;
  --zd-chrome-input-accent: rgba(80, 65, 72, 0.4);
  --zd-chrome-icon-primary: #B89EA8;
  --zd-chrome-icon-secondary: #5A4E52;
  --zd-chrome-glass: rgba(22, 18, 20, 0.65);
  --zd-chrome-send-bg: #3D3438;
  --zd-chrome-send-icon: #C4A8AE;
  --zd-chrome-ai-generate-bg: rgba(55, 45, 50, 0.5);
  --zd-chrome-ai-generate-border: transparent;
  --zd-chrome-ai-generate-color: #8A767A;

  --zd-chrome-panel-bg: rgba(18, 15, 17, 0.92);
  --zd-chrome-panel-border: transparent;
  --zd-chrome-panel-item-bg: rgba(35, 30, 33, 0.6);
  --zd-chrome-panel-item-border: transparent;
  --zd-chrome-panel-icon-color: #B89EA8;
  --zd-chrome-panel-text: #7A6E72;

  --zd-chrome-typing-bg: rgba(22, 18, 20, 0.65);
  --zd-chrome-typing-border: transparent;
  --zd-chrome-typing-text: #7A6E72;
  --zd-chrome-typing-dot-color: #8A767A;
  --zd-chrome-typing-backdrop: blur(20px);
  --zd-chrome-typing-glow: rgba(138, 118, 122, 0.08);
  --zd-chrome-typing-glow-strong: rgba(138, 118, 122, 0.2);

  --zd-chrome-emoji-overlay-bg: rgba(0, 0, 0, 0.6);
  --zd-chrome-emoji-overlay-backdrop: blur(8px);
  --zd-chrome-emoji-panel-bg: #12100F;
  --zd-chrome-emoji-panel-bg-image: radial-gradient(ellipse at 20% 0%, rgba(120, 90, 100, 0.08) 0%, transparent 50%), radial-gradient(ellipse at 80% 0%, rgba(80, 60, 90, 0.06) 0%, transparent 50%);
  --zd-chrome-emoji-panel-border-top: 0.5px solid rgba(255, 255, 255, 0.06);
  --zd-chrome-emoji-tabbar-bg: rgba(18, 15, 17, 0.5);
  --zd-chrome-emoji-tabbar-border-top: 0.5px solid rgba(255, 255, 255, 0.04);
  --zd-chrome-emoji-tab-text: rgba(255, 255, 255, 0.3);
  --zd-chrome-emoji-tab-active-text: rgba(255, 255, 255, 0.9);
  --zd-chrome-emoji-tab-active-bg: rgba(255, 255, 255, 0.06);
  --zd-chrome-emoji-desc-text: rgba(255, 255, 255, 0.5);
  --zd-chrome-emoji-sticker-hover-bg: rgba(255, 255, 255, 0.04);
  --zd-chrome-emoji-sticker-active-bg: rgba(255, 255, 255, 0.06);
  --zd-chrome-emoji-add-btn-bg: transparent;
  --zd-chrome-emoji-add-btn-color: rgba(184, 158, 168, 0.5);
  --zd-chrome-emoji-album-card-bg: rgba(255, 255, 255, 0.02);
  --zd-chrome-emoji-album-card-border: 0.5px solid rgba(255, 255, 255, 0.04);
  --zd-chrome-emoji-album-name-text: rgba(255, 255, 255, 0.85);
  --zd-chrome-emoji-album-count-text: rgba(255, 255, 255, 0.3);
  --zd-chrome-emoji-create-btn-bg: rgba(255, 255, 255, 0.03);
  --zd-chrome-emoji-create-btn-color: rgba(255, 255, 255, 0.5);
  --zd-chrome-emoji-import-modal-bg: rgba(18, 15, 17, 0.95);
  --zd-chrome-emoji-import-title-text: rgba(255, 255, 255, 0.9);
  --zd-chrome-emoji-import-desc-text: rgba(255, 255, 255, 0.4);
  --zd-chrome-emoji-import-btn-bg: rgba(255, 255, 255, 0.06);
  --zd-chrome-emoji-import-btn-text: rgba(255, 255, 255, 0.9);
  --zd-chrome-emoji-import-cancel-text: rgba(255, 255, 255, 0.4);
}
/* ============================================
   日间模式 (LUX) — 奶油变量
   ============================================ */
.zd-theme-chatroom-cream-wood.zd-theme-wechat-lux {
  --zd-chat-input-bottom: 24px;
  --zd-chat-input-backdrop: none;
  --zd-chat-input-border-top: none;

  --zd-chrome-header-bg: rgba(253, 249, 245, 0.65);
  --zd-chrome-header-border: transparent;
  --zd-chrome-header-text: #5C4A4D;
  --zd-chrome-header-text-muted: #A89B9D;
  --zd-chrome-header-icon-color: #7A686B;
  --zd-chrome-header-icon-muted: #BDB0B2;
  --zd-chrome-header-avatar-bg: #F5EBEB;
  --zd-chrome-header-avatar-text: #5C4A4D;
  --zd-chrome-header-avatar-border: 2px solid #FFFFFF;

  --zd-chrome-input-bg: transparent;
  --zd-chrome-input-border: transparent;
  --zd-chrome-input-field-bg: rgba(255, 255, 255, 0.85);
  --zd-chrome-input-field-border: transparent;
  --zd-chrome-input-field-shadow: 0 10px 28px rgba(220, 205, 210, 0.4);
  --zd-chrome-input-text: #5C4A4D;
  --zd-chrome-input-placeholder: #C4B7B9;
  --zd-chrome-input-accent: rgba(220, 205, 210, 0.2);
  --zd-chrome-icon-primary: #8A767A;
  --zd-chrome-icon-secondary: #B0A1A3;
  --zd-chrome-glass: rgba(253, 249, 245, 0.85);
  --zd-chrome-send-bg: #F2E3E5;
  --zd-chrome-send-icon: #7A686B;
  --zd-chrome-ai-generate-bg: rgba(242, 227, 229, 0.4);
  --zd-chrome-ai-generate-border: transparent;
  --zd-chrome-ai-generate-color: #8A767A;

  --zd-chrome-panel-bg: rgba(255, 253, 252, 0.95);
  --zd-chrome-panel-border: transparent;
  --zd-chrome-panel-item-bg: #FAF4F2;
  --zd-chrome-panel-item-border: transparent;
  --zd-chrome-panel-icon-color: #8A767A;
  --zd-chrome-panel-text: #A89B9D;

  --zd-chrome-typing-bg: rgba(253, 249, 245, 0.75);
  --zd-chrome-typing-border: transparent;
  --zd-chrome-typing-text: #A89B9D;
  --zd-chrome-typing-dot-color: #8A767A;
  --zd-chrome-typing-backdrop: blur(20px);
  --zd-chrome-typing-glow: rgba(242, 227, 229, 0.15);
  --zd-chrome-typing-glow-strong: rgba(220, 205, 210, 0.3);

  --zd-chrome-emoji-overlay-bg: rgba(0, 0, 0, 0.15);
  --zd-chrome-emoji-overlay-backdrop: blur(6px);
  --zd-chrome-emoji-panel-bg: #FBF9F8;
  --zd-chrome-emoji-panel-bg-image: radial-gradient(ellipse at 20% 0%, rgba(220, 205, 210, 0.15) 0%, transparent 50%), radial-gradient(ellipse at 80% 0%, rgba(242, 227, 229, 0.1) 0%, transparent 50%);
  --zd-chrome-emoji-panel-border-top: 0.5px solid rgba(0, 0, 0, 0.04);
  --zd-chrome-emoji-tabbar-bg: rgba(251, 249, 248, 0.8);
  --zd-chrome-emoji-tabbar-border-top: 0.5px solid rgba(0, 0, 0, 0.04);
  --zd-chrome-emoji-tab-text: rgba(0, 0, 0, 0.35);
  --zd-chrome-emoji-tab-active-text: #5C4A4D;
  --zd-chrome-emoji-tab-active-bg: rgba(0, 0, 0, 0.04);
  --zd-chrome-emoji-desc-text: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-sticker-hover-bg: rgba(0, 0, 0, 0.03);
  --zd-chrome-emoji-sticker-active-bg: rgba(0, 0, 0, 0.05);
  --zd-chrome-emoji-add-btn-bg: transparent;
  --zd-chrome-emoji-add-btn-color: rgba(138, 118, 122, 0.5);
  --zd-chrome-emoji-album-card-bg: rgba(255, 255, 255, 0.8);
  --zd-chrome-emoji-album-card-border: 0.5px solid rgba(0, 0, 0, 0.04);
  --zd-chrome-emoji-album-name-text: #5C4A4D;
  --zd-chrome-emoji-album-count-text: rgba(0, 0, 0, 0.3);
  --zd-chrome-emoji-create-btn-bg: rgba(0, 0, 0, 0.03);
  --zd-chrome-emoji-create-btn-color: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-import-modal-bg: rgba(251, 249, 248, 0.95);
  --zd-chrome-emoji-import-title-text: #5C4A4D;
  --zd-chrome-emoji-import-desc-text: rgba(0, 0, 0, 0.4);
  --zd-chrome-emoji-import-btn-bg: rgba(0, 0, 0, 0.04);
  --zd-chrome-emoji-import-btn-text: #5C4A4D;
  --zd-chrome-emoji-import-cancel-text: rgba(0, 0, 0, 0.4);
}
/* ========== 7-13. 主题类选择器 ========== */
/**
 * @file crystal.css
 * @description 零度存档 - 晶体实验室主题 (Crystal Laboratory)
 */
/* 晶体主题 - 日间模式 */
.zd-theme-crystal-light {
  /* 背景色 */
  --zd-crystal-bg-primary: #FFFFFF;
  --zd-crystal-bg-secondary: #F8FAFC;
  --zd-crystal-bg-tertiary: #F1F5F9;
  
  /* 文字颜色 */
  --zd-crystal-text-primary: #1E293B;
  --zd-crystal-text-secondary: #475569;
  --zd-crystal-text-tertiary: #94A3B8;
  --zd-crystal-text-disabled: #CBD5E1;
  
  /* 边框颜色 */
  --zd-crystal-border-hairline: rgba(148, 163, 184, 0.25);
  --zd-crystal-border-subtle: rgba(148, 163, 184, 0.35);
  --zd-crystal-border-divider: rgba(148, 163, 184, 0.2);
  
  /* 强调色 */
  --zd-crystal-accent-primary: #3B82F6;
  --zd-crystal-accent-secondary: #6366F1;
  --zd-crystal-accent-success: #10B981;
  --zd-crystal-accent-warning: #F59E0B;
  --zd-crystal-accent-error: #EF4444;
  
  /* 输入框 */
  --zd-crystal-input-bg: transparent;
  --zd-crystal-input-border: rgba(148, 163, 184, 0.4);
  --zd-crystal-input-focus: rgba(59, 130, 246, 0.5);
  
  /* 滑块 */
  --zd-crystal-slider-track: rgba(148, 163, 184, 0.2);
  --zd-crystal-slider-fill: #3B82F6;
  --zd-crystal-slider-thumb: #1E293B;
  
  /* 玻璃效果 */
  --zd-crystal-glass-bg: rgba(255, 255, 255, 0.7);
  --zd-crystal-glass-blur: 20px;
}
/* 晶体主题 - 夜间模式 */
.zd-theme-crystal-dark {
  /* 背景色 */
  --zd-crystal-bg-primary: #0F172A;
  --zd-crystal-bg-secondary: #1E293B;
  --zd-crystal-bg-tertiary: #334155;
  
  /* 文字颜色 */
  --zd-crystal-text-primary: #F1F5F9;
  --zd-crystal-text-secondary: #94A3B8;
  --zd-crystal-text-tertiary: #64748B;
  --zd-crystal-text-disabled: #475569;
  
  /* 边框颜色 */
  --zd-crystal-border-hairline: rgba(148, 163, 184, 0.15);
  --zd-crystal-border-subtle: rgba(148, 163, 184, 0.25);
  --zd-crystal-border-divider: rgba(148, 163, 184, 0.1);
  
  /* 强调色 */
  --zd-crystal-accent-primary: #60A5FA;
  --zd-crystal-accent-secondary: #818CF8;
  --zd-crystal-accent-success: #34D399;
  --zd-crystal-accent-warning: #FBBF24;
  --zd-crystal-accent-error: #F87171;
  
  /* 输入框 */
  --zd-crystal-input-bg: transparent;
  --zd-crystal-input-border: rgba(148, 163, 184, 0.25);
  --zd-crystal-input-focus: rgba(96, 165, 250, 0.5);
  
  /* 滑块 */
  --zd-crystal-slider-track: rgba(148, 163, 184, 0.15);
  --zd-crystal-slider-fill: #60A5FA;
  --zd-crystal-slider-thumb: #F1F5F9;
  
  /* 玻璃效果 */
  --zd-crystal-glass-bg: rgba(15, 23, 42, 0.7);
  --zd-crystal-glass-blur: 20px;
}
/**
 * @file arctic.css
 * 零度存档 · 韩系梦幻版 — 设置页主题色
 *
 * 美学方向: 韩系少女感 · 软糯通透 · 梦幻高级
 * 灵感: 韩系美妆App / 奶油风UI / 渐变天空色
 * 受众: 女性
 */
/* ========== Nox (Night) — 暮星奶紫 ========== */
.zd-theme-arctic-dark {
  --zd-arctic-bg-primary: #100D14;
  --zd-arctic-bg-secondary: #16121D;
  --zd-arctic-bg-tertiary: #1E1A28;
  --zd-arctic-bg-quaternary: #262233;

  --zd-arctic-text-primary: #F5F0F7;
  --zd-arctic-text-secondary: #C4B5CC;
  --zd-arctic-text-tertiary: #7A6B82;
  --zd-arctic-text-disabled: #4A3D52;

  --zd-arctic-border-hairline: rgba(255, 255, 255, 0.04);
  --zd-arctic-border-subtle: rgba(255, 255, 255, 0.06);
  --zd-arctic-border-subtle-light: rgba(255, 255, 255, 0.04);
  --zd-arctic-border-light: rgba(255, 255, 255, 0.06);
  --zd-arctic-border-divider: rgba(255, 255, 255, 0.03);
  --zd-arctic-border-input: rgba(255, 255, 255, 0.1);
  --zd-arctic-border-strong: rgba(255, 255, 255, 0.1);

  --zd-arctic-icon-primary: rgba(255, 255, 255, 0.65);
  --zd-arctic-icon-secondary: rgba(255, 255, 255, 0.5);
  --zd-arctic-icon-tertiary: rgba(255, 255, 255, 0.25);

  /* 韩系强调色 — 柔粉紫 */
  --zd-arctic-accent-primary: #D4A0C8;
  --zd-arctic-accent-secondary: #B89AD4;
  --zd-arctic-accent-warm: #F2C4C4;
  --zd-arctic-accent-success: #A8D4B8;
  --zd-arctic-accent-warning: #F0D4A0;
  --zd-arctic-accent-error: #E88888;
  --zd-arctic-accent-frost: rgba(212, 160, 200, 0.85);
  --zd-arctic-accent-peach: #F5C6AA;

  --zd-arctic-input-bg: transparent;
  --zd-arctic-input-border: rgba(255, 255, 255, 0.08);
  --zd-arctic-input-focus: rgba(212, 160, 200, 0.35);

  --zd-arctic-slider-track: rgba(255, 255, 255, 0.05);
  --zd-arctic-slider-fill: linear-gradient(90deg, #D4A0C8, #B89AD4);
  --zd-arctic-slider-thumb: #F5F0F7;

  /* ========== 梦幻玻璃材质 ========== */
  --zd-arctic-glass-bg: rgba(22, 18, 29, 0.75);
  --zd-arctic-glass-bg-elevated: rgba(38, 34, 51, 0.7);
  --zd-arctic-glass-bg-hover: rgba(45, 40, 58, 0.75);
  --zd-arctic-glass-blur: 44px;
  --zd-arctic-glass-saturate: 160%;
  --zd-arctic-glass-border: rgba(255, 255, 255, 0.07);
  --zd-arctic-glass-border-hover: rgba(255, 255, 255, 0.12);

  --zd-arctic-glass-card-bg: linear-gradient(
    160deg,
    rgba(45, 38, 58, 0.65) 0%,
    rgba(30, 26, 40, 0.45) 100%
  );
  --zd-arctic-glass-card-border: linear-gradient(
    160deg,
    rgba(212, 160, 200, 0.12) 0%,
    rgba(255, 255, 255, 0.04) 100%
  );

  --zd-arctic-inner-glow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  --zd-arctic-inner-glow-strong: inset 0 0 0 1px rgba(255, 255, 255, 0.08);

  /* 悬浮阴影 — 软糯 */
  --zd-arctic-shadow-glass-sm:
    0 1px 4px rgba(100, 60, 80, 0.15);
  --zd-arctic-shadow-glass-md:
    0 4px 16px rgba(100, 60, 80, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.03);
  --zd-arctic-shadow-glass-lg:
    0 8px 28px rgba(100, 60, 80, 0.15),
    0 0 0 1px rgba(255, 255, 255, 0.04);
  --zd-arctic-shadow-glass-xl:
    0 16px 48px rgba(80, 40, 70, 0.2),
    0 0 0 1px rgba(255, 255, 255, 0.05);
  --zd-arctic-shadow-glass-hover:
    0 12px 36px rgba(100, 60, 80, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.06);

  /* 卡片高光 — 奶油光泽 */
  --zd-arctic-glass-highlight:
    linear-gradient(180deg, rgba(212, 160, 200, 0.06) 0%, rgba(255, 255, 255, 0) 60%);

  --zd-arctic-overlay-bg: rgba(12, 10, 18, 0.8);

  /* 缓动曲线 — 柔和 */
  --zd-arctic-transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  --zd-arctic-transition-smooth: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);

  --zd-arctic-font-xs: 11px;
  --zd-arctic-font-sm: 13px;
  --zd-arctic-font-base: 15px;
  --zd-arctic-font-lg: 17px;
  --zd-arctic-font-xl: 21px;
  --zd-arctic-font-2xl: 25px;

  --zd-arctic-tracking-tight: 0.02em;
  --zd-arctic-tracking-normal: 0.06em;
  --zd-arctic-tracking-wide: 0.15em;
  --zd-arctic-tracking-wider: 0.2em;
  --zd-arctic-tracking-widest: 0.25em;

  --zd-arctic-font-family: var(--zd-font-user, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
  --zd-arctic-font-mono: var(--zd-font-user-mono, 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace);

  /* Arctic 主题映射 */
  --zd-theme-text: var(--zd-arctic-text-primary);
  --zd-theme-text-tertiary: var(--zd-arctic-text-tertiary);
  --zd-theme-accent: var(--zd-arctic-accent-primary);
  --zd-theme-glow: rgba(212, 160, 200, 0.4);
  --zd-theme-bg: var(--zd-arctic-bg-primary);

  --zd-shadow-float:
    0 20px 40px -8px rgba(212, 160, 200, 0.12),
    0 0 24px rgba(212, 160, 200, 0.06);
  --zd-shadow-ceramic:
    inset 0 2px 6px rgba(255, 255, 255, 0.07),
    inset 0 -2px 6px rgba(212, 160, 200, 0.08);
  --zd-ease-premium: cubic-bezier(0.16, 1, 0.3, 1);
}
/* ========== Lux (Light) — 蜜桃奶油 ========== */
.zd-theme-arctic-light {
  --zd-arctic-bg-primary: #FDF8FA;
  --zd-arctic-bg-secondary: #FAF4F7;
  --zd-arctic-bg-tertiary: #F5EEF2;
  --zd-arctic-bg-quaternary: #F0E8ED;

  --zd-arctic-text-primary: #2D2430;
  --zd-arctic-text-secondary: #6A5C6E;
  --zd-arctic-text-tertiary: #A894AC;
  --zd-arctic-text-disabled: #C8B8CC;

  --zd-arctic-border-hairline: rgba(0, 0, 0, 0.04);
  --zd-arctic-border-subtle: rgba(0, 0, 0, 0.07);
  --zd-arctic-border-subtle-light: rgba(0, 0, 0, 0.04);
  --zd-arctic-border-dark: rgba(0, 0, 0, 0.04);
  --zd-arctic-border-divider: rgba(0, 0, 0, 0.03);
  --zd-arctic-border-input: rgba(0, 0, 0, 0.1);
  --zd-arctic-border-strong: rgba(0, 0, 0, 0.1);

  --zd-arctic-icon-primary: rgba(0, 0, 0, 0.55);
  --zd-arctic-icon-secondary: rgba(0, 0, 0, 0.4);
  --zd-arctic-icon-tertiary: rgba(0, 0, 0, 0.25);

  --zd-arctic-accent-primary: #D4A0C8;
  --zd-arctic-accent-secondary: #B89AD4;
  --zd-arctic-accent-warm: #F2C4C4;
  --zd-arctic-accent-success: #A8D4B8;
  --zd-arctic-accent-warning: #F0D4A0;
  --zd-arctic-accent-error: #E88888;
  --zd-arctic-accent-frost: rgba(212, 160, 200, 0.8);
  --zd-arctic-accent-peach: #F5C6AA;

  --zd-arctic-input-bg: transparent;
  --zd-arctic-input-border: rgba(0, 0, 0, 0.06);
  --zd-arctic-input-focus: rgba(212, 160, 200, 0.3);

  --zd-arctic-slider-track: rgba(0, 0, 0, 0.05);
  --zd-arctic-slider-fill: linear-gradient(90deg, #D4A0C8, #B89AD4);
  --zd-arctic-slider-thumb: #FFFFFF;

  /* ========== 奶油玻璃材质 ========== */
  --zd-arctic-glass-bg: rgba(253, 248, 250, 0.82);
  --zd-arctic-glass-bg-elevated: rgba(255, 255, 255, 0.7);
  --zd-arctic-glass-bg-hover: rgba(255, 255, 255, 0.8);
  --zd-arctic-glass-blur: 44px;
  --zd-arctic-glass-saturate: 150%;
  --zd-arctic-glass-border: rgba(255, 255, 255, 0.6);
  --zd-arctic-glass-border-hover: rgba(255, 255, 255, 0.75);

  --zd-arctic-glass-card-bg: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.72) 0%,
    rgba(250, 244, 247, 0.6) 100%
  );
  --zd-arctic-glass-card-border: linear-gradient(
    160deg,
    rgba(212, 160, 200, 0.15) 0%,
    rgba(255, 255, 255, 0.3) 100%
  );

  --zd-arctic-inner-glow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  --zd-arctic-inner-glow-strong: inset 0 0 0 1px rgba(255, 255, 255, 0.7);

  --zd-arctic-shadow-glass-sm:
    0 1px 6px rgba(180, 130, 160, 0.08);
  --zd-arctic-shadow-glass-md:
    0 4px 16px rgba(180, 130, 160, 0.07),
    0 0 0 1px rgba(255, 255, 255, 0.4);
  --zd-arctic-shadow-glass-lg:
    0 8px 28px rgba(180, 130, 160, 0.09),
    0 0 0 1px rgba(255, 255, 255, 0.5);
  --zd-arctic-shadow-glass-xl:
    0 16px 48px rgba(160, 110, 140, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.6);
  --zd-arctic-shadow-glass-hover:
    0 12px 36px rgba(180, 130, 160, 0.1),
    0 0 0 1px rgba(255, 255, 255, 0.6);

  --zd-arctic-glass-highlight:
    linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(212, 160, 200, 0.04) 100%);

  --zd-arctic-overlay-bg: rgba(248, 240, 245, 0.82);

  --zd-arctic-transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  --zd-arctic-transition-smooth: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);

  --zd-arctic-font-xs: 11px;
  --zd-arctic-font-sm: 13px;
  --zd-arctic-font-base: 15px;
  --zd-arctic-font-lg: 17px;
  --zd-arctic-font-xl: 21px;
  --zd-arctic-font-2xl: 25px;

  --zd-arctic-tracking-tight: 0.02em;
  --zd-arctic-tracking-normal: 0.06em;
  --zd-arctic-tracking-wide: 0.15em;
  --zd-arctic-tracking-wider: 0.2em;
  --zd-arctic-tracking-widest: 0.25em;

  --zd-arctic-font-family: var(--zd-font-user, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
  --zd-arctic-font-mono: var(--zd-font-user-mono, 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace);

  /* Arctic 主题映射 */
  --zd-theme-text: var(--zd-arctic-text-primary);
  --zd-theme-text-tertiary: var(--zd-arctic-text-tertiary);
  --zd-theme-accent: var(--zd-arctic-accent-primary);
  --zd-theme-glow: rgba(212, 160, 200, 0.35);
  --zd-theme-bg: var(--zd-arctic-bg-primary);

  --zd-shadow-float:
    0 20px 40px -8px rgba(212, 160, 200, 0.1),
    0 0 24px rgba(212, 160, 200, 0.05);
  --zd-shadow-ceramic:
    inset 0 2px 6px rgba(255, 255, 255, 0.7),
    inset 0 -2px 6px rgba(212, 160, 200, 0.08);
  --zd-ease-premium: cubic-bezier(0.16, 1, 0.3, 1);
}
/**
 * @file cyberpunk.css
 * @description 零度存档 - 赛博朋克主题 (Cyberpunk)
 */
/* 赛博朋克 - 日间模式 */
.zd-theme-cyber-light {
  /* 主色调 */
  --zd-cyber-bg-primary: #FFFFFF;
  --zd-cyber-bg-secondary: #F8FAFC;
  --zd-cyber-bg-accent: rgba(123, 149, 183, 0.08);
  
  /* 文字颜色 */
  --zd-cyber-text-primary: #1E293B;
  --zd-cyber-text-secondary: #475569;
  --zd-cyber-text-muted: #94A3B8;
  --zd-cyber-text-placeholder: #CBD5E1;
  
  /* 边框颜色 */
  --zd-cyber-border-light: rgba(123, 149, 183, 0.15);
  --zd-cyber-border-medium: rgba(123, 149, 183, 0.25);
  --zd-cyber-border-strong: rgba(123, 149, 183, 0.4);
  
  /* 强调色 - 霜雪蓝 */
  --zd-cyber-accent-blue: #7B95B7;
  --zd-cyber-accent-blue-light: #9CB3CE;
  --zd-cyber-accent-blue-dark: #5A7A9D;
  
  /* 强调色 - 极光绿 */
  --zd-cyber-accent-green: #7A9D75;
  --zd-cyber-accent-green-light: #98B486;
  --zd-cyber-accent-green-dark: #5A7A55;
  
  /* 强调色 - 绯烬红 */
  --zd-cyber-accent-red: #C44569;
  --zd-cyber-accent-red-light: #E8B4B8;
  --zd-cyber-accent-red-dark: #8B2345;
  
  /* 强调色 - 紫罗兰 */
  --zd-cyber-accent-purple: #8B5CF6;
  --zd-cyber-accent-purple-light: #A78BFA;
  --zd-cyber-accent-purple-dark: #6D28D9;
  
  /* 阴影 */
  --zd-cyber-shadow-sm: 0 2px 8px rgba(123, 149, 183, 0.15);
  --zd-cyber-shadow-md: 0 4px 16px rgba(123, 149, 183, 0.2);
  --zd-cyber-shadow-lg: 0 8px 32px rgba(123, 149, 183, 0.25);
  --zd-cyber-shadow-glow: 0 0 20px rgba(123, 149, 183, 0.4);
  
  /* 圆角 */
  --zd-cyber-radius-bubble: 18px;
  --zd-cyber-radius-bubble-tail: 4px;
  
  /* 玻璃效果 */
  --zd-cyber-glass-bg: rgba(255, 255, 255, 0.8);
  --zd-cyber-glass-blur: 16px;
  
  /* ========== 通知系统 · 日间模式 (Notification System) ========== */
  --zd-notify-bg: rgba(255, 255, 255, 0.9);
  --zd-notify-glass-blur: 24px;
  --zd-notify-border: rgba(0, 0, 0, 0.08);
  --zd-notify-glow-aurora: radial-gradient(ellipse 80% 40% at 50% -30%, rgba(152, 180, 134, 0.08), transparent 60%);
  --zd-notify-glow-frost: radial-gradient(ellipse 60% 30% at 80% 50%, rgba(123, 149, 183, 0.06), transparent 70%);
  --zd-notify-glow-crimson: radial-gradient(ellipse 40% 20% at 20% 80%, rgba(196, 69, 105, 0.04), transparent 60%);
  --zd-notify-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 0 40px rgba(152, 180, 134, 0.06);
  --zd-notify-text-primary: rgba(30, 41, 59, 0.95);
  --zd-notify-text-secondary: rgba(71, 85, 105, 0.7);
  --zd-notify-text-muted: rgba(148, 163, 184, 0.6);
  --zd-notify-close-btn: rgba(100, 116, 139, 0.3);
  --zd-notify-close-btn-hover: rgba(100, 116, 139, 0.6);
  --zd-notify-avatar-gradient: linear-gradient(135deg, var(--zd-cyber-accent-green-light), var(--zd-cyber-accent-blue));
  --zd-notify-avatar-text: #FFFFFF;
}
/* 赛博朋克 - 夜间模式 */
.zd-theme-cyber-dark {
  /* 主色调 */
  --zd-cyber-bg-primary: #0F0F14;
  --zd-cyber-bg-secondary: #1A1A20;
  --zd-cyber-bg-accent: rgba(123, 149, 183, 0.05);
  
  /* 文字颜色 */
  --zd-cyber-text-primary: #E8E8EC;
  --zd-cyber-text-secondary: #A1A1A6;
  --zd-cyber-text-muted: #52525B;
  --zd-cyber-text-placeholder: #3F3F46;
  
  /* 边框颜色 */
  --zd-cyber-border-light: rgba(255, 255, 255, 0.06);
  --zd-cyber-border-medium: rgba(255, 255, 255, 0.1);
  --zd-cyber-border-strong: rgba(255, 255, 255, 0.15);
  
  /* 强调色 - 霜雪蓝 */
  --zd-cyber-accent-blue: #7B95B7;
  --zd-cyber-accent-blue-light: #9CB3CE;
  --zd-cyber-accent-blue-dark: #5A7A9D;
  
  /* 强调色 - 极光绿 */
  --zd-cyber-accent-green: #7A9D75;
  --zd-cyber-accent-green-light: #98B486;
  --zd-cyber-accent-green-dark: #5A7A55;
  
  /* 强调色 - 绯烬红 */
  --zd-cyber-accent-red: #C44569;
  --zd-cyber-accent-red-light: #E8B4B8;
  --zd-cyber-accent-red-dark: #8B2345;
  
  /* 强调色 - 紫罗兰 */
  --zd-cyber-accent-purple: #8B5CF6;
  --zd-cyber-accent-purple-light: #A78BFA;
  --zd-cyber-accent-purple-dark: #6D28D9;
  
  /* 阴影 */
  --zd-cyber-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --zd-cyber-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
  --zd-cyber-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
  --zd-cyber-shadow-glow: 0 0 20px rgba(123, 149, 183, 0.3);
  
  /* 圆角 */
  --zd-cyber-radius-bubble: 18px;
  --zd-cyber-radius-bubble-tail: 4px;
  
  /* 玻璃效果 */
  --zd-cyber-glass-bg: rgba(15, 15, 20, 0.8);
  --zd-cyber-glass-blur: 16px;
  
  /* ========== 通知系统 · 夜间模式 (Notification System) ========== */
  --zd-notify-bg: rgba(15, 15, 20, 0.85);
  --zd-notify-glass-blur: 24px;
  --zd-notify-border: rgba(255, 255, 255, 0.08);
  --zd-notify-glow-aurora: radial-gradient(ellipse 80% 40% at 50% -30%, rgba(152, 180, 134, 0.12), transparent 60%);
  --zd-notify-glow-frost: radial-gradient(ellipse 60% 30% at 80% 50%, rgba(123, 149, 183, 0.08), transparent 70%);
  --zd-notify-glow-crimson: radial-gradient(ellipse 40% 20% at 20% 80%, rgba(196, 69, 105, 0.06), transparent 60%);
  --zd-notify-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 0 60px rgba(152, 180, 134, 0.08);
  --zd-notify-text-primary: rgba(232, 232, 236, 0.95);
  --zd-notify-text-secondary: rgba(161, 161, 166, 0.7);
  --zd-notify-text-muted: rgba(82, 82, 91, 0.5);
  --zd-notify-close-btn: rgba(255, 255, 255, 0.25);
  --zd-notify-close-btn-hover: rgba(255, 255, 255, 0.5);
  --zd-notify-avatar-gradient: linear-gradient(135deg, var(--zd-cyber-accent-green-light), var(--zd-cyber-accent-blue));
  --zd-notify-avatar-text: #FFFFFF;
}
/**
 * @file lockscreen-worldbook.css
 * @description 零度存档 - 锁屏与世界书主题
 */
/* ============================================
   锁屏主题 (Lock Screen)
   ============================================ */
.zd-theme-lockscreen {
  /* 极光绿锁屏配色 */
  --zd-lock-bg-overlay: rgba(0, 0, 0, 0.3);
  --zd-lock-accent-primary: #8E9E72;
  --zd-lock-accent-secondary: #98B486;
  --zd-lock-accent-glow: rgba(142, 168, 114, 0.5);
  --zd-lock-text-primary: #FFFFFF;
  --zd-lock-text-secondary: rgba(255, 255, 255, 0.7);
  --zd-lock-border: rgba(255, 255, 255, 0.15);
  --zd-lock-glass-bg: rgba(255, 255, 255, 0.1);
  --zd-lock-glass-blur: 40px;
}
/* ============================================
   世界书主题 (World Book)
   ============================================ */
/* 世界书 - 日间模式 */
.zd-theme-worldbook-light {
  /* 主色调 */
  --zd-wb-bg-primary: #FFFFFF;
  --zd-wb-bg-card: rgba(255, 255, 255, 0.85);
  --zd-wb-bg-accent: rgba(0, 102, 204, 0.06);
  
  /* 文字颜色 */
  --zd-wb-text-primary: #1E293B;
  --zd-wb-text-secondary: #475569;
  --zd-wb-text-muted: #94A3B8;
  
  /* 边框颜色 */
  --zd-wb-border-light: rgba(0, 102, 204, 0.12);
  --zd-wb-border-medium: rgba(0, 102, 204, 0.2);
  --zd-wb-border-strong: rgba(0, 102, 204, 0.3);
  
  /* 强调色 - 琥珀金 */
  --zd-wb-accent-amber: #F59E0B;
  --zd-wb-accent-amber-light: #FBBF24;
  --zd-wb-accent-amber-glow: rgba(251, 191, 36, 0.4);
  
  /* 强调色 - 青蓝 */
  --zd-wb-accent-cyan: #06B6D4;
  --zd-wb-accent-cyan-light: #22D3EE;
  --zd-wb-accent-cyan-glow: rgba(6, 182, 212, 0.4);
  
  /* 错误色 */
  --zd-wb-error: #DC2626;
  --zd-wb-error-light: #EF4444;
  --zd-wb-error-bg: rgba(239, 68, 68, 0.1);
  --zd-wb-error-border: rgba(239, 68, 68, 0.2);
  
  /* 阴影 */
  --zd-wb-shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.04);
  --zd-wb-shadow-md: 0 4px 24px rgba(0, 0, 0, 0.08);
  --zd-wb-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.12);
  --zd-wb-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
/* 世界书 - 夜间模式 */
.zd-theme-worldbook-dark {
  /* 主色调 */
  --zd-wb-bg-primary: #0F0F14;
  --zd-wb-bg-card: rgba(30, 30, 40, 0.8);
  --zd-wb-bg-accent: rgba(251, 191, 36, 0.08);
  
  /* 文字颜色 */
  --zd-wb-text-primary: #F1F5F9;
  --zd-wb-text-secondary: #94A3B8;
  --zd-wb-text-muted: #64748B;
  
  /* 边框颜色 */
  --zd-wb-border-light: rgba(251, 191, 36, 0.15);
  --zd-wb-border-medium: rgba(251, 191, 36, 0.25);
  --zd-wb-border-strong: rgba(251, 191, 36, 0.4);
  
  /* 强调色 - 琥珀金 */
  --zd-wb-accent-amber: #FBBF24;
  --zd-wb-accent-amber-light: #FCD34D;
  --zd-wb-accent-amber-glow: rgba(251, 191, 36, 0.5);
  
  /* 强调色 - 青蓝 */
  --zd-wb-accent-cyan: #22D3EE;
  --zd-wb-accent-cyan-light: #67E8F9;
  --zd-wb-accent-cyan-glow: rgba(34, 211, 238, 0.4);
  
  /* 错误色 */
  --zd-wb-error: #F87171;
  --zd-wb-error-light: #FCA5A5;
  --zd-wb-error-bg: rgba(239, 68, 68, 0.15);
  --zd-wb-error-border: rgba(239, 68, 68, 0.3);
  
  /* 阴影 */
  --zd-wb-shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.2);
  --zd-wb-shadow-md: 0 4px 24px rgba(0, 0, 0, 0.3);
  --zd-wb-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.4);
  --zd-wb-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
/**
 * @file wechat.css
 * @description 零度存档 - 极地·枢纽主题 (Arctic Hub) & WeChat 组件变量
 * WARNING: 此文件包含所有 WeChat 组件关键变量，必须完整保留
 */
/* ============================================
   极地·枢纽主题 (Arctic Hub)
   用于 WeChat 聊天列表界面 - 全域黑金琉璃
   ============================================ */
.zd-theme-arctic-hub {
  /* 底色 - 深邃墨黑 */
  --zd-hub-bg-primary: #050507;
  --zd-hub-bg-secondary: #0A0A0D;
  --zd-hub-bg-tertiary: #0F0F14;
  
  /* 琉璃卡片基底 */
  --zd-hub-card-bg: rgba(10, 10, 12, 0.6);
  --zd-hub-card-bg-hover: rgba(15, 15, 18, 0.7);
  
  /* 文字系统 */
  --zd-hub-text-primary: #FFFFFF;
  --zd-hub-text-secondary: rgba(232, 232, 236, 0.7);
  --zd-hub-text-tertiary: rgba(161, 161, 166, 0.35);
  --zd-hub-text-disabled: rgba(82, 82, 91, 0.3);
  --zd-hub-text-mono: rgba(161, 161, 166, 0.4);
  
  /* 边框 - 0.5px 冷银描边 */
  --zd-hub-border-hairline: rgba(180, 180, 190, 0.12);
  --zd-hub-border-subtle: rgba(180, 180, 190, 0.18);
  --zd-hub-border-gold: rgba(212, 175, 55, 0.3);
  
  /* 强调色 - 冰蓝冷光 */
  --zd-hub-accent-ice: rgba(120, 160, 220, 0.6);
  --zd-hub-accent-ice-glow: rgba(120, 160, 220, 0.3);
  --zd-hub-accent-gold: rgba(212, 175, 55, 0.8);
  --zd-hub-accent-gold-dim: rgba(212, 175, 55, 0.2);
  
  /* 光影效果 */
  --zd-hub-shadow-cold: rgba(120, 160, 220, 0.15);
  --zd-hub-shadow-gold: rgba(212, 175, 55, 0.1);
  --zd-hub-shadow-deep: rgba(0, 0, 0, 0.6);
  
  /* 玻璃效果 */
  --zd-hub-glass-bg: rgba(5, 5, 7, 0.7);
  --zd-hub-glass-blur: 40px;
  --zd-hub-glass-blur-heavy: 50px;
  
  /* 数据流霓虹阴影 - 金色和冰蓝交织 */
  --zd-hub-neon-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.4),
    0 0 20px rgba(120, 160, 220, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  
  /* 未读标记 - 淡金色毛玻璃气泡 */
  --zd-hub-unread-bg: rgba(212, 175, 55, 0.2);
  --zd-hub-unread-text: rgba(255, 230, 180, 0.9);
  --zd-hub-unread-border: rgba(212, 175, 55, 0.3);
  
  /* 呼吸光点 */
  --zd-hub-breath-gold: rgba(212, 175, 55, 0.6);
  --zd-hub-breath-ice: rgba(120, 160, 220, 0.4);
  
  /* 未读消息气泡 - 绯烬红 */
  --zd-hub-unread-bubble-bg: #C44569;
  --zd-hub-unread-bubble-bg-gradient: linear-gradient(135deg, #C44569, #8B2345);
  --zd-hub-unread-bubble-shadow: rgba(196, 69, 105, 0.5);
  
  /* ============================================
     红包系统主题变量 (Hongbao System) - 内敛美学
     哑光红纸 + 真实烫金质感
     ============================================ */
  
  /* 红包主色 - 哑光中国红，沉静朱砂红 */
  --zd-fortune-red: #B83838;
  --zd-fortune-red-light: #C44545;
  --zd-fortune-red-dark: #8B2626;
  
  /* 金色装饰 - 哑光烫金，真实金箔质感 */
  --zd-fortune-gold: #D4AF37;
  --zd-fortune-gold-light: #E8D88B;
  --zd-fortune-gold-dark: #8B7334;
  --zd-fortune-gold-muted: #C9A945;
  
  /* 红包背景 - 哑光红纸，极细微渐变 */
  --zd-hongbao-bg: #B83838;
  --zd-hongbao-bg-gradient: linear-gradient(180deg, #C44545 0%, #B83838 100%);
  
  /* 拼手气红包 - 同色微调 */
  --zd-hongbao-lucky-bg: linear-gradient(180deg, #C44545 0%, #B83838 100%);
  
  /* 细金边 - 去除内发光，真实边框 */
  --zd-hongbao-border: 0.5px solid rgba(212, 175, 55, 0.3);
  --zd-hongbao-border-hover: 0.5px solid rgba(212, 175, 55, 0.5);
  
  /* 外阴影 - 真实投影，不是霓虹发光 */
  --zd-hongbao-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  --zd-hongbao-shadow-hover: 0 6px 20px rgba(0, 0, 0, 0.4);
  
  /* 金额文字渐变 - 哑光烫金 */
  --zd-hongbao-amount-gradient: linear-gradient(180deg, #E8D88B 0%, #D4AF37 50%, #C9A945 100%);
  
  /* 文字颜色 */
  --zd-hongbao-text-primary: #FFFFFF;
  --zd-hongbao-text-secondary: rgba(255, 255, 255, 0.7);
  --zd-hongbao-text-gold: #E8D88B;
  
  /* 已领取状态 - 哑光磨砂 */
  --zd-hongbao-opened-bg: rgba(139, 38, 38, 0.5);
  --zd-hongbao-opened-border: rgba(212, 175, 55, 0.2);
  --zd-hongbao-opened-text: rgba(255, 255, 255, 0.5);
  
  /* 退回状态 - 灰度哑光 */
  --zd-hongbao-returned-bg: rgba(80, 80, 80, 0.4);
  --zd-hongbao-returned-border: rgba(150, 150, 150, 0.2);
  --zd-hongbao-returned-text: rgba(200, 200, 200, 0.5);
  
  /* 系统提示 */
  --zd-hongbao-system-text: #888888;
  --zd-hongbao-system-font-size: 12px;
  
  /* 弹窗背景 - 深色遮罩 */
  --zd-hongbao-modal-bg: rgba(0, 0, 0, 0.7);
  --zd-hongbao-modal-border: rgba(212, 175, 55, 0.2);
  --zd-hongbao-cover-bg: #B83838;
  
  /* 扫描线纹理 */
  --zd-hub-scan-line: rgba(255, 255, 255, 0.015);

  /* 过渡 */
  --zd-hub-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
/**
 * @file magazine.css
 * @description 零度存档 - 日系杂志风主题 (Japanese Magazine Style)
 */
/* ============================================
   日系杂志风主题变量 (Japanese Magazine Style)
   ============================================ */
/* LUX Theme - 暖调米白基底 */
.zd-magazine-lux {
  /* 背景渐变 */
  --zd-magazine-lux-bg-primary: #FDFBF7;
  --zd-magazine-lux-bg-secondary: #F7F4ED;
  --zd-magazine-lux-card-bg: #FFFFFF;
  --zd-magazine-lux-card-alt: #F9F7F4;
  
  /* 磨砂玻璃 */
  --zd-magazine-lux-glass: rgba(255, 255, 255, 0.72);
  --zd-magazine-lux-glass-strong: rgba(255, 255, 255, 0.85);
  --zd-magazine-lux-glass-border: rgba(255, 255, 255, 0.5);
  --zd-magazine-lux-glass-highlight: rgba(255, 255, 255, 0.9);
  
  /* 文本颜色 */
  --zd-magazine-lux-text-primary: #2D2A26;
  --zd-magazine-lux-text-secondary: #5A5550;
  --zd-magazine-lux-text-muted: #8C8578;
  --zd-magazine-lux-text-subtle: #B8B0A5;
  
  /* 强调色 - 莫兰迪低饱和 */
  --zd-magazine-lux-champagne: #E8D5B0;
  --zd-magazine-lux-coral: #F0D5D5;
  --zd-magazine-lux-matcha: #D8E0D0;
  --zd-magazine-lux-lavender: #D5D8E8;
  --zd-magazine-lux-gold: #D4AF37;
  
  /* 边框 */
  --zd-magazine-lux-border-hairline: rgba(200, 190, 170, 0.3);
  --zd-magazine-lux-border-subtle: rgba(200, 190, 170, 0.5);
  --zd-magazine-lux-border-divider: rgba(200, 190, 170, 0.6);
  --zd-magazine-lux-border-strong: rgba(180, 170, 150, 0.8);
  
  /* 阴影 - 柔和暖调 */
  --zd-magazine-lux-shadow-sm: 0 2px 8px rgba(160, 150, 130, 0.08);
  --zd-magazine-lux-shadow-md: 0 8px 24px rgba(160, 150, 130, 0.12);
  --zd-magazine-lux-shadow-lg: 0 16px 48px rgba(160, 150, 130, 0.16);
  --zd-magazine-lux-shadow-hover: 0 12px 32px rgba(160, 150, 130, 0.14);
  --zd-magazine-lux-shadow-champagne: 0 4px 16px rgba(232, 213, 176, 0.25);
  --zd-magazine-lux-shadow-coral: 0 4px 16px rgba(240, 213, 213, 0.25);
  --zd-magazine-lux-shadow-matcha: 0 4px 16px rgba(216, 224, 208, 0.25);
  
  /* 覆盖层 */
  --zd-magazine-lux-overlay-light: rgba(45, 42, 38, 0.04);
  --zd-magazine-lux-overlay-base: rgba(45, 42, 38, 0.06);
  --zd-magazine-lux-overlay-dark: rgba(45, 42, 38, 0.12);
  
  /* 内阴影/高光 */
  --zd-magazine-lux-inset-hairline: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  --zd-magazine-lux-inset-subtle: inset 0 1px 0 rgba(255, 255, 255, 0.6);
  --zd-magazine-lux-inset-base: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  
  /* 渐变 */
  --zd-magazine-lux-gradient-card: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(249,247,244,0.8));
  --zd-magazine-lux-gradient-accent: linear-gradient(135deg, #E8D5B0 0%, #F0D5D5 100%);
  --zd-magazine-lux-gradient-gold: linear-gradient(135deg, #D4AF37 0%, #E8D5B0 100%);
}
/* NOX Theme - 深邃黑基底 · 日系杂志风 */
.zd-magazine-nox {
  /* 背景渐变 - 深邃黑 */
  --zd-magazine-nox-bg-primary: #121212;
  --zd-magazine-nox-bg-secondary: #1A1A1A;
  --zd-magazine-nox-card-bg: rgba(42, 42, 42, 0.85);
  --zd-magazine-nox-card-alt: rgba(48, 48, 48, 0.80);
  
  /* 磨砂玻璃 - 深色半透明 */
  --zd-magazine-nox-glass: rgba(50, 50, 50, 0.65);
  --zd-magazine-nox-glass-strong: rgba(60, 60, 60, 0.75);
  --zd-magazine-nox-glass-border: rgba(255, 255, 255, 0.12);
  --zd-magazine-nox-glass-highlight: rgba(255, 255, 255, 0.2);
  
  /* 文本颜色 - 白色系层次 */
  --zd-magazine-nox-text-primary: #F5F5F5;
  --zd-magazine-nox-text-secondary: #C0C0C0;
  --zd-magazine-nox-text-muted: #888888;
  --zd-magazine-nox-text-subtle: #666666;
  
  /* 强调色 - 高级香槟金 */
  --zd-magazine-nox-champagne: #D4C4A0;
  --zd-magazine-nox-champagne-light: #E8D5B0;
  --zd-magazine-nox-coral: #E0B5B5;
  --zd-magazine-nox-matcha: #A8C0B0;
  --zd-magazine-nox-lavender: #A8B0C0;
  --zd-magazine-nox-gold: #C9A840;
  
  /* 边框 */
  --zd-magazine-nox-border-hairline: rgba(255, 255, 255, 0.08);
  --zd-magazine-nox-border-subtle: rgba(255, 255, 255, 0.12);
  --zd-magazine-nox-border-divider: rgba(255, 255, 255, 0.18);
  --zd-magazine-nox-border-strong: rgba(255, 255, 255, 0.24);
  
  /* 阴影 - 深邃黑色背景 */
  --zd-magazine-nox-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
  --zd-magazine-nox-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.5);
  --zd-magazine-nox-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.6);
  --zd-magazine-nox-shadow-hover: 0 12px 32px rgba(0, 0, 0, 0.65);
  --zd-magazine-nox-shadow-champagne: 0 4px 16px rgba(212, 196, 160, 0.15);
  --zd-magazine-nox-shadow-coral: 0 4px 16px rgba(224, 181, 181, 0.15);
  --zd-magazine-nox-shadow-matcha: 0 4px 16px rgba(168, 192, 176, 0.15);
  --zd-magazine-nox-inset-glow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  
  /* 覆盖层 */
  --zd-magazine-nox-overlay-light: rgba(255, 255, 255, 0.03);
  --zd-magazine-nox-overlay-base: rgba(255, 255, 255, 0.06);
  --zd-magazine-nox-overlay-dark: rgba(255, 255, 255, 0.1);
  
  /* 内阴影/高光 */
  --zd-magazine-nox-inset-hairline: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  --zd-magazine-nox-inset-subtle: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --zd-magazine-nox-inset-base: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  
  /* 渐变 */
  --zd-magazine-nox-gradient-card: linear-gradient(135deg, rgba(50,50,50,0.7), rgba(40,40,40,0.8));
  --zd-magazine-nox-gradient-accent: linear-gradient(135deg, #D4C4A0 0%, #E8D5B0 100%);
  --zd-magazine-nox-gradient-gold: linear-gradient(135deg, #C9A840 0%, #D4C4A0 100%);
}
/* ============================================
   旧样式兼容（逐步删除）
   
   注：语音消息变量已移至独立文件：
   - src/styles/theme/bubbles/bubble-magazine.css
   ============================================ */
/* 语音交互区域容器（已被移除） */
.zd-voice-interactive-area {
  display: contents;
}
/* 旧转写容器（已被 TranscriptionPanel 替代） */
.zd-voice-transcription {
  display: none;
}
/**
 * @file chatroom-wx-native.css
 * @description 原生微信仿真主题 — WX Native Theme
 *   为 `.zd-chatroom.zd-chat-theme-wx-native` 提供默认样式。
 *   所有规则不带 !important，让主题商城注入的自定义 CSS（加载更晚）自然覆盖。
 *
 * 作用域：.zd-chatroom.zd-chat-theme-wx-native
 * 只影响 chrome（顶栏/底栏），不影响消息气泡。
 */
/* ============================================
   WX Native 主题变量
   ============================================ */
.zd-chatroom.zd-chat-theme-wx-native {
  --zd-chrome-header-bg: #ededed;
  --zd-chrome-header-border: rgba(0, 0, 0, 0.08);
  --zd-chrome-header-text: #181818;
  --zd-chrome-header-text-muted: #8e8e93;
  --zd-chrome-header-icon-color: #181818;
  --zd-chrome-header-icon-muted: #8e8e93;
  --zd-chrome-header-avatar-bg: #e0e0e0;
  --zd-chrome-header-avatar-text: #181818;
  --zd-chrome-header-avatar-border: rgba(0, 0, 0, 0.08);

  --zd-chrome-input-bg: #f7f7f7;
  --zd-chrome-input-border: rgba(0, 0, 0, 0.08);
  --zd-chrome-input-field-bg: #ffffff;
  --zd-chrome-input-field-border: rgba(0, 0, 0, 0.08);
  --zd-chrome-input-field-shadow: none;
  --zd-chrome-input-text: #181818;
  --zd-chrome-input-placeholder: #b8b8b8;
  --zd-chrome-input-accent: rgba(0, 0, 0, 0.03);
  --zd-chrome-icon-primary: #8e8e93;
  --zd-chrome-icon-secondary: #8e8e93;
  --zd-chrome-glass: transparent;
  --zd-chrome-send-bg: #07c160;
  --zd-chrome-send-icon: #ffffff;
  --zd-chrome-ai-generate-bg: transparent;
  --zd-chrome-ai-generate-border: rgba(0, 0, 0, 0.08);
  --zd-chrome-ai-generate-color: #8e8e93;

  --zd-chrome-panel-bg: rgba(247, 247, 247, 0.98);
  --zd-chrome-panel-border: rgba(0, 0, 0, 0.08);
  --zd-chrome-panel-item-bg: rgba(0, 0, 0, 0.03);
  --zd-chrome-panel-item-border: rgba(0, 0, 0, 0.06);
  --zd-chrome-panel-icon-color: #181818;
  --zd-chrome-panel-text: #666666;

  --zd-chrome-typing-text: #8e8e93;
  --zd-chrome-typing-dot-color: #8e8e93;

  --zd-chrome-emoji-overlay-bg: transparent;
  --zd-chrome-emoji-overlay-backdrop: none;
  --zd-chrome-emoji-panel-bg: #f0f0f0;
  --zd-chrome-emoji-panel-bg-image: none;
  --zd-chrome-emoji-panel-border-top: 0.5px solid rgba(0, 0, 0, 0.08);
  --zd-chrome-emoji-tabbar-bg: rgba(240, 240, 240, 0.9);
  --zd-chrome-emoji-tabbar-border-top: 0.5px solid #e0e0e0;
  --zd-chrome-emoji-tab-text: rgba(0, 0, 0, 0.4);
  --zd-chrome-emoji-tab-active-text: #181818;
  --zd-chrome-emoji-tab-active-bg: rgba(0, 0, 0, 0.06);
  --zd-chrome-emoji-desc-text: rgba(0, 0, 0, 0.4);
  --zd-chrome-emoji-sticker-hover-bg: rgba(0, 0, 0, 0.05);
  --zd-chrome-emoji-sticker-active-bg: rgba(0, 0, 0, 0.08);
  --zd-chrome-emoji-add-btn-bg: rgba(0, 0, 0, 0.05);
  --zd-chrome-emoji-add-btn-color: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-album-card-bg: #ffffff;
  --zd-chrome-emoji-album-card-border: 0.5px solid #e0e0e0;
  --zd-chrome-emoji-album-name-text: #181818;
  --zd-chrome-emoji-album-count-text: rgba(0, 0, 0, 0.4);
  --zd-chrome-emoji-create-btn-bg: rgba(0, 0, 0, 0.05);
  --zd-chrome-emoji-create-btn-color: rgba(0, 0, 0, 0.6);
  --zd-chrome-emoji-import-modal-bg: #f0f0f0;
  --zd-chrome-emoji-import-title-text: #181818;
  --zd-chrome-emoji-import-desc-text: rgba(0, 0, 0, 0.5);
  --zd-chrome-emoji-import-btn-bg: #181818;
  --zd-chrome-emoji-import-btn-text: #ffffff;
  --zd-chrome-emoji-import-cancel-text: rgba(0, 0, 0, 0.4);
  --zd-chrome-emoji-import-input-bg: rgba(0, 0, 0, 0.04);
  --zd-chrome-emoji-import-input-border: rgba(0, 0, 0, 0.1);
  --zd-chrome-emoji-import-input-placeholder: rgba(0, 0, 0, 0.25);
  --zd-chrome-emoji-import-format-bg: rgba(0, 0, 0, 0.03);
  --zd-chrome-emoji-import-format-border: rgba(0, 0, 0, 0.08);
  --zd-chrome-emoji-import-handle: rgba(0, 0, 0, 0.2);
  --zd-chrome-emoji-import-cancel-border: rgba(0, 0, 0, 0.15);
  --zd-chrome-emoji-import-shadow: 0 -8px 32px rgba(0, 0, 0, 0.1);
}
/* ============================================
   Header — 无 !important，主题商城 CSS（加载更晚）可自然覆盖
   ============================================ */
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  width: 100%;
  box-sizing: border-box;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: var(--zd-chrome-header-bg, #ededed);
  height: 56px;
  border-bottom: 0.5px solid var(--zd-chrome-header-border, rgba(0,0,0,0.08));
  box-shadow: none;
  padding-top: env(safe-area-inset-top, 0px);
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) 88px;
  align-items: center;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  overflow: hidden;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
  position: relative;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-avatar,
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-avatar-wrapper,
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-status,
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-subtitle,
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-status-wave,
.zd-chatroom.zd-chat-theme-wx-native .mood-waveform {
  display: none;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-back-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  cursor: pointer;
  color: var(--zd-chrome-header-icon-color, #181818);
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-title {
  font-size: 17px;
  font-weight: 600;
  color: var(--zd-chrome-header-text, #181818);
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header-typing {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 12px;
  color: var(--zd-chrome-typing-text, #8e8e93);
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header[data-typing="true"] .zd-chat-header-title {
  opacity: 0;
  transform: translateY(-4px);
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-header[data-typing="true"] .zd-chat-header-typing {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%);
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-typing-dots {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-typing-dots span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--zd-chrome-typing-dot-color, #8e8e93);
  animation: wx-native-typing-dot 1.4s ease-in-out infinite;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-typing-dots span:nth-child(1) { animation-delay: 0s; }
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-typing-dots span:nth-child(2) { animation-delay: 0.2s; }
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-typing-dots span:nth-child(3) { animation-delay: 0.4s; }
@keyframes wx-native-typing-dot {
  0%, 60%, 100% { opacity: 0.4; transform: scale(0.8); }
  30% { opacity: 1; transform: scale(1); }
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-more-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  cursor: pointer;
  color: var(--zd-chrome-header-icon-color, #181818);
}
/* 透明状态热区 + 透明定位热区 */
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-status-hitarea,
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-location-hitarea {
  display: block;
  width: 40px;
  height: 44px;
  flex: 0 0 40px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  pointer-events: auto;
  cursor: pointer;
}
/* ============================================
   Input — 无 !important
   ============================================ */
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-input-container {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 45;
  width: 100%;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-composer {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
  background: var(--zd-chrome-input-bg, #f7f7f7);
  border-top: 0.5px solid var(--zd-chrome-input-border, rgba(0,0,0,0.08));
  min-height: 56px;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-voice-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  cursor: pointer;
  color: var(--zd-chrome-icon-primary, #8e8e93);
  background: transparent;
  border: none;
  border-radius: 50%;
  padding: 0;
  margin: 0;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-input-field {
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 0 4px 0 10px;
  background: var(--zd-chrome-input-field-bg, #ffffff);
  border: none;
  border-radius: 6px;
  min-height: 40px;
  box-shadow: none;
  margin: 0;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-textarea {
  flex: 1;
  min-width: 0;
  width: auto;
  background: transparent;
  outline: none;
  resize: none;
  border: none;
  font-size: 14px;
  line-height: 1.5;
  color: var(--zd-chrome-input-text, #181818);
  max-height: 80px;
  padding: 8px 0;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-textarea::-moz-placeholder {
  color: var(--zd-chrome-input-placeholder, #b8b8b8);
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-textarea::placeholder {
  color: var(--zd-chrome-input-placeholder, #b8b8b8);
}
/* 输入框内嵌工具按钮（小麦克风 — 打开 ActionPanel） */
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-input-tools-button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8e8e93;
  cursor: pointer;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-input-tools-button svg {
  width: 21px;
  height: 21px;
  stroke-width: 2;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-emoji-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  cursor: pointer;
  color: #181818;
  background: transparent;
  border: none;
  border-radius: 50%;
  padding: 0;
  margin: 0;
}
/* 主操作按钮 — 始终圆圈加号 */
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-primary-action-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #181818;
  cursor: pointer;
  transition: opacity 0.2s;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-primary-action-button svg {
  display: none;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-primary-action-button::before {
  content: "";
  position: absolute;
  width: 29px;
  height: 29px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-sizing: border-box;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-primary-action-button::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  background:
    linear-gradient(currentColor, currentColor) center / 14px 2px no-repeat,
    linear-gradient(currentColor, currentColor) center / 2px 14px no-repeat;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-primary-action-button:active {
  opacity: 0.6;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-primary-action-button:disabled {
  opacity: 0.35;
  cursor: default;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-voice-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  cursor: pointer;
  color: #181818;
  background: transparent;
  border: none;
  border-radius: 50%;
  padding: 0;
  margin: 0;
}
.zd-chatroom.zd-chat-theme-wx-native .zd-chat-input-bar {
  background: transparent;
  backdrop-filter: none;
  border-top: none;
  padding: 0;
}
/* ========== 14. 动画关键帧 ========== */
/**
 * @file animations.css
 * 零度存档 · 韩系梦幻版 — 动画关键帧
 */
@keyframes zd-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes zd-slide-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes zd-scale-in {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes zd-glow {
  0%, 100% { box-shadow: 0 0 12px rgba(212, 160, 200, 0.25); }
  50% { box-shadow: 0 0 24px rgba(212, 160, 200, 0.4); }
}
@keyframes zd-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
/* 朋友圈动画系统 */
@keyframes zd-moments-popover-in {
  0% { opacity: 0; transform: scale(0.85) translateY(8px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes zd-moments-like-bounce {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.25); }
}
@keyframes zd-moments-slide-up-fade {
  0% { opacity: 0; transform: translateY(12px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes zd-breathe {
  0%, 100% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.1); opacity: 1; }
}
/* ===== 梦幻环境光动画 (韩系粉紫) ===== */
@keyframes zd-arctic-ambient-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25% { transform: translate(25px, -35px) scale(1.04); }
  50% { transform: translate(-12px, -55px) scale(0.96); }
  75% { transform: translate(-25px, -25px) scale(1.03); }
}
@keyframes zd-arctic-ambient-pulse {
  0%, 100% {
    opacity: 0.35;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 0.7;
    transform: translate(-50%, -50%) scale(1.12);
  }
}
/* Arctic Hub */
@keyframes zd-hub-breath {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.15); }
}
@keyframes zd-hub-flow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes zd-hub-scan {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}
/* ===== 红包系统 ===== */
@keyframes zd-fortune-breathe {
  0%, 100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 8px 32px rgba(196, 69, 105, 0.4);
  }
  50% {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 12px 40px rgba(196, 69, 105, 0.5);
  }
}
@keyframes zd-fortune-hover {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes zd-fortune-press {
  0% { transform: scale(1); }
  50% { transform: scale(0.98); }
  100% { transform: scale(1); }
}
@keyframes zd-fortune-fade-in {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
/* ===== NULL 应用 — 桌面塌陷故障动画 ===== */
@keyframes null-desktop-glitch-shake {
  0%   { transform: translate(0, 0)    skewX(0deg);   filter: invert(1) contrast(200%) drop-shadow(3px 0 0 rgba(255,0,0,0.45)) drop-shadow(-3px 0 0 rgba(0,255,255,0.45)); }
  10%  { transform: translate(-9px, 4px)  skewX(3deg);  filter: invert(1) contrast(220%) drop-shadow(3px 0 0 rgba(255,0,0,0.5)) drop-shadow(-3px 0 0 rgba(0,255,255,0.5)); }
  20%  { transform: translate(7px, -6px)   skewX(-4deg); filter: invert(1) contrast(180%) drop-shadow(2px 0 0 rgba(255,0,0,0.6)) drop-shadow(-2px 0 0 rgba(0,255,255,0.6)); }
  30%  { transform: translate(-5px, 3px)   skewX(2deg);  filter: invert(1) contrast(240%) drop-shadow(4px 0 0 rgba(255,0,0,0.4)) drop-shadow(-4px 0 0 rgba(0,255,255,0.4)); }
  40%  { transform: translate(6px, -4px)   skewX(-3deg); filter: invert(1) contrast(200%) drop-shadow(3px 0 0 rgba(255,0,0,0.55)) drop-shadow(-3px 0 0 rgba(0,255,255,0.55)); }
  50%  { transform: translate(-4px, 5px)   skewX(3deg);  filter: invert(1) contrast(190%) drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,255,255,0.5)); }
  60%  { transform: translate(8px, -3px)   skewX(-2deg); filter: invert(1) contrast(230%) drop-shadow(5px 0 0 rgba(255,0,0,0.35)) drop-shadow(-5px 0 0 rgba(0,255,255,0.35)); }
  70%  { transform: translate(-6px, 4px)   skewX(2deg);  filter: invert(1) contrast(200%) drop-shadow(3px 0 0 rgba(255,0,0,0.5)) drop-shadow(-3px 0 0 rgba(0,255,255,0.5)); }
  80%  { transform: translate(5px, -5px)   skewX(-2deg); filter: invert(1) contrast(210%) drop-shadow(2px 0 0 rgba(255,0,0,0.6)) drop-shadow(-2px 0 0 rgba(0,255,255,0.6)); }
  90%  { transform: translate(-3px, 3px)   skewX(1deg);  filter: invert(1) contrast(200%) drop-shadow(3px 0 0 rgba(255,0,0,0.45)) drop-shadow(-3px 0 0 rgba(0,255,255,0.45)); }
  100% { transform: translate(0, 0)    skewX(0deg);   filter: invert(1) contrast(200%) drop-shadow(3px 0 0 rgba(255,0,0,0.45)) drop-shadow(-3px 0 0 rgba(0,255,255,0.45)); }
}
.null-desktop-glitch {
  animation: null-desktop-glitch-shake 0.5s ease-in-out forwards;
  overflow: hidden;
  pointer-events: none;
}
/* ===== 引用跳转高亮 ===== */
@keyframes zd-quote-highlight {
  0% { box-shadow: 0 0 0 0 rgba(129, 201, 234, 0.5); }
  30% { box-shadow: 0 0 0 6px rgba(129, 201, 234, 0.25); }
  100% { box-shadow: 0 0 0 0 rgba(129, 201, 234, 0); }
}
/* ===== 消息入场动画（message-motion 包装层） ===== */
@keyframes actionNarrationFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes messageEnter {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.message-motion {
  /* 动画包装层：无侵入式容器，只提供动画挂载点 */
  /* transform-origin 由组件内联样式设置（left bottom / right bottom） */
}
.message-motion.message-enter {
  animation: messageEnter 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
/* 用户关闭动画时直接显示 */
@media (prefers-reduced-motion: reduce) {
  .message-motion.message-enter {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
/* ========== 15. 气泡主题 ========== */
/**
 * 夜·霜华主题 - 语音消息气泡
 * 默认主题，极光绿 + 霜雪蓝配色
 *
 * 对应 bubbleStyleType: 'night'
 */
/* ============================================
   语音气泡基础布局（默认主题，全局基线）
   ============================================ */
.zd-voice-bubble {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: var(--zd-voice-padding, 8px 14px);
  border-radius: var(--zd-voice-radius-user, 16px 16px 4px 16px);
  background: var(--zd-voice-user-bg);
  border: var(--zd-voice-user-border, none);
  backdrop-filter: var(--zd-voice-blur, none);
  -webkit-backdrop-filter: var(--zd-voice-blur, none);
  box-shadow: var(--zd-voice-shadow, none);
  transition: var(--zd-voice-transition, all 250ms cubic-bezier(0.4, 0, 0.2, 1));
  cursor: pointer;
  min-width: 60px;
  max-width: 240px;
  position: relative;
}
/* 播放图标 */
.zd-voice-bubble .zd-voice-play-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--zd-voice-user-icon, rgba(255, 255, 255, 0.8));
  transition: var(--zd-voice-transition, all 250ms cubic-bezier(0.4, 0, 0.2, 1));
  font-size: var(--zd-voice-icon-size, 18px);
}
.zd-voice-bubble:hover .zd-voice-play-icon {
  color: var(--zd-voice-user-icon-hover, rgba(255, 255, 255, 1));
}
/* 频谱区域 */
.zd-voice-spectrum {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--zd-voice-spectrum-bar-gap, 1.5px);
  flex-shrink: 0;
  height: var(--zd-voice-spectrum-max-height, 20px);
}
/* 频谱线 - 通用 */
.zd-voice-spectrum-bar {
  width: var(--zd-voice-spectrum-bar-width, 2.5px);
  height: var(--zd-voice-spectrum-min-height, 4px);
  border-radius: 1px;
  transform-origin: center;
}
/* 频谱线 - 静止呼吸 */
.zd-voice-spectrum-bar--idle {
  background: var(--zd-voice-user-spectrum-idle, rgba(165, 216, 255, 0.5));
  animation: zd-voice-bar-pulse 2s ease-in-out infinite;
  animation-delay: calc(var(--bar-index, 0) * 0.08s);
}
/* 频谱线 - 播放中 */
.zd-voice-spectrum-bar--playing {
  background: var(--zd-voice-user-spectrum-playing, #A5D8FF);
  transform: scaleY(calc(var(--bar-height-ratio, 0.6) * 1));
  animation: zd-voice-bar-pulse-glow 1.2s ease-in-out infinite;
  animation-delay: calc(var(--bar-index, 0) * 0.06s);
}
/* 频谱线 - 已播放 */
.zd-voice-spectrum-bar--played {
  background: var(--zd-voice-user-spectrum-playing, #A5D8FF);
  transform: scaleY(calc(var(--bar-height-ratio, 0.6) * 0.8));
  animation: none;
}
/* 时长文字 */
.zd-voice-duration {
  font-size: var(--zd-voice-duration-font, 12px);
  color: var(--zd-voice-user-duration, rgba(255, 255, 255, 0.5));
  flex-shrink: 0;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}
/* AI 语音气泡覆盖 */
.zd-voice-bubble--ai {
  border-radius: var(--zd-voice-radius-ai, 16px 16px 16px 4px);
  background: var(--zd-voice-ai-bg);
  border: var(--zd-voice-ai-border, none);
}
.zd-voice-bubble--ai .zd-voice-play-icon {
  color: var(--zd-voice-ai-icon, rgba(255, 255, 255, 0.8));
}
.zd-voice-bubble--ai:hover .zd-voice-play-icon {
  color: var(--zd-voice-ai-icon-hover, rgba(255, 255, 255, 1));
}
.zd-voice-bubble--ai .zd-voice-spectrum-bar--idle {
  background: var(--zd-voice-ai-spectrum-idle, rgba(212, 175, 55, 0.5));
}
.zd-voice-bubble--ai .zd-voice-spectrum-bar--playing {
  background: var(--zd-voice-ai-spectrum-playing, #D4AF37);
}
.zd-voice-bubble--ai .zd-voice-spectrum-bar--played {
  background: var(--zd-voice-ai-spectrum-playing, #D4AF37);
}
.zd-voice-bubble--ai .zd-voice-duration {
  color: var(--zd-voice-ai-duration, rgba(255, 255, 255, 0.5));
}
/* 语音消息组容器 */
.zd-voice-message-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.zd-voice-message-group.is-user {
  align-items: flex-end;
}
.zd-voice-message-group.is-ai {
  align-items: flex-start;
}
/* 转写面板基础布局 */
.zd-voice-transcription-panel {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 6px 10px;
  margin-top: 4px;
  border-radius: 10px;
  background: var(--zd-voice-user-bg, rgba(165, 216, 255, 0.08));
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  max-width: 200px;
  position: relative;
  animation: zd-transcription-enter 250ms cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes zd-transcription-enter {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 关闭按钮 */
.zd-voice-transcription-close {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 18px;
  height: 18px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  padding: 0;
  transition: color 0.15s ease, background 0.15s ease;
}
.zd-voice-transcription-close:hover {
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.06);
}
.zd-voice-transcription-panel--ai {
  background: var(--zd-voice-ai-bg, rgba(212, 175, 55, 0.05));
  border-color: rgba(255, 255, 255, 0.04);
}
.zd-voice-transcription-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.zd-voice-transcription-label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.3);
  text-transform: uppercase;
}
.zd-voice-transcription-text {
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.6);
  word-break: break-word;
}
/* 转写中指示器 */
.zd-voice-transcribing-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px 0;
}
.zd-voice-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(165, 216, 255, 0.6);
  animation: zd-voice-dot-pulse 1.2s ease-in-out infinite;
  animation-delay: calc(var(--dot-index, 0) * 0.2s);
}
/* ============================================
   文本气泡变量覆盖
   ============================================ */
.zd-bubble-night {
  /* ===== 文本气泡变量 ===== */
  --zd-bubble-user-bg: linear-gradient(135deg, rgba(165, 216, 255, 0.12) 0%, rgba(134, 150, 255, 0.08) 100%);
  --zd-bubble-user-border: 1px solid rgba(165, 216, 255, 0.15);
  --zd-bubble-user-shadow: 0 4px 12px rgba(165, 216, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  --zd-bubble-user-text: #E8EDF5;
  --zd-bubble-ai-bg: linear-gradient(135deg, rgba(212, 175, 55, 0.1) 0%, rgba(189, 147, 44, 0.06) 100%);
  --zd-bubble-ai-border: 1px solid rgba(212, 175, 55, 0.12);
  --zd-bubble-ai-shadow: 0 4px 12px rgba(212, 175, 55, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --zd-bubble-ai-text: #F5E6C8;
  --zd-bubble-radius: 16px;
  --zd-bubble-radius-sm: 10px;
  /* 非对称圆角 - 靠近头像一侧的尖角
     border-radius 顺序：top-left top-right bottom-right bottom-left（顺时针）
     用户气泡（右侧）：尖角在右下角 → 16px 16px 4px 16px
     AI 气泡（左侧）：尖角在左下角 → 16px 16px 16px 4px
  */
  --zd-bubble-radius-user: 16px 16px 4px 16px;
  --zd-bubble-radius-ai: 16px 16px 16px 4px;
  --zd-bubble-blur: 20px;
  --zd-bubble-user-tail-color: rgba(165, 216, 255, 0.12);
  --zd-bubble-ai-tail-color: rgba(212, 175, 55, 0.10);
  --zd-bubble-padding-x: 14px;
  --zd-bubble-padding-y: 10px;
  --zd-bubble-font-size: 15px;
  --zd-bubble-font-weight: 300;
  --zd-bubble-line-height: 1.5;
  --zd-bubble-letter-spacing: 0.05em;
  --zd-bubble-text-color: rgba(255, 255, 255, 0.9);
  --zd-bubble-shadow: none;

  /* 兼容旧代码变量命名 */
  --zd-bubble-night-user-bg: var(--zd-bubble-user-bg);
  --zd-bubble-night-user-text: var(--zd-bubble-user-text);
  --zd-bubble-night-user-radius: var(--zd-bubble-radius-user);
  --zd-bubble-night-ai-bg: var(--zd-bubble-ai-bg);
  --zd-bubble-night-ai-text: var(--zd-bubble-ai-text);
  --zd-bubble-night-ai-radius: var(--zd-bubble-radius-ai);
}
/* ============================================
   文本气泡 - 非对称圆角直接覆盖（提高特异性）
   ============================================ */
.zd-bubble-night .zd-bubble.zd-bubble--user {
  border-radius: var(--zd-bubble-radius-user);
  background: var(--zd-bubble-user-bg);
  color: var(--zd-bubble-user-text);
  border: var(--zd-bubble-user-border);
  box-shadow: var(--zd-bubble-user-shadow);
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x);
  font-size: var(--zd-bubble-font-size);
  line-height: var(--zd-bubble-line-height);
  letter-spacing: var(--zd-bubble-letter-spacing);
}
.zd-bubble-night .zd-bubble.zd-bubble--ai {
  border-radius: var(--zd-bubble-radius-ai);
  background: var(--zd-bubble-ai-bg);
  color: var(--zd-bubble-ai-text);
  border: var(--zd-bubble-ai-border);
  box-shadow: var(--zd-bubble-ai-shadow);
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x);
  font-size: var(--zd-bubble-font-size);
  line-height: var(--zd-bubble-line-height);
  letter-spacing: var(--zd-bubble-letter-spacing);
}
/* ============================================
   语音气泡 - 非对称圆角直接覆盖（强制覆盖）
   ============================================ */
.zd-bubble-night .zd-voice-bubble--night.zd-voice-bubble--user,
.zd-bubble-night .zd-voice-bubble.zd-voice-bubble--night.zd-voice-bubble--user {
  border-radius: var(--zd-voice-radius-user, var(--zd-voice-radius)) !important;  /* 右下角尖角 */
}
.zd-bubble-night .zd-voice-bubble--night.zd-voice-bubble--ai,
.zd-bubble-night .zd-voice-bubble.zd-voice-bubble--night.zd-voice-bubble--ai {
  border-radius: var(--zd-voice-radius-ai, var(--zd-voice-radius)) !important;  /* 左下角尖角 */
}
/* ============================================
   语音消息气泡变量覆盖
   ============================================ */
/* ----- 用户侧语音气泡 ----- */
.zd-bubble-night .zd-voice-bubble--night.zd-voice-bubble--user,
.zd-bubble-night .zd-voice-bubble.zd-voice-bubble--night.zd-voice-bubble--user {
  --zd-voice-user-bg: rgba(165, 216, 255, 0.12);
  --zd-voice-user-border: 0.5px solid rgba(255, 255, 255, 0.06);
  --zd-voice-user-icon: rgba(255, 255, 255, 0.8);
  --zd-voice-user-icon-hover: rgba(255, 255, 255, 1);
  --zd-voice-user-spectrum-idle: rgba(165, 216, 255, 0.5);
  --zd-voice-user-spectrum-playing: #A5D8FF;
  --zd-voice-user-duration: rgba(255, 255, 255, 0.5);
  /* 语音气泡非对称圆角 - 靠近头像一侧的尖角 */
  --zd-voice-radius-user: 16px 16px 4px 16px;  /* 用户气泡（右侧）：尖角在右下角 */
  --zd-voice-radius-ai: 16px 16px 16px 4px;    /* AI 气泡（左侧）：尖角在左下角 */
  --zd-voice-blur: 20px;
  --zd-voice-padding: 8px 14px;
  --zd-voice-icon-size: 18px;
  --zd-voice-spectrum-bar-width: 2.5px;
  --zd-voice-spectrum-bar-gap: 1.5px;
  --zd-voice-spectrum-min-height: 4px;
  --zd-voice-spectrum-max-height: 20px;
  --zd-voice-duration-font: 12px;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* ----- AI 侧语音气泡 ----- */
.zd-bubble-night .zd-voice-bubble--night.zd-voice-bubble--ai,
.zd-bubble-night .zd-voice-bubble.zd-voice-bubble--night.zd-voice-bubble--ai {
  --zd-voice-ai-bg: rgba(212, 175, 55, 0.1);
  --zd-voice-ai-border: 0.5px solid rgba(255, 255, 255, 0.06);
  --zd-voice-ai-icon: rgba(255, 255, 255, 0.8);
  --zd-voice-ai-icon-hover: rgba(255, 255, 255, 1);
  --zd-voice-ai-spectrum-idle: rgba(212, 175, 55, 0.5);
  --zd-voice-ai-spectrum-playing: #D4AF37;
  --zd-voice-ai-duration: rgba(255, 255, 255, 0.5);
  /* 语音气泡非对称圆角 - 靠近头像一侧的尖角 */
  --zd-voice-radius-user: 16px 16px 4px 16px;  /* 用户气泡（右侧）：尖角在右下角 */
  --zd-voice-radius-ai: 16px 16px 16px 4px;    /* AI 气泡（左侧）：尖角在左下角 */
  --zd-voice-blur: 20px;
  --zd-voice-padding: 8px 14px;
  --zd-voice-icon-size: 18px;
  --zd-voice-spectrum-bar-width: 2.5px;
  --zd-voice-spectrum-bar-gap: 1.5px;
  --zd-voice-spectrum-min-height: 4px;
  --zd-voice-spectrum-max-height: 20px;
  --zd-voice-duration-font: 12px;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* ============================================
   语音转文字面板 - 夜·霜华主题
   轻薄暗色小标签，微透，干净低调
   ============================================ */
.zd-bubble-night .zd-voice-transcript,
.zd-bubble-night .zd-voice-bubble__transcript,
.zd-bubble-night [class*="voice-transcript"] {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 0.5px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  margin-top: 3px !important;
  color: rgba(232, 237, 245, 0.5) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
.zd-bubble-night .zd-voice-bubble--ai .zd-voice-transcript,
.zd-bubble-night .zd-voice-bubble--ai .zd-voice-bubble__transcript,
.zd-bubble-night .zd-voice-bubble--ai [class*="voice-transcript"] {
  background: rgba(255, 255, 255, 0.03) !important;
}
/* 压缩 header 和文字间距 */
.zd-bubble-night .zd-voice-transcription-header {
  margin-bottom: 1px !important;
}
/* 极小标签 */
.zd-bubble-night .zd-voice-transcription-label {
  font-size: 7px !important;
  line-height: 1 !important;
  margin-bottom: 0 !important;
  color: rgba(165, 216, 255, 0.2) !important;
}
.zd-bubble-night .zd-voice-bubble--ai .zd-voice-transcription-label {
  color: rgba(212, 175, 55, 0.15) !important;
}
/* 关闭按钮 */
.zd-bubble-night .zd-voice-transcription-close {
  color: rgba(255, 255, 255, 0.15) !important;
}
.zd-bubble-night .zd-voice-transcription-close:hover {
  color: rgba(255, 255, 255, 0.4) !important;
}
/* 转写中指示器 */
.zd-bubble-night .zd-voice-dot {
  background: rgba(165, 216, 255, 0.4) !important;
}
.zd-bubble-night .zd-voice-bubble--ai .zd-voice-dot {
  background: rgba(212, 175, 55, 0.3) !important;
}
/* 子元素继承 */
.zd-bubble-night .zd-voice-transcript *,
.zd-bubble-night .zd-voice-bubble__transcript *,
.zd-bubble-night [class*="voice-transcript"] * {
  color: inherit !important;
}
/**
 * 极·奢华主题 (Lux) - 文本气泡
 * Editorial Minimalism · 纯色纸感气泡，极简油墨风格
 *
 * 对应 bubbleStyleType: 'lux'
 */
/* ============================================
   文本气泡变量覆盖
   ============================================ */
.zd-bubble-lux {
  /* ===== 文本气泡变量 ===== */
  /* 用户气泡（右侧，深碳灰纸感） */
  --zd-bubble-user-bg: rgba(26, 26, 26, 0.95);
  --zd-bubble-user-border: none;
  --zd-bubble-user-shadow: none;
  --zd-bubble-user-text: #FFFFFF;
  --zd-bubble-user-backdrop-blur: none;
  --zd-bubble-user-radius: 12px 12px 2px 12px;
  --zd-bubble-user-letter-spacing: 0.05em;
  --zd-bubble-user-line-height: 1.4;
  --zd-bubble-user-padding: 6px 12px;
  --zd-bubble-user-font-size: 14px;

  /* 兼容旧代码变量命名 */
  --zd-bubble-lux-user-bg: var(--zd-bubble-user-bg);
  --zd-bubble-lux-user-text: var(--zd-bubble-user-text);
  --zd-bubble-lux-user-radius: var(--zd-bubble-user-radius);
  --zd-bubble-lux-user-padding: var(--zd-bubble-user-padding);
  --zd-bubble-lux-user-font-size: var(--zd-bubble-user-font-size);
  --zd-bubble-lux-user-line-height: var(--zd-bubble-user-line-height);
  --zd-bubble-lux-user-letter-spacing: var(--zd-bubble-user-letter-spacing);

  /* AI 气泡（左侧，纯白纸感） */
  --zd-bubble-ai-bg: rgba(255, 255, 255, 0.9);
  --zd-bubble-ai-border: 0.5px solid #EAEAEA;
  --zd-bubble-ai-shadow: none;
  --zd-bubble-ai-text: #1A1A1A;
  --zd-bubble-ai-backdrop-blur: none;
  --zd-bubble-ai-radius: 12px 12px 12px 2px;
  --zd-bubble-ai-letter-spacing: 0.05em;
  --zd-bubble-ai-line-height: 1.4;
  --zd-bubble-ai-padding: 6px 12px;
  --zd-bubble-ai-font-size: 14px;

  /* 兼容旧代码变量命名 */
  --zd-bubble-lux-ai-bg: var(--zd-bubble-ai-bg);
  --zd-bubble-lux-ai-text: var(--zd-bubble-ai-text);
  --zd-bubble-lux-ai-radius: var(--zd-bubble-ai-radius);
  --zd-bubble-lux-ai-padding: var(--zd-bubble-ai-padding);
  --zd-bubble-lux-ai-font-size: var(--zd-bubble-ai-font-size);
  --zd-bubble-lux-ai-line-height: var(--zd-bubble-ai-line-height);
  --zd-bubble-lux-ai-letter-spacing: var(--zd-bubble-ai-letter-spacing);

  /* 基础变量 */
  --zd-bubble-radius: 12px;
  --zd-bubble-radius-sm: 2px;
  --zd-bubble-padding-x: 12px;
  --zd-bubble-padding-y: 6px;
  --zd-bubble-font-size: 14px;
  --zd-bubble-font-weight: 300;
  --zd-bubble-line-height: 1.4;
  --zd-bubble-letter-spacing: 0.05em;
}
/* ============================================
   文本气泡 - 非对称圆角直接覆盖（提高特异性）
   ============================================ */
.zd-bubble-lux .zd-bubble.zd-bubble--user {
  border-radius: var(--zd-bubble-user-radius, 12px 12px 2px 12px);
  background: var(--zd-bubble-user-bg);
  color: var(--zd-bubble-user-text);
  padding: var(--zd-bubble-user-padding, 6px 12px);
  font-size: var(--zd-bubble-user-font-size, 14px);
  line-height: var(--zd-bubble-user-line-height, 1.4);
  letter-spacing: var(--zd-bubble-user-letter-spacing, 0.05em);
}
.zd-bubble-lux .zd-bubble.zd-bubble--ai {
  border-radius: var(--zd-bubble-ai-radius, 12px 12px 12px 2px);
  background: var(--zd-bubble-ai-bg);
  color: var(--zd-bubble-ai-text);
  border: var(--zd-bubble-ai-border, 0.5px solid #EAEAEA);
  padding: var(--zd-bubble-ai-padding, 6px 12px);
  font-size: var(--zd-bubble-ai-font-size, 14px);
  line-height: var(--zd-bubble-ai-line-height, 1.4);
  letter-spacing: var(--zd-bubble-ai-letter-spacing, 0.05em);
}
/* ============================================
   语音消息气泡变量覆盖
   ============================================ */
/* ----- 用户侧语音气泡 ----- */
.zd-bubble-lux .zd-voice-bubble--lux.zd-voice-bubble--user,
.zd-bubble-lux .zd-voice-bubble.zd-voice-bubble--lux.zd-voice-bubble--user {
  --zd-voice-user-bg: rgba(26, 26, 26, 0.95);
  --zd-voice-user-border: none;
  --zd-voice-user-icon: rgba(255, 255, 255, 0.9);
  --zd-voice-user-icon-hover: rgba(255, 255, 255, 1);
  --zd-voice-user-spectrum-idle: rgba(255, 255, 255, 0.5);
  --zd-voice-user-spectrum-playing: #FFFFFF;
  --zd-voice-user-duration: rgba(255, 255, 255, 0.6);
  --zd-voice-radius-user: 12px 12px 2px 12px;
  --zd-voice-blur: none;
  --zd-voice-padding: 6px 12px;
  --zd-voice-icon-size: 16px;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* ----- AI 侧语音气泡 ----- */
.zd-bubble-lux .zd-voice-bubble--lux.zd-voice-bubble--ai,
.zd-bubble-lux .zd-voice-bubble.zd-voice-bubble--lux.zd-voice-bubble--ai {
  --zd-voice-ai-bg: rgba(255, 255, 255, 0.9);
  --zd-voice-ai-border: 0.5px solid #EAEAEA;
  --zd-voice-ai-icon: #1A1A1A;
  --zd-voice-ai-icon-hover: #000000;
  --zd-voice-ai-spectrum-idle: rgba(26, 26, 26, 0.5);
  --zd-voice-ai-spectrum-playing: #1A1A1A;
  --zd-voice-ai-duration: rgba(26, 26, 26, 0.6);
  --zd-voice-radius-ai: 12px 12px 12px 2px;
  --zd-voice-blur: none;
  --zd-voice-padding: 6px 12px;
  --zd-voice-icon-size: 16px;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* 语音气泡圆角 */
.zd-bubble-lux .zd-voice-bubble--lux.zd-voice-bubble--user {
  border-radius: var(--zd-voice-radius-user, 12px 12px 2px 12px) !important;
}
.zd-bubble-lux .zd-voice-bubble--lux.zd-voice-bubble--ai {
  border-radius: var(--zd-voice-radius-ai, 12px 12px 12px 2px) !important;
}
/* ============================================
   语音转文字面板 - Ins·杂志主题
   轻薄灰标签，极简纸感，干净通透
   ============================================ */
.zd-bubble-lux .zd-voice-transcript,
.zd-bubble-lux .zd-voice-bubble__transcript,
.zd-bubble-lux [class*="voice-transcript"] {
  background: rgba(0, 0, 0, 0.03) !important;
  border: 0.5px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  margin-top: 3px !important;
  color: rgba(26, 26, 26, 0.55) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
.zd-bubble-lux .zd-voice-bubble--ai .zd-voice-transcript,
.zd-bubble-lux .zd-voice-bubble--ai .zd-voice-bubble__transcript,
.zd-bubble-lux .zd-voice-bubble--ai [class*="voice-transcript"] {
  background: rgba(0, 0, 0, 0.02) !important;
  border-color: rgba(0, 0, 0, 0.04) !important;
}
/* 压缩 header 间距 */
.zd-bubble-lux .zd-voice-transcription-header {
  margin-bottom: 1px !important;
}
/* 极小标签 */
.zd-bubble-lux .zd-voice-transcription-label {
  font-size: 7px !important;
  line-height: 1 !important;
  color: rgba(26, 26, 26, 0.18) !important;
}
.zd-bubble-lux .zd-voice-bubble--ai .zd-voice-transcription-label {
  color: rgba(0, 0, 0, 0.12) !important;
}
/* 关闭按钮 */
.zd-bubble-lux .zd-voice-transcription-close {
  color: rgba(0, 0, 0, 0.12) !important;
}
.zd-bubble-lux .zd-voice-transcription-close:hover {
  color: rgba(0, 0, 0, 0.35) !important;
}
.zd-bubble-lux .zd-voice-bubble--ai .zd-voice-transcription-close {
  color: rgba(0, 0, 0, 0.1) !important;
}
.zd-bubble-lux .zd-voice-bubble--ai .zd-voice-transcription-close:hover {
  color: rgba(0, 0, 0, 0.3) !important;
}
/* 转写中指示器 */
.zd-bubble-lux .zd-voice-dot {
  background: rgba(26, 26, 26, 0.25) !important;
}
.zd-bubble-lux .zd-voice-bubble--ai .zd-voice-dot {
  background: rgba(0, 0, 0, 0.15) !important;
}
/* 子元素继承 */
.zd-bubble-lux .zd-voice-transcript *,
.zd-bubble-lux .zd-voice-bubble__transcript *,
.zd-bubble-lux [class*="voice-transcript"] * {
  color: inherit !important;
}
/**
 * 闆剧粧路鐧界唺涓婚 - 姘旀场鏍峰紡
 * 鏋佺畝鐏扮矇 + 绾櫧寰€?+ 鍙埍璐寸焊瑁呴グ
 *
 * 瀵瑰簲 bubbleStyleType: 'sakura'
 */
/* ============================================
   鏂囨湰姘旀场鍙橀噺瑕嗙洊
   ============================================ */
.zd-bubble-sakura {
  /* 鍙戦€佹柟锛堝彸渚э級- 鏋佺畝鐏扮矇 (Dusty Pink) */
  --zd-bubble-user-bg: #FDF4F5 !important;
  --zd-bubble-user-border: 0.5px solid rgba(230, 190, 195, 0.5) !important;
  --zd-bubble-user-shadow: 0 4px 14px rgba(220, 175, 185, 0.2) !important;
  --zd-bubble-user-text: #54484A !important;

  /* 鎺ユ敹鏂癸紙宸︿晶锛? 绾櫧寰€?*/
  --zd-bubble-ai-bg: #FFFFFF !important;
  --zd-bubble-ai-border: 0.5px solid rgba(240, 240, 240, 0.8) !important;
  --zd-bubble-ai-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
  --zd-bubble-ai-text: #54484A !important;

  --zd-bubble-radius: 16px !important;
  --zd-bubble-radius-user: 16px !important;
  --zd-bubble-radius-ai: 16px !important;

  /* 鍐呰竟璺?- 澧炲姞鍛煎惛鎰燂紝鑳栦箮涔庣殑浣撶Н */
  --zd-bubble-padding-x: 12px !important;
  --zd-bubble-padding-y: 8px !important;

  /* 瀛椾綋 - 鏇村皬宸х簿鑷?*/
  --zd-bubble-font-size: 11px !important;
  --zd-bubble-font-weight: 400 !important;
  --zd-bubble-line-height: 1.45 !important;

  /* 鍚戝悗鍏煎鍙橀噺 */
  --zd-bubble-sakura-user-bg: var(--zd-bubble-user-bg) !important;
  --zd-bubble-sakura-ai-bg: var(--zd-bubble-ai-bg) !important;
  --zd-bubble-sakura-user-text: var(--zd-bubble-user-text) !important;
  --zd-bubble-sakura-ai-text: var(--zd-bubble-ai-text) !important;
  --zd-bubble-radius-sm: 10px !important;
  --zd-bubble-blur: none !important;
  --zd-bubble-letter-spacing: 0 !important;
  --zd-bubble-text-color: #54484A !important;
  --zd-bubble-shadow: none !important;
}
/* ============================================
   鏂囨湰姘旀场 - 鐩存帴瑕嗙洊
   ============================================ */
.zd-bubble-sakura .zd-bubble.zd-bubble--user {
  border-radius: var(--zd-bubble-radius-user) !important;
  background: var(--zd-bubble-user-bg) !important;
  color: var(--zd-bubble-user-text) !important;
  border: var(--zd-bubble-user-border) !important;
  box-shadow: var(--zd-bubble-user-shadow) !important;
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x) !important;
  font-size: var(--zd-bubble-font-size) !important;
  font-weight: var(--zd-bubble-font-weight) !important;
  line-height: var(--zd-bubble-line-height) !important;
  letter-spacing: var(--zd-bubble-letter-spacing) !important;
  position: relative !important;
}
.zd-bubble-sakura .zd-bubble.zd-bubble--ai {
  border-radius: var(--zd-bubble-radius-ai) !important;
  background: var(--zd-bubble-ai-bg) !important;
  color: var(--zd-bubble-ai-text) !important;
  border: var(--zd-bubble-ai-border) !important;
  box-shadow: var(--zd-bubble-ai-shadow) !important;
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x) !important;
  font-size: var(--zd-bubble-font-size) !important;
  font-weight: var(--zd-bubble-font-weight) !important;
  line-height: var(--zd-bubble-line-height) !important;
  letter-spacing: var(--zd-bubble-letter-spacing) !important;
  position: relative !important;
}
/* =========================================
   褰诲簳鍒嗙瀹氫綅閫昏緫鐨勮创绾告Ы浣?   ========================================= */
/* 1. 鎺ユ敹鏂癸紙瑙掕壊锛夎创绾?- 灏忕唺 */
.zd-bubble-sakura .zd-bubble.zd-bubble--ai::before {
  content: '';
  position: absolute;
  top: -16px;
  right: -12px;
  left: auto;
  width: 32px;
  height: 32px;
  background-image: url('/images/bubbles/bubble-sakura-bear.png');
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;
  pointer-events: none;
}
/* 2. 鍙戦€佹柟锛堣嚜宸憋級璐寸焊 - 铦磋澏缁?*/
.zd-bubble-sakura .zd-bubble.zd-bubble--user::before {
  content: '';
  position: absolute;
  top: -8px;
  left: -4px;
  right: auto;
  width: 32px;
  height: 32px;
  background-image: url('/images/bubbles/bubble-sakura-bow.png');
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;
  pointer-events: none;
}
/* =========================================
   淇鐗堢殑宓屽叆寮忓崱閫氬皬灏惧反 (閫傞厤鍏ㄥ渾瑙?
   ========================================= */
.zd-bubble-sakura .zd-bubble.zd-bubble--ai::after {
  content: '';
  position: absolute;
  bottom: 12px;
  left: -4px;
  width: 0;
  height: 0;
  border-right: 6px solid #FFFFFF;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
.zd-bubble-sakura .zd-bubble.zd-bubble--user::after {
  content: '';
  position: absolute;
  bottom: 12px;
  right: -4px;
  width: 0;
  height: 0;
  border-left: 6px solid #FDF4F5;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
/* ============================================
   璇煶娑堟伅 - 鍖归厤鐧界唺涓婚绮夌櫧
   ============================================ */
.zd-bubble-sakura,
.zd-voice-bubble--sakura {
  --zd-voice-user-bg: #FDF4F5;
  --zd-voice-user-border: 0.5px solid rgba(230, 190, 195, 0.5);
  --zd-voice-user-icon: #54484A;
  --zd-voice-user-spectrum-idle: rgba(84, 72, 74, 0.25);
  --zd-voice-user-spectrum-playing: #D4A8B5;
  --zd-voice-user-duration: rgba(84, 72, 74, 0.5);
  --zd-voice-ai-bg: #FFFFFF;
  --zd-voice-ai-border: 0.5px solid rgba(240, 240, 240, 0.8);
  --zd-voice-ai-icon: #54484A;
  --zd-voice-ai-spectrum-idle: rgba(84, 72, 74, 0.2);
  --zd-voice-ai-spectrum-playing: #54484A;
  --zd-voice-ai-duration: rgba(84, 72, 74, 0.5);
}
/* 璇煶姘旀场鍦嗚 + 灏忓熬宸?*/
.zd-bubble-sakura .zd-voice-bubble--sakura.zd-voice-bubble--user {
  border-radius: 16px !important;
  position: relative !important;
}
.zd-bubble-sakura .zd-voice-bubble--sakura.zd-voice-bubble--user::after {
  content: '';
  position: absolute;
  bottom: 8px;
  right: -4px;
  width: 0;
  height: 0;
  border-left: 6px solid #FDF4F5;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
.zd-bubble-sakura .zd-voice-bubble--sakura.zd-voice-bubble--ai {
  border-radius: 16px !important;
  position: relative !important;
}
.zd-bubble-sakura .zd-voice-bubble--sakura.zd-voice-bubble--ai::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: -4px;
  width: 0;
  height: 0;
  border-right: 6px solid #FFFFFF;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
/* =========================================
   璇煶杞枃瀛楅潰鏉?- 鏋佽交鐩堝皬鏍囩
   ========================================= */
.zd-bubble-sakura .zd-voice-transcript,
.zd-bubble-sakura .zd-voice-bubble__transcript,
.zd-bubble-sakura [class*="voice-transcript"] {
  background: rgba(255, 248, 245, 0.5) !important;
  border: 0.5px solid rgba(230, 190, 195, 0.15) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  margin-top: 3px !important;
  color: #54484A !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* 鍘嬬缉 header 鍜屾枃瀛楅棿璺?*/
.zd-bubble-sakura .zd-voice-transcription-header {
  margin-bottom: 1px !important;
}
/* 鏋佸皬鏍囩 */
.zd-bubble-sakura .zd-voice-transcription-label {
  font-size: 7px !important;
  line-height: 1 !important;
  letter-spacing: 0.05em !important;
  color: rgba(84, 72, 74, 0.2) !important;
}
/* 瀛愬厓绱犵户鎵块鑹诧紝淇濊瘉浠讳綍鐘舵€佷笅鏂囧瓧涓嶆秷澶?*/
.zd-bubble-sakura .zd-voice-transcript *,
.zd-bubble-sakura .zd-voice-bubble__transcript *,
.zd-bubble-sakura [class*="voice-transcript"] * {
  color: inherit !important;
}
/**
 * 仿微信 · 日间模式 - 气泡样式
 * 经典浅绿 + 白色配色
 *
 * 对应 bubbleStyleType: 'wechat-classic'
 */
/* ============================================
   文本气泡变量覆盖
   ============================================ */
.zd-bubble-wechat-classic {
  /* ===== 文本气泡变量 ===== */
  --zd-bubble-user-bg: #95EC69 !important;
  --zd-bubble-user-border: none !important;
  --zd-bubble-user-shadow: none !important;
  --zd-bubble-user-text: #1A1A1A !important;
  --zd-bubble-ai-bg: #FFFFFF !important;
  --zd-bubble-ai-border: none !important;
  --zd-bubble-ai-shadow: none !important;
  --zd-bubble-ai-text: #1A1A1A !important;

  /* 向后兼容变量（MessageBubble getQuoteBubbleBg 引用） */
  --zd-bubble-wechat-classic-user-bg: var(--zd-bubble-user-bg) !important;
  --zd-bubble-wechat-classic-ai-bg: var(--zd-bubble-ai-bg) !important;
  --zd-bubble-wechat-classic-user-text: var(--zd-bubble-user-text) !important;
  --zd-bubble-wechat-classic-ai-text: var(--zd-bubble-ai-text) !important;

  /* ===== 气泡通用属性 ===== */
  --zd-bubble-radius: 4px !important;
  --zd-bubble-radius-sm: 3px !important;
  --zd-bubble-radius-user: 4px !important;
  --zd-bubble-radius-ai: 4px !important;
  --zd-bubble-blur: none !important;
  --zd-bubble-padding-x: 9px !important;
  --zd-bubble-padding-y: 7px !important;
  --zd-bubble-font-size: 15px !important;
  --zd-bubble-font-weight: 400 !important;
  --zd-bubble-line-height: 1.5 !important;
  --zd-bubble-letter-spacing: normal !important;
  --zd-bubble-text-color: #1A1A1A !important;
  --zd-bubble-shadow: none !important;
}
/* ============================================
   文本气泡 - 圆角
   ============================================ */
.zd-bubble-wechat-classic .zd-bubble.zd-bubble--user {
  border-radius: var(--zd-bubble-radius-user) !important;
  background: var(--zd-bubble-user-bg) !important;
  color: var(--zd-bubble-user-text) !important;
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x) !important;
  font-size: var(--zd-bubble-font-size) !important;
  line-height: var(--zd-bubble-line-height) !important;
}
.zd-bubble-wechat-classic .zd-bubble.zd-bubble--ai {
  border-radius: var(--zd-bubble-radius-ai) !important;
  background: var(--zd-bubble-ai-bg) !important;
  color: var(--zd-bubble-ai-text) !important;
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x) !important;
  font-size: var(--zd-bubble-font-size) !important;
  line-height: var(--zd-bubble-line-height) !important;
}
/* ============================================
   小尾巴效果（微信风格，纯 CSS 三角形）
   ============================================ */
/* 用户气泡小尾巴 - 右下角 */
.zd-bubble-wechat-classic .zd-bubble.zd-bubble--user {
  position: relative;
}
.zd-bubble-wechat-classic .zd-bubble.zd-bubble--user::after {
  content: '';
  position: absolute;
  right: -4px;
  top: 16px;
  width: 0;
  height: 0;
  border-width: 4px;
  border-style: solid;
  border-color: transparent transparent transparent var(--zd-bubble-user-bg);
  border-right-width: 0;
}
/* AI 气泡小尾巴 - 左下角 */
.zd-bubble-wechat-classic .zd-bubble.zd-bubble--ai {
  position: relative;
}
.zd-bubble-wechat-classic .zd-bubble.zd-bubble--ai::after {
  content: '';
  position: absolute;
  left: -4px;
  top: 16px;
  width: 0;
  height: 0;
  border-width: 4px;
  border-style: solid;
  border-color: transparent var(--zd-bubble-ai-bg) transparent transparent;
  border-left-width: 0;
}
/* ============================================
   语音消息气泡变量覆盖
   ============================================ */
/* ----- 用户侧语音气泡 ----- */
.zd-bubble-wechat-classic .zd-voice-bubble--wechat-classic.zd-voice-bubble--user {
  --zd-voice-user-bg: #95EC69 !important;
  --zd-voice-user-border: none !important;
  --zd-voice-user-icon: #1A1A1A !important;
  --zd-voice-user-icon-hover: #1A1A1A !important;
  --zd-voice-user-spectrum-idle: rgba(26, 26, 26, 0.35) !important;
  --zd-voice-user-spectrum-playing: #1A1A1A !important;
  --zd-voice-user-duration: rgba(26, 26, 26, 0.55) !important;
  --zd-voice-radius-user: 4px !important;
  --zd-voice-radius-ai: 4px !important;
  --zd-voice-blur: none !important;
  --zd-voice-padding: 6px 12px !important;
  --zd-voice-icon-size: 18px !important;
  --zd-voice-spectrum-bar-width: 2.5px !important;
  --zd-voice-spectrum-bar-gap: 1.5px !important;
  --zd-voice-spectrum-min-height: 4px !important;
  --zd-voice-spectrum-max-height: 20px !important;
  --zd-voice-duration-font: 12px !important;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* ----- AI 侧语音气泡 ----- */
.zd-bubble-wechat-classic .zd-voice-bubble--wechat-classic.zd-voice-bubble--ai {
  --zd-voice-ai-bg: #FFFFFF !important;
  --zd-voice-ai-border: none !important;
  --zd-voice-ai-icon: #1A1A1A !important;
  --zd-voice-ai-icon-hover: #1A1A1A !important;
  --zd-voice-ai-spectrum-idle: rgba(0, 0, 0, 0.25) !important;
  --zd-voice-ai-spectrum-playing: #1A1A1A !important;
  --zd-voice-ai-duration: rgba(0, 0, 0, 0.45) !important;
  --zd-voice-radius-user: 4px !important;
  --zd-voice-radius-ai: 4px !important;
  --zd-voice-blur: none !important;
  --zd-voice-padding: 6px 12px !important;
  --zd-voice-icon-size: 18px !important;
  --zd-voice-spectrum-bar-width: 2.5px !important;
  --zd-voice-spectrum-bar-gap: 1.5px !important;
  --zd-voice-spectrum-min-height: 4px !important;
  --zd-voice-spectrum-max-height: 20px !important;
  --zd-voice-duration-font: 12px !important;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* 语音气泡圆角 */
.zd-bubble-wechat-classic .zd-voice-bubble--wechat-classic.zd-voice-bubble--user {
  border-radius: 4px !important;
}
.zd-bubble-wechat-classic .zd-voice-bubble--wechat-classic.zd-voice-bubble--ai {
  border-radius: 4px !important;
}
/* ============================================
   语音消息 - 小尾巴效果（与文本气泡一致）
   ============================================ */
/* 用户语音气泡小尾巴 - 右下角 */
.zd-bubble-wechat-classic .zd-voice-bubble--wechat-classic.zd-voice-bubble--user {
  position: relative;
}
.zd-bubble-wechat-classic .zd-voice-bubble--wechat-classic.zd-voice-bubble--user::after {
  content: '';
  position: absolute;
  right: -4px;
  top: 16px;
  width: 0;
  height: 0;
  border-width: 4px;
  border-style: solid;
  border-color: transparent transparent transparent var(--zd-voice-user-bg);
  border-right-width: 0;
}
/* AI 语音气泡小尾巴 - 左下角 */
.zd-bubble-wechat-classic .zd-voice-bubble--wechat-classic.zd-voice-bubble--ai {
  position: relative;
}
.zd-bubble-wechat-classic .zd-voice-bubble--wechat-classic.zd-voice-bubble--ai::after {
  content: '';
  position: absolute;
  left: -4px;
  top: 16px;
  width: 0;
  height: 0;
  border-width: 4px;
  border-style: solid;
  border-color: transparent var(--zd-voice-ai-bg) transparent transparent;
  border-left-width: 0;
}
/* ============================================
   语音转文字面板 - 仿微信·日间主题
   纯白无装饰，与微信完全一致
   ============================================ */
.zd-bubble-wechat-classic .zd-voice-transcript,
.zd-bubble-wechat-classic .zd-voice-bubble__transcript,
.zd-bubble-wechat-classic [class*="voice-transcript"] {
  background: #FFFFFF !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  margin-top: 3px !important;
  color: rgba(0, 0, 0, 0.45) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
.zd-bubble-wechat-classic .zd-voice-bubble--ai .zd-voice-transcript,
.zd-bubble-wechat-classic .zd-voice-bubble--ai .zd-voice-bubble__transcript,
.zd-bubble-wechat-classic .zd-voice-bubble--ai [class*="voice-transcript"] {
  background: #FFFFFF !important;
  border: none !important;
}
/* 压缩 header 间距 */
.zd-bubble-wechat-classic .zd-voice-transcription-header {
  margin-bottom: 1px !important;
}
/* 极小标签 */
.zd-bubble-wechat-classic .zd-voice-transcription-label {
  font-size: 7px !important;
  line-height: 1 !important;
  color: rgba(0, 0, 0, 0.15) !important;
}
.zd-bubble-wechat-classic .zd-voice-bubble--ai .zd-voice-transcription-label {
  color: rgba(0, 0, 0, 0.15) !important;
}
/* 关闭按钮 */
.zd-bubble-wechat-classic .zd-voice-transcription-close {
  color: rgba(0, 0, 0, 0.15) !important;
}
.zd-bubble-wechat-classic .zd-voice-transcription-close:hover {
  color: rgba(0, 0, 0, 0.35) !important;
}
.zd-bubble-wechat-classic .zd-voice-bubble--ai .zd-voice-transcription-close {
  color: rgba(0, 0, 0, 0.15) !important;
}
.zd-bubble-wechat-classic .zd-voice-bubble--ai .zd-voice-transcription-close:hover {
  color: rgba(0, 0, 0, 0.35) !important;
}
/* 转写中指示器 */
.zd-bubble-wechat-classic .zd-voice-dot {
  background: rgba(0, 0, 0, 0.2) !important;
}
.zd-bubble-wechat-classic .zd-voice-bubble--ai .zd-voice-dot {
  background: rgba(0, 0, 0, 0.2) !important;
}
/* 子元素继承 */
.zd-bubble-wechat-classic .zd-voice-transcript *,
.zd-bubble-wechat-classic .zd-voice-bubble__transcript *,
.zd-bubble-wechat-classic [class*="voice-transcript"] * {
  color: inherit !important;
}
/**
 * 仿微信 · 夜间模式 - 气泡样式
 * 深色经典绿 + 小尾巴效果
 *
 * 对应 bubbleStyleType: 'wechat-dark'
 */
/* ============================================
   文本气泡变量覆盖
   ============================================ */
.zd-bubble-wechat-dark {
  /* ===== 文本气泡变量 ===== */
  --zd-bubble-user-bg: #14D16C !important;
  --zd-bubble-user-border: none !important;
  --zd-bubble-user-shadow: none !important;
  --zd-bubble-user-text: #000000 !important;
  --zd-bubble-ai-bg: #2A2A2A !important;
  --zd-bubble-ai-border: none !important;
  --zd-bubble-ai-shadow: none !important;
  --zd-bubble-ai-text: #E8E8E8 !important;

  /* 向后兼容变量（MessageBubble getQuoteBubbleBg 引用） */
  --zd-bubble-wechat-dark-user-bg: var(--zd-bubble-user-bg) !important;
  --zd-bubble-wechat-dark-ai-bg: var(--zd-bubble-ai-bg) !important;
  --zd-bubble-wechat-dark-user-text: var(--zd-bubble-user-text) !important;
  --zd-bubble-wechat-dark-ai-text: var(--zd-bubble-ai-text) !important;

  /* ===== 气泡通用属性 ===== */
  --zd-bubble-radius: 4px !important;
  --zd-bubble-radius-sm: 3px !important;
  --zd-bubble-radius-user: 4px !important;
  --zd-bubble-radius-ai: 4px !important;
  --zd-bubble-blur: none !important;
  --zd-bubble-user-tail-color: #14D16C !important;
  --zd-bubble-ai-tail-color: #2A2A2A !important;
  --zd-bubble-padding-x: 9px !important;
  --zd-bubble-padding-y: 7px !important;
  --zd-bubble-font-size: 15px !important;
  --zd-bubble-font-weight: 400 !important;
  --zd-bubble-line-height: 1.5 !important;
  --zd-bubble-letter-spacing: normal !important;
  --zd-bubble-text-color: #E8E8E8 !important;
  --zd-bubble-shadow: none !important;
}
/* ============================================
   文本气泡 - 非对称圆角
   ============================================ */
.zd-bubble-wechat-dark .zd-bubble.zd-bubble--user {
  border-radius: var(--zd-bubble-radius-user) !important;
  background: var(--zd-bubble-user-bg) !important;
  color: var(--zd-bubble-user-text) !important;
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x) !important;
  font-size: var(--zd-bubble-font-size) !important;
  line-height: var(--zd-bubble-line-height) !important;
}
.zd-bubble-wechat-dark .zd-bubble.zd-bubble--ai {
  border-radius: var(--zd-bubble-radius-ai) !important;
  background: var(--zd-bubble-ai-bg) !important;
  color: var(--zd-bubble-ai-text) !important;
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x) !important;
  font-size: var(--zd-bubble-font-size) !important;
  line-height: var(--zd-bubble-line-height) !important;
}
/* ============================================
   微信风格小尾巴
   ============================================ */
/* 用户气泡小尾巴 - 右下角，指向头像中心 */
.zd-bubble-wechat-dark .zd-bubble.zd-bubble--user {
  position: relative;
}
.zd-bubble-wechat-dark .zd-bubble.zd-bubble--user::after {
  content: '';
  position: absolute;
  right: -4px;
  top: 16px;
  width: 0;
  height: 0;
  border-width: 4px;
  border-style: solid;
  border-color: transparent transparent transparent var(--zd-bubble-user-tail-color, #1D5B2F);
  border-right-width: 0;
}
/* AI 气泡小尾巴 - 左下角，指向头像中心 */
.zd-bubble-wechat-dark .zd-bubble.zd-bubble--ai {
  position: relative;
}
.zd-bubble-wechat-dark .zd-bubble.zd-bubble--ai::after {
  content: '';
  position: absolute;
  left: -4px;
  top: 16px;
  width: 0;
  height: 0;
  border-width: 4px;
  border-style: solid;
  border-color: transparent var(--zd-bubble-ai-tail-color, #2A2A2A) transparent transparent;
  border-left-width: 0;
}
/* ============================================
   语音气泡变量覆盖
   ============================================ */
/* ----- 用户侧语音气泡 ----- */
.zd-bubble-wechat-dark .zd-voice-bubble--wechat-dark.zd-voice-bubble--user {
  --zd-voice-user-bg: #07C160 !important;
  --zd-voice-user-border: none !important;
  --zd-voice-user-icon: #FFFFFF !important;
  --zd-voice-user-icon-hover: #FFFFFF !important;
  --zd-voice-user-spectrum-idle: rgba(255, 255, 255, 0.6) !important;
  --zd-voice-user-spectrum-playing: #FFFFFF !important;
  --zd-voice-user-duration: rgba(255, 255, 255, 0.8) !important;
  --zd-voice-radius-user: 4px !important;
  --zd-voice-radius-ai: 4px !important;
  --zd-voice-blur: none !important;
  --zd-voice-padding: 6px 12px !important;
  --zd-voice-icon-size: 18px !important;
  --zd-voice-spectrum-bar-width: 2.5px !important;
  --zd-voice-spectrum-bar-gap: 1.5px !important;
  --zd-voice-spectrum-min-height: 4px !important;
  --zd-voice-spectrum-max-height: 20px !important;
  --zd-voice-duration-font: 12px !important;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* ----- AI 侧语音气泡 ----- */
.zd-bubble-wechat-dark .zd-voice-bubble--wechat-dark.zd-voice-bubble--ai {
  --zd-voice-ai-bg: #2A2A2A !important;
  --zd-voice-ai-border: none !important;
  --zd-voice-ai-icon: #E8E8E8 !important;
  --zd-voice-ai-icon-hover: #FFFFFF !important;
  --zd-voice-ai-spectrum-idle: rgba(232, 232, 232, 0.35) !important;
  --zd-voice-ai-spectrum-playing: #1D5B2F !important;
  --zd-voice-ai-duration: rgba(232, 232, 232, 0.45) !important;
  --zd-voice-radius-user: 4px !important;
  --zd-voice-radius-ai: 4px !important;
  --zd-voice-blur: none !important;
  --zd-voice-padding: 6px 12px !important;
  --zd-voice-icon-size: 18px !important;
  --zd-voice-spectrum-bar-width: 2.5px !important;
  --zd-voice-spectrum-bar-gap: 1.5px !important;
  --zd-voice-spectrum-min-height: 4px !important;
  --zd-voice-spectrum-max-height: 20px !important;
  --zd-voice-duration-font: 12px !important;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* 语音气泡圆角 - 四个角保持一致 */
.zd-bubble-wechat-dark .zd-voice-bubble--wechat-dark.zd-voice-bubble--user {
  border-radius: 4px !important;
}
.zd-bubble-wechat-dark .zd-voice-bubble--wechat-dark.zd-voice-bubble--ai {
  border-radius: 4px !important;
}
/* ============================================
   语音气泡小尾巴（与普通气泡一致）
   ============================================ */
/* 用户语音气泡小尾巴 - 右下角 */
.zd-bubble-wechat-dark .zd-voice-bubble--wechat-dark.zd-voice-bubble--user {
  position: relative;
}
.zd-bubble-wechat-dark .zd-voice-bubble--wechat-dark.zd-voice-bubble--user::after {
  content: '';
  position: absolute;
  right: -4px;
  top: 16px;
  width: 0;
  height: 0;
  border-width: 4px;
  border-style: solid;
  border-color: transparent transparent transparent var(--zd-voice-user-bg, #14D16C);
  border-right-width: 0;
}
/* AI 语音气泡小尾巴 - 左下角 */
.zd-bubble-wechat-dark .zd-voice-bubble--wechat-dark.zd-voice-bubble--ai {
  position: relative;
}
.zd-bubble-wechat-dark .zd-voice-bubble--wechat-dark.zd-voice-bubble--ai::after {
  content: '';
  position: absolute;
  left: -4px;
  top: 16px;
  width: 0;
  height: 0;
  border-width: 4px;
  border-style: solid;
  border-color: transparent var(--zd-voice-ai-bg, #2A2A2A) transparent transparent;
  border-left-width: 0;
}
/* ============================================
   语音转文字面板 - 仿微信·夜间主题
   纯暗无装饰，与微信完全一致
   ============================================ */
.zd-bubble-wechat-dark .zd-voice-transcript,
.zd-bubble-wechat-dark .zd-voice-bubble__transcript,
.zd-bubble-wechat-dark [class*="voice-transcript"] {
  background: #1C1C1E !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  margin-top: 3px !important;
  color: rgba(255, 255, 255, 0.45) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
.zd-bubble-wechat-dark .zd-voice-bubble--ai .zd-voice-transcript,
.zd-bubble-wechat-dark .zd-voice-bubble--ai .zd-voice-bubble__transcript,
.zd-bubble-wechat-dark .zd-voice-bubble--ai [class*="voice-transcript"] {
  background: #1C1C1E !important;
  border: none !important;
}
/* 压缩 header 间距 */
.zd-bubble-wechat-dark .zd-voice-transcription-header {
  margin-bottom: 1px !important;
}
/* 极小标签 */
.zd-bubble-wechat-dark .zd-voice-transcription-label {
  font-size: 7px !important;
  line-height: 1 !important;
  color: rgba(255, 255, 255, 0.2) !important;
}
.zd-bubble-wechat-dark .zd-voice-bubble--ai .zd-voice-transcription-label {
  color: rgba(255, 255, 255, 0.2) !important;
}
/* 关闭按钮 */
.zd-bubble-wechat-dark .zd-voice-transcription-close {
  color: rgba(255, 255, 255, 0.2) !important;
}
.zd-bubble-wechat-dark .zd-voice-transcription-close:hover {
  color: rgba(255, 255, 255, 0.4) !important;
}
.zd-bubble-wechat-dark .zd-voice-bubble--ai .zd-voice-transcription-close {
  color: rgba(255, 255, 255, 0.2) !important;
}
.zd-bubble-wechat-dark .zd-voice-bubble--ai .zd-voice-transcription-close:hover {
  color: rgba(255, 255, 255, 0.4) !important;
}
/* 转写中指示器 */
.zd-bubble-wechat-dark .zd-voice-dot {
  background: rgba(255, 255, 255, 0.25) !important;
}
.zd-bubble-wechat-dark .zd-voice-bubble--ai .zd-voice-dot {
  background: rgba(255, 255, 255, 0.25) !important;
}
/* 子元素继承 */
.zd-bubble-wechat-dark .zd-voice-transcript *,
.zd-bubble-wechat-dark .zd-voice-bubble__transcript *,
.zd-bubble-wechat-dark [class*="voice-transcript"] * {
  color: inherit !important;
}
/**
 * 韩系 · 奶油燕麦主题 - 气泡样式
 * 低饱和燕麦色 + 柔和纯白
 *
 * 对应 bubbleStyleType: 'kr-oat'
 */
/* ============================================
   文本气泡变量覆盖
   ============================================ */
.zd-bubble-kr-oat {
  /* ===== 文本气泡变量 ===== */
  --zd-bubble-user-bg: #F0EBE1 !important;
  --zd-bubble-user-border: none !important;
  --zd-bubble-user-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
  --zd-bubble-user-text: #4A453E !important;
  --zd-bubble-ai-bg: #FFFFFF !important;
  --zd-bubble-ai-border: 0.5px solid #F0F0F0 !important;
  --zd-bubble-ai-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
  --zd-bubble-ai-text: #2C2C2C !important;

  /* 向后兼容变量（MessageBubble getQuoteBubbleBg 引用） */
  --zd-bubble-kr-oat-user-bg: var(--zd-bubble-user-bg) !important;
  --zd-bubble-kr-oat-ai-bg: var(--zd-bubble-ai-bg) !important;
  --zd-bubble-kr-oat-user-text: var(--zd-bubble-user-text) !important;
  --zd-bubble-kr-oat-ai-text: var(--zd-bubble-ai-text) !important;

  /* ===== 气泡通用属性 ===== */
  --zd-bubble-radius: 16px !important;
  --zd-bubble-radius-sm: 10px !important;
  --zd-bubble-radius-user: 16px 16px 4px 16px !important;
  --zd-bubble-radius-ai: 16px 16px 16px 4px !important;
  --zd-bubble-blur: none !important;
  --zd-bubble-padding-x: 10px !important;
  --zd-bubble-padding-y: 6px !important;
  --zd-bubble-font-size: 12px !important;
  --zd-bubble-font-weight: 400 !important;
  --zd-bubble-line-height: 1.45 !important;
  --zd-bubble-letter-spacing: 0 !important;
  --zd-bubble-text-color: #2C2C2C !important;
  --zd-bubble-shadow: none !important;
}
/* ============================================
   文本气泡 - 非对称圆角
   ============================================ */
.zd-bubble-kr-oat .zd-bubble.zd-bubble--user {
  border-radius: var(--zd-bubble-radius-user) !important;
  background: var(--zd-bubble-user-bg) !important;
  color: var(--zd-bubble-user-text) !important;
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x) !important;
  font-size: var(--zd-bubble-font-size) !important;
  line-height: var(--zd-bubble-line-height) !important;
}
.zd-bubble-kr-oat .zd-bubble.zd-bubble--ai {
  border-radius: var(--zd-bubble-radius-ai) !important;
  background: var(--zd-bubble-ai-bg) !important;
  color: var(--zd-bubble-ai-text) !important;
  padding: var(--zd-bubble-padding-y) var(--zd-bubble-padding-x) !important;
  font-size: var(--zd-bubble-font-size) !important;
  line-height: var(--zd-bubble-line-height) !important;
}
/* ============================================
   语音消息气泡变量覆盖
   ============================================ */
/* ----- 用户侧语音气泡 ----- */
.zd-bubble-kr-oat .zd-voice-bubble--kr-oat.zd-voice-bubble--user {
  --zd-voice-user-bg: #F0EBE1 !important;
  --zd-voice-user-border: none !important;
  --zd-voice-user-icon: #4A453E !important;
  --zd-voice-user-icon-hover: #4A453E !important;
  --zd-voice-user-spectrum-idle: rgba(74, 69, 62, 0.25) !important;
  --zd-voice-user-spectrum-playing: #4A453E !important;
  --zd-voice-user-duration: rgba(74, 69, 62, 0.5) !important;
  --zd-voice-radius-user: 16px 16px 4px 16px !important;
  --zd-voice-radius-ai: 16px 16px 16px 4px !important;
  --zd-voice-blur: none !important;
  --zd-voice-padding: 6px 12px !important;
  --zd-voice-icon-size: 18px !important;
  --zd-voice-spectrum-bar-width: 2.5px !important;
  --zd-voice-spectrum-bar-gap: 1.5px !important;
  --zd-voice-spectrum-min-height: 4px !important;
  --zd-voice-spectrum-max-height: 20px !important;
  --zd-voice-duration-font: 12px !important;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* ----- AI 侧语音气泡 ----- */
.zd-bubble-kr-oat .zd-voice-bubble--kr-oat.zd-voice-bubble--ai {
  --zd-voice-ai-bg: #FFFFFF !important;
  --zd-voice-ai-border: 0.5px solid #F0F0F0 !important;
  --zd-voice-ai-icon: #2C2C2C !important;
  --zd-voice-ai-icon-hover: #2C2C2C !important;
  --zd-voice-ai-spectrum-idle: rgba(44, 44, 44, 0.2) !important;
  --zd-voice-ai-spectrum-playing: #2C2C2C !important;
  --zd-voice-ai-duration: rgba(44, 44, 44, 0.45) !important;
  --zd-voice-radius-user: 16px 16px 4px 16px !important;
  --zd-voice-radius-ai: 16px 16px 16px 4px !important;
  --zd-voice-blur: none !important;
  --zd-voice-padding: 6px 12px !important;
  --zd-voice-icon-size: 18px !important;
  --zd-voice-spectrum-bar-width: 2.5px !important;
  --zd-voice-spectrum-bar-gap: 1.5px !important;
  --zd-voice-spectrum-min-height: 4px !important;
  --zd-voice-spectrum-max-height: 20px !important;
  --zd-voice-duration-font: 12px !important;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* 语音气泡圆角 */
.zd-bubble-kr-oat .zd-voice-bubble--kr-oat.zd-voice-bubble--user {
  border-radius: var(--zd-voice-radius-user) !important;
}
.zd-bubble-kr-oat .zd-voice-bubble--kr-oat.zd-voice-bubble--ai {
  border-radius: var(--zd-voice-radius-ai) !important;
}
/* ============================================
   语音转文字面板 - 奶油燕麦主题
   暖调燕麦轻盈小标签，柔和半透，韩系温柔感
   ============================================ */
.zd-bubble-kr-oat .zd-voice-transcript,
.zd-bubble-kr-oat .zd-voice-bubble__transcript,
.zd-bubble-kr-oat [class*="voice-transcript"] {
  background: rgba(240, 235, 225, 0.5) !important;
  border: 0.5px solid rgba(200, 190, 170, 0.12) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  margin-top: 3px !important;
  color: rgba(74, 69, 62, 0.5) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
.zd-bubble-kr-oat .zd-voice-bubble--ai .zd-voice-transcript,
.zd-bubble-kr-oat .zd-voice-bubble--ai .zd-voice-bubble__transcript,
.zd-bubble-kr-oat .zd-voice-bubble--ai [class*="voice-transcript"] {
  background: rgba(255, 255, 255, 0.4) !important;
  border-color: rgba(200, 190, 170, 0.08) !important;
}
/* 压缩 header 间距 */
.zd-bubble-kr-oat .zd-voice-transcription-header {
  margin-bottom: 1px !important;
}
/* 极小标签 */
.zd-bubble-kr-oat .zd-voice-transcription-label {
  font-size: 7px !important;
  line-height: 1 !important;
  color: rgba(200, 180, 150, 0.28) !important;
}
.zd-bubble-kr-oat .zd-voice-bubble--ai .zd-voice-transcription-label {
  color: rgba(180, 170, 155, 0.2) !important;
}
/* 关闭按钮 */
.zd-bubble-kr-oat .zd-voice-transcription-close {
  color: rgba(74, 69, 62, 0.12) !important;
}
.zd-bubble-kr-oat .zd-voice-transcription-close:hover {
  color: rgba(74, 69, 62, 0.3) !important;
}
.zd-bubble-kr-oat .zd-voice-bubble--ai .zd-voice-transcription-close {
  color: rgba(0, 0, 0, 0.1) !important;
}
.zd-bubble-kr-oat .zd-voice-bubble--ai .zd-voice-transcription-close:hover {
  color: rgba(0, 0, 0, 0.25) !important;
}
/* 转写中指示器 */
.zd-bubble-kr-oat .zd-voice-dot {
  background: rgba(200, 180, 150, 0.35) !important;
}
.zd-bubble-kr-oat .zd-voice-bubble--ai .zd-voice-dot {
  background: rgba(180, 170, 155, 0.25) !important;
}
/* 子元素继承 */
.zd-bubble-kr-oat .zd-voice-transcript *,
.zd-bubble-kr-oat .zd-voice-bubble__transcript *,
.zd-bubble-kr-oat [class*="voice-transcript"] * {
  color: inherit !important;
}
/**
 * 日系杂志风主题 (Magazine) - 气泡样式
 * Editorial Minimalism · 暖调米白基底，日系排版
 *
 * 对应 bubbleStyleType: 'magazine'
 */
/* ============================================
   文本气泡变量覆盖
   ============================================ */
.zd-bubble-magazine {
  /* ===== 文本气泡变量 ===== */
  /* 用户气泡（右侧，暖调米色纸感） */
  --zd-bubble-user-bg: linear-gradient(135deg, rgba(232, 213, 176, 0.15) 0%, rgba(240, 213, 213, 0.10) 100%);
  --zd-bubble-user-border: 0.5px solid rgba(200, 190, 170, 0.3);
  --zd-bubble-user-shadow: 0 2px 8px rgba(160, 150, 130, 0.08);
  --zd-bubble-user-text: #2D2A26;
  --zd-bubble-user-backdrop-blur: blur(12px);
  --zd-bubble-user-radius: 14px 14px 3px 14px;
  --zd-bubble-user-letter-spacing: 0.04em;
  --zd-bubble-user-line-height: 1.5;
  --zd-bubble-user-padding: 8px 14px;
  --zd-bubble-user-font-size: 14px;

  /* 兼容旧代码变量命名 */
  --zd-bubble-magazine-user-bg: var(--zd-bubble-user-bg);
  --zd-bubble-magazine-user-text: var(--zd-bubble-user-text);
  --zd-bubble-magazine-user-radius: var(--zd-bubble-user-radius);
  --zd-bubble-magazine-user-padding: var(--zd-bubble-user-padding);
  --zd-bubble-magazine-user-font-size: var(--zd-bubble-user-font-size);
  --zd-bubble-magazine-user-line-height: var(--zd-bubble-user-line-height);
  --zd-bubble-magazine-user-letter-spacing: var(--zd-bubble-user-letter-spacing);

  /* AI 气泡（左侧，纯白纸感） */
  --zd-bubble-ai-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(249, 247, 244, 0.90) 100%);
  --zd-bubble-ai-border: 0.5px solid rgba(200, 190, 170, 0.25);
  --zd-bubble-ai-shadow: 0 2px 8px rgba(160, 150, 130, 0.06);
  --zd-bubble-ai-text: #2D2A26;
  --zd-bubble-ai-backdrop-blur: blur(12px);
  --zd-bubble-ai-radius: 14px 14px 14px 3px;
  --zd-bubble-ai-letter-spacing: 0.04em;
  --zd-bubble-ai-line-height: 1.5;
  --zd-bubble-ai-padding: 8px 14px;
  --zd-bubble-ai-font-size: 14px;

  /* 兼容旧代码变量命名 */
  --zd-bubble-magazine-ai-bg: var(--zd-bubble-ai-bg);
  --zd-bubble-magazine-ai-text: var(--zd-bubble-ai-text);
  --zd-bubble-magazine-ai-radius: var(--zd-bubble-ai-radius);
  --zd-bubble-magazine-ai-padding: var(--zd-bubble-ai-padding);
  --zd-bubble-magazine-ai-font-size: var(--zd-bubble-ai-font-size);
  --zd-bubble-magazine-ai-line-height: var(--zd-bubble-ai-line-height);
  --zd-bubble-magazine-ai-letter-spacing: var(--zd-bubble-ai-letter-spacing);

  /* 基础变量 */
  --zd-bubble-radius: 14px;
  --zd-bubble-radius-sm: 3px;
  --zd-bubble-padding-x: 14px;
  --zd-bubble-padding-y: 8px;
  --zd-bubble-font-size: 14px;
  --zd-bubble-font-weight: 300;
  --zd-bubble-line-height: 1.5;
  --zd-bubble-letter-spacing: 0.04em;
}
/* ============================================
   文本气泡 - 非对称圆角直接覆盖（提高特异性）
   ============================================ */
.zd-bubble-magazine .zd-bubble.zd-bubble--user {
  border-radius: var(--zd-bubble-user-radius, 14px 14px 3px 14px);
  background: var(--zd-bubble-user-bg);
  color: var(--zd-bubble-user-text);
  padding: var(--zd-bubble-user-padding, 8px 14px);
  font-size: var(--zd-bubble-user-font-size, 14px);
  line-height: var(--zd-bubble-user-line-height, 1.5);
  letter-spacing: var(--zd-bubble-user-letter-spacing, 0.04em);
  border: var(--zd-bubble-user-border, 0.5px solid rgba(200, 190, 170, 0.3));
  backdrop-filter: var(--zd-bubble-user-backdrop-blur, blur(12px));
  -webkit-backdrop-filter: var(--zd-bubble-user-backdrop-blur, blur(12px));
  box-shadow: var(--zd-bubble-user-shadow, none);
}
.zd-bubble-magazine .zd-bubble.zd-bubble--ai {
  border-radius: var(--zd-bubble-ai-radius, 14px 14px 14px 3px);
  background: var(--zd-bubble-ai-bg);
  color: var(--zd-bubble-ai-text);
  border: var(--zd-bubble-ai-border, 0.5px solid rgba(200, 190, 170, 0.25));
  padding: var(--zd-bubble-ai-padding, 8px 14px);
  font-size: var(--zd-bubble-ai-font-size, 14px);
  line-height: var(--zd-bubble-ai-line-height, 1.5);
  letter-spacing: var(--zd-bubble-ai-letter-spacing, 0.04em);
  backdrop-filter: var(--zd-bubble-ai-backdrop-blur, blur(12px));
  -webkit-backdrop-filter: var(--zd-bubble-ai-backdrop-blur, blur(12px));
  box-shadow: var(--zd-bubble-ai-shadow, none);
}
/* ============================================
   语音消息气泡变量覆盖
   ============================================ */
/* ----- 用户侧语音气泡 ----- */
.zd-bubble-magazine .zd-voice-bubble--magazine.zd-voice-bubble--user,
.zd-bubble-magazine .zd-voice-bubble.zd-voice-bubble--magazine.zd-voice-bubble--user {
  --zd-voice-user-bg: linear-gradient(135deg, rgba(232, 213, 176, 0.15) 0%, rgba(240, 213, 213, 0.10) 100%);
  --zd-voice-user-border: 0.5px solid rgba(200, 190, 170, 0.3);
  --zd-voice-user-icon: #2D2A26;
  --zd-voice-user-icon-hover: #2D2A26;
  --zd-voice-user-spectrum-idle: rgba(45, 42, 38, 0.3);
  --zd-voice-user-spectrum-playing: #D4AF37;
  --zd-voice-user-duration: rgba(45, 42, 38, 0.5);
  --zd-voice-radius-user: 14px 14px 3px 14px;
  --zd-voice-radius-ai: 14px 14px 14px 3px;
  --zd-voice-blur: blur(12px);
  --zd-voice-padding: 6px 12px;
  --zd-voice-icon-size: 16px;
  --zd-voice-spectrum-bar-width: 2px;
  --zd-voice-spectrum-bar-gap: 1px;
  --zd-voice-spectrum-min-height: 4px;
  --zd-voice-spectrum-max-height: 18px;
  --zd-voice-duration-font: 11px;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* ----- AI 侧语音气泡 ----- */
.zd-bubble-magazine .zd-voice-bubble--magazine.zd-voice-bubble--ai,
.zd-bubble-magazine .zd-voice-bubble.zd-voice-bubble--magazine.zd-voice-bubble--ai {
  --zd-voice-ai-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(249, 247, 244, 0.90) 100%);
  --zd-voice-ai-border: 0.5px solid rgba(200, 190, 170, 0.25);
  --zd-voice-ai-icon: #2D2A26;
  --zd-voice-ai-icon-hover: #2D2A26;
  --zd-voice-ai-spectrum-idle: rgba(45, 42, 38, 0.2);
  --zd-voice-ai-spectrum-playing: #D4AF37;
  --zd-voice-ai-duration: rgba(45, 42, 38, 0.45);
  --zd-voice-radius-user: 14px 14px 3px 14px;
  --zd-voice-radius-ai: 14px 14px 14px 3px;
  --zd-voice-blur: blur(12px);
  --zd-voice-padding: 6px 12px;
  --zd-voice-icon-size: 16px;
  --zd-voice-spectrum-bar-width: 2px;
  --zd-voice-spectrum-bar-gap: 1px;
  --zd-voice-spectrum-min-height: 4px;
  --zd-voice-spectrum-max-height: 18px;
  --zd-voice-duration-font: 11px;
  --zd-voice-transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* 语音气泡圆角 */
.zd-bubble-magazine .zd-voice-bubble--magazine.zd-voice-bubble--user {
  border-radius: var(--zd-voice-radius-user, 14px 14px 3px 14px) !important;
}
.zd-bubble-magazine .zd-voice-bubble--magazine.zd-voice-bubble--ai {
  border-radius: var(--zd-voice-radius-ai, 14px 14px 14px 3px) !important;
}
/* ============================================
   语音转文字面板 - 日系杂志风主题
   暖调轻盈小标签，柔和半透，日系温柔排版
   ============================================ */
.zd-bubble-magazine .zd-voice-transcript,
.zd-bubble-magazine .zd-voice-bubble__transcript,
.zd-bubble-magazine [class*="voice-transcript"] {
  background: rgba(249, 247, 244, 0.5) !important;
  border: 0.5px solid rgba(200, 190, 170, 0.12) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  margin-top: 3px !important;
  color: rgba(45, 42, 38, 0.5) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
.zd-bubble-magazine .zd-voice-bubble--ai .zd-voice-transcript,
.zd-bubble-magazine .zd-voice-bubble--ai .zd-voice-bubble__transcript,
.zd-bubble-magazine .zd-voice-bubble--ai [class*="voice-transcript"] {
  background: rgba(255, 255, 255, 0.45) !important;
  border-color: rgba(200, 190, 170, 0.08) !important;
}
/* 压缩 header 间距 */
.zd-bubble-magazine .zd-voice-transcription-header {
  margin-bottom: 1px !important;
}
/* 极小标签 */
.zd-bubble-magazine .zd-voice-transcription-label {
  font-size: 7px !important;
  line-height: 1 !important;
  color: rgba(200, 190, 170, 0.25) !important;
}
.zd-bubble-magazine .zd-voice-bubble--ai .zd-voice-transcription-label {
  color: rgba(200, 190, 170, 0.18) !important;
}
/* 关闭按钮 */
.zd-bubble-magazine .zd-voice-transcription-close {
  color: rgba(45, 42, 38, 0.12) !important;
}
.zd-bubble-magazine .zd-voice-transcription-close:hover {
  color: rgba(45, 42, 38, 0.3) !important;
}
.zd-bubble-magazine .zd-voice-bubble--ai .zd-voice-transcription-close {
  color: rgba(0, 0, 0, 0.1) !important;
}
.zd-bubble-magazine .zd-voice-bubble--ai .zd-voice-transcription-close:hover {
  color: rgba(0, 0, 0, 0.25) !important;
}
/* 转写中指示器 */
.zd-bubble-magazine .zd-voice-dot {
  background: rgba(200, 190, 170, 0.35) !important;
}
.zd-bubble-magazine .zd-voice-bubble--ai .zd-voice-dot {
  background: rgba(200, 190, 170, 0.25) !important;
}
/* 子元素继承 */
.zd-bubble-magazine .zd-voice-transcript *,
.zd-bubble-magazine .zd-voice-bubble__transcript *,
.zd-bubble-magazine [class*="voice-transcript"] * {
  color: inherit !important;
}
/* ========== 16. 工具类 ========== */
/**
 * @file utilities.css
 * @description 零度存档 - 工具类 (Utility Classes)
 */
/* 动画工具类 */
.zd-animate-fade-in {
  animation: zd-fade-in var(--zd-transition-slower) ease-out;
}
.zd-animate-slide-up {
  animation: zd-slide-up var(--zd-transition-slower) ease-out;
}
.zd-animate-scale-in {
  animation: zd-scale-in var(--zd-transition-base) ease-out;
}
.zd-animate-glow {
  animation: zd-glow 2s ease-in-out infinite;
}
.zd-animate-pulse {
  animation: zd-pulse 1.5s ease-in-out infinite;
}
.zd-animate-breathe {
  animation: zd-breathe 2s ease-in-out infinite;
}
/* 红包动画工具类 */
.zd-animate-fortune-hover {
  animation: zd-fortune-hover 2s ease-in-out infinite;
}
.zd-animate-fortune-press {
  animation: zd-fortune-press 0.15s ease-out;
}
.zd-animate-fortune-fade-in {
  animation: zd-fortune-fade-in 0.3s ease-out;
}
.zd-animate-fortune-breathe {
  animation: zd-fortune-hover 2s ease-in-out infinite;
}
/* 红包工具类 */
.zd-hongbao-vertical {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* 隐藏滚动条 */
.zd-hide-scrollbar::-webkit-scrollbar {
  display: none;
}
.zd-hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
/* ============================================
   Arctic Glass 3.0 - 极地霜晶 · 温润质感升级
   材质工具类
   ============================================ */
.zd-arctic-ceramic {
  background: var(--zd-arctic-glass-bg-elevated);
  backdrop-filter: blur(var(--zd-arctic-glass-blur)) saturate(var(--zd-arctic-glass-saturate));
  border: 1px solid var(--zd-arctic-glass-border);
  box-shadow: var(--zd-shadow-ceramic);
  transition: all 0.5s var(--zd-ease-premium);
}
.zd-arctic-subsurface {
  position: relative;
}
.zd-arctic-subsurface::before {
  content: '';
  position: absolute;
  inset: -1px;
  background: var(--zd-subsurface-glow);
  filter: blur(40px);
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.5s var(--zd-ease-premium);
  z-index: -1;
  pointer-events: none;
}
.zd-arctic-subsurface:hover::before {
  opacity: 1;
}
.zd-arctic-float {
  box-shadow: var(--zd-shadow-float);
  transition: box-shadow 0.5s var(--zd-ease-premium), transform 0.3s var(--zd-ease-spring);
}
.zd-arctic-float:hover {
  box-shadow: var(--zd-shadow-float-hover);
  transform: translateY(-2px);
}
/* 引用跳转高亮 */
.zd-quote-highlight {
  animation: zd-quote-highlight 1.2s ease-out;
  border-radius: 12px;
}
/* 引入样式模块 */
/*
 * 零度存档 · CSS 变量系统
 * Zero Degree Archive · CSS Variables
 *
 * 设计原则:
 * - 单一点:root，所有变量在此定义
 * - --zd-accent-* = 抹茶拿铁色系 (项目默认强调色)
 * - --zd-wechat-* = WeChat 界面变量 (黑金/深色风格)
 * - --zd-arctic-* = 极地/冰霜色系 (由 arctic.css 的 class 覆盖)
 * - --zd-timestamp-* = 时间戳排版变量
 */
/* ============================================
   :root - 合并后的全局默认变量
   ============================================ */
:root {

  /* ==========================================
     抹茶拿铁色系 (Matcha Latte) - 项目默认强调色
     ============================================ */
  --zd-accent-matcha-cream: #FAF9F6;
  --zd-accent-matcha-light: #F0F4ED;
  --zd-accent-matcha-pale: #E4E9DE;
  --zd-accent-matcha-soft: #C5D5B8;
  --zd-accent-matcha-main: #8DA37A;
  --zd-accent-matcha-deep: #5A6F52;
  --zd-accent-matcha-forest: #3A4B36;
  --zd-accent-warm-white: #FFFEF9;
  --zd-accent-soft-gray: #9A9A9A;
  --zd-accent-warm-gray: #B5B0A8;
  --zd-accent-pink: #E8B4B8;
  --zd-accent-blue: #A8C5D5;
  --zd-accent-gold: #D4C5A8;

  /* ==========================================
     WeChat 黑金主题 (WeChat Black Gold)
     ============================================ */
  --zd-wechat-black: #08080A;
  --zd-wechat-charcoal: #121216;
  --zd-wechat-slate: #1A1A20;
  --zd-wechat-gold: #D4AF37;
  --zd-wechat-gold-light: #E8C85C;
  --zd-wechat-gold-dark: #B8942E;
  --zd-wechat-gold-glow: rgba(212, 175, 55, 0.3);
  --zd-wechat-text-primary: #E8E8EC;
  --zd-wechat-text-secondary: #A1A1A6;
  --zd-wechat-text-muted: #52525B;
  --zd-wechat-text-placeholder: #3F3F46;
  --zd-wechat-border-hairline: rgba(255, 255, 255, 0.08);
  --zd-wechat-border-subtle: rgba(255, 255, 255, 0.12);
  --zd-wechat-border-divider: rgba(255, 255, 255, 0.06);
  --zd-wechat-border-gold: rgba(212, 175, 55, 0.3);
  --zd-wechat-glass-bg: rgba(10, 10, 12, 0.85);
  --zd-wechat-glass-bg-heavy: rgba(10, 10, 12, 0.92);
  --zd-wechat-glass-blur: 25px;
  --zd-wechat-glass-saturate: 180%;
  --zd-wechat-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
  --zd-wechat-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
  --zd-wechat-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);
  --zd-wechat-shadow-glow: 0 0 20px var(--zd-wechat-gold-glow);
  --zd-wechat-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --zd-wechat-radius-sm: 8px;
  --zd-wechat-radius-md: 12px;
  --zd-wechat-radius-lg: 16px;
  --zd-wechat-radius-xl: 20px;
  --zd-wechat-radius-2xl: 24px;
  --zd-wechat-radius-full: 9999px;
  --zd-wechat-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-wechat-transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-wechat-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-wechat-melt-red: #C44569;
  --zd-wechat-melt-red-light: #E8B4B8;
  --zd-wechat-melt-red-dark: #8B2345;
  --zd-wechat-melt-gradient: linear-gradient(135deg, var(--zd-wechat-melt-red), var(--zd-wechat-melt-red-dark));

  /* ==========================================
     极地色系 (Arctic) - 默认值，由 arctic.css 的 class 覆盖
     ============================================ */
  --zd-arctic-bg-primary: #050507;
  --zd-arctic-bg-secondary: #0A0A0F;
  --zd-arctic-bg-tertiary: #12121A;
  --zd-arctic-bg-glass: rgba(10, 10, 16, 0.6);
  --zd-arctic-aurora-green: rgba(122, 157, 117, 0.15);
  --zd-arctic-aurora-blue: rgba(123, 149, 183, 0.12);
  --zd-arctic-aurora-glow: rgba(122, 157, 117, 0.08);
  --zd-arctic-glacier-blue: rgba(165, 216, 255, 0.08);
  --zd-arctic-glacier-border: rgba(165, 216, 255, 0.35);
  --zd-arctic-glacier-glow: rgba(165, 216, 255, 0.15);
  --zd-arctic-glacier-text: #E8F0F8;
  --zd-arctic-dawn-gold: rgba(212, 175, 55, 0.08);
  --zd-arctic-dawn-border: rgba(212, 175, 55, 0.35);
  --zd-arctic-dawn-glow: rgba(212, 175, 55, 0.12);
  --zd-arctic-dawn-text: #F8F4E8;
  --zd-arctic-text-primary: #ECECF0;
  --zd-arctic-text-secondary: #A8A8B0;
  --zd-arctic-text-muted: #5C5C66;
  --zd-arctic-text-placeholder: #3A3A42;
  --zd-arctic-text-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --zd-arctic-border-hairline: rgba(255, 255, 255, 0.06);
  --zd-arctic-border-subtle: rgba(255, 255, 255, 0.1);
  --zd-arctic-border-divider: rgba(255, 255, 255, 0.04);
  --zd-arctic-border-glacier: rgba(165, 216, 255, 0.2);
  --zd-arctic-border-dawn: rgba(212, 175, 55, 0.2);
  --zd-arctic-glass-blur: 40px;
  --zd-arctic-glass-saturate: 160%;
  --zd-arctic-glass-opacity: 0.85;
  --zd-arctic-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.5);
  --zd-arctic-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.6);
  --zd-arctic-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.7);
  --zd-arctic-shadow-glacier: 0 0 20px rgba(165, 216, 255, 0.15);
  --zd-arctic-shadow-dawn: 0 0 20px rgba(212, 175, 55, 0.15);
  --zd-arctic-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  --zd-arctic-radius-sm: 6px;
  --zd-arctic-radius-md: 10px;
  --zd-arctic-radius-lg: 14px;
  --zd-arctic-radius-xl: 18px;
  --zd-arctic-radius-2xl: 22px;
  --zd-arctic-radius-full: 9999px;
  --zd-arctic-transition-fast: 120ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-arctic-transition-base: 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --zd-arctic-transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --zd-arctic-wave-line: rgba(212, 175, 55, 0.6);
  --zd-arctic-wave-glow: rgba(212, 175, 55, 0.3);
  --zd-arctic-drive-bg: rgba(212, 175, 55, 0.12);
  --zd-arctic-drive-border: rgba(212, 175, 55, 0.4);
  --zd-arctic-drive-glow: rgba(212, 175, 55, 0.5);
  --zd-arctic-drive-active: rgba(212, 175, 55, 0.25);
  --zd-arctic-send-bg: rgba(165, 216, 255, 0.2);
  --zd-arctic-send-glow: rgba(165, 216, 255, 0.4);

  /* ==========================================
     时间戳排版变量 (Timestamp Typography)
     ============================================ */
  --zd-timestamp-font-family: 'JetBrains Mono', 'Fira Code', monospace;
  --zd-timestamp-font-size: 11px;
  --zd-timestamp-font-weight: 400;
  --zd-timestamp-letter-spacing: 0.03em;
  --zd-timestamp-line-height: 1;
  --zd-timestamp-color-nox: rgba(255, 255, 255, 0.65);
  --zd-timestamp-color-lux: rgba(0, 0, 0, 0.55);
  --zd-timestamp-margin-x: 4px;
  --zd-timestamp-gap: 6px;

  /* ==========================================
     字体栈 & 阴影 (通用)
     ============================================ */
  --zd-font-serif: 'STSongti-SC', 'Songti SC', 'Noto Serif SC', 'SimSun', 'Georgia', serif;
  --zd-font-sans: system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', 'Inter', sans-serif;
  --zd-font-hand: 'Kaiti SC', 'STKaiti', 'KaiTi', 'Ma Shan Zheng', cursive;
  --zd-shadow-soft: 0 4px 20px rgba(58, 75, 54, 0.08);
  --zd-shadow-medium: 0 8px 30px rgba(58, 75, 54, 0.12);
  --zd-shadow-deep: 0 15px 50px rgba(58, 75, 54, 0.18);
}
/* 
 * 零度存档 · 组件样式
 * Zero Degree Archive · Components
 */
/* ============================================
   Typography - 排版艺术
   ============================================ */
.font-serif {
  font-family: var(--font-serif);
}
.font-hand {
  font-family: var(--font-hand);
}
/* ============================================
   Components - 组件样式
   ============================================ */
/* 流体形状背景 */
.fluid-blob {
  border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
}
.fluid-blob-alt {
  border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
}
/* 噪点磨砂玻璃 */
.noise-glass {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  position: relative;
}
.noise-glass::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  opacity: 0.04;
  pointer-events: none;
}
/* 拍立得风格卡片 */
.polaroid-card {
  background: white;
  box-shadow: var(--shadow-soft);
  transform: rotate(-2deg);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.polaroid-card:hover {
  transform: rotate(0deg) scale(1.02);
  box-shadow: var(--shadow-medium);
}
/* 毛玻璃气泡 */
.glass-bubble {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-full);
}
/* 月环图标 */
.moon-ring {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(228, 233, 222, 0.8));
  backdrop-filter: blur(10px);
  border: 2px solid rgba(141, 163, 122, 0.3);
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}
.moon-ring::after {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1px solid rgba(141, 163, 122, 0.5);
  border-top-color: transparent;
  transform: rotate(-45deg);
}
.moon-ring:hover {
  transform: scale(1.1);
  box-shadow: 0 0 20px rgba(141, 163, 122, 0.4);
}
/* 星海/记忆库神经元 */
.neuron-node {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #C5D5B8, #8DA37A);
  box-shadow: 0 0 15px rgba(141, 163, 122, 0.6);
  cursor: pointer;
  transition: all 0.3s ease;
}
.neuron-node:hover {
  transform: scale(1.3);
  box-shadow: 0 0 25px rgba(141, 163, 122, 0.9);
}
.neuron-connection {
  stroke: rgba(141, 163, 122, 0.3);
  stroke-width: 1;
  fill: none;
}
/* 解锁光球 */
.unlock-orb {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.9), rgba(141, 163, 122, 0.6));
  box-shadow: 0 0 40px rgba(141, 163, 122, 0.5), inset 0 0 20px rgba(255,255,255,0.5);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.unlock-orb::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255,255,255,0.4), transparent);
  animation: shimmer 3s infinite;
}
/* 底部导航胶囊 */
.floating-dock {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-medium);
}
/* ============================================
   WeChat 气泡样式 (像素级复刻)
   ============================================ */
.chat-bubble {
  position: relative;
  padding: 10px 14px;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1.6;
  word-wrap: break-word;
  max-width: 70%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.chat-bubble-received {
  background-color: #E6F2FF;
  color: #000;
}
.chat-bubble-received::before {
  content: '';
  position: absolute;
  left: -7.2px;
  top: 14px;
  width: 0;
  height: 0;
  border-top: 7.2px solid transparent;
  border-right: 7.2px solid #E6F2FF;
  border-bottom: 7.2px solid transparent;
}
.chat-bubble-sent {
  background-color: #95EC69;
  color: #000;
}
.chat-bubble-sent::after {
  content: '';
  position: absolute;
  right: -7.2px;
  top: 14px;
  width: 0;
  height: 0;
  border-top: 7.2px solid transparent;
  border-left: 7.2px solid #95EC69;
  border-bottom: 7.2px solid transparent;
}
/* ============================================
   Scrollbar Styles
   ============================================ */
/* 默认滚动条 - 隐藏（奢华无滚动条设计） */
::-webkit-scrollbar {
  width: 0px;
  height: 0px;
  display: none;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: var(--radius-full);
}
/* 标准滚动条（用于需要显示的场景） */
.scrollbar-visible::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  display: block;
}
.scrollbar-visible::-webkit-scrollbar-track {
  background: transparent;
}
.scrollbar-visible::-webkit-scrollbar-thumb {
  background: var(--matcha-pale);
  border-radius: var(--radius-full);
}
.scrollbar-visible::-webkit-scrollbar-thumb:hover {
  background: var(--matcha-soft);
}
/* 隐藏 IE/Edge 滚动条 */
* {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
/* WeChat 设置页面专用 - 完全隐藏滚动条 */
.zd-no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.zd-no-scrollbar::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
/* Hover 时显示极细金色滚动条（进阶体验） */
.zd-gold-scrollbar:hover::-webkit-scrollbar {
  width: 2px;
  display: block;
}
.zd-gold-scrollbar:hover::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--zd-wechat-gold), var(--zd-wechat-gold-dark));
  border-radius: var(--radius-full);
  box-shadow: 0 0 8px var(--zd-wechat-gold-glow);
}
.zd-gold-scrollbar:hover::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.02);
}
/* ============================================
   Selection Styles
   ============================================ */
::-moz-selection {
  background: var(--matcha-main);
  color: white;
}
::selection {
  background: var(--matcha-main);
  color: white;
}
/* ============================================
   Utility Classes
   ============================================ */
.text-gradient {
  background: linear-gradient(135deg, var(--matcha-deep), var(--matcha-main));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.shadow-inner-soft {
  box-shadow: inset 0 2px 10px rgba(58, 75, 54, 0.05);
}
/* ============================================
   WeChat 聊天设置 · 工具类
   ============================================ */
/* 高透磨砂玻璃卡片 */
.zd-glass-card {
  background: var(--zd-wechat-glass-bg);
  backdrop-filter: blur(var(--zd-wechat-glass-blur)) saturate(var(--zd-wechat-glass-saturate));
  -webkit-backdrop-filter: blur(var(--zd-wechat-glass-blur)) saturate(var(--zd-wechat-glass-saturate));
  border: 0.5px solid var(--zd-wechat-border-hairline);
  border-radius: var(--zd-wechat-radius-xl);
}
/* 冷银色分割线 */
.zd-divider {
  height: 0.5px;
  background: linear-gradient(90deg, 
    transparent, 
    rgba(255, 255, 255, 0.12), 
    rgba(255, 255, 255, 0.08),
    transparent
  );
}
/* 金色呼吸圆环 */
.zd-gold-ring {
  border-radius: 50%;
  border: 1px solid var(--zd-wechat-gold);
  box-shadow: 0 0 12px var(--zd-wechat-gold-glow);
  animation: zd-gold-breathe 2s ease-in-out infinite;
}
/* 精密仪表盘滑块 */
.zd-precision-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 100%;
  height: 6px;
  border-radius: var(--zd-wechat-radius-full);
  background: var(--zd-wechat-slate);
  outline: none;
  transition: all var(--zd-wechat-transition-base);
}
.zd-precision-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--zd-wechat-gold-light), var(--zd-wechat-gold));
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(212, 175, 55, 0.5);
  -webkit-transition: all var(--zd-wechat-transition-fast);
  transition: all var(--zd-wechat-transition-fast);
}
.zd-precision-slider::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 16px rgba(212, 175, 55, 0.7);
}
.zd-precision-slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--zd-wechat-gold-light), var(--zd-wechat-gold));
  cursor: pointer;
  border: none;
  box-shadow: 0 2px 8px rgba(212, 175, 55, 0.5);
  -moz-transition: all var(--zd-wechat-transition-fast);
  transition: all var(--zd-wechat-transition-fast);
}
/* 熔毁按钮 */
.zd-melt-button {
  background: var(--zd-wechat-melt-gradient);
  background-size: 200% 200%;
  animation: zd-melt-glow 2s ease-in-out infinite;
  border: none;
  border-radius: var(--zd-wechat-radius-lg);
  color: white;
  padding: 12px 24px;
  cursor: pointer;
  transition: all var(--zd-wechat-transition-base);
}
.zd-melt-button:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 24px rgba(196, 69, 105, 0.5);
}
.zd-melt-button:active {
  transform: scale(0.98);
}
/* ============================================
   极地·琉璃主题 · 专用工具类
   Arctic Lucent Theme · Utility Classes
   ============================================ */
/* 极地背景 */
.zd-arctic-bg {
  background: var(--zd-arctic-bg-primary);
  background-image: 
    radial-gradient(ellipse at top, var(--zd-arctic-aurora-glow), transparent 60%),
    radial-gradient(ellipse at bottom, var(--zd-arctic-aurora-blue), transparent 50%);
}
/* 琉璃玻璃容器 */
.zd-arctic-glass {
  background: var(--zd-arctic-bg-glass);
  backdrop-filter: blur(var(--zd-arctic-glass-blur)) saturate(var(--zd-arctic-glass-saturate));
  -webkit-backdrop-filter: blur(var(--zd-arctic-glass-blur)) saturate(var(--zd-arctic-glass-saturate));
  border: 0.5px solid var(--zd-arctic-border-hairline);
}
/* 冰川蓝气泡（User） */
.zd-arctic-bubble-user {
  background: var(--zd-arctic-glacier-blue);
  border: 0.5px solid var(--zd-arctic-glacier-border);
  box-shadow: 
    var(--zd-arctic-shadow-glacier),
    var(--zd-arctic-shadow-inset);
  color: var(--zd-arctic-glacier-text);
}
/* 晨曦金气泡（AI） */
.zd-arctic-bubble-ai {
  background: var(--zd-arctic-dawn-gold);
  border: 0.5px solid var(--zd-arctic-dawn-border);
  box-shadow: 
    var(--zd-arctic-shadow-dawn),
    var(--zd-arctic-shadow-inset);
  color: var(--zd-arctic-dawn-text);
}
/* 情感波形图 */
.zd-arctic-waveform {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 12px;
}
.zd-arctic-waveform-bar {
  width: 2px;
  background: var(--zd-arctic-wave-line);
  border-radius: 1px;
  animation: zd-waveform-pulse 1.5s ease-in-out infinite;
  box-shadow: 0 0 6px var(--zd-arctic-wave-glow);
}
.zd-arctic-waveform-bar:nth-child(1) { animation-delay: 0ms; height: 40%; }
.zd-arctic-waveform-bar:nth-child(2) { animation-delay: 100ms; height: 70%; }
.zd-arctic-waveform-bar:nth-child(3) { animation-delay: 200ms; height: 100%; }
.zd-arctic-waveform-bar:nth-child(4) { animation-delay: 300ms; height: 60%; }
.zd-arctic-waveform-bar:nth-child(5) { animation-delay: 400ms; height: 80%; }
/* 驱动按钮（星火/魔杖） */
.zd-arctic-drive-button {
  background: var(--zd-arctic-drive-bg);
  border: 0.5px solid var(--zd-arctic-drive-border);
  box-shadow: 0 0 16px var(--zd-arctic-drive-glow);
  animation: zd-arctic-drive-breathe 2s ease-in-out infinite;
}
.zd-arctic-drive-button:active {
  background: var(--zd-arctic-drive-active);
  transform: scale(0.95);
}
/* 发送按钮（纸飞机） */
.zd-arctic-send-button {
  background: var(--zd-arctic-send-bg);
  box-shadow: 0 0 12px var(--zd-arctic-send-glow);
}
/* 消息时间戳（Monospace）- 极简排版化设计 */
.zd-arctic-timestamp {
  font-family: var(--zd-timestamp-font-family, monospace);
  font-size: var(--zd-timestamp-font-size);
  font-weight: var(--zd-timestamp-font-weight);
  color: var(--zd-timestamp-color-nox);
  letter-spacing: var(--zd-timestamp-letter-spacing);
  line-height: var(--zd-timestamp-line-height);
  /* 移除过重的黑色阴影，保持极简化 */
  text-shadow: none;
}
/* 输入框 */
.zd-arctic-input {
  background: transparent;
  border: none;
  outline: none;
  color: var(--zd-arctic-text-primary);
  font-size: 15px;
}
.zd-arctic-input::-moz-placeholder {
  color: var(--zd-arctic-text-placeholder);
}
.zd-arctic-input::placeholder {
  color: var(--zd-arctic-text-placeholder);
}
/* 消息群组间距 */
.zd-arctic-message-group {
  margin-top: 4px;
}
.zd-arctic-message-group-first {
  margin-top: 16px;
}
/* 头像显示控制 */
.zd-arctic-avatar-show {
  opacity: 1;
}
.zd-arctic-avatar-hide {
  opacity: 0;
  pointer-events: none;
}
/* 侧滑感知类 - 左滑显示时间戳 */
.zd-timestamp-slide {
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* 气泡连接处圆角优化 */
.zd-arctic-bubble-connect {
  border-radius: var(--zd-arctic-radius-md);
}
/* 分段选择器高亮块 */
.zd-segmented-highlight {
  background: var(--zd-wechat-gold);
  color: #000000;
  box-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
  transition: all var(--zd-wechat-transition-base);
}
/* 时间戳外部样式（气泡外侧，底部对齐）- 极简排版化设计 */
.zd-arctic-timestamp-external {
  font-family: var(--zd-timestamp-font-family, monospace);
  font-size: var(--zd-timestamp-font-size);
  font-weight: var(--zd-timestamp-font-weight);
  color: var(--zd-timestamp-color-nox);
  white-space: nowrap;
  letter-spacing: var(--zd-timestamp-letter-spacing);
  line-height: var(--zd-timestamp-line-height);
  /* 移除过重的黑色阴影，保持极简化 */
  text-shadow: none;
}
/* 印记容器（气泡外侧，中部对齐）- 与气泡垂直居中对齐 */
.zd-meta-info-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--zd-timestamp-gap);
  margin-left: 4px;
  margin-right: 4px;
  align-self: center;
  flex-shrink: 0;
  /* 确保时间戳与气泡中部精确对齐 */
  margin-bottom: 0;
  padding-bottom: 1px;
}
/* 已读图标过渡效果 */
.zd-read-icon {
  transition: stroke 0.2s ease, filter 0.2s ease, transform 0.2s ease;
}
/* 气泡文本 - Editorial Minimalism 2.0 无阴影 */
.zd-bubble-text {
  text-shadow: none;
}
/* 时间戳保护阴影 - 已移除，采用极简设计 */
/* .zd-arctic-timestamp-external text-shadow removed for minimalism */
/* ============================================
   🏆 头像顶部对齐强制修复 (Avatar Top Align Fix)
   ============================================ */
/* 消息行基座 */
.zd-message-row {
  display: flex;
  align-items: flex-end;
  width: 100%;
  margin-bottom: 16px;
  gap: 4px;
}
/* User 消息 - 靠右渲染 (row-reverse) */
.zd-message-row.is-user {
  flex-direction: row-reverse;
}
/* AI 消息 - 靠左渲染 (row) */
.zd-message-row.is-ai {
  flex-direction: row;
}
/* 🏆 头像容器 - 强制顶部对齐 */
.zd-message-row .zd-avatar-wrapper,
.zd-message-row .zd-avatar-top-align {
  align-self: flex-start !important;
  margin-top: 4px !important;
}
/* 头像占位符也需要顶部对齐 */
.zd-message-row .zd-avatar-placeholder {
  align-self: flex-start !important;
  margin-top: 4px !important;
}
/* ============================================
   极地·枢纽主题 · 工具类 (Arctic Hub Utilities)
   ============================================ */
/* 全域黑金琉璃背景 */
.zd-hub-bg-primary {
  background: var(--zd-hub-bg-primary);
}
/* 琉璃卡片背景 */
.zd-hub-card {
  background: var(--zd-hub-card-bg);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  border: 0.5px solid var(--zd-hub-border-hairline);
  box-shadow: var(--zd-hub-neon-shadow);
}
/* 扫描线纹理 */
.zd-hub-scan-lines {
  background-image: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 1px,
    var(--zd-hub-scan-line) 1px,
    var(--zd-hub-scan-line) 2px
  );
  background-size: 100% 4px;
  animation: zd-hub-scan 8s linear infinite;
}
/* 冰蓝冷光装饰 */
.zd-hub-ice-glow {
  box-shadow: 0 0 40px var(--zd-hub-accent-ice-glow);
}
/* 金色呼吸光点 */
.zd-hub-breath-dot {
  background: radial-gradient(circle, var(--zd-hub-breath-gold) 0%, var(--zd-hub-breath-ice) 100%);
  box-shadow: 0 0 8px var(--zd-hub-breath-gold);
  animation: zd-hub-breath 2s ease-in-out infinite;
}
/* 未读金色气泡 */
.zd-hub-unread-badge {
  background: var(--zd-hub-unread-bg);
  border: 0.5px solid var(--zd-hub-unread-border);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.15);
}
/* 晶体底座导航 */
.zd-hub-dock {
  background: var(--zd-hub-glass-bg);
  backdrop-filter: blur(var(--zd-hub-glass-blur-heavy));
  -webkit-backdrop-filter: blur(var(--zd-hub-glass-blur-heavy));
  border-top: 0.5px solid var(--zd-hub-border-hairline);
  box-shadow: 0 -8px 32px var(--zd-hub-shadow-deep), 0 0 20px var(--zd-hub-accent-ice-glow);
}
/* 数据流霓虹条 */
.zd-hub-data-stream {
  background: linear-gradient(
    90deg,
    transparent,
    var(--zd-hub-accent-ice),
    var(--zd-hub-accent-gold),
    var(--zd-hub-accent-ice),
    transparent
  );
  box-shadow: 0 -1px 8px var(--zd-hub-accent-ice-glow);
}
/* 
 * 零度存档 · 动画系统
 * Zero Degree Archive · Animations
 */
/* ============================================
   全息赛博蝴蝶动画
   ============================================ */
@keyframes horizontal-fly {
  0% {
    left: -10%;
    transform: translateY(-50%) scaleX(1);
  }
  10% {
    transform: translateY(-50%) scaleX(1.1);
  }
  50% {
    left: 85%;
    transform: translateY(-50%) scaleX(1);
  }
  60% {
    transform: translateY(-50%) scaleX(0.95);
  }
  100% {
    left: 85%;
    transform: translateY(-50%) scaleX(1);
  }
}
@keyframes holo-flicker {
  0%, 100% {
    opacity: 0.85;
  }
  50% {
    opacity: 0.75;
  }
  75% {
    opacity: 0.9;
  }
  90% {
    opacity: 0.8;
  }
}
/* ============================================
   基础优雅动画
   ============================================ */
@keyframes breathe {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.02); opacity: 0.95; }
}
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
@keyframes ripple {
  0% { transform: scale(0); opacity: 0.5; }
  100% { transform: scale(4); opacity: 0; }
}
@keyframes glow {
  0%, 100% { box-shadow: 0 0 20px rgba(141, 163, 122, 0.3); }
  50% { box-shadow: 0 0 35px rgba(141, 163, 122, 0.6); }
}
@keyframes dotPulse {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.2); }
}
@keyframes neuronPulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}
@keyframes particleFloat {
  0% { transform: translateY(0px) translateX(0px); opacity: 0; }
  50% { opacity: 0.8; }
  100% { transform: translateY(-100px) translateX(50px); opacity: 0; }
}
/* ============================================
   琉璃声波 · 语音消息动画
   ============================================ */
@keyframes voiceButtonPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.15);
    opacity: 0.9;
  }
}
@keyframes voiceWaveformFlow {
  0%, 100% {
    transform: scaleY(0.8);
    opacity: 0.6;
  }
  50% {
    transform: scaleY(1.2);
    opacity: 1;
  }
}
@keyframes voiceWaveformAfterglow {
  0% {
    filter: brightness(1.2);
    opacity: 0.8;
  }
  100% {
    filter: brightness(0.8);
    opacity: 0.3;
  }
}
/* 语音频谱线 - 静止呼吸动画 */
@keyframes zd-voice-bar-pulse {
  0%, 100% {
    transform: scaleY(0.65);
    opacity: 0.5;
  }
  50% {
    transform: scaleY(1.2);
    opacity: 1;
  }
}
/* 语音频谱线 - 播放中脉冲发光 */
@keyframes zd-voice-bar-pulse-glow {
  0%, 100% {
    opacity: 0.7;
    transform: scaleY(1);
  }
  50% {
    opacity: 1;
    transform: scaleY(1.15);
  }
}
/* 语音气泡 - 播放结束回弹 */
@keyframes zd-voice-bounce {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
}
/* 语音转写 - 转中微颤动画 */
@keyframes zd-voice-transcribing {
  0%, 100% {
    transform: scaleY(0.5);
    opacity: 0.3;
  }
  50% {
    transform: scaleY(0.8);
    opacity: 0.6;
  }
}
/* 语音转写 - 文字渐显动画 */
@keyframes zd-voice-text-reveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 语音转写中 - 三个点脉冲动画 */
@keyframes zd-voice-dot-pulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}
/* 基础动画工具类 */
.animate-breathe {
  animation: breathe 3s ease-in-out infinite;
}
.animate-float {
  animation: float 4s ease-in-out infinite;
}
.animate-shimmer {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  background-size: 200% 100%;
  animation: shimmer 2s infinite;
}
.animate-glow {
  animation: glow 2s ease-in-out infinite;
}
.animate-ripple {
  animation: ripple 1.5s ease-out forwards;
}
.animate-neuron {
  animation: neuronPulse 2s ease-in-out infinite;
}
.animate-particle {
  animation: particleFloat 3s ease-out forwards;
}
/* ============================================
   WeChat 聊天设置 · 专用动画
   ============================================ */
/* 向内凹陷压感效果 */
@keyframes zd-press-in {
  0% { transform: scale(1); }
  50% { transform: scale(0.98); }
  100% { transform: scale(1); }
}
/* 金色呼吸光晕 */
@keyframes zd-gold-breathe {
  0%, 100% { 
    box-shadow: 0 0 12px var(--zd-wechat-gold-glow);
    opacity: 1;
  }
  50% { 
    box-shadow: 0 0 24px var(--zd-wechat-gold-glow);
    opacity: 0.8;
  }
}
/* 熔毁渐变效果 */
@keyframes zd-melt-glow {
  0%, 100% { 
    background-position: 0% 50%;
    box-shadow: 0 0 16px rgba(196, 69, 105, 0.4);
  }
  50% { 
    background-position: 100% 50%;
    box-shadow: 0 0 28px rgba(196, 69, 105, 0.7);
  }
}
/* 向右推入页面动画 */
@keyframes zd-slide-out-right {
  0% { 
    opacity: 1;
    transform: translateX(0);
  }
  100% { 
    opacity: 0.8;
    transform: translateX(20%);
  }
}
/* 精密仪表盘滑块轨道 */
@keyframes zd-slider-track-glow {
  0%, 100% { 
    box-shadow: 0 0 8px rgba(212, 175, 55, 0.2);
  }
  50% { 
    box-shadow: 0 0 16px rgba(212, 175, 55, 0.4);
  }
}
/* 电涌光效反馈 */
@keyframes zd-surge-flash {
  0% { 
    box-shadow: 0 0 0 rgba(212, 175, 55, 0);
    filter: brightness(1);
  }
  50% { 
    box-shadow: 0 0 24px rgba(212, 175, 55, 0.6);
    filter: brightness(1.3);
  }
  100% { 
    box-shadow: 0 0 8px rgba(212, 175, 55, 0.2);
    filter: brightness(1);
  }
}
/* 交错淡入动画 */
@keyframes zd-stagger-fade-in {
  0% { 
    opacity: 0;
    transform: translateY(12px);
  }
  100% { 
    opacity: 1;
    transform: translateY(0);
  }
}
/* 数字跳动动画 */
@keyframes zd-number-flip {
  0% { 
    transform: translateY(-100%);
    opacity: 0;
  }
  50% {
    transform: translateY(10%);
    opacity: 0.8;
  }
  100% { 
    transform: translateY(0);
    opacity: 1;
  }
}
/* 扫描线纹理动画 */
@keyframes zd-scan-lines {
  0% { 
    background-position: 0 0;
  }
  100% { 
    background-position: 0 4px;
  }
}
/* WeChat 动画工具类 */
.zd-animate-press-in {
  animation: zd-press-in 0.15s ease-out;
}
.zd-animate-gold-breathe {
  animation: zd-gold-breathe 2s ease-in-out infinite;
}
.zd-animate-melt-glow {
  animation: zd-melt-glow 2s ease-in-out infinite;
  background-size: 200% 200%;
}
.zd-animate-slider-track {
  animation: zd-slider-track-glow 3s ease-in-out infinite;
}
.zd-slide-out-right {
  animation: zd-slide-out-right var(--zd-wechat-transition-slow) ease-in forwards;
}
.zd-animate-surge {
  animation: zd-surge-flash 0.3s ease-out;
}
.zd-stagger-fade-in {
  animation: zd-stagger-fade-in 0.5s ease-out forwards;
}
.zd-stagger-fade-in-delay-1 {
  animation: zd-stagger-fade-in 0.5s ease-out 0.1s forwards;
  opacity: 0;
}
.zd-stagger-fade-in-delay-2 {
  animation: zd-stagger-fade-in 0.5s ease-out 0.2s forwards;
  opacity: 0;
}
.zd-stagger-fade-in-delay-3 {
  animation: zd-stagger-fade-in 0.5s ease-out 0.3s forwards;
  opacity: 0;
}
.zd-number-flip {
  animation: zd-number-flip 0.3s ease-out;
}
/* ============================================
   极地·琉璃主题 · 专用动画
   Arctic Lucent Theme · Animations
   ============================================ */
/* 消息弹簧动画 */
@keyframes zd-arctic-spring {
  0% { 
    opacity: 0;
    transform: scale(0.9) translateY(10px);
  }
  50% {
    transform: scale(1.02) translateY(-2px);
  }
  100% { 
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
/* 驱动按钮呼吸动画 */
@keyframes zd-arctic-drive-breathe {
  0%, 100% { 
    box-shadow: 0 0 16px var(--zd-arctic-drive-glow);
    filter: brightness(1);
  }
  50% { 
    box-shadow: 0 0 28px var(--zd-arctic-drive-glow);
    filter: brightness(1.2);
  }
}
/* 波形脉冲动画 */
@keyframes zd-waveform-pulse {
  0%, 100% { 
    transform: scaleY(0.8);
    opacity: 0.6;
  }
  50% { 
    transform: scaleY(1.2);
    opacity: 1;
  }
}
/* 时间戳侧滑进入动画 */
@keyframes zd-timestamp-slide-in {
  0% {
    opacity: 0;
    transform: translateX(-8px);
  }
  100% {
    opacity: 0.4;
    transform: translateX(0);
  }
}
/* 时间戳侧滑退出动画 */
@keyframes zd-timestamp-slide-out {
  0% {
    opacity: 0.4;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-8px);
  }
}
/* 消息列表弹簧物理效果 */
@keyframes zd-message-bounce {
  0% { transform: translateY(-20px) scale(0.95); opacity: 0; }
  60% { transform: translateY(4px) scale(1.02); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}
/* 设置页面转场动画 */
@keyframes zd-settings-enter {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes zd-settings-exit {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(100%);
  }
}
/* 头像呼吸圆环 */
@keyframes zd-avatar-breath {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(212, 175, 55, 0);
  }
}
/* 已读状态切换 Pop 动画 */
@keyframes zd-read-pop {
  0% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
  70% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
/* 极地·琉璃枢纽 · 专用动画 */
@keyframes lucent-glow-breathe {
  0%, 100% {
    opacity: 0.4;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.08), transparent);
  }
  50% {
    opacity: 0.8;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.18), transparent);
  }
}
/* 琉璃卡片悬浮效果 */
@keyframes lucent-card-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-2px);
  }
}
/* 冷银描边闪烁 */
@keyframes hairline-shimmer {
  0%, 100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}
/* 动画工具类 */
.zd-arctic-message-spring {
  animation: zd-arctic-spring 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.zd-message-bounce {
  animation: zd-message-bounce 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.zd-settings-enter {
  animation: zd-settings-enter 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.zd-settings-exit {
  animation: zd-settings-exit 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.zd-avatar-breath-ring {
  animation: zd-avatar-breath 2s ease-in-out infinite;
}
.zd-animate-lucent-glow {
  animation: lucent-glow-breathe 3s ease-in-out infinite;
}
.zd-animate-card-float {
  animation: lucent-card-float 4s ease-in-out infinite;
}
.zd-animate-hairline {
  animation: hairline-shimmer 2s ease-in-out infinite;
}
/* ============================================
   月色·琉璃主题 · 专用动画
   Lunar Lucent Theme · Animations
   ============================================ */
/* 月白色呼吸光点动画 */
@keyframes lunar-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
    box-shadow: 0 0 8px rgba(230, 235, 255, 0.6), 0 0 12px rgba(230, 235, 255, 0.3);
  }
  50% {
    transform: scale(1.15);
    opacity: 0.7;
    box-shadow: 0 0 12px rgba(230, 235, 255, 0.8), 0 0 20px rgba(230, 235, 255, 0.4);
  }
}
/* 流体卡片悬浮效果 */
@keyframes lunar-card-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
/* 香槟金渐变流动 */
@keyframes lunar-champagne-flow {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
/* 云端晶体导航高亮 */
@keyframes lunar-nav-glow {
  0%, 100% {
    opacity: 0.5;
    transform: scaleX(1);
  }
  50% {
    opacity: 1;
    transform: scaleX(1.1);
  }
}
/* 动画工具类 */
.zd-animate-lunar-pulse {
  animation: lunar-pulse 2.5s ease-in-out infinite;
}
.zd-animate-lunar-card-float {
  animation: lunar-card-float 4s ease-in-out infinite;
}
.zd-animate-lunar-champagne {
  animation: lunar-champagne-flow 3s ease-in-out infinite;
  background-size: 200% 200%;
}
.zd-animate-lunar-nav {
  animation: lunar-nav-glow 2s ease-in-out infinite;
}
/* 金色波纹扩散动画 */
@keyframes lunar-ripple {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes ripple-expand {
  0% { transform: scale(0); opacity: 0.8; }
  100% { transform: scale(1.5); opacity: 0; }
}
/* 未读标记呼吸光晕 */
@keyframes lunar-unread-breathe {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.08);
    opacity: 0.85;
  }
}
/* 动画工具类 */
.zd-animate-lunar-ripple {
  animation: lunar-ripple 0.4s ease-out forwards;
}
.zd-animate-lunar-unread {
  animation: lunar-unread-breathe 2s ease-in-out infinite;
}
/* ============================================
   天鹅绒·幽灵枢纽 · 专用动画
   Velvet Ghost Hub · Animations
   ============================================ */
/* 金色冰蓝呼吸光点动画 */
@keyframes velvet-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
    box-shadow: 0 0 8px rgba(212, 175, 55, 0.5), 0 0 14px rgba(165, 216, 255, 0.3);
  }
  50% {
    transform: scale(1.12);
    opacity: 0.7;
    box-shadow: 0 0 14px rgba(212, 175, 55, 0.7), 0 0 22px rgba(165, 216, 255, 0.4);
  }
}
/* 数据流霓虹条呼吸动画 */
@keyframes velvet-glow-breathe {
  0%, 100% {
    opacity: 0.35;
    background-position: -100% 0;
  }
  50% {
    opacity: 0.6;
    background-position: 100% 0;
  }
}
/* 琉璃卡片微悬浮 */
@keyframes velvet-card-float {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-2px) scale(1.005);
  }
}
/* 扫描线缓慢下移 */
@keyframes velvet-scan-lines {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 4px;
  }
}
/* 动画工具类 */
.zd-animate-velvet-pulse {
  animation: velvet-pulse 2.5s ease-in-out infinite;
}
.zd-animate-velvet-glow {
  animation: velvet-glow-breathe 3.5s ease-in-out infinite;
  background-size: 200% 100%;
}
.zd-animate-velvet-float {
  animation: velvet-card-float 4s ease-in-out infinite;
}
.zd-animate-velvet-scan {
  animation: velvet-scan-lines 8s linear infinite;
}
/* ============================================
   云感·琉璃枢纽 · 专用动画
   Cloud Lucent Hub · Animations
   ============================================ */
/* 柔和呼吸光点动画 */
@keyframes cloud-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  }
  50% {
    transform: scale(1.15);
    opacity: 0.7;
    box-shadow: 0 0 16px rgba(255, 255, 255, 0.7), 0 0 24px rgba(255, 255, 255, 0.4);
  }
}
/* 云感卡片微悬浮 */
@keyframes cloud-card-float {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-3px) scale(1.005);
  }
}
/* 香槟金弧线呼吸 */
@keyframes cloud-arc-breathe {
  0%, 100% {
    opacity: 0.6;
    box-shadow: 0 0 6px rgba(212, 175, 55, 0.3);
  }
  50% {
    opacity: 1;
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.5);
  }
}
/* 动画工具类 */
.zd-animate-cloud-pulse {
  animation: cloud-pulse 2.5s ease-in-out infinite;
}
.zd-animate-cloud-float {
  animation: cloud-card-float 4s ease-in-out infinite;
}
.zd-animate-cloud-arc {
  animation: cloud-arc-breathe 2s ease-in-out infinite;
}
/* ============================================
   状态指示灯呼吸动画
   Status Indicator Pulse
   ============================================ */
@keyframes status-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
    box-shadow: 0 0 8px rgba(100, 200, 100, 0.5);
  }
  50% {
    transform: scale(1.1);
    opacity: 0.7;
    box-shadow: 0 0 14px rgba(100, 200, 100, 0.7), 0 0 20px rgba(100, 200, 100, 0.4);
  }
}
/* 淡入动画 */
@keyframes fade-in {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
/* 等轴测记忆堆动画 */
@keyframes isometric-float {
  0%, 100% {
    transform: rotateX(60deg) rotateZ(-45deg) translateZ(0) translateY(0);
  }
  50% {
    transform: rotateX(60deg) rotateZ(-45deg) translateZ(2px) translateY(-3px);
  }
}
/* ============================================
   拍立得风格动画系统 (Polaroid Collection)
   ============================================ */
/* 水底晃动效果 - 关键词波场 */
@keyframes underwater-drift {
  0%, 100% {
    transform: translateY(0px) translateX(0px) scale(1);
    filter: blur(0px);
  }
  25% {
    transform: translateY(-3px) translateX(2px) scale(1.02);
    filter: blur(0.3px);
  }
  50% {
    transform: translateY(-5px) translateX(-1px) scale(0.98);
    filter: blur(0.5px);
  }
  75% {
    transform: translateY(-2px) translateX(-2px) scale(1.01);
    filter: blur(0.3px);
  }
}
/* 底层拍立得 - 向左偏 5° */
@keyframes polaroid-bottom-float {
  0%, 100% {
    transform: translateY(0px) rotate(-5deg);
  }
  50% {
    transform: translateY(-3px) rotate(-5deg);
  }
}
/* 中层拍立得 - 向右偏 8° */
@keyframes polaroid-middle-float {
  0%, 100% {
    transform: translateY(0px) rotate(8deg);
  }
  50% {
    transform: translateY(-4px) rotate(8deg);
  }
}
/* 顶层拍立得 - 正向 */
@keyframes polaroid-top-float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg) scale(1);
  }
  50% {
    transform: translateY(-5px) rotate(0deg) scale(1.02);
  }
}
/* 缩放打开动画 - 进入档案画廊 */
@keyframes polaroid-zoom-open {
  0% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
  50% {
    transform: scale(1.5) translateY(-20px);
    opacity: 0.8;
  }
  100% {
    transform: scale(20);
    opacity: 0;
  }
}
/* 心形贴纸脉动 */
@keyframes heart-sticker-pulse {
  0%, 100% {
    transform: scale(1) rotate(0deg);
    filter: drop-shadow(0 2px 4px rgba(147, 112, 219, 0.3));
  }
  50% {
    transform: scale(1.1) rotate(-5deg);
    filter: drop-shadow(0 4px 8px rgba(147, 112, 219, 0.5));
  }
}
/* 闪烁动画 - 装饰光点 */
@keyframes twinkle {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.15);
  }
}
/* 拍立得堆迭悬停散开动画 */
.stack-container:hover .polaroid-card {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.stack-container:hover .polaroid-card:nth-child(1) {
  transform: translateY(-8px) rotateZ(-6deg) !important;
}
.stack-container:hover .polaroid-card:nth-child(2) {
  transform: translateY(-4px) rotateZ(8deg) !important;
}
.stack-container:hover .polaroid-card:nth-child(3) {
  transform: translateY(-16px) rotateZ(0deg) scale(1.03) !important;
}
/* 关键词 Hover 清晰效果 */
.whisper-word {
  transition: all 0.3s ease;
}
/* ============================================
   工具类
   ============================================ */
.animate-underwater-drift {
  animation: underwater-drift 6s ease-in-out infinite;
  will-change: transform, filter;
}
.animate-polaroid-bottom-float {
  animation: polaroid-bottom-float 4.5s ease-in-out infinite;
  will-change: transform;
}
.animate-polaroid-middle-float {
  animation: polaroid-middle-float 4.5s ease-in-out infinite;
  will-change: transform;
}
.animate-polaroid-top-float {
  animation: polaroid-top-float 4s ease-in-out infinite;
  will-change: transform;
}
.animate-heart-sticker-pulse {
  animation: heart-sticker-pulse 2s ease-in-out infinite;
  will-change: transform, filter;
}
/* 图片生成骨架屏呼吸动效 */
@keyframes zd-skeleton-pulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}
/* 图片骨架屏微光闪烁动效 (shimmer) */
.zd-image-skeleton {
  animation: zd-shimmer 1.8s ease-in-out infinite;
}
@keyframes zd-shimmer {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}
/* ============================================
   动作描写旁白 · 淡入上移动画
   Action Narration Fade-In
   ============================================ */
@keyframes actionNarrationFadeIn {
  0% {
    opacity: 0;
    transform: translateY(5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 主题商城系统 CSS 变量 */
/**
 * 主题商城系统 - CSS 变量定义
 * Theme Marketplace - CSS Variables
 */
/* ========================================
   抹茶梦境主题 (Matcha Dream)
   ======================================== */
.theme-matcha-dream {
  /* 主色板 */
  --zd-theme-primary: #7A9D75;
  --zd-theme-primary-hover: #6B8F66;
  --zd-theme-secondary: #98B486;
  --zd-theme-accent: #C44569;
  --zd-theme-accent-hover: #A83856;
  
  /* 背景色 */
  --zd-theme-background: #F5F7F2;
  --zd-theme-background-alt: #E8EDE3;
  --zd-theme-surface: #FFFFFF;
  --zd-theme-surface-alt: #F8FAF6;
  
  /* 文字颜色 */
  --zd-theme-text-primary: #2C3E50;
  --zd-theme-text-secondary: #5A6C7D;
  --zd-theme-text-muted: #94A3B8;
  --zd-theme-text-inverse: #FFFFFF;
  
  /* 边框颜色 */
  --zd-theme-border: rgba(122, 157, 117, 0.2);
  --zd-theme-border-strong: rgba(122, 157, 117, 0.4);
  
  /* 阴影 */
  --zd-theme-shadow-sm: 0 1px 3px rgba(122, 157, 117, 0.15);
  --zd-theme-shadow-md: 0 4px 6px rgba(122, 157, 117, 0.15);
  --zd-theme-shadow-lg: 0 10px 15px rgba(122, 157, 117, 0.15);
  
  /* 圆角 */
  --zd-theme-radius-sm: 8px;
  --zd-theme-radius-md: 16px;
  --zd-theme-radius-lg: 24px;
  --zd-theme-radius-full: 9999px;
  
  /* 玻璃效果 */
  --zd-theme-glass-bg: rgba(255, 255, 255, 0.7);
  --zd-theme-glass-border: rgba(122, 157, 117, 0.3);
  --zd-theme-glass-blur: 24px;
}
/* ========================================
   霜雪极简主题 (Minimal Frost)
   ======================================== */
.theme-minimal-frost {
  /* 主色板 */
  --zd-theme-primary: #7B95B7;
  --zd-theme-primary-hover: #6A82A1;
  --zd-theme-secondary: #9CB3CE;
  --zd-theme-accent: #8B2345;
  --zd-theme-accent-hover: #6F1C37;
  
  /* 背景色 */
  --zd-theme-background: #F0F4F8;
  --zd-theme-background-alt: #E1E8F0;
  --zd-theme-surface: #FFFFFF;
  --zd-theme-surface-alt: #F7FAFC;
  
  /* 文字颜色 */
  --zd-theme-text-primary: #1A202C;
  --zd-theme-text-secondary: #4A5568;
  --zd-theme-text-muted: #718096;
  --zd-theme-text-inverse: #FFFFFF;
  
  /* 边框颜色 */
  --zd-theme-border: rgba(123, 149, 183, 0.2);
  --zd-theme-border-strong: rgba(123, 149, 183, 0.4);
  
  /* 阴影 */
  --zd-theme-shadow-sm: 0 1px 2px rgba(123, 149, 183, 0.1);
  --zd-theme-shadow-md: 0 3px 6px rgba(123, 149, 183, 0.1);
  --zd-theme-shadow-lg: 0 8px 12px rgba(123, 149, 183, 0.1);
  
  /* 圆角 */
  --zd-theme-radius-sm: 6px;
  --zd-theme-radius-md: 12px;
  --zd-theme-radius-lg: 20px;
  --zd-theme-radius-full: 9999px;
  
  /* 玻璃效果 */
  --zd-theme-glass-bg: rgba(255, 255, 255, 0.6);
  --zd-theme-glass-border: rgba(123, 149, 183, 0.3);
  --zd-theme-glass-blur: 32px;
}
/* ========================================
   主题通用样式类
   ======================================== */
/* 主题容器 */
.theme-renderer {
  position: relative;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  transition: background 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.theme-renderer__wallpaper {
  transition: 
    background-image 0.5s ease,
    background 0.5s ease;
}
.theme-renderer__overlay {
  transition: opacity 0.3s ease;
}
.theme-renderer__glass {
  transition: backdrop-filter 0.3s ease;
}
/* 网格布局模式 */
.theme-renderer[data-theme-mode="grid"] .desktop-widgets-grid {
  display: grid;
  grid-template-columns: repeat(var(--zd-layout-columns, 4), 1fr);
  gap: var(--zd-layout-gap, 16px);
  padding: var(--zd-layout-padding, 24px);
  height: 100%;
}
/* 自由布局模式 */
.theme-renderer[data-theme-mode="free"] .desktop-widgets-grid {
  position: relative;
  height: 100%;
}
/* 组件渲染器 */
.widget-renderer {
  transition:
    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.3s ease,
    left 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.widget-renderer--grid {
  width: 100%;
  height: 100%;
}
.widget-renderer--free {
  position: absolute;
}
/* 桌面布局容器 */
.desktop-layout {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
/* 桌面小组件网格 */
.desktop-widgets-grid {
  width: 100%;
  height: 100%;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
/* 网格布局模式 */
.desktop-widgets-grid--grid {
  display: grid;
  grid-template-columns: repeat(var(--zd-layout-columns, 4), minmax(0, 1fr));
  gap: var(--zd-layout-gap, 16px);
  padding: var(--zd-layout-padding, 24px);
}
/* 自由布局模式 */
.desktop-widgets-grid--free {
  position: relative;
}
/* 可拖拽小组件 */
.desktop-widget {
  position: relative;
  transition:
    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.2s ease;
}
.desktop-widget:hover {
  z-index: 10;
}
/* 编辑模式下的小组件 */
.desktop-widget--editing {
  animation: editing-pulse 2s infinite;
  cursor: move;
}
@keyframes editing-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(122, 157, 117, 0.4);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(122, 157, 117, 0);
  }
}
/* 删除按钮 */
.desktop-widget__delete-btn {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #C44569;
  color: white;
  border: 2px solid white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 20;
  padding: 0;
}
.desktop-widget__delete-btn:hover {
  background: #A83856;
  transform: scale(1.1);
}
/* 组件库抽屉 */
.component-drawer {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  max-width: 400px;
  height: 70vh;
  background: var(--zd-theme-surface, #FFFFFF);
  border-radius: 24px 24px 0 0;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.component-drawer--open {
  transform: translateY(0);
}
.component-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--zd-theme-border, rgba(0, 0, 0, 0.1));
}
.component-drawer__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--zd-theme-text-primary, #2C3E50);
}
.component-drawer__close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}
.component-drawer__close:hover {
  background: var(--zd-theme-background-alt, #F5F7F2);
}
.component-drawer__content {
  padding: 24px;
  overflow-y: auto;
  height: calc(100% - 73px);
}
/* 组件库 */
.component-library {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.component-library__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px;
  border-radius: 16px;
  background: var(--zd-theme-background-alt, #F5F7F2);
  cursor: pointer;
  transition: all 0.2s ease;
}
.component-library__item:hover {
  background: var(--zd-theme-surface-alt, #F8FAF6);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.component-library__preview {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--zd-theme-surface, #FFFFFF);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.component-library__name {
  font-size: 12px;
  font-weight: 500;
  color: var(--zd-theme-text-secondary, #5A6C7D);
}
/* 主题切换过渡动画 */
.theme-transition-enter {
  opacity: 0;
  transform: scale(0.98);
}
.theme-transition-enter-active {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.theme-transition-exit {
  opacity: 1;
  transform: scale(1);
}
.theme-transition-exit-active {
  opacity: 0;
  transform: scale(1.02);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
/* ========================================
   默认设计变量 (Default Design Tokens)
   零度存档 - 深色便当盒主题
   Fallback 策略：所有变量在 :root 中定义默认值
   ======================================== */
:root {
  /* === 移动视图 (HomeView) 颜色变量 === */
  --zd-mobile-bg-primary: #1a1a1a;
  --zd-mobile-bg-glass: rgba(30, 30, 40, 0.75);
  --zd-mobile-bg-glass-alt: rgba(35, 35, 45, 0.80);
  --zd-mobile-bg-glass-heavy: rgba(25, 25, 35, 0.85);
  --zd-mobile-border-glass: rgba(255, 255, 255, 0.10);
  --zd-mobile-text-primary: #F0F0F0;
  --zd-mobile-text-secondary: #B0B0B0;
  --zd-mobile-text-tertiary: #707070;
  
  /* === 桌面变量 === */
  --zd-desktop-bg: #1A1A2E;
  --zd-desktop-glass: rgba(30, 30, 45, 0.80);
  --zd-desktop-glass-border: rgba(255, 255, 255, 0.08);
  --zd-desktop-dock-bg: rgba(30, 30, 40, 0.90);
  --zd-desktop-dock-border: rgba(255, 255, 255, 0.10);
  
  /* === 文字颜色 === */
  --zd-text-primary: #F0F0F0;
  --zd-text-secondary: #B0B0B0;
  --zd-text-tertiary: #707070;
  --zd-text-disabled: #505050;
  
  /* === 便当盒卡片背景 === */
  --zd-widget-bg-primary: rgba(45, 45, 55, 0.85);
  --zd-widget-bg-secondary: rgba(55, 55, 65, 0.80);
  --zd-widget-bg-glass: rgba(40, 40, 50, 0.75);
  --zd-widget-bg-hover: rgba(60, 60, 75, 0.90);
  --zd-widget-bg-active: rgba(35, 35, 45, 0.95);
  
  /* === 便当盒卡片边框 === */
  --zd-widget-border-subtle: rgba(255, 255, 255, 0.08);
  --zd-widget-border-strong: rgba(255, 255, 255, 0.15);
  --zd-widget-border-hover: rgba(255, 255, 255, 0.20);
  --zd-border-glass: rgba(255, 255, 255, 0.10);
  
  /* === 图标颜色 === */
  --zd-icon-primary: #E8E8E8;
  --zd-icon-secondary: #A0A0A0;
  --zd-icon-accent: #98B486;
  --zd-icon-matcha-400: #98B486;
  --zd-icon-matcha-500: #7A9D75;
  --zd-icon-matcha-600: #5C8560;
  
  /* === 抹茶绿文字 === */
  --zd-text-matcha-400: #98B486;
  --zd-text-matcha-500: #7A9D75;
  --zd-text-matcha-600: #5C8560;
  
  /* === 设置面板变量 === */
  --zd-settings-panel-bg: rgba(25, 25, 35, 0.95);
  --zd-settings-panel-border: rgba(255, 255, 255, 0.08);
  --zd-settings-panel-text: #E8E8E8;
  --zd-settings-panel-text-secondary: #909090;
  --zd-settings-panel-text-tertiary: #606060;
  --zd-settings-card-bg: rgba(35, 35, 45, 0.60);
  --zd-settings-card-border: rgba(255, 255, 255, 0.06);
  --zd-settings-card-hover: rgba(45, 45, 55, 0.70);
  
  /* === 圆角系统 === */
  --zd-radius-xs: 4px;
  --zd-radius-sm: 8px;
  --zd-radius-md: 12px;
  --zd-radius-lg: 16px;
  --zd-radius-xl: 20px;
  --zd-radius-2xl: 24px;
  --zd-radius-3xl: 32px;
  --zd-radius-full: 9999px;
  
  /* === 阴影系统 === */
  --zd-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.30);
  --zd-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.35);
  --zd-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.40);
  --zd-shadow-xl: 0 12px 24px rgba(0, 0, 0, 0.45);
  --zd-shadow-2xl: 0 16px 32px rgba(0, 0, 0, 0.50);
  --zd-shadow-inner: inset 0 1px 2px rgba(255, 255, 255, 0.05);
  
  /* === 间距系统 === */
  --zd-spacing-xs: 4px;
  --zd-spacing-sm: 8px;
  --zd-spacing-md: 12px;
  --zd-spacing-lg: 16px;
  --zd-spacing-xl: 20px;
  --zd-spacing-2xl: 24px;
  --zd-spacing-3xl: 32px;
  
  /* === 模糊度系统 === */
  --zd-blur-sm: 4px;
  --zd-blur-md: 8px;
  --zd-blur-lg: 12px;
  --zd-blur-xl: 16px;
  --zd-blur-2xl: 24px;
  --zd-blur-3xl: 40px;
  
  /* === 动画系统 === */
  --zd-duration-instant: 0ms;
  --zd-duration-fast: 150ms;
  --zd-duration-normal: 200ms;
  --zd-duration-slow: 300ms;
  --zd-duration-slower: 500ms;
  --zd-easing-default: cubic-bezier(0.4, 0, 0.2, 1);
  --zd-easing-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --zd-easing-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --zd-easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* 深色便当盒主题类 */
.theme-bento-dark {
  --zd-mobile-bg-primary: #1a1a1a;
  --zd-mobile-bg-glass: rgba(30, 30, 40, 0.75);
  --zd-mobile-bg-glass-alt: rgba(35, 35, 45, 0.80);
  --zd-mobile-bg-glass-heavy: rgba(25, 25, 35, 0.85);
  --zd-mobile-border-glass: rgba(255, 255, 255, 0.10);
}
/* ========================================
   Music Player - Light Premium 主题
   暖白底 + 薰衣草紫 + 毛玻璃 + 大留白
   ======================================== */
:root {
  /* 背景色 */
  --zd-music-bg: #FAF9F6;
  --zd-music-surface: #FFFFFF;
  --zd-music-surface-alt: #F5F5F7;

  /* 主色 — 薰衣草紫 */
  --zd-music-primary: #7C6EF0;
  --zd-music-primary-light: rgba(124, 110, 240, 0.08);
  --zd-music-primary-medium: rgba(124, 110, 240, 0.18);
  --zd-music-primary-dark: #6558D4;
  --zd-music-primary-gradient-start: #7C6EF0;
  --zd-music-primary-gradient-end: #A78BFA;

  /* 文字色 */
  --zd-music-text-primary: #1D1D1F;
  --zd-music-text-secondary: #86868B;
  --zd-music-text-tertiary: #AEAEB2;

  /* 边框 */
  --zd-music-border: #E8E8ED;
  --zd-music-border-glass: rgba(255, 255, 255, 0.65);

  /* 阴影 — 极淡 */
  --zd-music-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
  --zd-music-shadow-md: 0 2px 12px rgba(0, 0, 0, 0.06);
  --zd-music-shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.08);
  --zd-music-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.10);

  /* 毛玻璃 */
  --zd-music-glass-bg: rgba(255, 255, 255, 0.72);
  --zd-music-glass-blur: 24px;

  /* 圆角 */
  --zd-music-radius-sm: 8px;
  --zd-music-radius-md: 12px;
  --zd-music-radius-lg: 16px;
  --zd-music-radius-xl: 20px;
  --zd-music-radius-2xl: 24px;

  /* 功能色 */
  --zd-music-progress: #7C6EF0;
  --zd-music-heart: #FF3B5C;
  --zd-music-play: #34C759;
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: system-ui, -apple-system, PingFang SC, Microsoft YaHei, Hiragino Sans GB, Inter, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!container {
  width: 100% !important;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
  }
  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
  }
  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
  }
  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
  }
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
  }
  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-0\.5 {
  inset: -0.125rem;
}
.-inset-2 {
  inset: -0.5rem;
}
.-inset-3 {
  inset: -0.75rem;
}
.inset-0 {
  inset: 0px;
}
.inset-1\.5 {
  inset: 0.375rem;
}
.inset-2 {
  inset: 0.5rem;
}
.inset-\[11px\] {
  inset: 11px;
}
.inset-\[12\%\] {
  inset: 12%;
}
.inset-\[17px\] {
  inset: 17px;
}
.inset-\[18px\] {
  inset: 18px;
}
.inset-\[24px\] {
  inset: 24px;
}
.inset-\[5px\] {
  inset: 5px;
}
.inset-\[7px\] {
  inset: 7px;
}
.inset-\[9px\] {
  inset: 9px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-2 {
  left: 0.5rem;
  right: 0.5rem;
}
.inset-x-4 {
  left: 1rem;
  right: 1rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-0\.5 {
  bottom: -0.125rem;
}
.-bottom-1 {
  bottom: -0.25rem;
}
.-bottom-1\/2 {
  bottom: -50%;
}
.-bottom-2 {
  bottom: -0.5rem;
}
.-bottom-3 {
  bottom: -0.75rem;
}
.-bottom-4 {
  bottom: -1rem;
}
.-bottom-40 {
  bottom: -10rem;
}
.-bottom-\[13px\] {
  bottom: -13px;
}
.-bottom-\[1px\] {
  bottom: -1px;
}
.-bottom-\[2px\] {
  bottom: -2px;
}
.-bottom-\[5px\] {
  bottom: -5px;
}
.-left-1\/2 {
  left: -50%;
}
.-left-10 {
  left: -2.5rem;
}
.-left-20 {
  left: -5rem;
}
.-left-32 {
  left: -8rem;
}
.-left-6 {
  left: -1.5rem;
}
.-right-0\.5 {
  right: -0.125rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-1\.5 {
  right: -0.375rem;
}
.-right-1\/2 {
  right: -50%;
}
.-right-10 {
  right: -2.5rem;
}
.-right-2 {
  right: -0.5rem;
}
.-right-20 {
  right: -5rem;
}
.-right-7 {
  right: -1.75rem;
}
.-right-8 {
  right: -2rem;
}
.-right-\[1px\] {
  right: -1px;
}
.-right-\[2px\] {
  right: -2px;
}
.-right-\[7px\] {
  right: -7px;
}
.-top-0\.5 {
  top: -0.125rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-1\/2 {
  top: -50%;
}
.-top-10 {
  top: -2.5rem;
}
.-top-20 {
  top: -5rem;
}
.-top-32 {
  top: -8rem;
}
.-top-4 {
  top: -1rem;
}
.-top-6 {
  top: -1.5rem;
}
.-top-8 {
  top: -2rem;
}
.-top-\[1px\] {
  top: -1px;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-0\.5 {
  bottom: 0.125rem;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-1\.5 {
  bottom: 0.375rem;
}
.bottom-1\/3 {
  bottom: 33.333333%;
}
.bottom-14 {
  bottom: 3.5rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-2\.5 {
  bottom: 0.625rem;
}
.bottom-20 {
  bottom: 5rem;
}
.bottom-24 {
  bottom: 6rem;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-3\.5 {
  bottom: 0.875rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-44 {
  bottom: 11rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-\[-20\%\] {
  bottom: -20%;
}
.bottom-\[-32px\] {
  bottom: -32px;
}
.bottom-\[-34px\] {
  bottom: -34px;
}
.bottom-\[12px\] {
  bottom: 12px;
}
.bottom-\[18px\] {
  bottom: 18px;
}
.bottom-\[24px\] {
  bottom: 24px;
}
.bottom-\[3\.25rem\] {
  bottom: 3.25rem;
}
.bottom-\[40\%\] {
  bottom: 40%;
}
.bottom-\[58px\] {
  bottom: 58px;
}
.left-0 {
  left: 0px;
}
.left-1 {
  left: 0.25rem;
}
.left-1\.5 {
  left: 0.375rem;
}
.left-1\/2 {
  left: 50%;
}
.left-1\/3 {
  left: 33.333333%;
}
.left-10 {
  left: 2.5rem;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-2\/3 {
  left: 66.666667%;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-5 {
  left: 1.25rem;
}
.left-6 {
  left: 1.5rem;
}
.left-8 {
  left: 2rem;
}
.left-\[-10\%\] {
  left: -10%;
}
.left-\[-30px\] {
  left: -30px;
}
.left-\[10px\] {
  left: 10px;
}
.left-\[120px\] {
  left: 120px;
}
.left-\[20\%\] {
  left: 20%;
}
.left-\[26px\] {
  left: 26px;
}
.left-\[2px\] {
  left: 2px;
}
.right-0 {
  right: 0px;
}
.right-0\.5 {
  right: 0.125rem;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-12 {
  right: 3rem;
}
.right-2 {
  right: 0.5rem;
}
.right-2\.5 {
  right: 0.625rem;
}
.right-3 {
  right: 0.75rem;
}
.right-3\.5 {
  right: 0.875rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-6 {
  right: 1.5rem;
}
.right-\[-10\%\] {
  right: -10%;
}
.right-\[-14px\] {
  right: -14px;
}
.right-\[-18px\] {
  right: -18px;
}
.right-\[-28px\] {
  right: -28px;
}
.right-\[-30px\] {
  right: -30px;
}
.right-\[10\%\] {
  right: 10%;
}
.right-\[10px\] {
  right: 10px;
}
.right-\[146px\] {
  right: 146px;
}
.right-\[16px\] {
  right: 16px;
}
.right-\[18px\] {
  right: 18px;
}
.right-\[20px\] {
  right: 20px;
}
.right-\[30px\] {
  right: 30px;
}
.right-\[4px\] {
  right: 4px;
}
.right-\[96px\] {
  right: 96px;
}
.top-0 {
  top: 0px;
}
.top-1 {
  top: 0.25rem;
}
.top-1\/2 {
  top: 50%;
}
.top-1\/3 {
  top: 33.333333%;
}
.top-1\/4 {
  top: 25%;
}
.top-10 {
  top: 2.5rem;
}
.top-11 {
  top: 2.75rem;
}
.top-12 {
  top: 3rem;
}
.top-14 {
  top: 3.5rem;
}
.top-16 {
  top: 4rem;
}
.top-2 {
  top: 0.5rem;
}
.top-2\.5 {
  top: 0.625rem;
}
.top-2\/3 {
  top: 66.666667%;
}
.top-20 {
  top: 5rem;
}
.top-24 {
  top: 6rem;
}
.top-3 {
  top: 0.75rem;
}
.top-4 {
  top: 1rem;
}
.top-7 {
  top: 1.75rem;
}
.top-8 {
  top: 2rem;
}
.top-\[-12px\] {
  top: -12px;
}
.top-\[-14px\] {
  top: -14px;
}
.top-\[-18px\] {
  top: -18px;
}
.top-\[-20\%\] {
  top: -20%;
}
.top-\[-36px\] {
  top: -36px;
}
.top-\[14px\] {
  top: 14px;
}
.top-\[16px\] {
  top: 16px;
}
.top-\[18px\] {
  top: 18px;
}
.top-\[26px\] {
  top: 26px;
}
.top-\[2px\] {
  top: 2px;
}
.top-\[4\.25rem\] {
  top: 4.25rem;
}
.top-\[76px\] {
  top: 76px;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[-1\] {
  z-index: -1;
}
.z-\[10000\] {
  z-index: 10000;
}
.z-\[10001\] {
  z-index: 10001;
}
.z-\[10002\] {
  z-index: 10002;
}
.z-\[1000\] {
  z-index: 1000;
}
.z-\[1001\] {
  z-index: 1001;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[1100\] {
  z-index: 1100;
}
.z-\[1101\] {
  z-index: 1101;
}
.z-\[1110\] {
  z-index: 1110;
}
.z-\[120\] {
  z-index: 120;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[2000\] {
  z-index: 2000;
}
.z-\[200\] {
  z-index: 200;
}
.z-\[220\] {
  z-index: 220;
}
.z-\[230\] {
  z-index: 230;
}
.z-\[240\] {
  z-index: 240;
}
.z-\[250\] {
  z-index: 250;
}
.z-\[260\] {
  z-index: 260;
}
.z-\[280\] {
  z-index: 280;
}
.z-\[290\] {
  z-index: 290;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[3000\] {
  z-index: 3000;
}
.z-\[300\] {
  z-index: 300;
}
.z-\[301\] {
  z-index: 301;
}
.z-\[310\] {
  z-index: 310;
}
.z-\[3\] {
  z-index: 3;
}
.z-\[4000\] {
  z-index: 4000;
}
.z-\[400\] {
  z-index: 400;
}
.z-\[420\] {
  z-index: 420;
}
.z-\[430\] {
  z-index: 430;
}
.z-\[460\] {
  z-index: 460;
}
.z-\[5000\] {
  z-index: 5000;
}
.z-\[500\] {
  z-index: 500;
}
.z-\[505\] {
  z-index: 505;
}
.z-\[510\] {
  z-index: 510;
}
.z-\[520\] {
  z-index: 520;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[990\] {
  z-index: 990;
}
.z-\[9998\] {
  z-index: 9998;
}
.z-\[99998\] {
  z-index: 99998;
}
.z-\[99999\] {
  z-index: 99999;
}
.z-\[9999\] {
  z-index: 9999;
}
.z-\[999\] {
  z-index: 999;
}
.z-\[99\] {
  z-index: 99;
}
.m-0 {
  margin: 0px;
}
.m-auto {
  margin: auto;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-3 {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}
.-mx-5 {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-2\.5 {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-5 {
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}
.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.mx-\[--zd-settings-item-padding-x\] {
  margin-left: var(--zd-settings-item-padding-x);
  margin-right: var(--zd-settings-item-padding-x);
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.-mb-\[2px\] {
  margin-bottom: -2px;
}
.-ml-1 {
  margin-left: -0.25rem;
}
.-ml-2 {
  margin-left: -0.5rem;
}
.-ml-4 {
  margin-left: -1rem;
}
.-mr-2 {
  margin-right: -0.5rem;
}
.-mr-5 {
  margin-right: -1.25rem;
}
.-mt-0\.5 {
  margin-top: -0.125rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.-mt-5 {
  margin-top: -1.25rem;
}
.-mt-\[1px\] {
  margin-top: -1px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-7 {
  margin-bottom: 1.75rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.mb-\[18px\] {
  margin-bottom: 18px;
}
.mb-\[2px\] {
  margin-bottom: 2px;
}
.mb-\[6px\] {
  margin-bottom: 6px;
}
.ml-0 {
  margin-left: 0px;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-11 {
  margin-left: 2.75rem;
}
.ml-12 {
  margin-left: 3rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-2\.5 {
  margin-left: 0.625rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-3\.5 {
  margin-left: 0.875rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-5 {
  margin-left: 1.25rem;
}
.ml-\[1px\] {
  margin-left: 1px;
}
.ml-\[23px\] {
  margin-left: 23px;
}
.ml-\[52px\] {
  margin-left: 52px;
}
.ml-\[84px\] {
  margin-left: 84px;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-4 {
  margin-right: 1rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-3\.5 {
  margin-top: 0.875rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-9 {
  margin-top: 2.25rem;
}
.mt-\[10px\] {
  margin-top: 10px;
}
.mt-\[1px\] {
  margin-top: 1px;
}
.mt-\[2px\] {
  margin-top: 2px;
}
.mt-\[3px\] {
  margin-top: 3px;
}
.mt-\[4px\] {
  margin-top: 4px;
}
.mt-\[6px\] {
  margin-top: 6px;
}
.mt-\[7px\] {
  margin-top: 7px;
}
.mt-auto {
  margin-top: auto;
}
.box-border {
  box-sizing: border-box;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.line-clamp-4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.\!block {
  display: block !important;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-\[1\.58\/1\] {
  aspect-ratio: 1.58/1;
}
.aspect-\[4\/5\] {
  aspect-ratio: 4/5;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.h-0 {
  height: 0px;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-36 {
  height: 9rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-44 {
  height: 11rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-60 {
  height: 15rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[--zd-settings-icon-size\] {
  height: var(--zd-settings-icon-size);
}
.h-\[1\.05em\] {
  height: 1.05em;
}
.h-\[1\.35rem\] {
  height: 1.35rem;
}
.h-\[1\.5px\] {
  height: 1.5px;
}
.h-\[100dvh\] {
  height: 100dvh;
}
.h-\[102px\] {
  height: 102px;
}
.h-\[106px\] {
  height: 106px;
}
.h-\[10px\] {
  height: 10px;
}
.h-\[110px\] {
  height: 110px;
}
.h-\[11px\] {
  height: 11px;
}
.h-\[120px\] {
  height: 120px;
}
.h-\[128px\] {
  height: 128px;
}
.h-\[12px\] {
  height: 12px;
}
.h-\[13px\] {
  height: 13px;
}
.h-\[14px\] {
  height: 14px;
}
.h-\[15px\] {
  height: 15px;
}
.h-\[160px\] {
  height: 160px;
}
.h-\[16px\] {
  height: 16px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[18rem\] {
  height: 18rem;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[20px\] {
  height: 20px;
}
.h-\[22px\] {
  height: 22px;
}
.h-\[24px\] {
  height: 24px;
}
.h-\[25vh\] {
  height: 25vh;
}
.h-\[26px\] {
  height: 26px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[3\.5px\] {
  height: 3.5px;
}
.h-\[3\.5rem\] {
  height: 3.5rem;
}
.h-\[3\.8rem\] {
  height: 3.8rem;
}
.h-\[34px\] {
  height: 34px;
}
.h-\[36px\] {
  height: 36px;
}
.h-\[38px\] {
  height: 38px;
}
.h-\[3px\] {
  height: 3px;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[42px\] {
  height: 42px;
}
.h-\[44px\] {
  height: 44px;
}
.h-\[45vh\] {
  height: 45vh;
}
.h-\[46px\] {
  height: 46px;
}
.h-\[4px\] {
  height: 4px;
}
.h-\[50\%\] {
  height: 50%;
}
.h-\[500px\] {
  height: 500px;
}
.h-\[50px\] {
  height: 50px;
}
.h-\[520px\] {
  height: 520px;
}
.h-\[52px\] {
  height: 52px;
}
.h-\[55vh\] {
  height: 55vh;
}
.h-\[56px\] {
  height: 56px;
}
.h-\[58px\] {
  height: 58px;
}
.h-\[5px\] {
  height: 5px;
}
.h-\[60\%\] {
  height: 60%;
}
.h-\[60px\] {
  height: 60px;
}
.h-\[68\%\] {
  height: 68%;
}
.h-\[6px\] {
  height: 6px;
}
.h-\[72px\] {
  height: 72px;
}
.h-\[74px\] {
  height: 74px;
}
.h-\[76px\] {
  height: 76px;
}
.h-\[78\%\] {
  height: 78%;
}
.h-\[7px\] {
  height: 7px;
}
.h-\[80px\] {
  height: 80px;
}
.h-\[82px\] {
  height: 82px;
}
.h-\[85px\] {
  height: 85px;
}
.h-\[85vh\] {
  height: 85vh;
}
.h-\[88px\] {
  height: 88px;
}
.h-\[8px\] {
  height: 8px;
}
.h-\[90px\] {
  height: 90px;
}
.h-\[92px\] {
  height: 92px;
}
.h-\[calc\(100\%\+28px\)\] {
  height: calc(100% + 28px);
}
.h-\[calc\(100vh-60px\)\] {
  height: calc(100vh - 60px);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.max-h-32 {
  max-height: 8rem;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-\[100px\] {
  max-height: 100px;
}
.max-h-\[172px\] {
  max-height: 172px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[30vh\] {
  max-height: 30vh;
}
.max-h-\[45vh\] {
  max-height: 45vh;
}
.max-h-\[48vh\] {
  max-height: 48vh;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[68vh\] {
  max-height: 68vh;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[75vh\] {
  max-height: 75vh;
}
.max-h-\[78vh\] {
  max-height: 78vh;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[calc\(80vh-80px\)\] {
  max-height: calc(80vh - 80px);
}
.max-h-\[min\(52vh\2c 420px\)\] {
  max-height: min(52vh, 420px);
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[100px\] {
  min-height: 100px;
}
.min-h-\[100svh\] {
  min-height: 100svh;
}
.min-h-\[140px\] {
  min-height: 140px;
}
.min-h-\[164px\] {
  min-height: 164px;
}
.min-h-\[2\.6rem\] {
  min-height: 2.6rem;
}
.min-h-\[2rem\] {
  min-height: 2rem;
}
.min-h-\[300px\] {
  min-height: 300px;
}
.min-h-\[32px\] {
  min-height: 32px;
}
.min-h-\[36px\] {
  min-height: 36px;
}
.min-h-\[400px\] {
  min-height: 400px;
}
.min-h-\[40vh\] {
  min-height: 40vh;
}
.min-h-\[48vh\] {
  min-height: 48vh;
}
.min-h-\[60vh\] {
  min-height: 60vh;
}
.min-h-\[78px\] {
  min-height: 78px;
}
.min-h-\[88px\] {
  min-height: 88px;
}
.min-h-\[calc\(100svh-40px\)\] {
  min-height: calc(100svh - 40px);
}
.min-h-screen {
  min-height: 100vh;
}
.w-0 {
  width: 0px;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-2\/3 {
  width: 66.666667%;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-36 {
  width: 9rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-60 {
  width: 15rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[--zd-settings-icon-size\] {
  width: var(--zd-settings-icon-size);
}
.w-\[1\.35rem\] {
  width: 1.35rem;
}
.w-\[1\.5px\] {
  width: 1.5px;
}
.w-\[106px\] {
  width: 106px;
}
.w-\[108px\] {
  width: 108px;
}
.w-\[110px\] {
  width: 110px;
}
.w-\[12\.5rem\] {
  width: 12.5rem;
}
.w-\[128px\] {
  width: 128px;
}
.w-\[134px\] {
  width: 134px;
}
.w-\[15\.5rem\] {
  width: 15.5rem;
}
.w-\[150px\] {
  width: 150px;
}
.w-\[152px\] {
  width: 152px;
}
.w-\[15px\] {
  width: 15px;
}
.w-\[16px\] {
  width: 16px;
}
.w-\[184px\] {
  width: 184px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[18rem\] {
  width: 18rem;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[2\.5px\] {
  width: 2.5px;
}
.w-\[200\%\] {
  width: 200%;
}
.w-\[20px\] {
  width: 20px;
}
.w-\[20rem\] {
  width: 20rem;
}
.w-\[214px\] {
  width: 214px;
}
.w-\[220px\] {
  width: 220px;
}
.w-\[22px\] {
  width: 22px;
}
.w-\[24px\] {
  width: 24px;
}
.w-\[252px\] {
  width: 252px;
}
.w-\[280px\] {
  width: 280px;
}
.w-\[292px\] {
  width: 292px;
}
.w-\[2px\] {
  width: 2px;
}
.w-\[3\.5rem\] {
  width: 3.5rem;
}
.w-\[3\.8rem\] {
  width: 3.8rem;
}
.w-\[30\%\] {
  width: 30%;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[34px\] {
  width: 34px;
}
.w-\[36px\] {
  width: 36px;
}
.w-\[38px\] {
  width: 38px;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[400px\] {
  width: 400px;
}
.w-\[42px\] {
  width: 42px;
}
.w-\[44px\] {
  width: 44px;
}
.w-\[46px\] {
  width: 46px;
}
.w-\[50\%\] {
  width: 50%;
}
.w-\[500px\] {
  width: 500px;
}
.w-\[52px\] {
  width: 52px;
}
.w-\[58px\] {
  width: 58px;
}
.w-\[5px\] {
  width: 5px;
}
.w-\[60\%\] {
  width: 60%;
}
.w-\[60px\] {
  width: 60px;
}
.w-\[6px\] {
  width: 6px;
}
.w-\[72px\] {
  width: 72px;
}
.w-\[74px\] {
  width: 74px;
}
.w-\[75\%\] {
  width: 75%;
}
.w-\[76px\] {
  width: 76px;
}
.w-\[78px\] {
  width: 78px;
}
.w-\[7px\] {
  width: 7px;
}
.w-\[80px\] {
  width: 80px;
}
.w-\[82px\] {
  width: 82px;
}
.w-\[84px\] {
  width: 84px;
}
.w-\[85\%\] {
  width: 85%;
}
.w-\[88\%\] {
  width: 88%;
}
.w-\[88px\] {
  width: 88px;
}
.w-\[90\%\] {
  width: 90%;
}
.w-\[90px\] {
  width: 90px;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[10px\] {
  min-width: 10px;
}
.min-w-\[11px\] {
  min-width: 11px;
}
.min-w-\[12px\] {
  min-width: 12px;
}
.min-w-\[13px\] {
  min-width: 13px;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[14px\] {
  min-width: 14px;
}
.min-w-\[15px\] {
  min-width: 15px;
}
.min-w-\[16px\] {
  min-width: 16px;
}
.min-w-\[18px\] {
  min-width: 18px;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[48px\] {
  min-width: 48px;
}
.min-w-\[4rem\] {
  min-width: 4rem;
}
.min-w-\[72px\] {
  min-width: 72px;
}
.min-w-max {
  min-width: -moz-max-content;
  min-width: max-content;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-\[104px\] {
  max-width: 104px;
}
.max-w-\[112px\] {
  max-width: 112px;
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[128px\] {
  max-width: 128px;
}
.max-w-\[134px\] {
  max-width: 134px;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[152px\] {
  max-width: 152px;
}
.max-w-\[16rem\] {
  max-width: 16rem;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[190px\] {
  max-width: 190px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[20rem\] {
  max-width: 20rem;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.max-w-\[22rem\] {
  max-width: 22rem;
}
.max-w-\[240px\] {
  max-width: 240px;
}
.max-w-\[254px\] {
  max-width: 254px;
}
.max-w-\[260px\] {
  max-width: 260px;
}
.max-w-\[268px\] {
  max-width: 268px;
}
.max-w-\[26rem\] {
  max-width: 26rem;
}
.max-w-\[272px\] {
  max-width: 272px;
}
.max-w-\[276px\] {
  max-width: 276px;
}
.max-w-\[278px\] {
  max-width: 278px;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[290px\] {
  max-width: 290px;
}
.max-w-\[300px\] {
  max-width: 300px;
}
.max-w-\[320px\] {
  max-width: 320px;
}
.max-w-\[360px\] {
  max-width: 360px;
}
.max-w-\[38rem\] {
  max-width: 38rem;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[460px\] {
  max-width: 460px;
}
.max-w-\[48px\] {
  max-width: 48px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.max-w-\[56px\] {
  max-width: 56px;
}
.max-w-\[58\%\] {
  max-width: 58%;
}
.max-w-\[68\%\] {
  max-width: 68%;
}
.max-w-\[75\%\] {
  max-width: 75%;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[88vw\] {
  max-width: 88vw;
}
.max-w-\[92\%\] {
  max-width: 92%;
}
.max-w-\[calc\(100\%-2rem\)\] {
  max-width: calc(100% - 2rem);
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-\[2\] {
  flex: 2;
}
.flex-none {
  flex: none;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.origin-bottom-right {
  transform-origin: bottom right;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-2 {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-\[180\%\] {
  --tw-translate-y: -180%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-full {
  --tw-translate-y: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[4\.25rem\] {
  --tw-translate-x: 4.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-full {
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-2 {
  --tw-translate-y: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-6 {
  --tw-translate-y: 1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-8 {
  --tw-translate-y: 2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[1\.4rem\] {
  --tw-translate-y: 1.4rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-90 {
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-90 {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[0\.18\] {
  --tw-scale-x: 0.18;
  --tw-scale-y: 0.18;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-0 {
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-100 {
  --tw-scale-x: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.animate-\[islandLevel_0\.9s_ease-in-out_infinite\] {
  animation: islandLevel 0.9s ease-in-out infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.animate-\[spin_11s_linear_infinite\] {
  animation: spin 11s linear infinite;
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }
  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}
.animate-bounce {
  animation: bounce 1s infinite;
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse {
  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-crosshair {
  cursor: crosshair;
}
.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-grabbing {
  cursor: grabbing;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-text {
  cursor: text;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize {
  resize: both;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start {
  scroll-snap-align: start;
}
.list-inside {
  list-style-position: inside;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.columns-2 {
  -moz-columns: 2;
       columns: 2;
}
.break-inside-avoid {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-\[68px_1fr\] {
  grid-template-columns: 68px 1fr;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-14 {
  gap: 3.5rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-7 {
  gap: 1.75rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[1\.5px\] {
  gap: 1.5px;
}
.gap-\[1px\] {
  gap: 1px;
}
.gap-\[2px\] {
  gap: 2px;
}
.gap-\[6px\] {
  gap: 6px;
}
.gap-x-2\.5 {
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-10 {
  row-gap: 2.5rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.gap-y-5 {
  row-gap: 1.25rem;
}
.-space-x-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.125rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.125rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.125rem * var(--tw-space-x-reverse));
  margin-left: calc(0.125rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.375rem * var(--tw-space-x-reverse));
  margin-left: calc(0.375rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.625rem * var(--tw-space-x-reverse));
  margin-left: calc(0.625rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-\[2px\] > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(2px * var(--tw-space-x-reverse));
  margin-left: calc(2px * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.875rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.space-x-reverse > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 1;
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.self-start {
  align-self: flex-start;
}
.self-end {
  align-self: flex-end;
}
.self-stretch {
  align-self: stretch;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overscroll-none {
  overscroll-behavior: none;
}
.scroll-smooth {
  scroll-behavior: smooth;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[--zd-radius-2xl\] {
  border-radius: var(--zd-radius-2xl);
}
.rounded-\[--zd-radius-md\] {
  border-radius: var(--zd-radius-md);
}
.rounded-\[--zd-radius-xl\] {
  border-radius: var(--zd-radius-xl);
}
.rounded-\[--zd-settings-icon-radius\] {
  border-radius: var(--zd-settings-icon-radius);
}
.rounded-\[0\.95rem\] {
  border-radius: 0.95rem;
}
.rounded-\[1\.1rem\] {
  border-radius: 1.1rem;
}
.rounded-\[100\%\] {
  border-radius: 100%;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[12px\] {
  border-radius: 12px;
}
.rounded-\[13px\] {
  border-radius: 13px;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.rounded-\[15px\] {
  border-radius: 15px;
}
.rounded-\[16px\] {
  border-radius: 16px;
}
.rounded-\[17px\] {
  border-radius: 17px;
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[1px\] {
  border-radius: 1px;
}
.rounded-\[2\.5rem\] {
  border-radius: 2.5rem;
}
.rounded-\[20px\] {
  border-radius: 20px;
}
.rounded-\[22px\] {
  border-radius: 22px;
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[26px\] {
  border-radius: 26px;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[2rem\] {
  border-radius: 2rem;
}
.rounded-\[30px\] {
  border-radius: 30px;
}
.rounded-\[32px\] {
  border-radius: 32px;
}
.rounded-\[34px\] {
  border-radius: 34px;
}
.rounded-\[4px\] {
  border-radius: 4px;
}
.rounded-\[6px\] {
  border-radius: 6px;
}
.rounded-\[8px\] {
  border-radius: 8px;
}
.rounded-\[999px\] {
  border-radius: 999px;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-sm {
  border-radius: 0.125rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-b-sm {
  border-bottom-right-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem;
}
.rounded-r-\[1px\] {
  border-top-right-radius: 1px;
  border-bottom-right-radius: 1px;
}
.rounded-r-full {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.rounded-t-\[24px\] {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}
.rounded-t-\[28px\] {
  border-top-left-radius: 28px;
  border-top-right-radius: 28px;
}
.rounded-t-\[32px\] {
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
}
.rounded-bl {
  border-bottom-left-radius: 0.25rem;
}
.rounded-br {
  border-bottom-right-radius: 0.25rem;
}
.rounded-tl {
  border-top-left-radius: 0.25rem;
}
.rounded-tl-\[--zd-radius-sm\] {
  border-top-left-radius: var(--zd-radius-sm);
}
.rounded-tr {
  border-top-right-radius: 0.25rem;
}
.rounded-tr-\[--zd-radius-sm\] {
  border-top-right-radius: var(--zd-radius-sm);
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-\[1\.5px\] {
  border-width: 1.5px;
}
.border-\[1px\] {
  border-width: 1px;
}
.border-\[2px\] {
  border-width: 2px;
}
.border-\[3px\] {
  border-width: 3px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-b-8 {
  border-bottom-width: 8px;
}
.border-b-\[8px\] {
  border-bottom-width: 8px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-r-2 {
  border-right-width: 2px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-dashed {
  border-style: dashed;
}
.border-dotted {
  border-style: dotted;
}
.border-none {
  border-style: none;
}
.border-\[\#111111\] {
  --tw-border-opacity: 1;
  border-color: rgb(17 17 17 / var(--tw-border-opacity, 1));
}
.border-\[\#1A1A1A\] {
  --tw-border-opacity: 1;
  border-color: rgb(26 26 26 / var(--tw-border-opacity, 1));
}
.border-\[\#1D9BF0\] {
  --tw-border-opacity: 1;
  border-color: rgb(29 155 240 / var(--tw-border-opacity, 1));
}
.border-\[\#2A2D3A\] {
  --tw-border-opacity: 1;
  border-color: rgb(42 45 58 / var(--tw-border-opacity, 1));
}
.border-\[\#3A3D4A\] {
  --tw-border-opacity: 1;
  border-color: rgb(58 61 74 / var(--tw-border-opacity, 1));
}
.border-\[\#7A9D75\] {
  --tw-border-opacity: 1;
  border-color: rgb(122 157 117 / var(--tw-border-opacity, 1));
}
.border-\[\#A7B5FE\] {
  --tw-border-opacity: 1;
  border-color: rgb(167 181 254 / var(--tw-border-opacity, 1));
}
.border-\[\#AAB4C7\] {
  --tw-border-opacity: 1;
  border-color: rgb(170 180 199 / var(--tw-border-opacity, 1));
}
.border-\[\#C44A4A\]\/15 {
  border-color: rgb(196 74 74 / 0.15);
}
.border-\[\#D0D9E8\] {
  --tw-border-opacity: 1;
  border-color: rgb(208 217 232 / var(--tw-border-opacity, 1));
}
.border-\[\#D1CEC7\] {
  --tw-border-opacity: 1;
  border-color: rgb(209 206 199 / var(--tw-border-opacity, 1));
}
.border-\[\#DDDDDD\] {
  --tw-border-opacity: 1;
  border-color: rgb(221 221 221 / var(--tw-border-opacity, 1));
}
.border-\[\#E0D5C7\] {
  --tw-border-opacity: 1;
  border-color: rgb(224 213 199 / var(--tw-border-opacity, 1));
}
.border-\[\#E2E5E6\] {
  --tw-border-opacity: 1;
  border-color: rgb(226 229 230 / var(--tw-border-opacity, 1));
}
.border-\[\#E5E5EA\] {
  --tw-border-opacity: 1;
  border-color: rgb(229 229 234 / var(--tw-border-opacity, 1));
}
.border-\[\#E8E0D8\] {
  --tw-border-opacity: 1;
  border-color: rgb(232 224 216 / var(--tw-border-opacity, 1));
}
.border-\[\#E8E8E8\] {
  --tw-border-opacity: 1;
  border-color: rgb(232 232 232 / var(--tw-border-opacity, 1));
}
.border-\[\#EEEEEE\] {
  --tw-border-opacity: 1;
  border-color: rgb(238 238 238 / var(--tw-border-opacity, 1));
}
.border-\[\#EFF3F4\] {
  --tw-border-opacity: 1;
  border-color: rgb(239 243 244 / var(--tw-border-opacity, 1));
}
.border-\[\#F0F0F0\] {
  --tw-border-opacity: 1;
  border-color: rgb(240 240 240 / var(--tw-border-opacity, 1));
}
.border-\[\#F1F1F1\] {
  --tw-border-opacity: 1;
  border-color: rgb(241 241 241 / var(--tw-border-opacity, 1));
}
.border-\[\#F2F2F2\] {
  --tw-border-opacity: 1;
  border-color: rgb(242 242 242 / var(--tw-border-opacity, 1));
}
.border-\[\#F2F2F6\] {
  --tw-border-opacity: 1;
  border-color: rgb(242 242 246 / var(--tw-border-opacity, 1));
}
.border-\[\#F3F3F3\] {
  --tw-border-opacity: 1;
  border-color: rgb(243 243 243 / var(--tw-border-opacity, 1));
}
.border-\[\#F5F5F5\] {
  --tw-border-opacity: 1;
  border-color: rgb(245 245 245 / var(--tw-border-opacity, 1));
}
.border-\[\#F6F6F6\] {
  --tw-border-opacity: 1;
  border-color: rgb(246 246 246 / var(--tw-border-opacity, 1));
}
.border-\[\#FF8200\] {
  --tw-border-opacity: 1;
  border-color: rgb(255 130 0 / var(--tw-border-opacity, 1));
}
.border-\[\#FF8200\]\/40 {
  border-color: rgb(255 130 0 / 0.4);
}
.border-\[\#FF8200\]\/50 {
  border-color: rgb(255 130 0 / 0.5);
}
.border-\[\#FFE8CC\] {
  --tw-border-opacity: 1;
  border-color: rgb(255 232 204 / var(--tw-border-opacity, 1));
}
.border-\[--zd-border-glass\] {
  border-color: var(--zd-border-glass);
}
.border-\[--zd-color-white\] {
  border-color: var(--zd-color-white);
}
.border-\[--zd-desktop-dock-border\] {
  border-color: var(--zd-desktop-dock-border);
}
.border-\[--zd-desktop-glass-border\] {
  border-color: var(--zd-desktop-glass-border);
}
.border-\[--zd-settings-card-border\] {
  border-color: var(--zd-settings-card-border);
}
.border-\[--zd-settings-panel-border\] {
  border-color: var(--zd-settings-panel-border);
}
.border-\[--zd-wechat-header-border\] {
  border-color: var(--zd-wechat-header-border);
}
.border-\[rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  border-color: rgba(0,0,0,0.04);
}
.border-\[rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  border-color: rgba(0,0,0,0.05);
}
.border-\[rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  border-color: rgba(0,0,0,0.06);
}
.border-\[rgba\(17\2c 17\2c 17\2c 0\.06\)\] {
  border-color: rgba(17,17,17,0.06);
}
.border-\[rgba\(17\2c 17\2c 17\2c 0\.12\)\] {
  border-color: rgba(17,17,17,0.12);
}
.border-\[rgba\(255\2c 255\2c 255\2c 0\.75\)\] {
  border-color: rgba(255,255,255,0.75);
}
.border-\[rgba\(255\2c 255\2c 255\2c 0\.8\)\] {
  border-color: rgba(255,255,255,0.8);
}
.border-\[rgba\(255\2c 255\2c 255\2c 0\.85\)\] {
  border-color: rgba(255,255,255,0.85);
}
.border-\[var\(--zd-wechat-bg\)\] {
  border-color: var(--zd-wechat-bg);
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/50 {
  border-color: rgb(245 158 11 / 0.5);
}
.border-amber-600 {
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}
.border-black {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
.border-black\/5 {
  border-color: rgb(0 0 0 / 0.05);
}
.border-black\/\[0\.03\] {
  border-color: rgb(0 0 0 / 0.03);
}
.border-black\/\[0\.06\] {
  border-color: rgb(0 0 0 / 0.06);
}
.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-500\/30 {
  border-color: rgb(59 130 246 / 0.3);
}
.border-blue-500\/50 {
  border-color: rgb(59 130 246 / 0.5);
}
.border-current {
  border-color: currentColor;
}
.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-100\/80 {
  border-color: rgb(243 244 246 / 0.8);
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-200\/60 {
  border-color: rgb(229 231 235 / 0.6);
}
.border-gray-200\/80 {
  border-color: rgb(229 231 235 / 0.8);
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-50 {
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}
.border-gray-50\/50 {
  border-color: rgb(249 250 251 / 0.5);
}
.border-gray-50\/80 {
  border-color: rgb(249 250 251 / 0.8);
}
.border-gray-500\/30 {
  border-color: rgb(107 114 128 / 0.3);
}
.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}
.border-gray-800 {
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}
.border-green-100 {
  --tw-border-opacity: 1;
  border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
}
.border-green-500\/30 {
  border-color: rgb(34 197 94 / 0.3);
}
.border-green-800 {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}
.border-orange-500\/30 {
  border-color: rgb(249 115 22 / 0.3);
}
.border-orange-500\/50 {
  border-color: rgb(249 115 22 / 0.5);
}
.border-purple-500\/30 {
  border-color: rgb(168 85 247 / 0.3);
}
.border-purple-500\/50 {
  border-color: rgb(168 85 247 / 0.5);
}
.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-500\/50 {
  border-color: rgb(239 68 68 / 0.5);
}
.border-red-800 {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-200\/40 {
  border-color: rgb(226 232 240 / 0.4);
}
.border-slate-50 {
  --tw-border-opacity: 1;
  border-color: rgb(248 250 252 / var(--tw-border-opacity, 1));
}
.border-slate-800\/40 {
  border-color: rgb(30 41 59 / 0.4);
}
.border-transparent {
  border-color: transparent;
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/5 {
  border-color: rgb(255 255 255 / 0.05);
}
.border-white\/50 {
  border-color: rgb(255 255 255 / 0.5);
}
.border-white\/60 {
  border-color: rgb(255 255 255 / 0.6);
}
.border-white\/70 {
  border-color: rgb(255 255 255 / 0.7);
}
.border-white\/80 {
  border-color: rgb(255 255 255 / 0.8);
}
.border-white\/\[0\.03\] {
  border-color: rgb(255 255 255 / 0.03);
}
.border-white\/\[0\.04\] {
  border-color: rgb(255 255 255 / 0.04);
}
.border-white\/\[0\.06\] {
  border-color: rgb(255 255 255 / 0.06);
}
.border-zinc-100 {
  --tw-border-opacity: 1;
  border-color: rgb(244 244 245 / var(--tw-border-opacity, 1));
}
.border-zinc-600 {
  --tw-border-opacity: 1;
  border-color: rgb(82 82 91 / var(--tw-border-opacity, 1));
}
.border-zinc-700 {
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}
.border-t-transparent {
  border-top-color: transparent;
}
.border-t-white\/60 {
  border-top-color: rgb(255 255 255 / 0.6);
}
.bg-\[\#050505\]\/90 {
  background-color: rgb(5 5 5 / 0.9);
}
.bg-\[\#07C160\] {
  --tw-bg-opacity: 1;
  background-color: rgb(7 193 96 / var(--tw-bg-opacity, 1));
}
.bg-\[\#080808\] {
  --tw-bg-opacity: 1;
  background-color: rgb(8 8 8 / var(--tw-bg-opacity, 1));
}
.bg-\[\#09101c\]\/45 {
  background-color: rgb(9 16 28 / 0.45);
}
.bg-\[\#09101c\]\/55 {
  background-color: rgb(9 16 28 / 0.55);
}
.bg-\[\#0F3D91\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 61 145 / var(--tw-bg-opacity, 1));
}
.bg-\[\#111111\] {
  --tw-bg-opacity: 1;
  background-color: rgb(17 17 17 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1A1A1A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 26 26 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1A1A1A\]\/90 {
  background-color: rgb(26 26 26 / 0.9);
}
.bg-\[\#1A1C1D\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 28 29 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1A1C23\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 28 35 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1A1C23\]\/90 {
  background-color: rgb(26 28 35 / 0.9);
}
.bg-\[\#1C1C1E\] {
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 30 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1D9BF0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(29 155 240 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1E2029\] {
  --tw-bg-opacity: 1;
  background-color: rgb(30 32 41 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1a1a2e\]\/95 {
  background-color: rgb(26 26 46 / 0.95);
}
.bg-\[\#232323\] {
  --tw-bg-opacity: 1;
  background-color: rgb(35 35 35 / var(--tw-bg-opacity, 1));
}
.bg-\[\#252830\] {
  --tw-bg-opacity: 1;
  background-color: rgb(37 40 48 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2A2A2A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(42 42 42 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2A2D3A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(42 45 58 / var(--tw-bg-opacity, 1));
}
.bg-\[\#3A3A3C\] {
  --tw-bg-opacity: 1;
  background-color: rgb(58 58 60 / var(--tw-bg-opacity, 1));
}
.bg-\[\#3A3A3C\]\/90 {
  background-color: rgb(58 58 60 / 0.9);
}
.bg-\[\#3A3D4A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(58 61 74 / var(--tw-bg-opacity, 1));
}
.bg-\[\#40352E\] {
  --tw-bg-opacity: 1;
  background-color: rgb(64 53 46 / var(--tw-bg-opacity, 1));
}
.bg-\[\#459CF9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(69 156 249 / var(--tw-bg-opacity, 1));
}
.bg-\[\#4ADE80\] {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-\[\#4ADE80\]\/10 {
  background-color: rgb(74 222 128 / 0.1);
}
.bg-\[\#507DAF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(80 125 175 / var(--tw-bg-opacity, 1));
}
.bg-\[\#555555\] {
  --tw-bg-opacity: 1;
  background-color: rgb(85 85 85 / var(--tw-bg-opacity, 1));
}
.bg-\[\#6C7A92\] {
  --tw-bg-opacity: 1;
  background-color: rgb(108 122 146 / var(--tw-bg-opacity, 1));
}
.bg-\[\#7A9D75\]\/10 {
  background-color: rgb(122 157 117 / 0.1);
}
.bg-\[\#7A9D75\]\/5 {
  background-color: rgb(122 157 117 / 0.05);
}
.bg-\[\#A7B5FE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(167 181 254 / var(--tw-bg-opacity, 1));
}
.bg-\[\#A7B5FE\]\/10 {
  background-color: rgb(167 181 254 / 0.1);
}
.bg-\[\#A7B5FE\]\/5 {
  background-color: rgb(167 181 254 / 0.05);
}
.bg-\[\#B5B5B5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(181 181 181 / var(--tw-bg-opacity, 1));
}
.bg-\[\#C4B5A0\]\/10 {
  background-color: rgb(196 181 160 / 0.1);
}
.bg-\[\#D4A373\] {
  --tw-bg-opacity: 1;
  background-color: rgb(212 163 115 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D8D8D8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E2E5E6\]\/50 {
  background-color: rgb(226 229 230 / 0.5);
}
.bg-\[\#E55A39\] {
  --tw-bg-opacity: 1;
  background-color: rgb(229 90 57 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E5E5EA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(229 229 234 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E8E6E1\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 230 225 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E8E8E8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 232 232 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E8EDF5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 237 245 / var(--tw-bg-opacity, 1));
}
.bg-\[\#EBEBEB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(235 235 235 / var(--tw-bg-opacity, 1));
}
.bg-\[\#EEF3FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 243 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F2F0ED\] {
  --tw-bg-opacity: 1;
  background-color: rgb(242 240 237 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F2F2F2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(242 242 242 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F3F4F6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F3F5F9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 245 249 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F4F2EF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 242 239 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F4F5F7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 245 247 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F4F5F9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 245 249 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F4F6F6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 246 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F4F7F5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 247 245 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F5F5F5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F5F5F6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F5F6F8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 246 248 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F5F7FA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 247 250 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F6F3EE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(246 243 238 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F6F7F8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(246 247 248 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F7F7F7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 247 247 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F7F7F9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 247 249 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F8F5F2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 245 242 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F8F8F8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 248 248 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F8F9FA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 249 250 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F8FAFD\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 253 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F9F8F6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(249 248 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F9F8F6\]\/90 {
  background-color: rgb(249 248 246 / 0.9);
}
.bg-\[\#F9F9F9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(249 249 249 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FAF9F7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 249 247 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FAFAFA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FCF5F3\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 245 243 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FCFCFD\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 252 253 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF3852\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 56 82 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF3B30\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 59 48 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF7A1A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 122 26 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF8200\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 130 0 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF8200\]\/10 {
  background-color: rgb(255 130 0 / 0.1);
}
.bg-\[\#FF8A9B\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 138 155 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FFF0E5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 240 229 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FFF8F0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 248 240 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FFFAF0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 250 240 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FFFDFC\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 253 252 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FFFEF5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 254 245 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FFFFFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f5f3f4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 244 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f5f4f1\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 244 241 / var(--tw-bg-opacity, 1));
}
.bg-\[--zd-color-off-white\] {
  background-color: var(--zd-color-off-white);
}
.bg-\[--zd-desktop-bg\] {
  background-color: var(--zd-desktop-bg);
}
.bg-\[--zd-desktop-dock-bg\] {
  background-color: var(--zd-desktop-dock-bg);
}
.bg-\[--zd-desktop-glass\] {
  background-color: var(--zd-desktop-glass);
}
.bg-\[--zd-settings-card-border\] {
  background-color: var(--zd-settings-card-border);
}
.bg-\[--zd-settings-panel-border\] {
  background-color: var(--zd-settings-panel-border);
}
.bg-\[--zd-wechat-bg\] {
  background-color: var(--zd-wechat-bg);
}
.bg-\[--zd-wechat-input-bg\] {
  background-color: var(--zd-wechat-input-bg);
}
.bg-\[rgba\(0\2c 0\2c 0\2c 0\.03\)\] {
  background-color: rgba(0,0,0,0.03);
}
.bg-\[rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  background-color: rgba(0,0,0,0.04);
}
.bg-\[rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  background-color: rgba(0,0,0,0.08);
}
.bg-\[rgba\(12\2c 18\2c 28\2c 0\.18\)\] {
  background-color: rgba(12,18,28,0.18);
}
.bg-\[rgba\(17\2c 12\2c 8\2c 0\.2\)\] {
  background-color: rgba(17,12,8,0.2);
}
.bg-\[rgba\(17\2c 17\2c 17\2c 0\.04\)\] {
  background-color: rgba(17,17,17,0.04);
}
.bg-\[rgba\(17\2c 17\2c 17\2c 0\.08\)\] {
  background-color: rgba(17,17,17,0.08);
}
.bg-\[rgba\(17\2c 17\2c 17\2c 0\.18\)\] {
  background-color: rgba(17,17,17,0.18);
}
.bg-\[rgba\(17\2c 17\2c 17\2c 0\.92\)\] {
  background-color: rgba(17,17,17,0.92);
}
.bg-\[rgba\(246\2c 247\2c 249\2c 0\.94\)\] {
  background-color: rgba(246,247,249,0.94);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.5\)\] {
  background-color: rgba(255,255,255,0.5);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.54\)\] {
  background-color: rgba(255,255,255,0.54);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.6\)\] {
  background-color: rgba(255,255,255,0.6);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.72\)\] {
  background-color: rgba(255,255,255,0.72);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.78\)\] {
  background-color: rgba(255,255,255,0.78);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.8\)\] {
  background-color: rgba(255,255,255,0.8);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.82\)\] {
  background-color: rgba(255,255,255,0.82);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.92\)\] {
  background-color: rgba(255,255,255,0.92);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.94\)\] {
  background-color: rgba(255,255,255,0.94);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.98\)\] {
  background-color: rgba(255,255,255,0.98);
}
.bg-\[rgba\(6\2c 10\2c 18\2c 0\.22\)\] {
  background-color: rgba(6,10,18,0.22);
}
.bg-\[rgba\(7\2c 11\2c 18\2c 0\.4\)\] {
  background-color: rgba(7,11,18,0.4);
}
.bg-\[rgba\(8\2c 12\2c 20\2c 0\.42\)\] {
  background-color: rgba(8,12,20,0.42);
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-400\/70 {
  background-color: rgb(251 191 36 / 0.7);
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/60 {
  background-color: rgb(245 158 11 / 0.6);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/0 {
  background-color: rgb(0 0 0 / 0);
}
.bg-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/15 {
  background-color: rgb(0 0 0 / 0.15);
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/5 {
  background-color: rgb(0 0 0 / 0.05);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/55 {
  background-color: rgb(0 0 0 / 0.55);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/\[0\.02\] {
  background-color: rgb(0 0 0 / 0.02);
}
.bg-black\/\[0\.03\] {
  background-color: rgb(0 0 0 / 0.03);
}
.bg-black\/\[0\.04\] {
  background-color: rgb(0 0 0 / 0.04);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}
.bg-blue-400\/70 {
  background-color: rgb(96 165 250 / 0.7);
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-500\/20 {
  background-color: rgb(59 130 246 / 0.2);
}
.bg-blue-500\/60 {
  background-color: rgb(59 130 246 / 0.6);
}
.bg-blue-600\/30 {
  background-color: rgb(37 99 235 / 0.3);
}
.bg-cyan-400\/70 {
  background-color: rgb(34 211 238 / 0.7);
}
.bg-cyan-500\/60 {
  background-color: rgb(6 182 212 / 0.6);
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400\/70 {
  background-color: rgb(52 211 153 / 0.7);
}
.bg-emerald-500\/60 {
  background-color: rgb(16 185 129 / 0.6);
}
.bg-fuchsia-600\/15 {
  background-color: rgb(192 38 211 / 0.15);
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-200\/80 {
  background-color: rgb(229 231 235 / 0.8);
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-500\/10 {
  background-color: rgb(107 114 128 / 0.1);
}
.bg-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.bg-gray-700\/50 {
  background-color: rgb(55 65 81 / 0.5);
}
.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/20 {
  background-color: rgb(34 197 94 / 0.2);
}
.bg-green-900\/20 {
  background-color: rgb(20 83 45 / 0.2);
}
.bg-indigo-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500\/10 {
  background-color: rgb(99 102 241 / 0.1);
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/20 {
  background-color: rgb(249 115 22 / 0.2);
}
.bg-pink-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 114 182 / var(--tw-bg-opacity, 1));
}
.bg-pink-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}
.bg-pink-500\/10 {
  background-color: rgb(236 72 153 / 0.1);
}
.bg-purple-500\/20 {
  background-color: rgb(168 85 247 / 0.2);
}
.bg-purple-500\/30 {
  background-color: rgb(168 85 247 / 0.3);
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/20 {
  background-color: rgb(239 68 68 / 0.2);
}
.bg-red-500\/80 {
  background-color: rgb(239 68 68 / 0.8);
}
.bg-red-900\/20 {
  background-color: rgb(127 29 29 / 0.2);
}
.bg-rose-400\/70 {
  background-color: rgb(251 113 133 / 0.7);
}
.bg-rose-500\/60 {
  background-color: rgb(244 63 94 / 0.6);
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/30 {
  background-color: rgb(15 23 42 / 0.3);
}
.bg-slate-900\/40 {
  background-color: rgb(15 23 42 / 0.4);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-400\/70 {
  background-color: rgb(167 139 250 / 0.7);
}
.bg-violet-500\/60 {
  background-color: rgb(139 92 246 / 0.6);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}
.bg-white\/40 {
  background-color: rgb(255 255 255 / 0.4);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/85 {
  background-color: rgb(255 255 255 / 0.85);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-white\/\[0\.02\] {
  background-color: rgb(255 255 255 / 0.02);
}
.bg-white\/\[0\.03\] {
  background-color: rgb(255 255 255 / 0.03);
}
.bg-white\/\[0\.08\] {
  background-color: rgb(255 255 255 / 0.08);
}
.bg-zinc-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
}
.bg-zinc-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(228 228 231 / var(--tw-bg-opacity, 1));
}
.bg-zinc-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(161 161 170 / var(--tw-bg-opacity, 1));
}
.bg-zinc-400\/60 {
  background-color: rgb(161 161 170 / 0.6);
}
.bg-zinc-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.bg-zinc-50\/80 {
  background-color: rgb(250 250 250 / 0.8);
}
.bg-zinc-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
}
.bg-zinc-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}
.bg-zinc-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
}
.bg-zinc-900\/40 {
  background-color: rgb(24 24 27 / 0.4);
}
.bg-zinc-900\/60 {
  background-color: rgb(24 24 27 / 0.6);
}
.bg-zinc-900\/80 {
  background-color: rgb(24 24 27 / 0.8);
}
.bg-zinc-900\/90 {
  background-color: rgb(24 24 27 / 0.9);
}
.bg-zinc-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity, 1));
}
.bg-\[linear-gradient\(180deg\2c \#F5F8FF_0\%\2c \#EEF3FB_100\%\)\] {
  background-image: linear-gradient(180deg,#F5F8FF 0%,#EEF3FB 100%);
}
.bg-\[linear-gradient\(180deg\2c rgba\(27\2c 60\2c 124\2c 0\.1\)\2c rgba\(27\2c 60\2c 124\2c 0\)\)\] {
  background-image: linear-gradient(180deg,rgba(27,60,124,0.1),rgba(27,60,124,0));
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l {
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-\[\#09090b\] {
  --tw-gradient-from: #09090b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(9 9 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0A0A0A\] {
  --tw-gradient-from: #0A0A0A var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#7B95B7\] {
  --tw-gradient-from: #7B95B7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(123 149 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#8E8E93\] {
  --tw-gradient-from: #8E8E93 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(142 142 147 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#A7B5FE\] {
  --tw-gradient-from: #A7B5FE var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 181 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#A7B5FE\]\/20 {
  --tw-gradient-from: rgb(167 181 254 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 181 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#D4CFC7\] {
  --tw-gradient-from: #D4CFC7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(212 207 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#F2F2F7\] {
  --tw-gradient-from: #F2F2F7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 242 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#FAD683\] {
  --tw-gradient-from: #FAD683 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 214 131 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#FF8200\]\/30 {
  --tw-gradient-from: rgb(255 130 0 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 130 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#FF8A00\] {
  --tw-gradient-from: #FF8A00 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 138 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[--zd-color-matcha-400\] {
  --tw-gradient-from: var(--zd-color-matcha-400) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-400 {
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-400\/70 {
  --tw-gradient-from: rgb(251 191 36 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-400\/90 {
  --tw-gradient-from: rgb(251 191 36 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-50 {
  --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/10 {
  --tw-gradient-from: rgb(245 158 11 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/15 {
  --tw-gradient-from: rgb(0 0 0 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/20 {
  --tw-gradient-from: rgb(0 0 0 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/60 {
  --tw-gradient-from: rgb(0 0 0 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-100\/30 {
  --tw-gradient-from: rgb(219 234 254 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400 {
  --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400\/30 {
  --tw-gradient-from: rgb(96 165 250 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500 {
  --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/10 {
  --tw-gradient-from: rgb(59 130 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/20 {
  --tw-gradient-from: rgb(59 130 246 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-100 {
  --tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-400 {
  --tw-gradient-from: #9ca3af var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-500 {
  --tw-gradient-from: #6b7280 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-500\/10 {
  --tw-gradient-from: rgb(107 114 128 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-700 {
  --tw-gradient-from: #374151 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-400 {
  --tw-gradient-from: #4ade80 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500\/20 {
  --tw-gradient-from: rgb(34 197 94 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-800\/30 {
  --tw-gradient-from: rgb(55 48 163 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 48 163 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-300\/30 {
  --tw-gradient-from: rgb(253 186 116 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 186 116 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/20 {
  --tw-gradient-from: rgb(249 115 22 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-300\/30 {
  --tw-gradient-from: rgb(249 168 212 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 168 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-400 {
  --tw-gradient-from: #f472b6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500 {
  --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-400 {
  --tw-gradient-from: #c084fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500 {
  --tw-gradient-from: #a855f7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/10 {
  --tw-gradient-from: rgb(168 85 247 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/20 {
  --tw-gradient-from: rgb(168 85 247 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-400 {
  --tw-gradient-from: #f87171 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 113 113 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500 {
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/10 {
  --tw-gradient-from: rgb(239 68 68 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/30 {
  --tw-gradient-from: rgb(239 68 68 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-300\/30 {
  --tw-gradient-from: rgb(203 213 225 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-200\/30 {
  --tw-gradient-from: rgb(153 246 228 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(153 246 228 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/5 {
  --tw-gradient-from: rgb(255 255 255 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/80 {
  --tw-gradient-from: rgb(255 255 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-zinc-700 {
  --tw-gradient-from: #3f3f46 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(63 63 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-zinc-800 {
  --tw-gradient-from: #27272a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(39 39 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#09090b\]\/80 {
  --tw-gradient-to: rgb(9 9 11 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(9 9 11 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0f0f11\] {
  --tw-gradient-to: rgb(15 15 17 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f0f11 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#3A3A3C\] {
  --tw-gradient-to: rgb(58 58 60 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #3A3A3C var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#FF512F\] {
  --tw-gradient-to: rgb(255 81 47 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #FF512F var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#f4f4f9\] {
  --tw-gradient-to: rgb(244 244 249 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f4f4f9 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-400\/25 {
  --tw-gradient-to: rgb(251 191 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(251 191 36 / 0.25) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-black\/10 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-gray-300\/50 {
  --tw-gradient-to: rgb(209 213 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(209 213 219 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-gray-700\/50 {
  --tw-gradient-to: rgb(55 65 81 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(55 65 81 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/10 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/20 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/30 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/80 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/90 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#0A0A0A\] {
  --tw-gradient-to: #0A0A0A var(--tw-gradient-to-position);
}
.to-\[\#8E8E93\] {
  --tw-gradient-to: #8E8E93 var(--tw-gradient-to-position);
}
.to-\[\#98B486\] {
  --tw-gradient-to: #98B486 var(--tw-gradient-to-position);
}
.to-\[\#B8C4FF\] {
  --tw-gradient-to: #B8C4FF var(--tw-gradient-to-position);
}
.to-\[\#E3B856\] {
  --tw-gradient-to: #E3B856 var(--tw-gradient-to-position);
}
.to-\[\#E8E6E1\] {
  --tw-gradient-to: #E8E6E1 var(--tw-gradient-to-position);
}
.to-\[\#F12711\] {
  --tw-gradient-to: #F12711 var(--tw-gradient-to-position);
}
.to-\[\#F2F2F7\] {
  --tw-gradient-to: #F2F2F7 var(--tw-gradient-to-position);
}
.to-\[\#FF8200\]\/50 {
  --tw-gradient-to: rgb(255 130 0 / 0.5) var(--tw-gradient-to-position);
}
.to-\[\#FF8A9B\]\/20 {
  --tw-gradient-to: rgb(255 138 155 / 0.2) var(--tw-gradient-to-position);
}
.to-\[--zd-color-matcha-500\] {
  --tw-gradient-to: var(--zd-color-matcha-500) var(--tw-gradient-to-position);
}
.to-amber-600\/30 {
  --tw-gradient-to: rgb(217 119 6 / 0.3) var(--tw-gradient-to-position);
}
.to-blue-500 {
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}
.to-blue-500\/20 {
  --tw-gradient-to: rgb(59 130 246 / 0.2) var(--tw-gradient-to-position);
}
.to-blue-600 {
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-600\/20 {
  --tw-gradient-to: rgb(37 99 235 / 0.2) var(--tw-gradient-to-position);
}
.to-cyan-500 {
  --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}
.to-cyan-500\/30 {
  --tw-gradient-to: rgb(6 182 212 / 0.3) var(--tw-gradient-to-position);
}
.to-cyan-600 {
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}
.to-emerald-300\/30 {
  --tw-gradient-to: rgb(110 231 183 / 0.3) var(--tw-gradient-to-position);
}
.to-gray-200 {
  --tw-gradient-to: #e5e7eb var(--tw-gradient-to-position);
}
.to-gray-200\/30 {
  --tw-gradient-to: rgb(229 231 235 / 0.3) var(--tw-gradient-to-position);
}
.to-gray-700\/30 {
  --tw-gradient-to: rgb(55 65 81 / 0.3) var(--tw-gradient-to-position);
}
.to-gray-800 {
  --tw-gradient-to: #1f2937 var(--tw-gradient-to-position);
}
.to-green-600 {
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}
.to-green-600\/20 {
  --tw-gradient-to: rgb(22 163 74 / 0.2) var(--tw-gradient-to-position);
}
.to-indigo-500 {
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}
.to-indigo-500\/10 {
  --tw-gradient-to: rgb(99 102 241 / 0.1) var(--tw-gradient-to-position);
}
.to-orange-400 {
  --tw-gradient-to: #fb923c var(--tw-gradient-to-position);
}
.to-orange-50 {
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-orange-500 {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-orange-500\/10 {
  --tw-gradient-to: rgb(249 115 22 / 0.1) var(--tw-gradient-to-position);
}
.to-orange-600\/20 {
  --tw-gradient-to: rgb(234 88 12 / 0.2) var(--tw-gradient-to-position);
}
.to-pink-500 {
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}
.to-pink-500\/10 {
  --tw-gradient-to: rgb(236 72 153 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-600 {
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-purple-600\/20 {
  --tw-gradient-to: rgb(147 51 234 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-900\/30 {
  --tw-gradient-to: rgb(88 28 135 / 0.3) var(--tw-gradient-to-position);
}
.to-red-600 {
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-rose-400 {
  --tw-gradient-to: #fb7185 var(--tw-gradient-to-position);
}
.to-rose-400\/30 {
  --tw-gradient-to: rgb(251 113 133 / 0.3) var(--tw-gradient-to-position);
}
.to-rose-500 {
  --tw-gradient-to: #f43f5e var(--tw-gradient-to-position);
}
.to-rose-500\/10 {
  --tw-gradient-to: rgb(244 63 94 / 0.1) var(--tw-gradient-to-position);
}
.to-sky-300\/30 {
  --tw-gradient-to: rgb(125 211 252 / 0.3) var(--tw-gradient-to-position);
}
.to-slate-400 {
  --tw-gradient-to: #94a3b8 var(--tw-gradient-to-position);
}
.to-slate-500 {
  --tw-gradient-to: #64748b var(--tw-gradient-to-position);
}
.to-slate-500\/10 {
  --tw-gradient-to: rgb(100 116 139 / 0.1) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-white\/\[0\.02\] {
  --tw-gradient-to: rgb(255 255 255 / 0.02) var(--tw-gradient-to-position);
}
.to-zinc-400\/30 {
  --tw-gradient-to: rgb(161 161 170 / 0.3) var(--tw-gradient-to-position);
}
.to-zinc-800 {
  --tw-gradient-to: #27272a var(--tw-gradient-to-position);
}
.to-zinc-900 {
  --tw-gradient-to: #18181b var(--tw-gradient-to-position);
}
.bg-cover {
  background-size: cover;
}
.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}
.bg-center {
  background-position: center;
}
.fill-\[\#E55A39\] {
  fill: #E55A39;
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-center {
  -o-object-position: center;
     object-position: center;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[13px\] {
  padding: 13px;
}
.p-\[14px\] {
  padding: 14px;
}
.p-\[2px\] {
  padding: 2px;
}
.p-\[3px\] {
  padding: 3px;
}
.p-\[6px\] {
  padding: 6px;
}
.p-\[8px\] {
  padding: 8px;
}
.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[--zd-settings-item-padding-x\] {
  padding-left: var(--zd-settings-item-padding-x);
  padding-right: var(--zd-settings-item-padding-x);
}
.px-\[10px\] {
  padding-left: 10px;
  padding-right: 10px;
}
.px-\[3px\] {
  padding-left: 3px;
  padding-right: 3px;
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[--zd-settings-item-padding-y\] {
  padding-top: var(--zd-settings-item-padding-y);
  padding-bottom: var(--zd-settings-item-padding-y);
}
.py-\[0\.5px\] {
  padding-top: 0.5px;
  padding-bottom: 0.5px;
}
.py-\[10px\] {
  padding-top: 10px;
  padding-bottom: 10px;
}
.py-\[11px\] {
  padding-top: 11px;
  padding-bottom: 11px;
}
.py-\[12px\] {
  padding-top: 12px;
  padding-bottom: 12px;
}
.py-\[1px\] {
  padding-top: 1px;
  padding-bottom: 1px;
}
.py-\[2px\] {
  padding-top: 2px;
  padding-bottom: 2px;
}
.py-\[5px\] {
  padding-top: 5px;
  padding-bottom: 5px;
}
.py-\[6px\] {
  padding-top: 6px;
  padding-bottom: 6px;
}
.py-\[7px\] {
  padding-top: 7px;
  padding-bottom: 7px;
}
.py-\[9px\] {
  padding-top: 9px;
  padding-bottom: 9px;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-14 {
  padding-bottom: 3.5rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-24 {
  padding-bottom: 6rem;
}
.pb-28 {
  padding-bottom: 7rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-3\.5 {
  padding-bottom: 0.875rem;
}
.pb-32 {
  padding-bottom: 8rem;
}
.pb-36 {
  padding-bottom: 9rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-\[0\.18rem\] {
  padding-bottom: 0.18rem;
}
.pb-\[0\.28rem\] {
  padding-bottom: 0.28rem;
}
.pb-\[40vh\] {
  padding-bottom: 40vh;
}
.pb-\[60px\] {
  padding-bottom: 60px;
}
.pb-\[6px\] {
  padding-bottom: 6px;
}
.pb-\[7\.1rem\] {
  padding-bottom: 7.1rem;
}
.pb-\[7rem\] {
  padding-bottom: 7rem;
}
.pb-\[9px\] {
  padding-bottom: 9px;
}
.pb-\[calc\(50px\+env\(safe-area-inset-bottom\2c 0px\)\)\] {
  padding-bottom: calc(50px + env(safe-area-inset-bottom,0px));
}
.pb-\[calc\(env\(safe-area-inset-bottom\2c 0px\)\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom,0px));
}
.pb-\[calc\(env\(safe-area-inset-bottom\2c 0px\)\+16px\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom,0px) + 16px);
}
.pb-\[calc\(env\(safe-area-inset-bottom\2c 0px\)\+24px\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom,0px) + 24px);
}
.pb-\[calc\(env\(safe-area-inset-bottom\2c 0px\)\+8px\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom,0px) + 8px);
}
.pb-\[env\(safe-area-inset-bottom\2c 0px\)\] {
  padding-bottom: env(safe-area-inset-bottom,0px);
}
.pl-0 {
  padding-left: 0px;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-1\.5 {
  padding-left: 0.375rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pr-0 {
  padding-right: 0px;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-12 {
  padding-right: 3rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-20 {
  padding-right: 5rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-14 {
  padding-top: 3.5rem;
}
.pt-16 {
  padding-top: 4rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-20 {
  padding-top: 5rem;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-3\.5 {
  padding-top: 0.875rem;
}
.pt-32 {
  padding-top: 8rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-40 {
  padding-top: 10rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-7 {
  padding-top: 1.75rem;
}
.pt-8 {
  padding-top: 2rem;
}
.pt-9 {
  padding-top: 2.25rem;
}
.pt-\[10px\] {
  padding-top: 10px;
}
.pt-\[18px\] {
  padding-top: 18px;
}
.pt-\[1px\] {
  padding-top: 1px;
}
.pt-\[40px\] {
  padding-top: 40px;
}
.pt-\[40vh\] {
  padding-top: 40vh;
}
.pt-\[8\.5rem\] {
  padding-top: 8.5rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: system-ui, -apple-system, PingFang SC, Microsoft YaHei, Hiragino Sans GB, Inter, sans-serif;
}
.font-serif {
  font-family: STSongti-SC, Songti SC, Noto Serif SC, Source Han Serif SC, STSong, SimSun, Georgia, serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-8xl {
  font-size: 6rem;
  line-height: 1;
}
.text-\[1\.1rem\] {
  font-size: 1.1rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[180px\] {
  font-size: 180px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[19px\] {
  font-size: 19px;
}
.text-\[2\.5rem\] {
  font-size: 2.5rem;
}
.text-\[20px\] {
  font-size: 20px;
}
.text-\[21px\] {
  font-size: 21px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-\[24px\] {
  font-size: 24px;
}
.text-\[25px\] {
  font-size: 25px;
}
.text-\[26px\] {
  font-size: 26px;
}
.text-\[280px\] {
  font-size: 280px;
}
.text-\[28px\] {
  font-size: 28px;
}
.text-\[3\.5rem\] {
  font-size: 3.5rem;
}
.text-\[30px\] {
  font-size: 30px;
}
.text-\[31px\] {
  font-size: 31px;
}
.text-\[32px\] {
  font-size: 32px;
}
.text-\[36px\] {
  font-size: 36px;
}
.text-\[38px\] {
  font-size: 38px;
}
.text-\[40px\] {
  font-size: 40px;
}
.text-\[44px\] {
  font-size: 44px;
}
.text-\[47px\] {
  font-size: 47px;
}
.text-\[48px\] {
  font-size: 48px;
}
.text-\[52px\] {
  font-size: 52px;
}
.text-\[56px\] {
  font-size: 56px;
}
.text-\[5px\] {
  font-size: 5px;
}
.text-\[64px\] {
  font-size: 64px;
}
.text-\[6px\] {
  font-size: 6px;
}
.text-\[7px\] {
  font-size: 7px;
}
.text-\[8px\] {
  font-size: 8px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-\[200\] {
  font-weight: 200;
}
.font-\[300\] {
  font-weight: 300;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-extralight {
  font-weight: 200;
}
.font-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.font-thin {
  font-weight: 100;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.not-italic {
  font-style: normal;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-4 {
  line-height: 1rem;
}
.leading-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-7 {
  line-height: 1.75rem;
}
.leading-\[0\.8\] {
  line-height: 0.8;
}
.leading-\[1\.02\] {
  line-height: 1.02;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.06\] {
  line-height: 1.06;
}
.leading-\[1\.14\] {
  line-height: 1.14;
}
.leading-\[1\.18\] {
  line-height: 1.18;
}
.leading-\[1\.22\] {
  line-height: 1.22;
}
.leading-\[1\.25\] {
  line-height: 1.25;
}
.leading-\[1\.28\] {
  line-height: 1.28;
}
.leading-\[1\.2\] {
  line-height: 1.2;
}
.leading-\[1\.35\] {
  line-height: 1.35;
}
.leading-\[1\.3\] {
  line-height: 1.3;
}
.leading-\[1\.3rem\] {
  line-height: 1.3rem;
}
.leading-\[1\.45\] {
  line-height: 1.45;
}
.leading-\[1\.4\] {
  line-height: 1.4;
}
.leading-\[1\.55\] {
  line-height: 1.55;
}
.leading-\[1\.5\] {
  line-height: 1.5;
}
.leading-\[1\.65\] {
  line-height: 1.65;
}
.leading-\[1\.6\] {
  line-height: 1.6;
}
.leading-\[1\.72\] {
  line-height: 1.72;
}
.leading-\[1\.75\] {
  line-height: 1.75;
}
.leading-\[1\.76\] {
  line-height: 1.76;
}
.leading-\[1\.7\] {
  line-height: 1.7;
}
.leading-\[1\.85\] {
  line-height: 1.85;
}
.leading-\[1\.8\] {
  line-height: 1.8;
}
.leading-\[1\.9\] {
  line-height: 1.9;
}
.leading-\[2\.2\] {
  line-height: 2.2;
}
.leading-loose {
  line-height: 2;
}
.leading-none {
  line-height: 1;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[-0\.015em\] {
  letter-spacing: -0.015em;
}
.tracking-\[-0\.01em\] {
  letter-spacing: -0.01em;
}
.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}
.tracking-\[-0\.035em\] {
  letter-spacing: -0.035em;
}
.tracking-\[-0\.03em\] {
  letter-spacing: -0.03em;
}
.tracking-\[-0\.045em\] {
  letter-spacing: -0.045em;
}
.tracking-\[-0\.04em\] {
  letter-spacing: -0.04em;
}
.tracking-\[-0\.05em\] {
  letter-spacing: -0.05em;
}
.tracking-\[-0\.06em\] {
  letter-spacing: -0.06em;
}
.tracking-\[-0\.08em\] {
  letter-spacing: -0.08em;
}
.tracking-\[0\.01em\] {
  letter-spacing: 0.01em;
}
.tracking-\[0\.02em\] {
  letter-spacing: 0.02em;
}
.tracking-\[0\.04em\] {
  letter-spacing: 0.04em;
}
.tracking-\[0\.06em\] {
  letter-spacing: 0.06em;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.22em\] {
  letter-spacing: 0.22em;
}
.tracking-\[0\.24em\] {
  letter-spacing: 0.24em;
}
.tracking-\[0\.25em\] {
  letter-spacing: 0.25em;
}
.tracking-\[0\.26em\] {
  letter-spacing: 0.26em;
}
.tracking-\[0\.28em\] {
  letter-spacing: 0.28em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.32em\] {
  letter-spacing: 0.32em;
}
.tracking-\[0\.34em\] {
  letter-spacing: 0.34em;
}
.tracking-\[0\.35em\] {
  letter-spacing: 0.35em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-\[0\.4em\] {
  letter-spacing: 0.4em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-tighter {
  letter-spacing: -0.05em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-\[\#000000\] {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-\[\#00C07F\] {
  --tw-text-opacity: 1;
  color: rgb(0 192 127 / var(--tw-text-opacity, 1));
}
.text-\[\#0F1419\] {
  --tw-text-opacity: 1;
  color: rgb(15 20 25 / var(--tw-text-opacity, 1));
}
.text-\[\#111111\] {
  --tw-text-opacity: 1;
  color: rgb(17 17 17 / var(--tw-text-opacity, 1));
}
.text-\[\#111\] {
  --tw-text-opacity: 1;
  color: rgb(17 17 17 / var(--tw-text-opacity, 1));
}
.text-\[\#173C87\] {
  --tw-text-opacity: 1;
  color: rgb(23 60 135 / var(--tw-text-opacity, 1));
}
.text-\[\#1A1A1A\] {
  --tw-text-opacity: 1;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
.text-\[\#1A1C1D\] {
  --tw-text-opacity: 1;
  color: rgb(26 28 29 / var(--tw-text-opacity, 1));
}
.text-\[\#1D9BF0\] {
  --tw-text-opacity: 1;
  color: rgb(29 155 240 / var(--tw-text-opacity, 1));
}
.text-\[\#222222\] {
  --tw-text-opacity: 1;
  color: rgb(34 34 34 / var(--tw-text-opacity, 1));
}
.text-\[\#2C2A26\] {
  --tw-text-opacity: 1;
  color: rgb(44 42 38 / var(--tw-text-opacity, 1));
}
.text-\[\#2C2C2C\] {
  --tw-text-opacity: 1;
  color: rgb(44 44 44 / var(--tw-text-opacity, 1));
}
.text-\[\#2C3E50\] {
  --tw-text-opacity: 1;
  color: rgb(44 62 80 / var(--tw-text-opacity, 1));
}
.text-\[\#32ADE6\] {
  --tw-text-opacity: 1;
  color: rgb(50 173 230 / var(--tw-text-opacity, 1));
}
.text-\[\#333333\] {
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}
.text-\[\#3A3A3A\] {
  --tw-text-opacity: 1;
  color: rgb(58 58 58 / var(--tw-text-opacity, 1));
}
.text-\[\#3A3A3C\] {
  --tw-text-opacity: 1;
  color: rgb(58 58 60 / var(--tw-text-opacity, 1));
}
.text-\[\#444444\] {
  --tw-text-opacity: 1;
  color: rgb(68 68 68 / var(--tw-text-opacity, 1));
}
.text-\[\#4A3200\] {
  --tw-text-opacity: 1;
  color: rgb(74 50 0 / var(--tw-text-opacity, 1));
}
.text-\[\#4A4A4A\] {
  --tw-text-opacity: 1;
  color: rgb(74 74 74 / var(--tw-text-opacity, 1));
}
.text-\[\#4ADE80\] {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-\[\#507DAF\] {
  --tw-text-opacity: 1;
  color: rgb(80 125 175 / var(--tw-text-opacity, 1));
}
.text-\[\#536471\] {
  --tw-text-opacity: 1;
  color: rgb(83 100 113 / var(--tw-text-opacity, 1));
}
.text-\[\#555555\] {
  --tw-text-opacity: 1;
  color: rgb(85 85 85 / var(--tw-text-opacity, 1));
}
.text-\[\#5A7A5A\] {
  --tw-text-opacity: 1;
  color: rgb(90 122 90 / var(--tw-text-opacity, 1));
}
.text-\[\#5B6E8A\] {
  --tw-text-opacity: 1;
  color: rgb(91 110 138 / var(--tw-text-opacity, 1));
}
.text-\[\#5B7290\] {
  --tw-text-opacity: 1;
  color: rgb(91 114 144 / var(--tw-text-opacity, 1));
}
.text-\[\#5B74A6\] {
  --tw-text-opacity: 1;
  color: rgb(91 116 166 / var(--tw-text-opacity, 1));
}
.text-\[\#5C5E66\] {
  --tw-text-opacity: 1;
  color: rgb(92 94 102 / var(--tw-text-opacity, 1));
}
.text-\[\#5E806D\] {
  --tw-text-opacity: 1;
  color: rgb(94 128 109 / var(--tw-text-opacity, 1));
}
.text-\[\#666666\] {
  --tw-text-opacity: 1;
  color: rgb(102 102 102 / var(--tw-text-opacity, 1));
}
.text-\[\#6A8E8E\] {
  --tw-text-opacity: 1;
  color: rgb(106 142 142 / var(--tw-text-opacity, 1));
}
.text-\[\#777777\] {
  --tw-text-opacity: 1;
  color: rgb(119 119 119 / var(--tw-text-opacity, 1));
}
.text-\[\#7A7A7A\] {
  --tw-text-opacity: 1;
  color: rgb(122 122 122 / var(--tw-text-opacity, 1));
}
.text-\[\#7D7D7D\] {
  --tw-text-opacity: 1;
  color: rgb(125 125 125 / var(--tw-text-opacity, 1));
}
.text-\[\#888888\] {
  --tw-text-opacity: 1;
  color: rgb(136 136 136 / var(--tw-text-opacity, 1));
}
.text-\[\#8A9194\] {
  --tw-text-opacity: 1;
  color: rgb(138 145 148 / var(--tw-text-opacity, 1));
}
.text-\[\#8B9DC3\] {
  --tw-text-opacity: 1;
  color: rgb(139 157 195 / var(--tw-text-opacity, 1));
}
.text-\[\#8C7A6B\] {
  --tw-text-opacity: 1;
  color: rgb(140 122 107 / var(--tw-text-opacity, 1));
}
.text-\[\#8C8C8C\] {
  --tw-text-opacity: 1;
  color: rgb(140 140 140 / var(--tw-text-opacity, 1));
}
.text-\[\#8C9DAD\] {
  --tw-text-opacity: 1;
  color: rgb(140 157 173 / var(--tw-text-opacity, 1));
}
.text-\[\#8E8E93\] {
  --tw-text-opacity: 1;
  color: rgb(142 142 147 / var(--tw-text-opacity, 1));
}
.text-\[\#939393\] {
  --tw-text-opacity: 1;
  color: rgb(147 147 147 / var(--tw-text-opacity, 1));
}
.text-\[\#996A00\] {
  --tw-text-opacity: 1;
  color: rgb(153 106 0 / var(--tw-text-opacity, 1));
}
.text-\[\#999999\] {
  --tw-text-opacity: 1;
  color: rgb(153 153 153 / var(--tw-text-opacity, 1));
}
.text-\[\#999\] {
  --tw-text-opacity: 1;
  color: rgb(153 153 153 / var(--tw-text-opacity, 1));
}
.text-\[\#9A9A9A\] {
  --tw-text-opacity: 1;
  color: rgb(154 154 154 / var(--tw-text-opacity, 1));
}
.text-\[\#9B9B9B\] {
  --tw-text-opacity: 1;
  color: rgb(155 155 155 / var(--tw-text-opacity, 1));
}
.text-\[\#A0A0A0\] {
  --tw-text-opacity: 1;
  color: rgb(160 160 160 / var(--tw-text-opacity, 1));
}
.text-\[\#A1A1A6\] {
  --tw-text-opacity: 1;
  color: rgb(161 161 166 / var(--tw-text-opacity, 1));
}
.text-\[\#A7B5FE\] {
  --tw-text-opacity: 1;
  color: rgb(167 181 254 / var(--tw-text-opacity, 1));
}
.text-\[\#A8A8A8\] {
  --tw-text-opacity: 1;
  color: rgb(168 168 168 / var(--tw-text-opacity, 1));
}
.text-\[\#AAAAAA\] {
  --tw-text-opacity: 1;
  color: rgb(170 170 170 / var(--tw-text-opacity, 1));
}
.text-\[\#AEAEAE\] {
  --tw-text-opacity: 1;
  color: rgb(174 174 174 / var(--tw-text-opacity, 1));
}
.text-\[\#B0B0B0\] {
  --tw-text-opacity: 1;
  color: rgb(176 176 176 / var(--tw-text-opacity, 1));
}
.text-\[\#B1B1B1\] {
  --tw-text-opacity: 1;
  color: rgb(177 177 177 / var(--tw-text-opacity, 1));
}
.text-\[\#B4B4B4\] {
  --tw-text-opacity: 1;
  color: rgb(180 180 180 / var(--tw-text-opacity, 1));
}
.text-\[\#B5B5B5\] {
  --tw-text-opacity: 1;
  color: rgb(181 181 181 / var(--tw-text-opacity, 1));
}
.text-\[\#B8B8B8\] {
  --tw-text-opacity: 1;
  color: rgb(184 184 184 / var(--tw-text-opacity, 1));
}
.text-\[\#B8BEC7\] {
  --tw-text-opacity: 1;
  color: rgb(184 190 199 / var(--tw-text-opacity, 1));
}
.text-\[\#BBBBBB\] {
  --tw-text-opacity: 1;
  color: rgb(187 187 187 / var(--tw-text-opacity, 1));
}
.text-\[\#BF5AF2\] {
  --tw-text-opacity: 1;
  color: rgb(191 90 242 / var(--tw-text-opacity, 1));
}
.text-\[\#C0C0C0\] {
  --tw-text-opacity: 1;
  color: rgb(192 192 192 / var(--tw-text-opacity, 1));
}
.text-\[\#C1C1C1\] {
  --tw-text-opacity: 1;
  color: rgb(193 193 193 / var(--tw-text-opacity, 1));
}
.text-\[\#C3C3C3\] {
  --tw-text-opacity: 1;
  color: rgb(195 195 195 / var(--tw-text-opacity, 1));
}
.text-\[\#C44A4A\] {
  --tw-text-opacity: 1;
  color: rgb(196 74 74 / var(--tw-text-opacity, 1));
}
.text-\[\#C4B5A0\] {
  --tw-text-opacity: 1;
  color: rgb(196 181 160 / var(--tw-text-opacity, 1));
}
.text-\[\#C84627\] {
  --tw-text-opacity: 1;
  color: rgb(200 70 39 / var(--tw-text-opacity, 1));
}
.text-\[\#C8C8C8\] {
  --tw-text-opacity: 1;
  color: rgb(200 200 200 / var(--tw-text-opacity, 1));
}
.text-\[\#CCCCCC\] {
  --tw-text-opacity: 1;
  color: rgb(204 204 204 / var(--tw-text-opacity, 1));
}
.text-\[\#D0D0D0\] {
  --tw-text-opacity: 1;
  color: rgb(208 208 208 / var(--tw-text-opacity, 1));
}
.text-\[\#D2D2D2\] {
  --tw-text-opacity: 1;
  color: rgb(210 210 210 / var(--tw-text-opacity, 1));
}
.text-\[\#D4D4D4\] {
  --tw-text-opacity: 1;
  color: rgb(212 212 212 / var(--tw-text-opacity, 1));
}
.text-\[\#D8D8D8\] {
  --tw-text-opacity: 1;
  color: rgb(216 216 216 / var(--tw-text-opacity, 1));
}
.text-\[\#E55A39\] {
  --tw-text-opacity: 1;
  color: rgb(229 90 57 / var(--tw-text-opacity, 1));
}
.text-\[\#EB3C3C\] {
  --tw-text-opacity: 1;
  color: rgb(235 60 60 / var(--tw-text-opacity, 1));
}
.text-\[\#F5A623\] {
  --tw-text-opacity: 1;
  color: rgb(245 166 35 / var(--tw-text-opacity, 1));
}
.text-\[\#F9F8F6\] {
  --tw-text-opacity: 1;
  color: rgb(249 248 246 / var(--tw-text-opacity, 1));
}
.text-\[\#FF3852\] {
  --tw-text-opacity: 1;
  color: rgb(255 56 82 / var(--tw-text-opacity, 1));
}
.text-\[\#FF3B30\] {
  --tw-text-opacity: 1;
  color: rgb(255 59 48 / var(--tw-text-opacity, 1));
}
.text-\[\#FF453A\] {
  --tw-text-opacity: 1;
  color: rgb(255 69 58 / var(--tw-text-opacity, 1));
}
.text-\[\#FF512F\] {
  --tw-text-opacity: 1;
  color: rgb(255 81 47 / var(--tw-text-opacity, 1));
}
.text-\[\#FF8200\] {
  --tw-text-opacity: 1;
  color: rgb(255 130 0 / var(--tw-text-opacity, 1));
}
.text-\[\#FF8A9B\] {
  --tw-text-opacity: 1;
  color: rgb(255 138 155 / var(--tw-text-opacity, 1));
}
.text-\[--zd-color-matcha-400\] {
  color: var(--zd-color-matcha-400);
}
.text-\[--zd-color-matcha-500\] {
  color: var(--zd-color-matcha-500);
}
.text-\[--zd-color-matcha-600\] {
  color: var(--zd-color-matcha-600);
}
.text-\[--zd-settings-input-text\] {
  color: var(--zd-settings-input-text);
}
.text-\[--zd-settings-panel-text-secondary\] {
  color: var(--zd-settings-panel-text-secondary);
}
.text-\[--zd-settings-panel-text-tertiary\] {
  color: var(--zd-settings-panel-text-tertiary);
}
.text-\[--zd-settings-panel-text\] {
  color: var(--zd-settings-panel-text);
}
.text-\[--zd-text-primary\] {
  color: var(--zd-text-primary);
}
.text-\[--zd-text-secondary\] {
  color: var(--zd-text-secondary);
}
.text-\[--zd-text-tertiary\] {
  color: var(--zd-text-tertiary);
}
.text-\[rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  color: rgba(0,0,0,0.2);
}
.text-\[var\(--zd-mobile-text-primary\)\] {
  color: var(--zd-mobile-text-primary);
}
.text-\[var\(--zd-mobile-text-secondary\)\] {
  color: var(--zd-mobile-text-secondary);
}
.text-amber-200 {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-300 {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-gray-100 {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-400\/80 {
  color: rgb(156 163 175 / 0.8);
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-indigo-400 {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.text-indigo-500 {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.text-inherit {
  color: inherit;
}
.text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-pink-400 {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.text-pink-500 {
  --tw-text-opacity: 1;
  color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.text-purple-300 {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}
.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-slate-950 {
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/15 {
  color: rgb(255 255 255 / 0.15);
}
.text-white\/20 {
  color: rgb(255 255 255 / 0.2);
}
.text-white\/25 {
  color: rgb(255 255 255 / 0.25);
}
.text-white\/30 {
  color: rgb(255 255 255 / 0.3);
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/5 {
  color: rgb(255 255 255 / 0.05);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-white\/95 {
  color: rgb(255 255 255 / 0.95);
}
.text-white\/\[0\.03\] {
  color: rgb(255 255 255 / 0.03);
}
.text-zinc-100 {
  --tw-text-opacity: 1;
  color: rgb(244 244 245 / var(--tw-text-opacity, 1));
}
.text-zinc-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}
.text-zinc-400 {
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}
.text-zinc-500 {
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}
.text-zinc-600 {
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}
.text-zinc-700 {
  --tw-text-opacity: 1;
  color: rgb(63 63 70 / var(--tw-text-opacity, 1));
}
.text-zinc-800 {
  --tw-text-opacity: 1;
  color: rgb(39 39 42 / var(--tw-text-opacity, 1));
}
.text-zinc-900 {
  --tw-text-opacity: 1;
  color: rgb(24 24 27 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.placeholder-gray-300::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(209 213 219 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-300::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(209 213 219 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-600::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-600::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1));
}
.placeholder-transparent::-moz-placeholder {
  color: transparent;
}
.placeholder-transparent::placeholder {
  color: transparent;
}
.placeholder-zinc-600::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(82 82 91 / var(--tw-placeholder-opacity, 1));
}
.placeholder-zinc-600::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(82 82 91 / var(--tw-placeholder-opacity, 1));
}
.accent-gray-500 {
  accent-color: #6b7280;
}
.opacity-0 {
  opacity: 0;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-100 {
  opacity: 1;
}
.opacity-15 {
  opacity: 0.15;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-55 {
  opacity: 0.55;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-95 {
  opacity: 0.95;
}
.opacity-\[0\.025\] {
  opacity: 0.025;
}
.opacity-\[0\.02\] {
  opacity: 0.02;
}
.opacity-\[0\.03\] {
  opacity: 0.03;
}
.opacity-\[0\.05\] {
  opacity: 0.05;
}
.mix-blend-multiply {
  mix-blend-mode: multiply;
}
.mix-blend-overlay {
  mix-blend-mode: overlay;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-8px_30px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 -8px 30px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 -8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_24px_rgba\(15\2c 23\2c 42\2c 0\.03\)\] {
  --tw-shadow: 0 10px 24px rgba(15,23,42,0.03);
  --tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_24px_rgba\(15\2c 23\2c 42\2c 0\.04\)\] {
  --tw-shadow: 0 10px 24px rgba(15,23,42,0.04);
  --tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_28px_rgba\(15\2c 23\2c 42\2c 0\.04\)\] {
  --tw-shadow: 0 10px 28px rgba(15,23,42,0.04);
  --tw-shadow-colored: 0 10px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_12px_28px_rgba\(15\2c 23\2c 42\2c 0\.08\)\] {
  --tw-shadow: 0 12px 28px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 12px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_12px_32px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 12px 32px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 12px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_14px_32px_rgba\(15\2c 23\2c 42\2c 0\.06\)\] {
  --tw-shadow: 0 14px 32px rgba(15,23,42,0.06);
  --tw-shadow-colored: 0 14px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_14px_34px_rgba\(15\2c 23\2c 42\2c 0\.06\)\] {
  --tw-shadow: 0 14px 34px rgba(15,23,42,0.06);
  --tw-shadow-colored: 0 14px 34px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_18px_48px_rgba\(15\2c 23\2c 42\2c 0\.08\)\] {
  --tw-shadow: 0 18px 48px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 18px 48px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.02\)\] {
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.02);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_3px_rgba\(0\2c 0\2c 0\2c 0\.12\)\] {
  --tw-shadow: 0 1px 3px rgba(0,0,0,0.12);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_4px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 1px 4px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 1px 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_4px_rgba\(255\2c 130\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 1px 4px rgba(255,130,0,0.4);
  --tw-shadow-colored: 0 1px 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_5px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 1px 5px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 1px 5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_24px_70px_rgba\(15\2c 23\2c 42\2c 0\.16\)\] {
  --tw-shadow: 0 24px 70px rgba(15,23,42,0.16);
  --tw-shadow-colored: 0 24px 70px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_28px_80px_rgba\(14\2c 24\2c 41\2c 0\.2\)\] {
  --tw-shadow: 0 28px 80px rgba(14,24,41,0.2);
  --tw-shadow-colored: 0 28px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_28px_80px_rgba\(71\2c 45\2c 20\2c 0\.2\)\] {
  --tw-shadow: 0 28px 80px rgba(71,45,20,0.2);
  --tw-shadow-colored: 0 28px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_12px_rgb\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 2px 12px rgb(0,0,0,0.04);
  --tw-shadow-colored: 0 2px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_12px_rgba\(0\2c 0\2c 0\2c 0\.03\)\] {
  --tw-shadow: 0 2px 12px rgba(0,0,0,0.03);
  --tw-shadow-colored: 0 2px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_6px_rgb\(0\2c 0\2c 0\2c 0\.03\)\] {
  --tw-shadow: 0 2px 6px rgb(0,0,0,0.03);
  --tw-shadow-colored: 0 2px 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgb\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 2px 8px rgb(0,0,0,0.04);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 2px 8px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_30px_80px_rgba\(15\2c 23\2c 42\2c 0\.18\)\] {
  --tw-shadow: 0 30px 80px rgba(15,23,42,0.18);
  --tw-shadow-colored: 0 30px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_32px_90px_rgba\(14\2c 24\2c 41\2c 0\.24\)\] {
  --tw-shadow: 0 32px 90px rgba(14,24,41,0.24);
  --tw-shadow-colored: 0 32px 90px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.03\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.03);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.2\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(17\2c 17\2c 17\2c 0\.12\)\] {
  --tw-shadow: 0 4px 12px rgba(17,17,17,0.12);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_16px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 4px 16px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 4px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_16px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 4px 16px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 4px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_16px_rgba\(167\2c 181\2c 254\2c 0\.3\)\] {
  --tw-shadow: 0 4px 16px rgba(167,181,254,0.3);
  --tw-shadow-colored: 0 4px 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_18px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 6px 18px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 6px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_18px_rgba\(15\2c 23\2c 42\2c 0\.08\)\] {
  --tw-shadow: 0 8px 18px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 8px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_20px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 8px 20px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_20px_rgba\(62\2c 37\2c 18\2c 0\.06\)\] {
  --tw-shadow: 0 8px 20px rgba(62,37,18,0.06);
  --tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 8px 24px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_30px_rgba\(0\2c 0\2c 0\2c 0\.12\)\] {
  --tw-shadow: 0 8px 30px rgba(0,0,0,0.12);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[2px_2px_0px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 2px 2px 0px rgba(0,0,0,0.06);
  --tw-shadow-colored: 2px 2px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[3px_3px_0px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 3px 3px 0px rgba(0,0,0,0.06);
  --tw-shadow-colored: 3px 3px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[4px_4px_0px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 4px 4px 0px rgba(0,0,0,0.08);
  --tw-shadow-colored: 4px 4px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[6px_6px_0px_rgba\(0\2c 0\2c 0\2c 0\.12\)\] {
  --tw-shadow: 6px 6px 0px rgba(0,0,0,0.12);
  --tw-shadow-colored: 6px 6px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.08\)\] {
  --tw-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.95\)\] {
  --tw-shadow: inset 0 1px 0 rgba(255,255,255,0.95);
  --tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_1px_2px_rgba\(255\2c 255\2c 255\2c 0\.92\)\] {
  --tw-shadow: inset 0 1px 2px rgba(255,255,255,0.92);
  --tw-shadow-colored: inset 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_1px_0_0_rgba\(255\2c 255\2c 255\2c 0\.7\)\] {
  --tw-shadow: inset 1px 0 0 rgba(255,255,255,0.7);
  --tw-shadow-colored: inset 1px 0 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-soft {
  --tw-shadow: 0 4px 20px rgba(58, 75, 54, 0.08);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[--zd-shadow-glow-matcha\] {
  --tw-shadow-color: var(--zd-shadow-glow-matcha);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[--zd-shadow-inner\] {
  --tw-shadow-color: var(--zd-shadow-inner);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[--zd-shadow-lg\] {
  --tw-shadow-color: var(--zd-shadow-lg);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[--zd-shadow-md\] {
  --tw-shadow-color: var(--zd-shadow-md);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[--zd-shadow-sm\] {
  --tw-shadow-color: var(--zd-shadow-sm);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-black\/10 {
  --tw-shadow-color: rgb(0 0 0 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-black\/40 {
  --tw-shadow-color: rgb(0 0 0 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[2px\] {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-\[\#E8C4C4\]\/30 {
  --tw-ring-color: rgb(232 196 196 / 0.3);
}
.ring-\[\#E8C4C4\]\/40 {
  --tw-ring-color: rgb(232 196 196 / 0.4);
}
.ring-black\/\[0\.04\] {
  --tw-ring-color: rgb(0 0 0 / 0.04);
}
.ring-gray-200\/50 {
  --tw-ring-color: rgb(229 231 235 / 0.5);
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-white\/10 {
  --tw-ring-color: rgb(255 255 255 / 0.1);
}
.ring-white\/50 {
  --tw-ring-color: rgb(255 255 255 / 0.5);
}
.ring-zinc-700\/50 {
  --tw-ring-color: rgb(63 63 70 / 0.5);
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-2xl {
  --tw-blur: blur(40px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[120px\] {
  --tw-blur: blur(120px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[130px\] {
  --tw-blur: blur(130px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[1px\] {
  --tw-blur: blur(1px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[6px\] {
  --tw-blur: blur(6px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-xl {
  --tw-blur: blur(24px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-lg {
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-md {
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.sepia {
  --tw-sepia: sepia(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-2xl {
  --tw-backdrop-blur: blur(40px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-3xl {
  --tw-backdrop-blur: blur(64px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[--zd-blur-2xl\] {
  --tw-backdrop-blur: blur(var(--zd-blur-2xl));
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[--zd-blur-3xl\] {
  --tw-backdrop-blur: blur(var(--zd-blur-3xl));
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[--zd-blur-md\] {
  --tw-backdrop-blur: blur(var(--zd-blur-md));
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[--zd-blur-xl\] {
  --tw-backdrop-blur: blur(var(--zd-blur-xl));
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[10px\] {
  --tw-backdrop-blur: blur(10px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[14px\] {
  --tw-backdrop-blur: blur(14px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[18px\] {
  --tw-backdrop-blur: blur(18px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[1px\] {
  --tw-backdrop-blur: blur(1px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[3px\] {
  --tw-backdrop-blur: blur(3px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[50px\] {
  --tw-backdrop-blur: blur(50px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[6px\] {
  --tw-backdrop-blur: blur(6px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[8px\] {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-none {
  transition-property: none;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.delay-100 {
  transition-delay: 100ms;
}
.delay-150 {
  transition-delay: 150ms;
}
.delay-200 {
  transition-delay: 200ms;
}
.delay-300 {
  transition-delay: 300ms;
}
.duration-100 {
  transition-duration: 100ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.duration-75 {
  transition-duration: 75ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\[-ms-overflow-style\:none\] {
  -ms-overflow-style: none;
}
.\[msgid\:12345678\] {
  msgid: 12345678;
}
.\[msgid\:xxxx\] {
  msgid: xxxx;
}
.\[perspective\:1000px\] {
  perspective: 1000px;
}
.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}
.\[transform-style\:preserve-3d\] {
  transform-style: preserve-3d;
}
/* 隐藏滚动条 - 用于朋友圈状态卡片横向滚动 */
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
/* 零度存档 - 全局样式 */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  background:
    radial-gradient(circle at 50% 24%, #faf8ff 0%, #f2edf9 42%, #e5def0 100%);
  font-family: 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', 'WenQuanYi Micro Hei', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#root {
  min-height: 100%;
  background: transparent;
}
code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
}
/* 自定义滚动条 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
}
::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}
/* ========================================
   V4 移动端优化 · 全局样式变量
   ======================================== */
:root {
  /* 暖白背景 - 比 V3 更浅 */
  --zd-mobile-bg: #FDFDFB;
  
  /* 深炭黑文字 */
  --zd-mobile-text: #2D2D2D;
  
  /* 搜索框背景 */
  --zd-mobile-search-bg: rgba(0, 0, 0, 0.03);
  
  /* 按钮悬停背景 */
  --zd-mobile-button-hover: rgba(0, 0, 0, 0.05);
}
/* V4 移动端优化类 */
.zd-mobile-bg {
  background-color: var(--zd-mobile-bg);
}
.zd-mobile-search {
  background-color: var(--zd-mobile-search-bg);
  border-radius: 9999px;
}
.zd-mobile-button-hover:hover {
  background-color: var(--zd-mobile-button-hover);
}
/* ========================================
   3D 翻转工具类 - 用于 ProfileSheet 名片翻转
   ======================================== */
.perspective-1000 {
  perspective: 1000px;
}
.transform-style-3d {
  transform-style: preserve-3d;
}
.rotate-y-180 {
  transform: rotateY(180deg);
}
.backface-hidden {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
/* ========================================
   名片二维码对焦框 - Focus Brackets
   ======================================== */
.focus-brackets {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.focus-brackets::before,
.focus-brackets::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-color: #D1D5DB; /* gray-300 */
  border-style: solid;
}
/* 左上角 */
.focus-brackets::before {
  top: 16px;
  left: 16px;
  border-width: 2px 0 0 2px;
}
/* 右上角 */
.focus-brackets::after {
  top: 16px;
  right: 16px;
  border-width: 2px 2px 0 0;
}
.focus-brackets span:first-child::before,
.focus-brackets span:first-child::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-color: #D1D5DB;
  border-style: solid;
}
/* 左下角 */
.focus-brackets span:first-child::before {
  bottom: 16px;
  left: 16px;
  border-width: 0 0 2px 2px;
}
/* 右下角 */
.focus-brackets span:first-child::after {
  bottom: 16px;
  right: 16px;
  border-width: 0 2px 2px 0;
}
/* 垂直文字工具类 */
.writing-vertical-rl {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
.placeholder\:font-normal::-moz-placeholder {
  font-weight: 400;
}
.placeholder\:font-normal::placeholder {
  font-weight: 400;
}
.placeholder\:text-\[\#A0A0A0\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(160 160 160 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#A0A0A0\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(160 160 160 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#B8BEC7\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(184 190 199 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#B8BEC7\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(184 190 199 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#BBBBBB\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(187 187 187 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#BBBBBB\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(187 187 187 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#C7C7CC\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(199 199 204 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#C7C7CC\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(199 199 204 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#CCCCCC\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(204 204 204 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[\#CCCCCC\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(204 204 204 / var(--tw-text-opacity, 1));
}
.placeholder\:text-\[--zd-settings-input-placeholder\]::-moz-placeholder {
  color: var(--zd-settings-input-placeholder);
}
.placeholder\:text-\[--zd-settings-input-placeholder\]::placeholder {
  color: var(--zd-settings-input-placeholder);
}
.placeholder\:text-gray-200::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.placeholder\:text-gray-200::placeholder {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.placeholder\:text-gray-300::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.placeholder\:text-gray-300::placeholder {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.placeholder\:text-gray-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.placeholder\:text-gray-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.placeholder\:text-white\/20::-moz-placeholder {
  color: rgb(255 255 255 / 0.2);
}
.placeholder\:text-white\/20::placeholder {
  color: rgb(255 255 255 / 0.2);
}
.placeholder\:text-white\/30::-moz-placeholder {
  color: rgb(255 255 255 / 0.3);
}
.placeholder\:text-white\/30::placeholder {
  color: rgb(255 255 255 / 0.3);
}
.placeholder\:text-opacity-30::-moz-placeholder {
  --tw-text-opacity: 0.3;
}
.placeholder\:text-opacity-30::placeholder {
  --tw-text-opacity: 0.3;
}
.placeholder\:opacity-100::-moz-placeholder {
  opacity: 1;
}
.placeholder\:opacity-100::placeholder {
  opacity: 1;
}
.backdrop\:bg-black\/40::backdrop {
  background-color: rgb(0 0 0 / 0.4);
}
.backdrop\:backdrop-blur-sm::backdrop {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.before\:absolute::before {
  content: var(--tw-content);
  position: absolute;
}
.before\:-left-\[5px\]::before {
  content: var(--tw-content);
  left: -5px;
}
.before\:top-\[14px\]::before {
  content: var(--tw-content);
  top: 14px;
}
.before\:border-y-\[6px\]::before {
  content: var(--tw-content);
  border-top-width: 6px;
  border-bottom-width: 6px;
}
.before\:border-r-\[6px\]::before {
  content: var(--tw-content);
  border-right-width: 6px;
}
.before\:border-y-transparent::before {
  content: var(--tw-content);
  border-top-color: transparent;
  border-bottom-color: transparent;
}
.before\:border-r-white::before {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-right-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.before\:content-\[\"\"\]::before {
  --tw-content: "";
  content: var(--tw-content);
}
.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}
.after\:-bottom-\[6px\]::after {
  content: var(--tw-content);
  bottom: -6px;
}
.after\:-right-\[5px\]::after {
  content: var(--tw-content);
  right: -5px;
}
.after\:left-0\.5::after {
  content: var(--tw-content);
  left: 0.125rem;
}
.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}
.after\:top-0\.5::after {
  content: var(--tw-content);
  top: 0.125rem;
}
.after\:top-\[14px\]::after {
  content: var(--tw-content);
  top: 14px;
}
.after\:h-4::after {
  content: var(--tw-content);
  height: 1rem;
}
.after\:h-\[3px\]::after {
  content: var(--tw-content);
  height: 3px;
}
.after\:w-4::after {
  content: var(--tw-content);
  width: 1rem;
}
.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.after\:rounded-full::after {
  content: var(--tw-content);
  border-radius: 9999px;
}
.after\:border-y-\[6px\]::after {
  content: var(--tw-content);
  border-top-width: 6px;
  border-bottom-width: 6px;
}
.after\:border-l-\[6px\]::after {
  content: var(--tw-content);
  border-left-width: 6px;
}
.after\:border-y-transparent::after {
  content: var(--tw-content);
  border-top-color: transparent;
  border-bottom-color: transparent;
}
.after\:border-l-\[\#459CF9\]::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-left-color: rgb(69 156 249 / var(--tw-border-opacity, 1));
}
.after\:bg-\[\#FF8200\]::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 130 0 / var(--tw-bg-opacity, 1));
}
.after\:bg-white::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.after\:shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.2\)\]::after {
  content: var(--tw-content);
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.2);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.after\:transition-all::after {
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.after\:duration-300::after {
  content: var(--tw-content);
  transition-duration: 300ms;
}
.after\:content-\[\"\"\]::after {
  --tw-content: "";
  content: var(--tw-content);
}
.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}
.first\:pt-0:first-child {
  padding-top: 0px;
}
.last\:mb-0:last-child {
  margin-bottom: 0px;
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.last\:pb-0:last-child {
  padding-bottom: 0px;
}
.open\:flex[open] {
  display: flex;
}
.open\:flex-col[open] {
  flex-direction: column;
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.01\]:hover {
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.04\]:hover {
  --tw-scale-x: 1.04;
  --tw-scale-y: 1.04;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:cursor-pointer:hover {
  cursor: pointer;
}
.hover\:border-\[\#A7B5FE\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(167 181 254 / var(--tw-border-opacity, 1));
}
.hover\:border-\[var\(--zd-arctic-glass-border-hover\)\]:hover {
  border-color: var(--zd-arctic-glass-border-hover);
}
.hover\:border-gray-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.hover\:border-zinc-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(113 113 122 / var(--tw-border-opacity, 1));
}
.hover\:border-opacity-80:hover {
  --tw-border-opacity: 0.8;
}
.hover\:bg-\[\#111111\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(17 17 17 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#222222\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(34 34 34 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#252830\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 40 48 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#2A2D3A\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(42 45 58 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#3A8AE0\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(58 138 224 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#8E9EF0\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(142 158 240 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#C4B5A0\]\/20:hover {
  background-color: rgb(196 181 160 / 0.2);
}
.hover\:bg-\[\#E67500\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(230 117 0 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#E8F5FE\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(232 245 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#EAECEF\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 236 239 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#F5F0EB\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 240 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#F5F5F5\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#F7F7F7\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(247 247 247 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#FF6B80\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 107 128 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#FF8200\]\/10:hover {
  background-color: rgb(255 130 0 / 0.1);
}
.hover\:bg-\[\#FF8200\]\/5:hover {
  background-color: rgb(255 130 0 / 0.05);
}
.hover\:bg-\[\#FFF0E5\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 240 229 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#FFF5EB\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 245 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[--zd-settings-card-bg-hover\]:hover {
  background-color: var(--zd-settings-card-bg-hover);
}
.hover\:bg-\[rgba\(0\2c 0\2c 0\2c 0\.06\)\]:hover {
  background-color: rgba(0,0,0,0.06);
}
.hover\:bg-\[rgba\(17\2c 17\2c 17\2c 0\.025\)\]:hover {
  background-color: rgba(17,17,17,0.025);
}
.hover\:bg-\[rgba\(255\2c 255\2c 255\2c 0\.8\)\]:hover {
  background-color: rgba(255,255,255,0.8);
}
.hover\:bg-black:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.hover\:bg-black\/10:hover {
  background-color: rgb(0 0 0 / 0.1);
}
.hover\:bg-black\/30:hover {
  background-color: rgb(0 0 0 / 0.3);
}
.hover\:bg-black\/5:hover {
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-black\/\[0\.02\]:hover {
  background-color: rgb(0 0 0 / 0.02);
}
.hover\:bg-black\/\[0\.08\]:hover {
  background-color: rgb(0 0 0 / 0.08);
}
.hover\:bg-blue-500\/30:hover {
  background-color: rgb(59 130 246 / 0.3);
}
.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-200\/20:hover {
  background-color: rgb(229 231 235 / 0.2);
}
.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50\/50:hover {
  background-color: rgb(249 250 251 / 0.5);
}
.hover\:bg-orange-500\/30:hover {
  background-color: rgb(249 115 22 / 0.3);
}
.hover\:bg-orange-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-500\/30:hover {
  background-color: rgb(168 85 247 / 0.3);
}
.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-50\/50:hover {
  background-color: rgb(254 242 242 / 0.5);
}
.hover\:bg-red-500\/10:hover {
  background-color: rgb(239 68 68 / 0.1);
}
.hover\:bg-red-500\/30:hover {
  background-color: rgb(239 68 68 / 0.3);
}
.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-700\/30:hover {
  background-color: rgb(185 28 28 / 0.3);
}
.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/15:hover {
  background-color: rgb(255 255 255 / 0.15);
}
.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/25:hover {
  background-color: rgb(255 255 255 / 0.25);
}
.hover\:bg-white\/30:hover {
  background-color: rgb(255 255 255 / 0.3);
}
.hover\:bg-white\/40:hover {
  background-color: rgb(255 255 255 / 0.4);
}
.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}
.hover\:bg-white\/50:hover {
  background-color: rgb(255 255 255 / 0.5);
}
.hover\:bg-white\/70:hover {
  background-color: rgb(255 255 255 / 0.7);
}
.hover\:bg-white\/80:hover {
  background-color: rgb(255 255 255 / 0.8);
}
.hover\:bg-white\/90:hover {
  background-color: rgb(255 255 255 / 0.9);
}
.hover\:bg-white\/\[0\.02\]:hover {
  background-color: rgb(255 255 255 / 0.02);
}
.hover\:bg-white\/\[0\.04\]:hover {
  background-color: rgb(255 255 255 / 0.04);
}
.hover\:bg-zinc-50\/80:hover {
  background-color: rgb(250 250 250 / 0.8);
}
.hover\:text-\[\#1A1A1A\]:hover {
  --tw-text-opacity: 1;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#1A1C1D\]:hover {
  --tw-text-opacity: 1;
  color: rgb(26 28 29 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#333333\]:hover {
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#8E8E93\]:hover {
  --tw-text-opacity: 1;
  color: rgb(142 142 147 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#E67500\]:hover {
  --tw-text-opacity: 1;
  color: rgb(230 117 0 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#EB3C3C\]:hover {
  --tw-text-opacity: 1;
  color: rgb(235 60 60 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#FF3B30\]:hover {
  --tw-text-opacity: 1;
  color: rgb(255 59 48 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#FF6B80\]:hover {
  --tw-text-opacity: 1;
  color: rgb(255 107 128 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#FF8200\]:hover {
  --tw-text-opacity: 1;
  color: rgb(255 130 0 / var(--tw-text-opacity, 1));
}
.hover\:text-\[rgba\(200\2c 50\2c 50\2c 0\.6\)\]:hover {
  color: rgba(200,50,50,0.6);
}
.hover\:text-gray-300:hover {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-400:hover {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-500:hover {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-600:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-900:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-white\/10:hover {
  color: rgb(255 255 255 / 0.1);
}
.hover\:text-white\/50:hover {
  color: rgb(255 255 255 / 0.5);
}
.hover\:text-white\/60:hover {
  color: rgb(255 255 255 / 0.6);
}
.hover\:text-white\/90:hover {
  color: rgb(255 255 255 / 0.9);
}
.hover\:text-zinc-100:hover {
  --tw-text-opacity: 1;
  color: rgb(244 244 245 / var(--tw-text-opacity, 1));
}
.hover\:text-zinc-600:hover {
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}
.hover\:text-zinc-700:hover {
  --tw-text-opacity: 1;
  color: rgb(63 63 70 / var(--tw-text-opacity, 1));
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-50:hover {
  opacity: 0.5;
}
.hover\:opacity-55:hover {
  opacity: 0.55;
}
.hover\:opacity-60:hover {
  opacity: 0.6;
}
.hover\:opacity-70:hover {
  opacity: 0.7;
}
.hover\:opacity-80:hover {
  opacity: 0.8;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-sm:hover {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[var\(--zd-arctic-shadow-glass-md\)\]:hover {
  --tw-shadow-color: var(--zd-arctic-shadow-glass-md);
  --tw-shadow: var(--tw-shadow-colored);
}
.focus\:border-\[\#1A1A1A\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(26 26 26 / var(--tw-border-opacity, 1));
}
.focus\:border-\[\#1A1C1D\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(26 28 29 / var(--tw-border-opacity, 1));
}
.focus\:border-\[\#FF8200\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(255 130 0 / var(--tw-border-opacity, 1));
}
.focus\:border-gray-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.focus\:border-gray-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.focus\:bg-\[\#F0F1F2\]:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(240 241 242 / var(--tw-bg-opacity, 1));
}
.focus\:bg-\[\#F3F4F6\]:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.focus\:bg-\[\#F5F5F5\]:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
}
.focus\:bg-gray-50:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.focus\:shadow-md:focus {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-0:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-\[\#A7B5FE\]\/30:focus {
  --tw-ring-color: rgb(167 181 254 / 0.3);
}
.focus\:ring-\[\#A7B5FE\]\/50:focus {
  --tw-ring-color: rgb(167 181 254 / 0.5);
}
.focus\:ring-\[\#C4B5A0\]\/30:focus {
  --tw-ring-color: rgb(196 181 160 / 0.3);
}
.focus\:ring-white\/20:focus {
  --tw-ring-color: rgb(255 255 255 / 0.2);
}
.active\:translate-x-\[1px\]:active {
  --tw-translate-x: 1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:translate-x-\[2px\]:active {
  --tw-translate-x: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:translate-y-\[1px\]:active {
  --tw-translate-y: 1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:translate-y-\[2px\]:active {
  --tw-translate-y: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-90:active {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.95\]:active {
  --tw-scale-x: 0.95;
  --tw-scale-y: 0.95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.97\]:active {
  --tw-scale-x: 0.97;
  --tw-scale-y: 0.97;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.985\]:active {
  --tw-scale-x: 0.985;
  --tw-scale-y: 0.985;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[1\.02\]:active {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:cursor-grabbing:active {
  cursor: grabbing;
}
.active\:bg-\[\#252830\]:active {
  --tw-bg-opacity: 1;
  background-color: rgb(37 40 48 / var(--tw-bg-opacity, 1));
}
.active\:bg-\[\#D6ECFC\]:active {
  --tw-bg-opacity: 1;
  background-color: rgb(214 236 252 / var(--tw-bg-opacity, 1));
}
.active\:bg-\[\#F2F2F2\]:active {
  --tw-bg-opacity: 1;
  background-color: rgb(242 242 242 / var(--tw-bg-opacity, 1));
}
.active\:bg-black\/10:active {
  background-color: rgb(0 0 0 / 0.1);
}
.active\:bg-gray-100:active {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-200:active {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-50:active {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-50\/50:active {
  background-color: rgb(249 250 251 / 0.5);
}
.active\:bg-white\/10:active {
  background-color: rgb(255 255 255 / 0.1);
}
.active\:bg-white\/\[0\.02\]:active {
  background-color: rgb(255 255 255 / 0.02);
}
.active\:bg-zinc-100:active {
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
}
.active\:bg-zinc-50:active {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}
.active\:opacity-40:active {
  opacity: 0.4;
}
.active\:opacity-50:active {
  opacity: 0.5;
}
.active\:opacity-60:active {
  opacity: 0.6;
}
.active\:opacity-70:active {
  opacity: 0.7;
}
.active\:opacity-75:active {
  opacity: 0.75;
}
.active\:opacity-80:active {
  opacity: 0.8;
}
.active\:shadow-none:active {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.disabled\:cursor-default:disabled {
  cursor: default;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:bg-\[\#D8D8D8\]:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(216 216 216 / var(--tw-bg-opacity, 1));
}
.disabled\:bg-\[\#EAEAEA\]:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(234 234 234 / var(--tw-bg-opacity, 1));
}
.disabled\:bg-zinc-100:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
}
.disabled\:text-\[\#9E9E9E\]:disabled {
  --tw-text-opacity: 1;
  color: rgb(158 158 158 / var(--tw-text-opacity, 1));
}
.disabled\:text-zinc-400:disabled {
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}
.disabled\:opacity-20:disabled {
  opacity: 0.2;
}
.disabled\:opacity-30:disabled {
  opacity: 0.3;
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.group:hover .group-hover\:-rotate-12 {
  --tw-rotate: -12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.group:hover .group-hover\:bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.group:hover .group-hover\:bg-white\/40 {
  background-color: rgb(255 255 255 / 0.4);
}
.group:hover .group-hover\:text-\[\#00BA7C\] {
  --tw-text-opacity: 1;
  color: rgb(0 186 124 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-\[\#1D9BF0\] {
  --tw-text-opacity: 1;
  color: rgb(29 155 240 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-\[\#232323\] {
  --tw-text-opacity: 1;
  color: rgb(35 35 35 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-\[\#F91880\] {
  --tw-text-opacity: 1;
  color: rgb(249 24 128 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-\[\#FF8200\] {
  --tw-text-opacity: 1;
  color: rgb(255 130 0 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-\[--zd-settings-panel-text\] {
  color: var(--zd-settings-panel-text);
}
.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-zinc-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-60 {
  opacity: 0.6;
}
.group:hover .group-hover\:shadow-\[0_8px_30px_rgba\(167\2c 181\2c 254\2c 0\.15\)\] {
  --tw-shadow: 0 8px 30px rgba(167,181,254,0.15);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.peer:checked ~ .peer-checked\:bg-\[\#A7B5FE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(167 181 254 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:after\:translate-x-full::after {
  content: var(--tw-content);
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.peer:-moz-placeholder ~ .peer-placeholder-shown\:top-1 {
  top: 0.25rem;
}
.peer:placeholder-shown ~ .peer-placeholder-shown\:top-1 {
  top: 0.25rem;
}
.peer:-moz-placeholder ~ .peer-placeholder-shown\:text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.peer:placeholder-shown ~ .peer-placeholder-shown\:text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.peer:focus ~ .peer-focus\:-top-4 {
  top: -1rem;
}
.peer:focus ~ .peer-focus\:text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
@media (min-width: 640px) {
  .sm\:top-14 {
    top: 3.5rem;
  }
  .sm\:top-6 {
    top: 1.5rem;
  }
  .sm\:mx-4 {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .sm\:hidden {
    display: none;
  }
  .sm\:h-\[20rem\] {
    height: 20rem;
  }
  .sm\:w-\[20rem\] {
    width: 20rem;
  }
  .sm\:max-w-md {
    max-width: 28rem;
  }
  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:items-center {
    align-items: center;
  }
  .sm\:rounded-3xl {
    border-radius: 1.5rem;
  }
}
@media (min-width: 768px) {
  .md\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }
  .md\:text-9xl {
    font-size: 8rem;
    line-height: 1;
  }
  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .md\:opacity-0 {
    opacity: 0;
  }
  .group:hover .md\:group-hover\:opacity-100 {
    opacity: 1;
  }
}
.\[\&\:\:-moz-range-thumb\]\:h-\[14px\]::-moz-range-thumb {
  height: 14px;
}
.\[\&\:\:-moz-range-thumb\]\:w-\[14px\]::-moz-range-thumb {
  width: 14px;
}
.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb {
  border-radius: 9999px;
}
.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb {
  border-width: 0px;
}
.\[\&\:\:-moz-range-thumb\]\:bg-white::-moz-range-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.\[\&\:\:-moz-range-thumb\]\:shadow-\[0_1px_4px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]::-moz-range-thumb {
  --tw-shadow: 0 1px 4px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 1px 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}
.\[\&\:\:-webkit-slider-thumb\]\:h-\[14px\]::-webkit-slider-thumb {
  height: 14px;
}
.\[\&\:\:-webkit-slider-thumb\]\:w-\[14px\]::-webkit-slider-thumb {
  width: 14px;
}
.\[\&\:\:-webkit-slider-thumb\]\:cursor-pointer::-webkit-slider-thumb {
  cursor: pointer;
}
.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
}
.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb {
  border-radius: 9999px;
}
.\[\&\:\:-webkit-slider-thumb\]\:bg-white::-webkit-slider-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.\[\&\:\:-webkit-slider-thumb\]\:shadow-\[0_1px_4px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]::-webkit-slider-thumb {
  --tw-shadow: 0 1px 4px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 1px 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.\[\&\:\:-webkit-slider-thumb\]\:transition-transform::-webkit-slider-thumb {
  -webkit-transition-property: transform;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.\[\&\:\:-webkit-slider-thumb\]\:active\:scale-110:active::-webkit-slider-thumb {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\>svg\]\:block>svg {
  display: block;
}
.\[\&\>svg\]\:h-5>svg {
  height: 1.25rem;
}
.\[\&\>svg\]\:h-\[18px\]>svg {
  height: 18px;
}
.\[\&\>svg\]\:w-5>svg {
  width: 1.25rem;
}
.\[\&\>svg\]\:w-\[18px\]>svg {
  width: 18px;
}
.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}
@font-face {
  font-family: "Phosphor-Light";
  src:
    url("/assets/Phosphor-Light-CGwbSLuF.woff2") format("woff2"),
    url("/assets/Phosphor-Light-Ch5YcZ-M.woff") format("woff"),
    url("/assets/Phosphor-Light-Cmen2P86.ttf") format("truetype"),
    url("/assets/Phosphor-Light-BTiR1Cbr.svg#Phosphor-Light") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.ph-light {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "Phosphor-Light" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Enable Ligatures ================ */
  letter-spacing: 0;
  -ms-font-feature-settings: "liga" 1;
  font-feature-settings: "liga";
  font-variant-ligatures: discretionary-ligatures;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ph-light.ph-acorn:before {
  content: "\eb9a";
}
.ph-light.ph-address-book:before {
  content: "\e6f8";
}
.ph-light.ph-address-book-tabs:before {
  content: "\ee4e";
}
.ph-light.ph-air-traffic-control:before {
  content: "\ecd8";
}
.ph-light.ph-airplane:before {
  content: "\e002";
}
.ph-light.ph-airplane-in-flight:before {
  content: "\e4fe";
}
.ph-light.ph-airplane-landing:before {
  content: "\e502";
}
.ph-light.ph-airplane-takeoff:before {
  content: "\e504";
}
.ph-light.ph-airplane-taxiing:before {
  content: "\e500";
}
.ph-light.ph-airplane-tilt:before {
  content: "\e5d6";
}
.ph-light.ph-airplay:before {
  content: "\e004";
}
.ph-light.ph-alarm:before {
  content: "\e006";
}
.ph-light.ph-alien:before {
  content: "\e8a6";
}
.ph-light.ph-align-bottom:before {
  content: "\e506";
}
.ph-light.ph-align-bottom-simple:before {
  content: "\eb0c";
}
.ph-light.ph-align-center-horizontal:before {
  content: "\e50a";
}
.ph-light.ph-align-center-horizontal-simple:before {
  content: "\eb0e";
}
.ph-light.ph-align-center-vertical:before {
  content: "\e50c";
}
.ph-light.ph-align-center-vertical-simple:before {
  content: "\eb10";
}
.ph-light.ph-align-left:before {
  content: "\e50e";
}
.ph-light.ph-align-left-simple:before {
  content: "\eaee";
}
.ph-light.ph-align-right:before {
  content: "\e510";
}
.ph-light.ph-align-right-simple:before {
  content: "\eb12";
}
.ph-light.ph-align-top:before {
  content: "\e512";
}
.ph-light.ph-align-top-simple:before {
  content: "\eb14";
}
.ph-light.ph-amazon-logo:before {
  content: "\e96c";
}
.ph-light.ph-ambulance:before {
  content: "\e572";
}
.ph-light.ph-anchor:before {
  content: "\e514";
}
.ph-light.ph-anchor-simple:before {
  content: "\e5d8";
}
.ph-light.ph-android-logo:before {
  content: "\e008";
}
.ph-light.ph-angle:before {
  content: "\e7bc";
}
.ph-light.ph-angular-logo:before {
  content: "\eb80";
}
.ph-light.ph-aperture:before {
  content: "\e00a";
}
.ph-light.ph-app-store-logo:before {
  content: "\e974";
}
.ph-light.ph-app-window:before {
  content: "\e5da";
}
.ph-light.ph-apple-logo:before {
  content: "\e516";
}
.ph-light.ph-apple-podcasts-logo:before {
  content: "\eb96";
}
.ph-light.ph-approximate-equals:before {
  content: "\edaa";
}
.ph-light.ph-archive:before {
  content: "\e00c";
}
.ph-light.ph-armchair:before {
  content: "\e012";
}
.ph-light.ph-arrow-arc-left:before {
  content: "\e014";
}
.ph-light.ph-arrow-arc-right:before {
  content: "\e016";
}
.ph-light.ph-arrow-bend-double-up-left:before {
  content: "\e03a";
}
.ph-light.ph-arrow-bend-double-up-right:before {
  content: "\e03c";
}
.ph-light.ph-arrow-bend-down-left:before {
  content: "\e018";
}
.ph-light.ph-arrow-bend-down-right:before {
  content: "\e01a";
}
.ph-light.ph-arrow-bend-left-down:before {
  content: "\e01c";
}
.ph-light.ph-arrow-bend-left-up:before {
  content: "\e01e";
}
.ph-light.ph-arrow-bend-right-down:before {
  content: "\e020";
}
.ph-light.ph-arrow-bend-right-up:before {
  content: "\e022";
}
.ph-light.ph-arrow-bend-up-left:before {
  content: "\e024";
}
.ph-light.ph-arrow-bend-up-right:before {
  content: "\e026";
}
.ph-light.ph-arrow-circle-down:before {
  content: "\e028";
}
.ph-light.ph-arrow-circle-down-left:before {
  content: "\e02a";
}
.ph-light.ph-arrow-circle-down-right:before {
  content: "\e02c";
}
.ph-light.ph-arrow-circle-left:before {
  content: "\e05a";
}
.ph-light.ph-arrow-circle-right:before {
  content: "\e02e";
}
.ph-light.ph-arrow-circle-up:before {
  content: "\e030";
}
.ph-light.ph-arrow-circle-up-left:before {
  content: "\e032";
}
.ph-light.ph-arrow-circle-up-right:before {
  content: "\e034";
}
.ph-light.ph-arrow-clockwise:before {
  content: "\e036";
}
.ph-light.ph-arrow-counter-clockwise:before {
  content: "\e038";
}
.ph-light.ph-arrow-down:before {
  content: "\e03e";
}
.ph-light.ph-arrow-down-left:before {
  content: "\e040";
}
.ph-light.ph-arrow-down-right:before {
  content: "\e042";
}
.ph-light.ph-arrow-elbow-down-left:before {
  content: "\e044";
}
.ph-light.ph-arrow-elbow-down-right:before {
  content: "\e046";
}
.ph-light.ph-arrow-elbow-left:before {
  content: "\e048";
}
.ph-light.ph-arrow-elbow-left-down:before {
  content: "\e04a";
}
.ph-light.ph-arrow-elbow-left-up:before {
  content: "\e04c";
}
.ph-light.ph-arrow-elbow-right:before {
  content: "\e04e";
}
.ph-light.ph-arrow-elbow-right-down:before {
  content: "\e050";
}
.ph-light.ph-arrow-elbow-right-up:before {
  content: "\e052";
}
.ph-light.ph-arrow-elbow-up-left:before {
  content: "\e054";
}
.ph-light.ph-arrow-elbow-up-right:before {
  content: "\e056";
}
.ph-light.ph-arrow-fat-down:before {
  content: "\e518";
}
.ph-light.ph-arrow-fat-left:before {
  content: "\e51a";
}
.ph-light.ph-arrow-fat-line-down:before {
  content: "\e51c";
}
.ph-light.ph-arrow-fat-line-left:before {
  content: "\e51e";
}
.ph-light.ph-arrow-fat-line-right:before {
  content: "\e520";
}
.ph-light.ph-arrow-fat-line-up:before {
  content: "\e522";
}
.ph-light.ph-arrow-fat-lines-down:before {
  content: "\e524";
}
.ph-light.ph-arrow-fat-lines-left:before {
  content: "\e526";
}
.ph-light.ph-arrow-fat-lines-right:before {
  content: "\e528";
}
.ph-light.ph-arrow-fat-lines-up:before {
  content: "\e52a";
}
.ph-light.ph-arrow-fat-right:before {
  content: "\e52c";
}
.ph-light.ph-arrow-fat-up:before {
  content: "\e52e";
}
.ph-light.ph-arrow-left:before {
  content: "\e058";
}
.ph-light.ph-arrow-line-down:before {
  content: "\e05c";
}
.ph-light.ph-arrow-line-down-left:before {
  content: "\e05e";
}
.ph-light.ph-arrow-line-down-right:before {
  content: "\e060";
}
.ph-light.ph-arrow-line-left:before {
  content: "\e062";
}
.ph-light.ph-arrow-line-right:before {
  content: "\e064";
}
.ph-light.ph-arrow-line-up:before {
  content: "\e066";
}
.ph-light.ph-arrow-line-up-left:before {
  content: "\e068";
}
.ph-light.ph-arrow-line-up-right:before {
  content: "\e06a";
}
.ph-light.ph-arrow-right:before {
  content: "\e06c";
}
.ph-light.ph-arrow-square-down:before {
  content: "\e06e";
}
.ph-light.ph-arrow-square-down-left:before {
  content: "\e070";
}
.ph-light.ph-arrow-square-down-right:before {
  content: "\e072";
}
.ph-light.ph-arrow-square-in:before {
  content: "\e5dc";
}
.ph-light.ph-arrow-square-left:before {
  content: "\e074";
}
.ph-light.ph-arrow-square-out:before {
  content: "\e5de";
}
.ph-light.ph-arrow-square-right:before {
  content: "\e076";
}
.ph-light.ph-arrow-square-up:before {
  content: "\e078";
}
.ph-light.ph-arrow-square-up-left:before {
  content: "\e07a";
}
.ph-light.ph-arrow-square-up-right:before {
  content: "\e07c";
}
.ph-light.ph-arrow-u-down-left:before {
  content: "\e07e";
}
.ph-light.ph-arrow-u-down-right:before {
  content: "\e080";
}
.ph-light.ph-arrow-u-left-down:before {
  content: "\e082";
}
.ph-light.ph-arrow-u-left-up:before {
  content: "\e084";
}
.ph-light.ph-arrow-u-right-down:before {
  content: "\e086";
}
.ph-light.ph-arrow-u-right-up:before {
  content: "\e088";
}
.ph-light.ph-arrow-u-up-left:before {
  content: "\e08a";
}
.ph-light.ph-arrow-u-up-right:before {
  content: "\e08c";
}
.ph-light.ph-arrow-up:before {
  content: "\e08e";
}
.ph-light.ph-arrow-up-left:before {
  content: "\e090";
}
.ph-light.ph-arrow-up-right:before {
  content: "\e092";
}
.ph-light.ph-arrows-clockwise:before {
  content: "\e094";
}
.ph-light.ph-arrows-counter-clockwise:before {
  content: "\e096";
}
.ph-light.ph-arrows-down-up:before {
  content: "\e098";
}
.ph-light.ph-arrows-horizontal:before {
  content: "\eb06";
}
.ph-light.ph-arrows-in:before {
  content: "\e09a";
}
.ph-light.ph-arrows-in-cardinal:before {
  content: "\e09c";
}
.ph-light.ph-arrows-in-line-horizontal:before {
  content: "\e530";
}
.ph-light.ph-arrows-in-line-vertical:before {
  content: "\e532";
}
.ph-light.ph-arrows-in-simple:before {
  content: "\e09e";
}
.ph-light.ph-arrows-left-right:before {
  content: "\e0a0";
}
.ph-light.ph-arrows-merge:before {
  content: "\ed3e";
}
.ph-light.ph-arrows-out:before {
  content: "\e0a2";
}
.ph-light.ph-arrows-out-cardinal:before {
  content: "\e0a4";
}
.ph-light.ph-arrows-out-line-horizontal:before {
  content: "\e534";
}
.ph-light.ph-arrows-out-line-vertical:before {
  content: "\e536";
}
.ph-light.ph-arrows-out-simple:before {
  content: "\e0a6";
}
.ph-light.ph-arrows-split:before {
  content: "\ed3c";
}
.ph-light.ph-arrows-vertical:before {
  content: "\eb04";
}
.ph-light.ph-article:before {
  content: "\e0a8";
}
.ph-light.ph-article-medium:before {
  content: "\e5e0";
}
.ph-light.ph-article-ny-times:before {
  content: "\e5e2";
}
.ph-light.ph-asclepius:before {
  content: "\ee34";
}
.ph-light.ph-caduceus:before {
  content: "\ee34";
}
.ph-light.ph-asterisk:before {
  content: "\e0aa";
}
.ph-light.ph-asterisk-simple:before {
  content: "\e832";
}
.ph-light.ph-at:before {
  content: "\e0ac";
}
.ph-light.ph-atom:before {
  content: "\e5e4";
}
.ph-light.ph-avocado:before {
  content: "\ee04";
}
.ph-light.ph-axe:before {
  content: "\e9fc";
}
.ph-light.ph-baby:before {
  content: "\e774";
}
.ph-light.ph-baby-carriage:before {
  content: "\e818";
}
.ph-light.ph-backpack:before {
  content: "\e922";
}
.ph-light.ph-backspace:before {
  content: "\e0ae";
}
.ph-light.ph-bag:before {
  content: "\e0b0";
}
.ph-light.ph-bag-simple:before {
  content: "\e5e6";
}
.ph-light.ph-balloon:before {
  content: "\e76c";
}
.ph-light.ph-bandaids:before {
  content: "\e0b2";
}
.ph-light.ph-bank:before {
  content: "\e0b4";
}
.ph-light.ph-barbell:before {
  content: "\e0b6";
}
.ph-light.ph-barcode:before {
  content: "\e0b8";
}
.ph-light.ph-barn:before {
  content: "\ec72";
}
.ph-light.ph-barricade:before {
  content: "\e948";
}
.ph-light.ph-baseball:before {
  content: "\e71a";
}
.ph-light.ph-baseball-cap:before {
  content: "\ea28";
}
.ph-light.ph-baseball-helmet:before {
  content: "\ee4a";
}
.ph-light.ph-basket:before {
  content: "\e964";
}
.ph-light.ph-basketball:before {
  content: "\e724";
}
.ph-light.ph-bathtub:before {
  content: "\e81e";
}
.ph-light.ph-battery-charging:before {
  content: "\e0ba";
}
.ph-light.ph-battery-charging-vertical:before {
  content: "\e0bc";
}
.ph-light.ph-battery-empty:before {
  content: "\e0be";
}
.ph-light.ph-battery-full:before {
  content: "\e0c0";
}
.ph-light.ph-battery-high:before {
  content: "\e0c2";
}
.ph-light.ph-battery-low:before {
  content: "\e0c4";
}
.ph-light.ph-battery-medium:before {
  content: "\e0c6";
}
.ph-light.ph-battery-plus:before {
  content: "\e808";
}
.ph-light.ph-battery-plus-vertical:before {
  content: "\ec50";
}
.ph-light.ph-battery-vertical-empty:before {
  content: "\e7c6";
}
.ph-light.ph-battery-vertical-full:before {
  content: "\e7c4";
}
.ph-light.ph-battery-vertical-high:before {
  content: "\e7c2";
}
.ph-light.ph-battery-vertical-low:before {
  content: "\e7be";
}
.ph-light.ph-battery-vertical-medium:before {
  content: "\e7c0";
}
.ph-light.ph-battery-warning:before {
  content: "\e0c8";
}
.ph-light.ph-battery-warning-vertical:before {
  content: "\e0ca";
}
.ph-light.ph-beach-ball:before {
  content: "\ed24";
}
.ph-light.ph-beanie:before {
  content: "\ea2a";
}
.ph-light.ph-bed:before {
  content: "\e0cc";
}
.ph-light.ph-beer-bottle:before {
  content: "\e7b0";
}
.ph-light.ph-beer-stein:before {
  content: "\eb62";
}
.ph-light.ph-behance-logo:before {
  content: "\e7f4";
}
.ph-light.ph-bell:before {
  content: "\e0ce";
}
.ph-light.ph-bell-ringing:before {
  content: "\e5e8";
}
.ph-light.ph-bell-simple:before {
  content: "\e0d0";
}
.ph-light.ph-bell-simple-ringing:before {
  content: "\e5ea";
}
.ph-light.ph-bell-simple-slash:before {
  content: "\e0d2";
}
.ph-light.ph-bell-simple-z:before {
  content: "\e5ec";
}
.ph-light.ph-bell-slash:before {
  content: "\e0d4";
}
.ph-light.ph-bell-z:before {
  content: "\e5ee";
}
.ph-light.ph-belt:before {
  content: "\ea2c";
}
.ph-light.ph-bezier-curve:before {
  content: "\eb00";
}
.ph-light.ph-bicycle:before {
  content: "\e0d6";
}
.ph-light.ph-binary:before {
  content: "\ee60";
}
.ph-light.ph-binoculars:before {
  content: "\ea64";
}
.ph-light.ph-biohazard:before {
  content: "\e9e0";
}
.ph-light.ph-bird:before {
  content: "\e72c";
}
.ph-light.ph-blueprint:before {
  content: "\eda0";
}
.ph-light.ph-bluetooth:before {
  content: "\e0da";
}
.ph-light.ph-bluetooth-connected:before {
  content: "\e0dc";
}
.ph-light.ph-bluetooth-slash:before {
  content: "\e0de";
}
.ph-light.ph-bluetooth-x:before {
  content: "\e0e0";
}
.ph-light.ph-boat:before {
  content: "\e786";
}
.ph-light.ph-bomb:before {
  content: "\ee0a";
}
.ph-light.ph-bone:before {
  content: "\e7f2";
}
.ph-light.ph-book:before {
  content: "\e0e2";
}
.ph-light.ph-book-bookmark:before {
  content: "\e0e4";
}
.ph-light.ph-book-open:before {
  content: "\e0e6";
}
.ph-light.ph-book-open-text:before {
  content: "\e8f2";
}
.ph-light.ph-book-open-user:before {
  content: "\ede0";
}
.ph-light.ph-bookmark:before {
  content: "\e0e8";
}
.ph-light.ph-bookmark-simple:before {
  content: "\e0ea";
}
.ph-light.ph-bookmarks:before {
  content: "\e0ec";
}
.ph-light.ph-bookmarks-simple:before {
  content: "\e5f0";
}
.ph-light.ph-books:before {
  content: "\e758";
}
.ph-light.ph-boot:before {
  content: "\ecca";
}
.ph-light.ph-boules:before {
  content: "\e722";
}
.ph-light.ph-bounding-box:before {
  content: "\e6ce";
}
.ph-light.ph-bowl-food:before {
  content: "\eaa4";
}
.ph-light.ph-bowl-steam:before {
  content: "\e8e4";
}
.ph-light.ph-bowling-ball:before {
  content: "\ea34";
}
.ph-light.ph-box-arrow-down:before {
  content: "\e00e";
}
.ph-light.ph-archive-box:before {
  content: "\e00e";
}
.ph-light.ph-box-arrow-up:before {
  content: "\ee54";
}
.ph-light.ph-boxing-glove:before {
  content: "\ea36";
}
.ph-light.ph-brackets-angle:before {
  content: "\e862";
}
.ph-light.ph-brackets-curly:before {
  content: "\e860";
}
.ph-light.ph-brackets-round:before {
  content: "\e864";
}
.ph-light.ph-brackets-square:before {
  content: "\e85e";
}
.ph-light.ph-brain:before {
  content: "\e74e";
}
.ph-light.ph-brandy:before {
  content: "\e6b4";
}
.ph-light.ph-bread:before {
  content: "\e81c";
}
.ph-light.ph-bridge:before {
  content: "\ea68";
}
.ph-light.ph-briefcase:before {
  content: "\e0ee";
}
.ph-light.ph-briefcase-metal:before {
  content: "\e5f2";
}
.ph-light.ph-broadcast:before {
  content: "\e0f2";
}
.ph-light.ph-broom:before {
  content: "\ec54";
}
.ph-light.ph-browser:before {
  content: "\e0f4";
}
.ph-light.ph-browsers:before {
  content: "\e0f6";
}
.ph-light.ph-bug:before {
  content: "\e5f4";
}
.ph-light.ph-bug-beetle:before {
  content: "\e5f6";
}
.ph-light.ph-bug-droid:before {
  content: "\e5f8";
}
.ph-light.ph-building:before {
  content: "\e100";
}
.ph-light.ph-building-apartment:before {
  content: "\e0fe";
}
.ph-light.ph-building-office:before {
  content: "\e0ff";
}
.ph-light.ph-buildings:before {
  content: "\e102";
}
.ph-light.ph-bulldozer:before {
  content: "\ec6c";
}
.ph-light.ph-bus:before {
  content: "\e106";
}
.ph-light.ph-butterfly:before {
  content: "\ea6e";
}
.ph-light.ph-cable-car:before {
  content: "\e49c";
}
.ph-light.ph-cactus:before {
  content: "\e918";
}
.ph-light.ph-cake:before {
  content: "\e780";
}
.ph-light.ph-calculator:before {
  content: "\e538";
}
.ph-light.ph-calendar:before {
  content: "\e108";
}
.ph-light.ph-calendar-blank:before {
  content: "\e10a";
}
.ph-light.ph-calendar-check:before {
  content: "\e712";
}
.ph-light.ph-calendar-dot:before {
  content: "\e7b2";
}
.ph-light.ph-calendar-dots:before {
  content: "\e7b4";
}
.ph-light.ph-calendar-heart:before {
  content: "\e8b0";
}
.ph-light.ph-calendar-minus:before {
  content: "\ea14";
}
.ph-light.ph-calendar-plus:before {
  content: "\e714";
}
.ph-light.ph-calendar-slash:before {
  content: "\ea12";
}
.ph-light.ph-calendar-star:before {
  content: "\e8b2";
}
.ph-light.ph-calendar-x:before {
  content: "\e10c";
}
.ph-light.ph-call-bell:before {
  content: "\e7de";
}
.ph-light.ph-camera:before {
  content: "\e10e";
}
.ph-light.ph-camera-plus:before {
  content: "\ec58";
}
.ph-light.ph-camera-rotate:before {
  content: "\e7a4";
}
.ph-light.ph-camera-slash:before {
  content: "\e110";
}
.ph-light.ph-campfire:before {
  content: "\e9d8";
}
.ph-light.ph-car:before {
  content: "\e112";
}
.ph-light.ph-car-battery:before {
  content: "\ee30";
}
.ph-light.ph-car-profile:before {
  content: "\e8cc";
}
.ph-light.ph-car-simple:before {
  content: "\e114";
}
.ph-light.ph-cardholder:before {
  content: "\e5fa";
}
.ph-light.ph-cards:before {
  content: "\e0f8";
}
.ph-light.ph-cards-three:before {
  content: "\ee50";
}
.ph-light.ph-caret-circle-double-down:before {
  content: "\e116";
}
.ph-light.ph-caret-circle-double-left:before {
  content: "\e118";
}
.ph-light.ph-caret-circle-double-right:before {
  content: "\e11a";
}
.ph-light.ph-caret-circle-double-up:before {
  content: "\e11c";
}
.ph-light.ph-caret-circle-down:before {
  content: "\e11e";
}
.ph-light.ph-caret-circle-left:before {
  content: "\e120";
}
.ph-light.ph-caret-circle-right:before {
  content: "\e122";
}
.ph-light.ph-caret-circle-up:before {
  content: "\e124";
}
.ph-light.ph-caret-circle-up-down:before {
  content: "\e13e";
}
.ph-light.ph-caret-double-down:before {
  content: "\e126";
}
.ph-light.ph-caret-double-left:before {
  content: "\e128";
}
.ph-light.ph-caret-double-right:before {
  content: "\e12a";
}
.ph-light.ph-caret-double-up:before {
  content: "\e12c";
}
.ph-light.ph-caret-down:before {
  content: "\e136";
}
.ph-light.ph-caret-left:before {
  content: "\e138";
}
.ph-light.ph-caret-line-down:before {
  content: "\e134";
}
.ph-light.ph-caret-line-left:before {
  content: "\e132";
}
.ph-light.ph-caret-line-right:before {
  content: "\e130";
}
.ph-light.ph-caret-line-up:before {
  content: "\e12e";
}
.ph-light.ph-caret-right:before {
  content: "\e13a";
}
.ph-light.ph-caret-up:before {
  content: "\e13c";
}
.ph-light.ph-caret-up-down:before {
  content: "\e140";
}
.ph-light.ph-carrot:before {
  content: "\ed38";
}
.ph-light.ph-cash-register:before {
  content: "\ed80";
}
.ph-light.ph-cassette-tape:before {
  content: "\ed2e";
}
.ph-light.ph-castle-turret:before {
  content: "\e9d0";
}
.ph-light.ph-cat:before {
  content: "\e748";
}
.ph-light.ph-cell-signal-full:before {
  content: "\e142";
}
.ph-light.ph-cell-signal-high:before {
  content: "\e144";
}
.ph-light.ph-cell-signal-low:before {
  content: "\e146";
}
.ph-light.ph-cell-signal-medium:before {
  content: "\e148";
}
.ph-light.ph-cell-signal-none:before {
  content: "\e14a";
}
.ph-light.ph-cell-signal-slash:before {
  content: "\e14c";
}
.ph-light.ph-cell-signal-x:before {
  content: "\e14e";
}
.ph-light.ph-cell-tower:before {
  content: "\ebaa";
}
.ph-light.ph-certificate:before {
  content: "\e766";
}
.ph-light.ph-chair:before {
  content: "\e950";
}
.ph-light.ph-chalkboard:before {
  content: "\e5fc";
}
.ph-light.ph-chalkboard-simple:before {
  content: "\e5fe";
}
.ph-light.ph-chalkboard-teacher:before {
  content: "\e600";
}
.ph-light.ph-champagne:before {
  content: "\eaca";
}
.ph-light.ph-charging-station:before {
  content: "\e8d0";
}
.ph-light.ph-chart-bar:before {
  content: "\e150";
}
.ph-light.ph-chart-bar-horizontal:before {
  content: "\e152";
}
.ph-light.ph-chart-donut:before {
  content: "\eaa6";
}
.ph-light.ph-chart-line:before {
  content: "\e154";
}
.ph-light.ph-chart-line-down:before {
  content: "\e8b6";
}
.ph-light.ph-chart-line-up:before {
  content: "\e156";
}
.ph-light.ph-chart-pie:before {
  content: "\e158";
}
.ph-light.ph-chart-pie-slice:before {
  content: "\e15a";
}
.ph-light.ph-chart-polar:before {
  content: "\eaa8";
}
.ph-light.ph-chart-scatter:before {
  content: "\eaac";
}
.ph-light.ph-chat:before {
  content: "\e15c";
}
.ph-light.ph-chat-centered:before {
  content: "\e160";
}
.ph-light.ph-chat-centered-dots:before {
  content: "\e164";
}
.ph-light.ph-chat-centered-slash:before {
  content: "\e162";
}
.ph-light.ph-chat-centered-text:before {
  content: "\e166";
}
.ph-light.ph-chat-circle:before {
  content: "\e168";
}
.ph-light.ph-chat-circle-dots:before {
  content: "\e16c";
}
.ph-light.ph-chat-circle-slash:before {
  content: "\e16a";
}
.ph-light.ph-chat-circle-text:before {
  content: "\e16e";
}
.ph-light.ph-chat-dots:before {
  content: "\e170";
}
.ph-light.ph-chat-slash:before {
  content: "\e15e";
}
.ph-light.ph-chat-teardrop:before {
  content: "\e172";
}
.ph-light.ph-chat-teardrop-dots:before {
  content: "\e176";
}
.ph-light.ph-chat-teardrop-slash:before {
  content: "\e174";
}
.ph-light.ph-chat-teardrop-text:before {
  content: "\e178";
}
.ph-light.ph-chat-text:before {
  content: "\e17a";
}
.ph-light.ph-chats:before {
  content: "\e17c";
}
.ph-light.ph-chats-circle:before {
  content: "\e17e";
}
.ph-light.ph-chats-teardrop:before {
  content: "\e180";
}
.ph-light.ph-check:before {
  content: "\e182";
}
.ph-light.ph-check-circle:before {
  content: "\e184";
}
.ph-light.ph-check-fat:before {
  content: "\eba6";
}
.ph-light.ph-check-square:before {
  content: "\e186";
}
.ph-light.ph-check-square-offset:before {
  content: "\e188";
}
.ph-light.ph-checkerboard:before {
  content: "\e8c4";
}
.ph-light.ph-checks:before {
  content: "\e53a";
}
.ph-light.ph-cheers:before {
  content: "\ea4a";
}
.ph-light.ph-cheese:before {
  content: "\e9fe";
}
.ph-light.ph-chef-hat:before {
  content: "\ed8e";
}
.ph-light.ph-cherries:before {
  content: "\e830";
}
.ph-light.ph-church:before {
  content: "\ecea";
}
.ph-light.ph-cigarette:before {
  content: "\ed90";
}
.ph-light.ph-cigarette-slash:before {
  content: "\ed92";
}
.ph-light.ph-circle:before {
  content: "\e18a";
}
.ph-light.ph-circle-dashed:before {
  content: "\e602";
}
.ph-light.ph-circle-half:before {
  content: "\e18c";
}
.ph-light.ph-circle-half-tilt:before {
  content: "\e18e";
}
.ph-light.ph-circle-notch:before {
  content: "\eb44";
}
.ph-light.ph-circles-four:before {
  content: "\e190";
}
.ph-light.ph-circles-three:before {
  content: "\e192";
}
.ph-light.ph-circles-three-plus:before {
  content: "\e194";
}
.ph-light.ph-circuitry:before {
  content: "\e9c2";
}
.ph-light.ph-city:before {
  content: "\ea6a";
}
.ph-light.ph-clipboard:before {
  content: "\e196";
}
.ph-light.ph-clipboard-text:before {
  content: "\e198";
}
.ph-light.ph-clock:before {
  content: "\e19a";
}
.ph-light.ph-clock-afternoon:before {
  content: "\e19c";
}
.ph-light.ph-clock-clockwise:before {
  content: "\e19e";
}
.ph-light.ph-clock-countdown:before {
  content: "\ed2c";
}
.ph-light.ph-clock-counter-clockwise:before {
  content: "\e1a0";
}
.ph-light.ph-clock-user:before {
  content: "\edec";
}
.ph-light.ph-closed-captioning:before {
  content: "\e1a4";
}
.ph-light.ph-cloud:before {
  content: "\e1aa";
}
.ph-light.ph-cloud-arrow-down:before {
  content: "\e1ac";
}
.ph-light.ph-cloud-arrow-up:before {
  content: "\e1ae";
}
.ph-light.ph-cloud-check:before {
  content: "\e1b0";
}
.ph-light.ph-cloud-fog:before {
  content: "\e53c";
}
.ph-light.ph-cloud-lightning:before {
  content: "\e1b2";
}
.ph-light.ph-cloud-moon:before {
  content: "\e53e";
}
.ph-light.ph-cloud-rain:before {
  content: "\e1b4";
}
.ph-light.ph-cloud-slash:before {
  content: "\e1b6";
}
.ph-light.ph-cloud-snow:before {
  content: "\e1b8";
}
.ph-light.ph-cloud-sun:before {
  content: "\e540";
}
.ph-light.ph-cloud-warning:before {
  content: "\ea98";
}
.ph-light.ph-cloud-x:before {
  content: "\ea96";
}
.ph-light.ph-clover:before {
  content: "\edc8";
}
.ph-light.ph-club:before {
  content: "\e1ba";
}
.ph-light.ph-coat-hanger:before {
  content: "\e7fe";
}
.ph-light.ph-coda-logo:before {
  content: "\e7ce";
}
.ph-light.ph-code:before {
  content: "\e1bc";
}
.ph-light.ph-code-block:before {
  content: "\eafe";
}
.ph-light.ph-code-simple:before {
  content: "\e1be";
}
.ph-light.ph-codepen-logo:before {
  content: "\e978";
}
.ph-light.ph-codesandbox-logo:before {
  content: "\ea06";
}
.ph-light.ph-coffee:before {
  content: "\e1c2";
}
.ph-light.ph-coffee-bean:before {
  content: "\e1c0";
}
.ph-light.ph-coin:before {
  content: "\e60e";
}
.ph-light.ph-coin-vertical:before {
  content: "\eb48";
}
.ph-light.ph-coins:before {
  content: "\e78e";
}
.ph-light.ph-columns:before {
  content: "\e546";
}
.ph-light.ph-columns-plus-left:before {
  content: "\e544";
}
.ph-light.ph-columns-plus-right:before {
  content: "\e542";
}
.ph-light.ph-command:before {
  content: "\e1c4";
}
.ph-light.ph-compass:before {
  content: "\e1c8";
}
.ph-light.ph-compass-rose:before {
  content: "\e1c6";
}
.ph-light.ph-compass-tool:before {
  content: "\ea0e";
}
.ph-light.ph-computer-tower:before {
  content: "\e548";
}
.ph-light.ph-confetti:before {
  content: "\e81a";
}
.ph-light.ph-contactless-payment:before {
  content: "\ed42";
}
.ph-light.ph-control:before {
  content: "\eca6";
}
.ph-light.ph-cookie:before {
  content: "\e6ca";
}
.ph-light.ph-cooking-pot:before {
  content: "\e764";
}
.ph-light.ph-copy:before {
  content: "\e1ca";
}
.ph-light.ph-copy-simple:before {
  content: "\e1cc";
}
.ph-light.ph-copyleft:before {
  content: "\e86a";
}
.ph-light.ph-copyright:before {
  content: "\e54a";
}
.ph-light.ph-corners-in:before {
  content: "\e1ce";
}
.ph-light.ph-corners-out:before {
  content: "\e1d0";
}
.ph-light.ph-couch:before {
  content: "\e7f6";
}
.ph-light.ph-court-basketball:before {
  content: "\ee36";
}
.ph-light.ph-cow:before {
  content: "\eabe";
}
.ph-light.ph-cowboy-hat:before {
  content: "\ed12";
}
.ph-light.ph-cpu:before {
  content: "\e610";
}
.ph-light.ph-crane:before {
  content: "\ed48";
}
.ph-light.ph-crane-tower:before {
  content: "\ed49";
}
.ph-light.ph-credit-card:before {
  content: "\e1d2";
}
.ph-light.ph-cricket:before {
  content: "\ee12";
}
.ph-light.ph-crop:before {
  content: "\e1d4";
}
.ph-light.ph-cross:before {
  content: "\e8a0";
}
.ph-light.ph-crosshair:before {
  content: "\e1d6";
}
.ph-light.ph-crosshair-simple:before {
  content: "\e1d8";
}
.ph-light.ph-crown:before {
  content: "\e614";
}
.ph-light.ph-crown-cross:before {
  content: "\ee5e";
}
.ph-light.ph-crown-simple:before {
  content: "\e616";
}
.ph-light.ph-cube:before {
  content: "\e1da";
}
.ph-light.ph-cube-focus:before {
  content: "\ed0a";
}
.ph-light.ph-cube-transparent:before {
  content: "\ec7c";
}
.ph-light.ph-currency-btc:before {
  content: "\e618";
}
.ph-light.ph-currency-circle-dollar:before {
  content: "\e54c";
}
.ph-light.ph-currency-cny:before {
  content: "\e54e";
}
.ph-light.ph-currency-dollar:before {
  content: "\e550";
}
.ph-light.ph-currency-dollar-simple:before {
  content: "\e552";
}
.ph-light.ph-currency-eth:before {
  content: "\eada";
}
.ph-light.ph-currency-eur:before {
  content: "\e554";
}
.ph-light.ph-currency-gbp:before {
  content: "\e556";
}
.ph-light.ph-currency-inr:before {
  content: "\e558";
}
.ph-light.ph-currency-jpy:before {
  content: "\e55a";
}
.ph-light.ph-currency-krw:before {
  content: "\e55c";
}
.ph-light.ph-currency-kzt:before {
  content: "\ec4c";
}
.ph-light.ph-currency-ngn:before {
  content: "\eb52";
}
.ph-light.ph-currency-rub:before {
  content: "\e55e";
}
.ph-light.ph-cursor:before {
  content: "\e1dc";
}
.ph-light.ph-cursor-click:before {
  content: "\e7c8";
}
.ph-light.ph-cursor-text:before {
  content: "\e7d8";
}
.ph-light.ph-cylinder:before {
  content: "\e8fc";
}
.ph-light.ph-database:before {
  content: "\e1de";
}
.ph-light.ph-desk:before {
  content: "\ed16";
}
.ph-light.ph-desktop:before {
  content: "\e560";
}
.ph-light.ph-desktop-tower:before {
  content: "\e562";
}
.ph-light.ph-detective:before {
  content: "\e83e";
}
.ph-light.ph-dev-to-logo:before {
  content: "\ed0e";
}
.ph-light.ph-device-mobile:before {
  content: "\e1e0";
}
.ph-light.ph-device-mobile-camera:before {
  content: "\e1e2";
}
.ph-light.ph-device-mobile-slash:before {
  content: "\ee46";
}
.ph-light.ph-device-mobile-speaker:before {
  content: "\e1e4";
}
.ph-light.ph-device-rotate:before {
  content: "\edf2";
}
.ph-light.ph-device-tablet:before {
  content: "\e1e6";
}
.ph-light.ph-device-tablet-camera:before {
  content: "\e1e8";
}
.ph-light.ph-device-tablet-speaker:before {
  content: "\e1ea";
}
.ph-light.ph-devices:before {
  content: "\eba4";
}
.ph-light.ph-diamond:before {
  content: "\e1ec";
}
.ph-light.ph-diamonds-four:before {
  content: "\e8f4";
}
.ph-light.ph-dice-five:before {
  content: "\e1ee";
}
.ph-light.ph-dice-four:before {
  content: "\e1f0";
}
.ph-light.ph-dice-one:before {
  content: "\e1f2";
}
.ph-light.ph-dice-six:before {
  content: "\e1f4";
}
.ph-light.ph-dice-three:before {
  content: "\e1f6";
}
.ph-light.ph-dice-two:before {
  content: "\e1f8";
}
.ph-light.ph-disc:before {
  content: "\e564";
}
.ph-light.ph-disco-ball:before {
  content: "\ed98";
}
.ph-light.ph-discord-logo:before {
  content: "\e61a";
}
.ph-light.ph-divide:before {
  content: "\e1fa";
}
.ph-light.ph-dna:before {
  content: "\e924";
}
.ph-light.ph-dog:before {
  content: "\e74a";
}
.ph-light.ph-door:before {
  content: "\e61c";
}
.ph-light.ph-door-open:before {
  content: "\e7e6";
}
.ph-light.ph-dot:before {
  content: "\ecde";
}
.ph-light.ph-dot-outline:before {
  content: "\ece0";
}
.ph-light.ph-dots-nine:before {
  content: "\e1fc";
}
.ph-light.ph-dots-six:before {
  content: "\e794";
}
.ph-light.ph-dots-six-vertical:before {
  content: "\eae2";
}
.ph-light.ph-dots-three:before {
  content: "\e1fe";
}
.ph-light.ph-dots-three-circle:before {
  content: "\e200";
}
.ph-light.ph-dots-three-circle-vertical:before {
  content: "\e202";
}
.ph-light.ph-dots-three-outline:before {
  content: "\e204";
}
.ph-light.ph-dots-three-outline-vertical:before {
  content: "\e206";
}
.ph-light.ph-dots-three-vertical:before {
  content: "\e208";
}
.ph-light.ph-download:before {
  content: "\e20a";
}
.ph-light.ph-download-simple:before {
  content: "\e20c";
}
.ph-light.ph-dress:before {
  content: "\ea7e";
}
.ph-light.ph-dresser:before {
  content: "\e94e";
}
.ph-light.ph-dribbble-logo:before {
  content: "\e20e";
}
.ph-light.ph-drone:before {
  content: "\ed74";
}
.ph-light.ph-drop:before {
  content: "\e210";
}
.ph-light.ph-drop-half:before {
  content: "\e566";
}
.ph-light.ph-drop-half-bottom:before {
  content: "\eb40";
}
.ph-light.ph-drop-simple:before {
  content: "\ee32";
}
.ph-light.ph-drop-slash:before {
  content: "\e954";
}
.ph-light.ph-dropbox-logo:before {
  content: "\e7d0";
}
.ph-light.ph-ear:before {
  content: "\e70c";
}
.ph-light.ph-ear-slash:before {
  content: "\e70e";
}
.ph-light.ph-egg:before {
  content: "\e812";
}
.ph-light.ph-egg-crack:before {
  content: "\eb64";
}
.ph-light.ph-eject:before {
  content: "\e212";
}
.ph-light.ph-eject-simple:before {
  content: "\e6ae";
}
.ph-light.ph-elevator:before {
  content: "\ecc0";
}
.ph-light.ph-empty:before {
  content: "\edbc";
}
.ph-light.ph-engine:before {
  content: "\ea80";
}
.ph-light.ph-envelope:before {
  content: "\e214";
}
.ph-light.ph-envelope-open:before {
  content: "\e216";
}
.ph-light.ph-envelope-simple:before {
  content: "\e218";
}
.ph-light.ph-envelope-simple-open:before {
  content: "\e21a";
}
.ph-light.ph-equalizer:before {
  content: "\ebbc";
}
.ph-light.ph-equals:before {
  content: "\e21c";
}
.ph-light.ph-eraser:before {
  content: "\e21e";
}
.ph-light.ph-escalator-down:before {
  content: "\ecba";
}
.ph-light.ph-escalator-up:before {
  content: "\ecbc";
}
.ph-light.ph-exam:before {
  content: "\e742";
}
.ph-light.ph-exclamation-mark:before {
  content: "\ee44";
}
.ph-light.ph-exclude:before {
  content: "\e882";
}
.ph-light.ph-exclude-square:before {
  content: "\e880";
}
.ph-light.ph-export:before {
  content: "\eaf0";
}
.ph-light.ph-eye:before {
  content: "\e220";
}
.ph-light.ph-eye-closed:before {
  content: "\e222";
}
.ph-light.ph-eye-slash:before {
  content: "\e224";
}
.ph-light.ph-eyedropper:before {
  content: "\e568";
}
.ph-light.ph-eyedropper-sample:before {
  content: "\eac4";
}
.ph-light.ph-eyeglasses:before {
  content: "\e7ba";
}
.ph-light.ph-eyes:before {
  content: "\ee5c";
}
.ph-light.ph-face-mask:before {
  content: "\e56a";
}
.ph-light.ph-facebook-logo:before {
  content: "\e226";
}
.ph-light.ph-factory:before {
  content: "\e760";
}
.ph-light.ph-faders:before {
  content: "\e228";
}
.ph-light.ph-faders-horizontal:before {
  content: "\e22a";
}
.ph-light.ph-fallout-shelter:before {
  content: "\e9de";
}
.ph-light.ph-fan:before {
  content: "\e9f2";
}
.ph-light.ph-farm:before {
  content: "\ec70";
}
.ph-light.ph-fast-forward:before {
  content: "\e6a6";
}
.ph-light.ph-fast-forward-circle:before {
  content: "\e22c";
}
.ph-light.ph-feather:before {
  content: "\e9c0";
}
.ph-light.ph-fediverse-logo:before {
  content: "\ed66";
}
.ph-light.ph-figma-logo:before {
  content: "\e22e";
}
.ph-light.ph-file:before {
  content: "\e230";
}
.ph-light.ph-file-archive:before {
  content: "\eb2a";
}
.ph-light.ph-file-arrow-down:before {
  content: "\e232";
}
.ph-light.ph-file-arrow-up:before {
  content: "\e61e";
}
.ph-light.ph-file-audio:before {
  content: "\ea20";
}
.ph-light.ph-file-c:before {
  content: "\eb32";
}
.ph-light.ph-file-c-sharp:before {
  content: "\eb30";
}
.ph-light.ph-file-cloud:before {
  content: "\e95e";
}
.ph-light.ph-file-code:before {
  content: "\e914";
}
.ph-light.ph-file-cpp:before {
  content: "\eb2e";
}
.ph-light.ph-file-css:before {
  content: "\eb34";
}
.ph-light.ph-file-csv:before {
  content: "\eb1c";
}
.ph-light.ph-file-dashed:before {
  content: "\e704";
}
.ph-light.ph-file-dotted:before {
  content: "\e704";
}
.ph-light.ph-file-doc:before {
  content: "\eb1e";
}
.ph-light.ph-file-html:before {
  content: "\eb38";
}
.ph-light.ph-file-image:before {
  content: "\ea24";
}
.ph-light.ph-file-ini:before {
  content: "\eb33";
}
.ph-light.ph-file-jpg:before {
  content: "\eb1a";
}
.ph-light.ph-file-js:before {
  content: "\eb24";
}
.ph-light.ph-file-jsx:before {
  content: "\eb3a";
}
.ph-light.ph-file-lock:before {
  content: "\e95c";
}
.ph-light.ph-file-magnifying-glass:before {
  content: "\e238";
}
.ph-light.ph-file-search:before {
  content: "\e238";
}
.ph-light.ph-file-md:before {
  content: "\ed50";
}
.ph-light.ph-file-minus:before {
  content: "\e234";
}
.ph-light.ph-file-pdf:before {
  content: "\e702";
}
.ph-light.ph-file-plus:before {
  content: "\e236";
}
.ph-light.ph-file-png:before {
  content: "\eb18";
}
.ph-light.ph-file-ppt:before {
  content: "\eb20";
}
.ph-light.ph-file-py:before {
  content: "\eb2c";
}
.ph-light.ph-file-rs:before {
  content: "\eb28";
}
.ph-light.ph-file-sql:before {
  content: "\ed4e";
}
.ph-light.ph-file-svg:before {
  content: "\ed08";
}
.ph-light.ph-file-text:before {
  content: "\e23a";
}
.ph-light.ph-file-ts:before {
  content: "\eb26";
}
.ph-light.ph-file-tsx:before {
  content: "\eb3c";
}
.ph-light.ph-file-txt:before {
  content: "\eb35";
}
.ph-light.ph-file-video:before {
  content: "\ea22";
}
.ph-light.ph-file-vue:before {
  content: "\eb3e";
}
.ph-light.ph-file-x:before {
  content: "\e23c";
}
.ph-light.ph-file-xls:before {
  content: "\eb22";
}
.ph-light.ph-file-zip:before {
  content: "\e958";
}
.ph-light.ph-files:before {
  content: "\e710";
}
.ph-light.ph-film-reel:before {
  content: "\e8c0";
}
.ph-light.ph-film-script:before {
  content: "\eb50";
}
.ph-light.ph-film-slate:before {
  content: "\e8c2";
}
.ph-light.ph-film-strip:before {
  content: "\e792";
}
.ph-light.ph-fingerprint:before {
  content: "\e23e";
}
.ph-light.ph-fingerprint-simple:before {
  content: "\e240";
}
.ph-light.ph-finn-the-human:before {
  content: "\e56c";
}
.ph-light.ph-fire:before {
  content: "\e242";
}
.ph-light.ph-fire-extinguisher:before {
  content: "\e9e8";
}
.ph-light.ph-fire-simple:before {
  content: "\e620";
}
.ph-light.ph-fire-truck:before {
  content: "\e574";
}
.ph-light.ph-first-aid:before {
  content: "\e56e";
}
.ph-light.ph-first-aid-kit:before {
  content: "\e570";
}
.ph-light.ph-fish:before {
  content: "\e728";
}
.ph-light.ph-fish-simple:before {
  content: "\e72a";
}
.ph-light.ph-flag:before {
  content: "\e244";
}
.ph-light.ph-flag-banner:before {
  content: "\e622";
}
.ph-light.ph-flag-banner-fold:before {
  content: "\ecf2";
}
.ph-light.ph-flag-checkered:before {
  content: "\ea38";
}
.ph-light.ph-flag-pennant:before {
  content: "\ecf0";
}
.ph-light.ph-flame:before {
  content: "\e624";
}
.ph-light.ph-flashlight:before {
  content: "\e246";
}
.ph-light.ph-flask:before {
  content: "\e79e";
}
.ph-light.ph-flip-horizontal:before {
  content: "\ed6a";
}
.ph-light.ph-flip-vertical:before {
  content: "\ed6c";
}
.ph-light.ph-floppy-disk:before {
  content: "\e248";
}
.ph-light.ph-floppy-disk-back:before {
  content: "\eaf4";
}
.ph-light.ph-flow-arrow:before {
  content: "\e6ec";
}
.ph-light.ph-flower:before {
  content: "\e75e";
}
.ph-light.ph-flower-lotus:before {
  content: "\e6cc";
}
.ph-light.ph-flower-tulip:before {
  content: "\eacc";
}
.ph-light.ph-flying-saucer:before {
  content: "\eb4a";
}
.ph-light.ph-folder:before {
  content: "\e24a";
}
.ph-light.ph-folder-notch:before {
  content: "\e24a";
}
.ph-light.ph-folder-dashed:before {
  content: "\e8f8";
}
.ph-light.ph-folder-dotted:before {
  content: "\e8f8";
}
.ph-light.ph-folder-lock:before {
  content: "\ea3c";
}
.ph-light.ph-folder-minus:before {
  content: "\e254";
}
.ph-light.ph-folder-notch-minus:before {
  content: "\e254";
}
.ph-light.ph-folder-open:before {
  content: "\e256";
}
.ph-light.ph-folder-notch-open:before {
  content: "\e256";
}
.ph-light.ph-folder-plus:before {
  content: "\e258";
}
.ph-light.ph-folder-notch-plus:before {
  content: "\e258";
}
.ph-light.ph-folder-simple:before {
  content: "\e25a";
}
.ph-light.ph-folder-simple-dashed:before {
  content: "\ec2a";
}
.ph-light.ph-folder-simple-dotted:before {
  content: "\ec2a";
}
.ph-light.ph-folder-simple-lock:before {
  content: "\eb5e";
}
.ph-light.ph-folder-simple-minus:before {
  content: "\e25c";
}
.ph-light.ph-folder-simple-plus:before {
  content: "\e25e";
}
.ph-light.ph-folder-simple-star:before {
  content: "\ec2e";
}
.ph-light.ph-folder-simple-user:before {
  content: "\eb60";
}
.ph-light.ph-folder-star:before {
  content: "\ea86";
}
.ph-light.ph-folder-user:before {
  content: "\eb46";
}
.ph-light.ph-folders:before {
  content: "\e260";
}
.ph-light.ph-football:before {
  content: "\e718";
}
.ph-light.ph-football-helmet:before {
  content: "\ee4c";
}
.ph-light.ph-footprints:before {
  content: "\ea88";
}
.ph-light.ph-fork-knife:before {
  content: "\e262";
}
.ph-light.ph-four-k:before {
  content: "\ea5c";
}
.ph-light.ph-frame-corners:before {
  content: "\e626";
}
.ph-light.ph-framer-logo:before {
  content: "\e264";
}
.ph-light.ph-function:before {
  content: "\ebe4";
}
.ph-light.ph-funnel:before {
  content: "\e266";
}
.ph-light.ph-funnel-simple:before {
  content: "\e268";
}
.ph-light.ph-funnel-simple-x:before {
  content: "\e26a";
}
.ph-light.ph-funnel-x:before {
  content: "\e26c";
}
.ph-light.ph-game-controller:before {
  content: "\e26e";
}
.ph-light.ph-garage:before {
  content: "\ecd6";
}
.ph-light.ph-gas-can:before {
  content: "\e8ce";
}
.ph-light.ph-gas-pump:before {
  content: "\e768";
}
.ph-light.ph-gauge:before {
  content: "\e628";
}
.ph-light.ph-gavel:before {
  content: "\ea32";
}
.ph-light.ph-gear:before {
  content: "\e270";
}
.ph-light.ph-gear-fine:before {
  content: "\e87c";
}
.ph-light.ph-gear-six:before {
  content: "\e272";
}
.ph-light.ph-gender-female:before {
  content: "\e6e0";
}
.ph-light.ph-gender-intersex:before {
  content: "\e6e6";
}
.ph-light.ph-gender-male:before {
  content: "\e6e2";
}
.ph-light.ph-gender-neuter:before {
  content: "\e6ea";
}
.ph-light.ph-gender-nonbinary:before {
  content: "\e6e4";
}
.ph-light.ph-gender-transgender:before {
  content: "\e6e8";
}
.ph-light.ph-ghost:before {
  content: "\e62a";
}
.ph-light.ph-gif:before {
  content: "\e274";
}
.ph-light.ph-gift:before {
  content: "\e276";
}
.ph-light.ph-git-branch:before {
  content: "\e278";
}
.ph-light.ph-git-commit:before {
  content: "\e27a";
}
.ph-light.ph-git-diff:before {
  content: "\e27c";
}
.ph-light.ph-git-fork:before {
  content: "\e27e";
}
.ph-light.ph-git-merge:before {
  content: "\e280";
}
.ph-light.ph-git-pull-request:before {
  content: "\e282";
}
.ph-light.ph-github-logo:before {
  content: "\e576";
}
.ph-light.ph-gitlab-logo:before {
  content: "\e694";
}
.ph-light.ph-gitlab-logo-simple:before {
  content: "\e696";
}
.ph-light.ph-globe:before {
  content: "\e288";
}
.ph-light.ph-globe-hemisphere-east:before {
  content: "\e28a";
}
.ph-light.ph-globe-hemisphere-west:before {
  content: "\e28c";
}
.ph-light.ph-globe-simple:before {
  content: "\e28e";
}
.ph-light.ph-globe-simple-x:before {
  content: "\e284";
}
.ph-light.ph-globe-stand:before {
  content: "\e290";
}
.ph-light.ph-globe-x:before {
  content: "\e286";
}
.ph-light.ph-goggles:before {
  content: "\ecb4";
}
.ph-light.ph-golf:before {
  content: "\ea3e";
}
.ph-light.ph-goodreads-logo:before {
  content: "\ed10";
}
.ph-light.ph-google-cardboard-logo:before {
  content: "\e7b6";
}
.ph-light.ph-google-chrome-logo:before {
  content: "\e976";
}
.ph-light.ph-google-drive-logo:before {
  content: "\e8f6";
}
.ph-light.ph-google-logo:before {
  content: "\e292";
}
.ph-light.ph-google-photos-logo:before {
  content: "\eb92";
}
.ph-light.ph-google-play-logo:before {
  content: "\e294";
}
.ph-light.ph-google-podcasts-logo:before {
  content: "\eb94";
}
.ph-light.ph-gps:before {
  content: "\edd8";
}
.ph-light.ph-gps-fix:before {
  content: "\edd6";
}
.ph-light.ph-gps-slash:before {
  content: "\edd4";
}
.ph-light.ph-gradient:before {
  content: "\eb42";
}
.ph-light.ph-graduation-cap:before {
  content: "\e62c";
}
.ph-light.ph-grains:before {
  content: "\ec68";
}
.ph-light.ph-grains-slash:before {
  content: "\ec6a";
}
.ph-light.ph-graph:before {
  content: "\eb58";
}
.ph-light.ph-graphics-card:before {
  content: "\e612";
}
.ph-light.ph-greater-than:before {
  content: "\edc4";
}
.ph-light.ph-greater-than-or-equal:before {
  content: "\eda2";
}
.ph-light.ph-grid-four:before {
  content: "\e296";
}
.ph-light.ph-grid-nine:before {
  content: "\ec8c";
}
.ph-light.ph-guitar:before {
  content: "\ea8a";
}
.ph-light.ph-hair-dryer:before {
  content: "\ea66";
}
.ph-light.ph-hamburger:before {
  content: "\e790";
}
.ph-light.ph-hammer:before {
  content: "\e80e";
}
.ph-light.ph-hand:before {
  content: "\e298";
}
.ph-light.ph-hand-arrow-down:before {
  content: "\ea4e";
}
.ph-light.ph-hand-arrow-up:before {
  content: "\ee5a";
}
.ph-light.ph-hand-coins:before {
  content: "\ea8c";
}
.ph-light.ph-hand-deposit:before {
  content: "\ee82";
}
.ph-light.ph-hand-eye:before {
  content: "\ea4c";
}
.ph-light.ph-hand-fist:before {
  content: "\e57a";
}
.ph-light.ph-hand-grabbing:before {
  content: "\e57c";
}
.ph-light.ph-hand-heart:before {
  content: "\e810";
}
.ph-light.ph-hand-palm:before {
  content: "\e57e";
}
.ph-light.ph-hand-peace:before {
  content: "\e7cc";
}
.ph-light.ph-hand-pointing:before {
  content: "\e29a";
}
.ph-light.ph-hand-soap:before {
  content: "\e630";
}
.ph-light.ph-hand-swipe-left:before {
  content: "\ec94";
}
.ph-light.ph-hand-swipe-right:before {
  content: "\ec92";
}
.ph-light.ph-hand-tap:before {
  content: "\ec90";
}
.ph-light.ph-hand-waving:before {
  content: "\e580";
}
.ph-light.ph-hand-withdraw:before {
  content: "\ee80";
}
.ph-light.ph-handbag:before {
  content: "\e29c";
}
.ph-light.ph-handbag-simple:before {
  content: "\e62e";
}
.ph-light.ph-hands-clapping:before {
  content: "\e6a0";
}
.ph-light.ph-hands-praying:before {
  content: "\ecc8";
}
.ph-light.ph-handshake:before {
  content: "\e582";
}
.ph-light.ph-hard-drive:before {
  content: "\e29e";
}
.ph-light.ph-hard-drives:before {
  content: "\e2a0";
}
.ph-light.ph-hard-hat:before {
  content: "\ed46";
}
.ph-light.ph-hash:before {
  content: "\e2a2";
}
.ph-light.ph-hash-straight:before {
  content: "\e2a4";
}
.ph-light.ph-head-circuit:before {
  content: "\e7d4";
}
.ph-light.ph-headlights:before {
  content: "\e6fe";
}
.ph-light.ph-headphones:before {
  content: "\e2a6";
}
.ph-light.ph-headset:before {
  content: "\e584";
}
.ph-light.ph-heart:before {
  content: "\e2a8";
}
.ph-light.ph-heart-break:before {
  content: "\ebe8";
}
.ph-light.ph-heart-half:before {
  content: "\ec48";
}
.ph-light.ph-heart-straight:before {
  content: "\e2aa";
}
.ph-light.ph-heart-straight-break:before {
  content: "\eb98";
}
.ph-light.ph-heartbeat:before {
  content: "\e2ac";
}
.ph-light.ph-hexagon:before {
  content: "\e2ae";
}
.ph-light.ph-high-definition:before {
  content: "\ea8e";
}
.ph-light.ph-high-heel:before {
  content: "\e8e8";
}
.ph-light.ph-highlighter:before {
  content: "\ec76";
}
.ph-light.ph-highlighter-circle:before {
  content: "\e632";
}
.ph-light.ph-hockey:before {
  content: "\ec86";
}
.ph-light.ph-hoodie:before {
  content: "\ecd0";
}
.ph-light.ph-horse:before {
  content: "\e2b0";
}
.ph-light.ph-hospital:before {
  content: "\e844";
}
.ph-light.ph-hourglass:before {
  content: "\e2b2";
}
.ph-light.ph-hourglass-high:before {
  content: "\e2b4";
}
.ph-light.ph-hourglass-low:before {
  content: "\e2b6";
}
.ph-light.ph-hourglass-medium:before {
  content: "\e2b8";
}
.ph-light.ph-hourglass-simple:before {
  content: "\e2ba";
}
.ph-light.ph-hourglass-simple-high:before {
  content: "\e2bc";
}
.ph-light.ph-hourglass-simple-low:before {
  content: "\e2be";
}
.ph-light.ph-hourglass-simple-medium:before {
  content: "\e2c0";
}
.ph-light.ph-house:before {
  content: "\e2c2";
}
.ph-light.ph-house-line:before {
  content: "\e2c4";
}
.ph-light.ph-house-simple:before {
  content: "\e2c6";
}
.ph-light.ph-hurricane:before {
  content: "\e88e";
}
.ph-light.ph-ice-cream:before {
  content: "\e804";
}
.ph-light.ph-identification-badge:before {
  content: "\e6f6";
}
.ph-light.ph-identification-card:before {
  content: "\e2c8";
}
.ph-light.ph-image:before {
  content: "\e2ca";
}
.ph-light.ph-image-broken:before {
  content: "\e7a8";
}
.ph-light.ph-image-square:before {
  content: "\e2cc";
}
.ph-light.ph-images:before {
  content: "\e836";
}
.ph-light.ph-images-square:before {
  content: "\e834";
}
.ph-light.ph-infinity:before {
  content: "\e634";
}
.ph-light.ph-lemniscate:before {
  content: "\e634";
}
.ph-light.ph-info:before {
  content: "\e2ce";
}
.ph-light.ph-instagram-logo:before {
  content: "\e2d0";
}
.ph-light.ph-intersect:before {
  content: "\e2d2";
}
.ph-light.ph-intersect-square:before {
  content: "\e87a";
}
.ph-light.ph-intersect-three:before {
  content: "\ecc4";
}
.ph-light.ph-intersection:before {
  content: "\edba";
}
.ph-light.ph-invoice:before {
  content: "\ee42";
}
.ph-light.ph-island:before {
  content: "\ee06";
}
.ph-light.ph-jar:before {
  content: "\e7e0";
}
.ph-light.ph-jar-label:before {
  content: "\e7e1";
}
.ph-light.ph-jeep:before {
  content: "\e2d4";
}
.ph-light.ph-joystick:before {
  content: "\ea5e";
}
.ph-light.ph-kanban:before {
  content: "\eb54";
}
.ph-light.ph-key:before {
  content: "\e2d6";
}
.ph-light.ph-key-return:before {
  content: "\e782";
}
.ph-light.ph-keyboard:before {
  content: "\e2d8";
}
.ph-light.ph-keyhole:before {
  content: "\ea78";
}
.ph-light.ph-knife:before {
  content: "\e636";
}
.ph-light.ph-ladder:before {
  content: "\e9e4";
}
.ph-light.ph-ladder-simple:before {
  content: "\ec26";
}
.ph-light.ph-lamp:before {
  content: "\e638";
}
.ph-light.ph-lamp-pendant:before {
  content: "\ee2e";
}
.ph-light.ph-laptop:before {
  content: "\e586";
}
.ph-light.ph-lasso:before {
  content: "\edc6";
}
.ph-light.ph-lastfm-logo:before {
  content: "\e842";
}
.ph-light.ph-layout:before {
  content: "\e6d6";
}
.ph-light.ph-leaf:before {
  content: "\e2da";
}
.ph-light.ph-lectern:before {
  content: "\e95a";
}
.ph-light.ph-lego:before {
  content: "\e8c6";
}
.ph-light.ph-lego-smiley:before {
  content: "\e8c7";
}
.ph-light.ph-less-than:before {
  content: "\edac";
}
.ph-light.ph-less-than-or-equal:before {
  content: "\eda4";
}
.ph-light.ph-letter-circle-h:before {
  content: "\ebf8";
}
.ph-light.ph-letter-circle-p:before {
  content: "\ec08";
}
.ph-light.ph-letter-circle-v:before {
  content: "\ec14";
}
.ph-light.ph-lifebuoy:before {
  content: "\e63a";
}
.ph-light.ph-lightbulb:before {
  content: "\e2dc";
}
.ph-light.ph-lightbulb-filament:before {
  content: "\e63c";
}
.ph-light.ph-lighthouse:before {
  content: "\e9f6";
}
.ph-light.ph-lightning:before {
  content: "\e2de";
}
.ph-light.ph-lightning-a:before {
  content: "\ea84";
}
.ph-light.ph-lightning-slash:before {
  content: "\e2e0";
}
.ph-light.ph-line-segment:before {
  content: "\e6d2";
}
.ph-light.ph-line-segments:before {
  content: "\e6d4";
}
.ph-light.ph-line-vertical:before {
  content: "\ed70";
}
.ph-light.ph-link:before {
  content: "\e2e2";
}
.ph-light.ph-link-break:before {
  content: "\e2e4";
}
.ph-light.ph-link-simple:before {
  content: "\e2e6";
}
.ph-light.ph-link-simple-break:before {
  content: "\e2e8";
}
.ph-light.ph-link-simple-horizontal:before {
  content: "\e2ea";
}
.ph-light.ph-link-simple-horizontal-break:before {
  content: "\e2ec";
}
.ph-light.ph-linkedin-logo:before {
  content: "\e2ee";
}
.ph-light.ph-linktree-logo:before {
  content: "\edee";
}
.ph-light.ph-linux-logo:before {
  content: "\eb02";
}
.ph-light.ph-list:before {
  content: "\e2f0";
}
.ph-light.ph-list-bullets:before {
  content: "\e2f2";
}
.ph-light.ph-list-checks:before {
  content: "\eadc";
}
.ph-light.ph-list-dashes:before {
  content: "\e2f4";
}
.ph-light.ph-list-heart:before {
  content: "\ebde";
}
.ph-light.ph-list-magnifying-glass:before {
  content: "\ebe0";
}
.ph-light.ph-list-numbers:before {
  content: "\e2f6";
}
.ph-light.ph-list-plus:before {
  content: "\e2f8";
}
.ph-light.ph-list-star:before {
  content: "\ebdc";
}
.ph-light.ph-lock:before {
  content: "\e2fa";
}
.ph-light.ph-lock-key:before {
  content: "\e2fe";
}
.ph-light.ph-lock-key-open:before {
  content: "\e300";
}
.ph-light.ph-lock-laminated:before {
  content: "\e302";
}
.ph-light.ph-lock-laminated-open:before {
  content: "\e304";
}
.ph-light.ph-lock-open:before {
  content: "\e306";
}
.ph-light.ph-lock-simple:before {
  content: "\e308";
}
.ph-light.ph-lock-simple-open:before {
  content: "\e30a";
}
.ph-light.ph-lockers:before {
  content: "\ecb8";
}
.ph-light.ph-log:before {
  content: "\ed82";
}
.ph-light.ph-magic-wand:before {
  content: "\e6b6";
}
.ph-light.ph-magnet:before {
  content: "\e680";
}
.ph-light.ph-magnet-straight:before {
  content: "\e682";
}
.ph-light.ph-magnifying-glass:before {
  content: "\e30c";
}
.ph-light.ph-magnifying-glass-minus:before {
  content: "\e30e";
}
.ph-light.ph-magnifying-glass-plus:before {
  content: "\e310";
}
.ph-light.ph-mailbox:before {
  content: "\ec1e";
}
.ph-light.ph-map-pin:before {
  content: "\e316";
}
.ph-light.ph-map-pin-area:before {
  content: "\ee3a";
}
.ph-light.ph-map-pin-line:before {
  content: "\e318";
}
.ph-light.ph-map-pin-plus:before {
  content: "\e314";
}
.ph-light.ph-map-pin-simple:before {
  content: "\ee3e";
}
.ph-light.ph-map-pin-simple-area:before {
  content: "\ee3c";
}
.ph-light.ph-map-pin-simple-line:before {
  content: "\ee38";
}
.ph-light.ph-map-trifold:before {
  content: "\e31a";
}
.ph-light.ph-markdown-logo:before {
  content: "\e508";
}
.ph-light.ph-marker-circle:before {
  content: "\e640";
}
.ph-light.ph-martini:before {
  content: "\e31c";
}
.ph-light.ph-mask-happy:before {
  content: "\e9f4";
}
.ph-light.ph-mask-sad:before {
  content: "\eb9e";
}
.ph-light.ph-mastodon-logo:before {
  content: "\ed68";
}
.ph-light.ph-math-operations:before {
  content: "\e31e";
}
.ph-light.ph-matrix-logo:before {
  content: "\ed64";
}
.ph-light.ph-medal:before {
  content: "\e320";
}
.ph-light.ph-medal-military:before {
  content: "\ecfc";
}
.ph-light.ph-medium-logo:before {
  content: "\e322";
}
.ph-light.ph-megaphone:before {
  content: "\e324";
}
.ph-light.ph-megaphone-simple:before {
  content: "\e642";
}
.ph-light.ph-member-of:before {
  content: "\edc2";
}
.ph-light.ph-memory:before {
  content: "\e9c4";
}
.ph-light.ph-messenger-logo:before {
  content: "\e6d8";
}
.ph-light.ph-meta-logo:before {
  content: "\ed02";
}
.ph-light.ph-meteor:before {
  content: "\e9ba";
}
.ph-light.ph-metronome:before {
  content: "\ec8e";
}
.ph-light.ph-microphone:before {
  content: "\e326";
}
.ph-light.ph-microphone-slash:before {
  content: "\e328";
}
.ph-light.ph-microphone-stage:before {
  content: "\e75c";
}
.ph-light.ph-microscope:before {
  content: "\ec7a";
}
.ph-light.ph-microsoft-excel-logo:before {
  content: "\eb6c";
}
.ph-light.ph-microsoft-outlook-logo:before {
  content: "\eb70";
}
.ph-light.ph-microsoft-powerpoint-logo:before {
  content: "\eace";
}
.ph-light.ph-microsoft-teams-logo:before {
  content: "\eb66";
}
.ph-light.ph-microsoft-word-logo:before {
  content: "\eb6a";
}
.ph-light.ph-minus:before {
  content: "\e32a";
}
.ph-light.ph-minus-circle:before {
  content: "\e32c";
}
.ph-light.ph-minus-square:before {
  content: "\ed4c";
}
.ph-light.ph-money:before {
  content: "\e588";
}
.ph-light.ph-money-wavy:before {
  content: "\ee68";
}
.ph-light.ph-monitor:before {
  content: "\e32e";
}
.ph-light.ph-monitor-arrow-up:before {
  content: "\e58a";
}
.ph-light.ph-monitor-play:before {
  content: "\e58c";
}
.ph-light.ph-moon:before {
  content: "\e330";
}
.ph-light.ph-moon-stars:before {
  content: "\e58e";
}
.ph-light.ph-moped:before {
  content: "\e824";
}
.ph-light.ph-moped-front:before {
  content: "\e822";
}
.ph-light.ph-mosque:before {
  content: "\ecee";
}
.ph-light.ph-motorcycle:before {
  content: "\e80a";
}
.ph-light.ph-mountains:before {
  content: "\e7ae";
}
.ph-light.ph-mouse:before {
  content: "\e33a";
}
.ph-light.ph-mouse-left-click:before {
  content: "\e334";
}
.ph-light.ph-mouse-middle-click:before {
  content: "\e338";
}
.ph-light.ph-mouse-right-click:before {
  content: "\e336";
}
.ph-light.ph-mouse-scroll:before {
  content: "\e332";
}
.ph-light.ph-mouse-simple:before {
  content: "\e644";
}
.ph-light.ph-music-note:before {
  content: "\e33c";
}
.ph-light.ph-music-note-simple:before {
  content: "\e33e";
}
.ph-light.ph-music-notes:before {
  content: "\e340";
}
.ph-light.ph-music-notes-minus:before {
  content: "\ee0c";
}
.ph-light.ph-music-notes-plus:before {
  content: "\eb7c";
}
.ph-light.ph-music-notes-simple:before {
  content: "\e342";
}
.ph-light.ph-navigation-arrow:before {
  content: "\eade";
}
.ph-light.ph-needle:before {
  content: "\e82e";
}
.ph-light.ph-network:before {
  content: "\edde";
}
.ph-light.ph-network-slash:before {
  content: "\eddc";
}
.ph-light.ph-network-x:before {
  content: "\edda";
}
.ph-light.ph-newspaper:before {
  content: "\e344";
}
.ph-light.ph-newspaper-clipping:before {
  content: "\e346";
}
.ph-light.ph-not-equals:before {
  content: "\eda6";
}
.ph-light.ph-not-member-of:before {
  content: "\edae";
}
.ph-light.ph-not-subset-of:before {
  content: "\edb0";
}
.ph-light.ph-not-superset-of:before {
  content: "\edb2";
}
.ph-light.ph-notches:before {
  content: "\ed3a";
}
.ph-light.ph-note:before {
  content: "\e348";
}
.ph-light.ph-note-blank:before {
  content: "\e34a";
}
.ph-light.ph-note-pencil:before {
  content: "\e34c";
}
.ph-light.ph-notebook:before {
  content: "\e34e";
}
.ph-light.ph-notepad:before {
  content: "\e63e";
}
.ph-light.ph-notification:before {
  content: "\e6fa";
}
.ph-light.ph-notion-logo:before {
  content: "\e9a0";
}
.ph-light.ph-nuclear-plant:before {
  content: "\ed7c";
}
.ph-light.ph-number-circle-eight:before {
  content: "\e352";
}
.ph-light.ph-number-circle-five:before {
  content: "\e358";
}
.ph-light.ph-number-circle-four:before {
  content: "\e35e";
}
.ph-light.ph-number-circle-nine:before {
  content: "\e364";
}
.ph-light.ph-number-circle-one:before {
  content: "\e36a";
}
.ph-light.ph-number-circle-seven:before {
  content: "\e370";
}
.ph-light.ph-number-circle-six:before {
  content: "\e376";
}
.ph-light.ph-number-circle-three:before {
  content: "\e37c";
}
.ph-light.ph-number-circle-two:before {
  content: "\e382";
}
.ph-light.ph-number-circle-zero:before {
  content: "\e388";
}
.ph-light.ph-number-eight:before {
  content: "\e350";
}
.ph-light.ph-number-five:before {
  content: "\e356";
}
.ph-light.ph-number-four:before {
  content: "\e35c";
}
.ph-light.ph-number-nine:before {
  content: "\e362";
}
.ph-light.ph-number-one:before {
  content: "\e368";
}
.ph-light.ph-number-seven:before {
  content: "\e36e";
}
.ph-light.ph-number-six:before {
  content: "\e374";
}
.ph-light.ph-number-square-eight:before {
  content: "\e354";
}
.ph-light.ph-number-square-five:before {
  content: "\e35a";
}
.ph-light.ph-number-square-four:before {
  content: "\e360";
}
.ph-light.ph-number-square-nine:before {
  content: "\e366";
}
.ph-light.ph-number-square-one:before {
  content: "\e36c";
}
.ph-light.ph-number-square-seven:before {
  content: "\e372";
}
.ph-light.ph-number-square-six:before {
  content: "\e378";
}
.ph-light.ph-number-square-three:before {
  content: "\e37e";
}
.ph-light.ph-number-square-two:before {
  content: "\e384";
}
.ph-light.ph-number-square-zero:before {
  content: "\e38a";
}
.ph-light.ph-number-three:before {
  content: "\e37a";
}
.ph-light.ph-number-two:before {
  content: "\e380";
}
.ph-light.ph-number-zero:before {
  content: "\e386";
}
.ph-light.ph-numpad:before {
  content: "\e3c8";
}
.ph-light.ph-nut:before {
  content: "\e38c";
}
.ph-light.ph-ny-times-logo:before {
  content: "\e646";
}
.ph-light.ph-octagon:before {
  content: "\e38e";
}
.ph-light.ph-office-chair:before {
  content: "\ea46";
}
.ph-light.ph-onigiri:before {
  content: "\ee2c";
}
.ph-light.ph-open-ai-logo:before {
  content: "\e7d2";
}
.ph-light.ph-option:before {
  content: "\e8a8";
}
.ph-light.ph-orange:before {
  content: "\ee40";
}
.ph-light.ph-orange-slice:before {
  content: "\ed36";
}
.ph-light.ph-oven:before {
  content: "\ed8c";
}
.ph-light.ph-package:before {
  content: "\e390";
}
.ph-light.ph-paint-brush:before {
  content: "\e6f0";
}
.ph-light.ph-paint-brush-broad:before {
  content: "\e590";
}
.ph-light.ph-paint-brush-household:before {
  content: "\e6f2";
}
.ph-light.ph-paint-bucket:before {
  content: "\e392";
}
.ph-light.ph-paint-roller:before {
  content: "\e6f4";
}
.ph-light.ph-palette:before {
  content: "\e6c8";
}
.ph-light.ph-panorama:before {
  content: "\eaa2";
}
.ph-light.ph-pants:before {
  content: "\ec88";
}
.ph-light.ph-paper-plane:before {
  content: "\e394";
}
.ph-light.ph-paper-plane-right:before {
  content: "\e396";
}
.ph-light.ph-paper-plane-tilt:before {
  content: "\e398";
}
.ph-light.ph-paperclip:before {
  content: "\e39a";
}
.ph-light.ph-paperclip-horizontal:before {
  content: "\e592";
}
.ph-light.ph-parachute:before {
  content: "\ea7c";
}
.ph-light.ph-paragraph:before {
  content: "\e960";
}
.ph-light.ph-parallelogram:before {
  content: "\ecc6";
}
.ph-light.ph-park:before {
  content: "\ecb2";
}
.ph-light.ph-password:before {
  content: "\e752";
}
.ph-light.ph-path:before {
  content: "\e39c";
}
.ph-light.ph-patreon-logo:before {
  content: "\e98a";
}
.ph-light.ph-pause:before {
  content: "\e39e";
}
.ph-light.ph-pause-circle:before {
  content: "\e3a0";
}
.ph-light.ph-paw-print:before {
  content: "\e648";
}
.ph-light.ph-paypal-logo:before {
  content: "\e98c";
}
.ph-light.ph-peace:before {
  content: "\e3a2";
}
.ph-light.ph-pen:before {
  content: "\e3aa";
}
.ph-light.ph-pen-nib:before {
  content: "\e3ac";
}
.ph-light.ph-pen-nib-straight:before {
  content: "\e64a";
}
.ph-light.ph-pencil:before {
  content: "\e3ae";
}
.ph-light.ph-pencil-circle:before {
  content: "\e3b0";
}
.ph-light.ph-pencil-line:before {
  content: "\e3b2";
}
.ph-light.ph-pencil-ruler:before {
  content: "\e906";
}
.ph-light.ph-pencil-simple:before {
  content: "\e3b4";
}
.ph-light.ph-pencil-simple-line:before {
  content: "\ebc6";
}
.ph-light.ph-pencil-simple-slash:before {
  content: "\ecf6";
}
.ph-light.ph-pencil-slash:before {
  content: "\ecf8";
}
.ph-light.ph-pentagon:before {
  content: "\ec7e";
}
.ph-light.ph-pentagram:before {
  content: "\ec5c";
}
.ph-light.ph-pepper:before {
  content: "\e94a";
}
.ph-light.ph-percent:before {
  content: "\e3b6";
}
.ph-light.ph-person:before {
  content: "\e3a8";
}
.ph-light.ph-person-arms-spread:before {
  content: "\ecfe";
}
.ph-light.ph-person-simple:before {
  content: "\e72e";
}
.ph-light.ph-person-simple-bike:before {
  content: "\e734";
}
.ph-light.ph-person-simple-circle:before {
  content: "\ee58";
}
.ph-light.ph-person-simple-hike:before {
  content: "\ed54";
}
.ph-light.ph-person-simple-run:before {
  content: "\e730";
}
.ph-light.ph-person-simple-ski:before {
  content: "\e71c";
}
.ph-light.ph-person-simple-snowboard:before {
  content: "\e71e";
}
.ph-light.ph-person-simple-swim:before {
  content: "\e736";
}
.ph-light.ph-person-simple-tai-chi:before {
  content: "\ed5c";
}
.ph-light.ph-person-simple-throw:before {
  content: "\e732";
}
.ph-light.ph-person-simple-walk:before {
  content: "\e73a";
}
.ph-light.ph-perspective:before {
  content: "\ebe6";
}
.ph-light.ph-phone:before {
  content: "\e3b8";
}
.ph-light.ph-phone-call:before {
  content: "\e3ba";
}
.ph-light.ph-phone-disconnect:before {
  content: "\e3bc";
}
.ph-light.ph-phone-incoming:before {
  content: "\e3be";
}
.ph-light.ph-phone-list:before {
  content: "\e3cc";
}
.ph-light.ph-phone-outgoing:before {
  content: "\e3c0";
}
.ph-light.ph-phone-pause:before {
  content: "\e3ca";
}
.ph-light.ph-phone-plus:before {
  content: "\ec56";
}
.ph-light.ph-phone-slash:before {
  content: "\e3c2";
}
.ph-light.ph-phone-transfer:before {
  content: "\e3c6";
}
.ph-light.ph-phone-x:before {
  content: "\e3c4";
}
.ph-light.ph-phosphor-logo:before {
  content: "\e3ce";
}
.ph-light.ph-pi:before {
  content: "\ec80";
}
.ph-light.ph-piano-keys:before {
  content: "\e9c8";
}
.ph-light.ph-picnic-table:before {
  content: "\ee26";
}
.ph-light.ph-picture-in-picture:before {
  content: "\e64c";
}
.ph-light.ph-piggy-bank:before {
  content: "\ea04";
}
.ph-light.ph-pill:before {
  content: "\e700";
}
.ph-light.ph-ping-pong:before {
  content: "\ea42";
}
.ph-light.ph-pint-glass:before {
  content: "\edd0";
}
.ph-light.ph-pinterest-logo:before {
  content: "\e64e";
}
.ph-light.ph-pinwheel:before {
  content: "\eb9c";
}
.ph-light.ph-pipe:before {
  content: "\ed86";
}
.ph-light.ph-pipe-wrench:before {
  content: "\ed88";
}
.ph-light.ph-pix-logo:before {
  content: "\ecc2";
}
.ph-light.ph-pizza:before {
  content: "\e796";
}
.ph-light.ph-placeholder:before {
  content: "\e650";
}
.ph-light.ph-planet:before {
  content: "\e652";
}
.ph-light.ph-plant:before {
  content: "\ebae";
}
.ph-light.ph-play:before {
  content: "\e3d0";
}
.ph-light.ph-play-circle:before {
  content: "\e3d2";
}
.ph-light.ph-play-pause:before {
  content: "\e8be";
}
.ph-light.ph-playlist:before {
  content: "\e6aa";
}
.ph-light.ph-plug:before {
  content: "\e946";
}
.ph-light.ph-plug-charging:before {
  content: "\eb5c";
}
.ph-light.ph-plugs:before {
  content: "\eb56";
}
.ph-light.ph-plugs-connected:before {
  content: "\eb5a";
}
.ph-light.ph-plus:before {
  content: "\e3d4";
}
.ph-light.ph-plus-circle:before {
  content: "\e3d6";
}
.ph-light.ph-plus-minus:before {
  content: "\e3d8";
}
.ph-light.ph-plus-square:before {
  content: "\ed4a";
}
.ph-light.ph-poker-chip:before {
  content: "\e594";
}
.ph-light.ph-police-car:before {
  content: "\ec4a";
}
.ph-light.ph-polygon:before {
  content: "\e6d0";
}
.ph-light.ph-popcorn:before {
  content: "\eb4e";
}
.ph-light.ph-popsicle:before {
  content: "\ebbe";
}
.ph-light.ph-potted-plant:before {
  content: "\ec22";
}
.ph-light.ph-power:before {
  content: "\e3da";
}
.ph-light.ph-prescription:before {
  content: "\e7a2";
}
.ph-light.ph-presentation:before {
  content: "\e654";
}
.ph-light.ph-presentation-chart:before {
  content: "\e656";
}
.ph-light.ph-printer:before {
  content: "\e3dc";
}
.ph-light.ph-prohibit:before {
  content: "\e3de";
}
.ph-light.ph-prohibit-inset:before {
  content: "\e3e0";
}
.ph-light.ph-projector-screen:before {
  content: "\e658";
}
.ph-light.ph-projector-screen-chart:before {
  content: "\e65a";
}
.ph-light.ph-pulse:before {
  content: "\e000";
}
.ph-light.ph-activity:before {
  content: "\e000";
}
.ph-light.ph-push-pin:before {
  content: "\e3e2";
}
.ph-light.ph-push-pin-simple:before {
  content: "\e65c";
}
.ph-light.ph-push-pin-simple-slash:before {
  content: "\e65e";
}
.ph-light.ph-push-pin-slash:before {
  content: "\e3e4";
}
.ph-light.ph-puzzle-piece:before {
  content: "\e596";
}
.ph-light.ph-qr-code:before {
  content: "\e3e6";
}
.ph-light.ph-question:before {
  content: "\e3e8";
}
.ph-light.ph-question-mark:before {
  content: "\e3e9";
}
.ph-light.ph-queue:before {
  content: "\e6ac";
}
.ph-light.ph-quotes:before {
  content: "\e660";
}
.ph-light.ph-rabbit:before {
  content: "\eac2";
}
.ph-light.ph-racquet:before {
  content: "\ee02";
}
.ph-light.ph-radical:before {
  content: "\e3ea";
}
.ph-light.ph-radio:before {
  content: "\e77e";
}
.ph-light.ph-radio-button:before {
  content: "\eb08";
}
.ph-light.ph-radioactive:before {
  content: "\e9dc";
}
.ph-light.ph-rainbow:before {
  content: "\e598";
}
.ph-light.ph-rainbow-cloud:before {
  content: "\e59a";
}
.ph-light.ph-ranking:before {
  content: "\ed62";
}
.ph-light.ph-read-cv-logo:before {
  content: "\ed0c";
}
.ph-light.ph-receipt:before {
  content: "\e3ec";
}
.ph-light.ph-receipt-x:before {
  content: "\ed40";
}
.ph-light.ph-record:before {
  content: "\e3ee";
}
.ph-light.ph-rectangle:before {
  content: "\e3f0";
}
.ph-light.ph-rectangle-dashed:before {
  content: "\e3f2";
}
.ph-light.ph-recycle:before {
  content: "\e75a";
}
.ph-light.ph-reddit-logo:before {
  content: "\e59c";
}
.ph-light.ph-repeat:before {
  content: "\e3f6";
}
.ph-light.ph-repeat-once:before {
  content: "\e3f8";
}
.ph-light.ph-replit-logo:before {
  content: "\eb8a";
}
.ph-light.ph-resize:before {
  content: "\ed6e";
}
.ph-light.ph-rewind:before {
  content: "\e6a8";
}
.ph-light.ph-rewind-circle:before {
  content: "\e3fa";
}
.ph-light.ph-road-horizon:before {
  content: "\e838";
}
.ph-light.ph-robot:before {
  content: "\e762";
}
.ph-light.ph-rocket:before {
  content: "\e3fc";
}
.ph-light.ph-rocket-launch:before {
  content: "\e3fe";
}
.ph-light.ph-rows:before {
  content: "\e5a2";
}
.ph-light.ph-rows-plus-bottom:before {
  content: "\e59e";
}
.ph-light.ph-rows-plus-top:before {
  content: "\e5a0";
}
.ph-light.ph-rss:before {
  content: "\e400";
}
.ph-light.ph-rss-simple:before {
  content: "\e402";
}
.ph-light.ph-rug:before {
  content: "\ea1a";
}
.ph-light.ph-ruler:before {
  content: "\e6b8";
}
.ph-light.ph-sailboat:before {
  content: "\e78a";
}
.ph-light.ph-scales:before {
  content: "\e750";
}
.ph-light.ph-scan:before {
  content: "\ebb6";
}
.ph-light.ph-scan-smiley:before {
  content: "\ebb4";
}
.ph-light.ph-scissors:before {
  content: "\eae0";
}
.ph-light.ph-scooter:before {
  content: "\e820";
}
.ph-light.ph-screencast:before {
  content: "\e404";
}
.ph-light.ph-screwdriver:before {
  content: "\e86e";
}
.ph-light.ph-scribble:before {
  content: "\e806";
}
.ph-light.ph-scribble-loop:before {
  content: "\e662";
}
.ph-light.ph-scroll:before {
  content: "\eb7a";
}
.ph-light.ph-seal:before {
  content: "\e604";
}
.ph-light.ph-circle-wavy:before {
  content: "\e604";
}
.ph-light.ph-seal-check:before {
  content: "\e606";
}
.ph-light.ph-circle-wavy-check:before {
  content: "\e606";
}
.ph-light.ph-seal-percent:before {
  content: "\e60a";
}
.ph-light.ph-seal-question:before {
  content: "\e608";
}
.ph-light.ph-circle-wavy-question:before {
  content: "\e608";
}
.ph-light.ph-seal-warning:before {
  content: "\e60c";
}
.ph-light.ph-circle-wavy-warning:before {
  content: "\e60c";
}
.ph-light.ph-seat:before {
  content: "\eb8e";
}
.ph-light.ph-seatbelt:before {
  content: "\edfe";
}
.ph-light.ph-security-camera:before {
  content: "\eca4";
}
.ph-light.ph-selection:before {
  content: "\e69a";
}
.ph-light.ph-selection-all:before {
  content: "\e746";
}
.ph-light.ph-selection-background:before {
  content: "\eaf8";
}
.ph-light.ph-selection-foreground:before {
  content: "\eaf6";
}
.ph-light.ph-selection-inverse:before {
  content: "\e744";
}
.ph-light.ph-selection-plus:before {
  content: "\e69c";
}
.ph-light.ph-selection-slash:before {
  content: "\e69e";
}
.ph-light.ph-shapes:before {
  content: "\ec5e";
}
.ph-light.ph-share:before {
  content: "\e406";
}
.ph-light.ph-share-fat:before {
  content: "\ed52";
}
.ph-light.ph-share-network:before {
  content: "\e408";
}
.ph-light.ph-shield:before {
  content: "\e40a";
}
.ph-light.ph-shield-check:before {
  content: "\e40c";
}
.ph-light.ph-shield-checkered:before {
  content: "\e708";
}
.ph-light.ph-shield-chevron:before {
  content: "\e40e";
}
.ph-light.ph-shield-plus:before {
  content: "\e706";
}
.ph-light.ph-shield-slash:before {
  content: "\e410";
}
.ph-light.ph-shield-star:before {
  content: "\ec34";
}
.ph-light.ph-shield-warning:before {
  content: "\e412";
}
.ph-light.ph-shipping-container:before {
  content: "\e78c";
}
.ph-light.ph-shirt-folded:before {
  content: "\ea92";
}
.ph-light.ph-shooting-star:before {
  content: "\ecfa";
}
.ph-light.ph-shopping-bag:before {
  content: "\e416";
}
.ph-light.ph-shopping-bag-open:before {
  content: "\e418";
}
.ph-light.ph-shopping-cart:before {
  content: "\e41e";
}
.ph-light.ph-shopping-cart-simple:before {
  content: "\e420";
}
.ph-light.ph-shovel:before {
  content: "\e9e6";
}
.ph-light.ph-shower:before {
  content: "\e776";
}
.ph-light.ph-shrimp:before {
  content: "\eab4";
}
.ph-light.ph-shuffle:before {
  content: "\e422";
}
.ph-light.ph-shuffle-angular:before {
  content: "\e424";
}
.ph-light.ph-shuffle-simple:before {
  content: "\e426";
}
.ph-light.ph-sidebar:before {
  content: "\eab6";
}
.ph-light.ph-sidebar-simple:before {
  content: "\ec24";
}
.ph-light.ph-sigma:before {
  content: "\eab8";
}
.ph-light.ph-sign-in:before {
  content: "\e428";
}
.ph-light.ph-sign-out:before {
  content: "\e42a";
}
.ph-light.ph-signature:before {
  content: "\ebac";
}
.ph-light.ph-signpost:before {
  content: "\e89c";
}
.ph-light.ph-sim-card:before {
  content: "\e664";
}
.ph-light.ph-siren:before {
  content: "\e9b8";
}
.ph-light.ph-sketch-logo:before {
  content: "\e42c";
}
.ph-light.ph-skip-back:before {
  content: "\e5a4";
}
.ph-light.ph-skip-back-circle:before {
  content: "\e42e";
}
.ph-light.ph-skip-forward:before {
  content: "\e5a6";
}
.ph-light.ph-skip-forward-circle:before {
  content: "\e430";
}
.ph-light.ph-skull:before {
  content: "\e916";
}
.ph-light.ph-skype-logo:before {
  content: "\e8dc";
}
.ph-light.ph-slack-logo:before {
  content: "\e5a8";
}
.ph-light.ph-sliders:before {
  content: "\e432";
}
.ph-light.ph-sliders-horizontal:before {
  content: "\e434";
}
.ph-light.ph-slideshow:before {
  content: "\ed32";
}
.ph-light.ph-smiley:before {
  content: "\e436";
}
.ph-light.ph-smiley-angry:before {
  content: "\ec62";
}
.ph-light.ph-smiley-blank:before {
  content: "\e438";
}
.ph-light.ph-smiley-meh:before {
  content: "\e43a";
}
.ph-light.ph-smiley-melting:before {
  content: "\ee56";
}
.ph-light.ph-smiley-nervous:before {
  content: "\e43c";
}
.ph-light.ph-smiley-sad:before {
  content: "\e43e";
}
.ph-light.ph-smiley-sticker:before {
  content: "\e440";
}
.ph-light.ph-smiley-wink:before {
  content: "\e666";
}
.ph-light.ph-smiley-x-eyes:before {
  content: "\e442";
}
.ph-light.ph-snapchat-logo:before {
  content: "\e668";
}
.ph-light.ph-sneaker:before {
  content: "\e80c";
}
.ph-light.ph-sneaker-move:before {
  content: "\ed60";
}
.ph-light.ph-snowflake:before {
  content: "\e5aa";
}
.ph-light.ph-soccer-ball:before {
  content: "\e716";
}
.ph-light.ph-sock:before {
  content: "\ecce";
}
.ph-light.ph-solar-panel:before {
  content: "\ed7a";
}
.ph-light.ph-solar-roof:before {
  content: "\ed7b";
}
.ph-light.ph-sort-ascending:before {
  content: "\e444";
}
.ph-light.ph-sort-descending:before {
  content: "\e446";
}
.ph-light.ph-soundcloud-logo:before {
  content: "\e8de";
}
.ph-light.ph-spade:before {
  content: "\e448";
}
.ph-light.ph-sparkle:before {
  content: "\e6a2";
}
.ph-light.ph-speaker-hifi:before {
  content: "\ea08";
}
.ph-light.ph-speaker-high:before {
  content: "\e44a";
}
.ph-light.ph-speaker-low:before {
  content: "\e44c";
}
.ph-light.ph-speaker-none:before {
  content: "\e44e";
}
.ph-light.ph-speaker-simple-high:before {
  content: "\e450";
}
.ph-light.ph-speaker-simple-low:before {
  content: "\e452";
}
.ph-light.ph-speaker-simple-none:before {
  content: "\e454";
}
.ph-light.ph-speaker-simple-slash:before {
  content: "\e456";
}
.ph-light.ph-speaker-simple-x:before {
  content: "\e458";
}
.ph-light.ph-speaker-slash:before {
  content: "\e45a";
}
.ph-light.ph-speaker-x:before {
  content: "\e45c";
}
.ph-light.ph-speedometer:before {
  content: "\ee74";
}
.ph-light.ph-sphere:before {
  content: "\ee66";
}
.ph-light.ph-spinner:before {
  content: "\e66a";
}
.ph-light.ph-spinner-ball:before {
  content: "\ee28";
}
.ph-light.ph-spinner-gap:before {
  content: "\e66c";
}
.ph-light.ph-spiral:before {
  content: "\e9fa";
}
.ph-light.ph-split-horizontal:before {
  content: "\e872";
}
.ph-light.ph-split-vertical:before {
  content: "\e876";
}
.ph-light.ph-spotify-logo:before {
  content: "\e66e";
}
.ph-light.ph-spray-bottle:before {
  content: "\e7e4";
}
.ph-light.ph-square:before {
  content: "\e45e";
}
.ph-light.ph-square-half:before {
  content: "\e462";
}
.ph-light.ph-square-half-bottom:before {
  content: "\eb16";
}
.ph-light.ph-square-logo:before {
  content: "\e690";
}
.ph-light.ph-square-split-horizontal:before {
  content: "\e870";
}
.ph-light.ph-square-split-vertical:before {
  content: "\e874";
}
.ph-light.ph-squares-four:before {
  content: "\e464";
}
.ph-light.ph-stack:before {
  content: "\e466";
}
.ph-light.ph-stack-minus:before {
  content: "\edf4";
}
.ph-light.ph-stack-overflow-logo:before {
  content: "\eb78";
}
.ph-light.ph-stack-plus:before {
  content: "\edf6";
}
.ph-light.ph-stack-simple:before {
  content: "\e468";
}
.ph-light.ph-stairs:before {
  content: "\e8ec";
}
.ph-light.ph-stamp:before {
  content: "\ea48";
}
.ph-light.ph-standard-definition:before {
  content: "\ea90";
}
.ph-light.ph-star:before {
  content: "\e46a";
}
.ph-light.ph-star-and-crescent:before {
  content: "\ecf4";
}
.ph-light.ph-star-four:before {
  content: "\e6a4";
}
.ph-light.ph-star-half:before {
  content: "\e70a";
}
.ph-light.ph-star-of-david:before {
  content: "\e89e";
}
.ph-light.ph-steam-logo:before {
  content: "\ead4";
}
.ph-light.ph-steering-wheel:before {
  content: "\e9ac";
}
.ph-light.ph-steps:before {
  content: "\ecbe";
}
.ph-light.ph-stethoscope:before {
  content: "\e7ea";
}
.ph-light.ph-sticker:before {
  content: "\e5ac";
}
.ph-light.ph-stool:before {
  content: "\ea44";
}
.ph-light.ph-stop:before {
  content: "\e46c";
}
.ph-light.ph-stop-circle:before {
  content: "\e46e";
}
.ph-light.ph-storefront:before {
  content: "\e470";
}
.ph-light.ph-strategy:before {
  content: "\ea3a";
}
.ph-light.ph-stripe-logo:before {
  content: "\e698";
}
.ph-light.ph-student:before {
  content: "\e73e";
}
.ph-light.ph-subset-of:before {
  content: "\edc0";
}
.ph-light.ph-subset-proper-of:before {
  content: "\edb6";
}
.ph-light.ph-subtitles:before {
  content: "\e1a8";
}
.ph-light.ph-subtitles-slash:before {
  content: "\e1a6";
}
.ph-light.ph-subtract:before {
  content: "\ebd6";
}
.ph-light.ph-subtract-square:before {
  content: "\ebd4";
}
.ph-light.ph-subway:before {
  content: "\e498";
}
.ph-light.ph-suitcase:before {
  content: "\e5ae";
}
.ph-light.ph-suitcase-rolling:before {
  content: "\e9b0";
}
.ph-light.ph-suitcase-simple:before {
  content: "\e5b0";
}
.ph-light.ph-sun:before {
  content: "\e472";
}
.ph-light.ph-sun-dim:before {
  content: "\e474";
}
.ph-light.ph-sun-horizon:before {
  content: "\e5b6";
}
.ph-light.ph-sunglasses:before {
  content: "\e816";
}
.ph-light.ph-superset-of:before {
  content: "\edb8";
}
.ph-light.ph-superset-proper-of:before {
  content: "\edb4";
}
.ph-light.ph-swap:before {
  content: "\e83c";
}
.ph-light.ph-swatches:before {
  content: "\e5b8";
}
.ph-light.ph-swimming-pool:before {
  content: "\ecb6";
}
.ph-light.ph-sword:before {
  content: "\e5ba";
}
.ph-light.ph-synagogue:before {
  content: "\ecec";
}
.ph-light.ph-syringe:before {
  content: "\e968";
}
.ph-light.ph-t-shirt:before {
  content: "\e670";
}
.ph-light.ph-table:before {
  content: "\e476";
}
.ph-light.ph-tabs:before {
  content: "\e778";
}
.ph-light.ph-tag:before {
  content: "\e478";
}
.ph-light.ph-tag-chevron:before {
  content: "\e672";
}
.ph-light.ph-tag-simple:before {
  content: "\e47a";
}
.ph-light.ph-target:before {
  content: "\e47c";
}
.ph-light.ph-taxi:before {
  content: "\e902";
}
.ph-light.ph-tea-bag:before {
  content: "\e8e6";
}
.ph-light.ph-telegram-logo:before {
  content: "\e5bc";
}
.ph-light.ph-television:before {
  content: "\e754";
}
.ph-light.ph-television-simple:before {
  content: "\eae6";
}
.ph-light.ph-tennis-ball:before {
  content: "\e720";
}
.ph-light.ph-tent:before {
  content: "\e8ba";
}
.ph-light.ph-terminal:before {
  content: "\e47e";
}
.ph-light.ph-terminal-window:before {
  content: "\eae8";
}
.ph-light.ph-test-tube:before {
  content: "\e7a0";
}
.ph-light.ph-text-a-underline:before {
  content: "\ed34";
}
.ph-light.ph-text-aa:before {
  content: "\e6ee";
}
.ph-light.ph-text-align-center:before {
  content: "\e480";
}
.ph-light.ph-text-align-justify:before {
  content: "\e482";
}
.ph-light.ph-text-align-left:before {
  content: "\e484";
}
.ph-light.ph-text-align-right:before {
  content: "\e486";
}
.ph-light.ph-text-b:before {
  content: "\e5be";
}
.ph-light.ph-text-bolder:before {
  content: "\e5be";
}
.ph-light.ph-text-columns:before {
  content: "\ec96";
}
.ph-light.ph-text-h:before {
  content: "\e6ba";
}
.ph-light.ph-text-h-five:before {
  content: "\e6c4";
}
.ph-light.ph-text-h-four:before {
  content: "\e6c2";
}
.ph-light.ph-text-h-one:before {
  content: "\e6bc";
}
.ph-light.ph-text-h-six:before {
  content: "\e6c6";
}
.ph-light.ph-text-h-three:before {
  content: "\e6c0";
}
.ph-light.ph-text-h-two:before {
  content: "\e6be";
}
.ph-light.ph-text-indent:before {
  content: "\ea1e";
}
.ph-light.ph-text-italic:before {
  content: "\e5c0";
}
.ph-light.ph-text-outdent:before {
  content: "\ea1c";
}
.ph-light.ph-text-strikethrough:before {
  content: "\e5c2";
}
.ph-light.ph-text-subscript:before {
  content: "\ec98";
}
.ph-light.ph-text-superscript:before {
  content: "\ec9a";
}
.ph-light.ph-text-t:before {
  content: "\e48a";
}
.ph-light.ph-text-t-slash:before {
  content: "\e488";
}
.ph-light.ph-text-underline:before {
  content: "\e5c4";
}
.ph-light.ph-textbox:before {
  content: "\eb0a";
}
.ph-light.ph-thermometer:before {
  content: "\e5c6";
}
.ph-light.ph-thermometer-cold:before {
  content: "\e5c8";
}
.ph-light.ph-thermometer-hot:before {
  content: "\e5ca";
}
.ph-light.ph-thermometer-simple:before {
  content: "\e5cc";
}
.ph-light.ph-threads-logo:before {
  content: "\ed9e";
}
.ph-light.ph-three-d:before {
  content: "\ea5a";
}
.ph-light.ph-thumbs-down:before {
  content: "\e48c";
}
.ph-light.ph-thumbs-up:before {
  content: "\e48e";
}
.ph-light.ph-ticket:before {
  content: "\e490";
}
.ph-light.ph-tidal-logo:before {
  content: "\ed1c";
}
.ph-light.ph-tiktok-logo:before {
  content: "\eaf2";
}
.ph-light.ph-tilde:before {
  content: "\eda8";
}
.ph-light.ph-timer:before {
  content: "\e492";
}
.ph-light.ph-tip-jar:before {
  content: "\e7e2";
}
.ph-light.ph-tipi:before {
  content: "\ed30";
}
.ph-light.ph-tire:before {
  content: "\edd2";
}
.ph-light.ph-toggle-left:before {
  content: "\e674";
}
.ph-light.ph-toggle-right:before {
  content: "\e676";
}
.ph-light.ph-toilet:before {
  content: "\e79a";
}
.ph-light.ph-toilet-paper:before {
  content: "\e79c";
}
.ph-light.ph-toolbox:before {
  content: "\eca0";
}
.ph-light.ph-tooth:before {
  content: "\e9cc";
}
.ph-light.ph-tornado:before {
  content: "\e88c";
}
.ph-light.ph-tote:before {
  content: "\e494";
}
.ph-light.ph-tote-simple:before {
  content: "\e678";
}
.ph-light.ph-towel:before {
  content: "\ede6";
}
.ph-light.ph-tractor:before {
  content: "\ec6e";
}
.ph-light.ph-trademark:before {
  content: "\e9f0";
}
.ph-light.ph-trademark-registered:before {
  content: "\e3f4";
}
.ph-light.ph-traffic-cone:before {
  content: "\e9a8";
}
.ph-light.ph-traffic-sign:before {
  content: "\e67a";
}
.ph-light.ph-traffic-signal:before {
  content: "\e9aa";
}
.ph-light.ph-train:before {
  content: "\e496";
}
.ph-light.ph-train-regional:before {
  content: "\e49e";
}
.ph-light.ph-train-simple:before {
  content: "\e4a0";
}
.ph-light.ph-tram:before {
  content: "\e9ec";
}
.ph-light.ph-translate:before {
  content: "\e4a2";
}
.ph-light.ph-trash:before {
  content: "\e4a6";
}
.ph-light.ph-trash-simple:before {
  content: "\e4a8";
}
.ph-light.ph-tray:before {
  content: "\e4aa";
}
.ph-light.ph-tray-arrow-down:before {
  content: "\e010";
}
.ph-light.ph-archive-tray:before {
  content: "\e010";
}
.ph-light.ph-tray-arrow-up:before {
  content: "\ee52";
}
.ph-light.ph-treasure-chest:before {
  content: "\ede2";
}
.ph-light.ph-tree:before {
  content: "\e6da";
}
.ph-light.ph-tree-evergreen:before {
  content: "\e6dc";
}
.ph-light.ph-tree-palm:before {
  content: "\e91a";
}
.ph-light.ph-tree-structure:before {
  content: "\e67c";
}
.ph-light.ph-tree-view:before {
  content: "\ee48";
}
.ph-light.ph-trend-down:before {
  content: "\e4ac";
}
.ph-light.ph-trend-up:before {
  content: "\e4ae";
}
.ph-light.ph-triangle:before {
  content: "\e4b0";
}
.ph-light.ph-triangle-dashed:before {
  content: "\e4b2";
}
.ph-light.ph-trolley:before {
  content: "\e5b2";
}
.ph-light.ph-trolley-suitcase:before {
  content: "\e5b4";
}
.ph-light.ph-trophy:before {
  content: "\e67e";
}
.ph-light.ph-truck:before {
  content: "\e4b4";
}
.ph-light.ph-truck-trailer:before {
  content: "\e4b6";
}
.ph-light.ph-tumblr-logo:before {
  content: "\e8d4";
}
.ph-light.ph-twitch-logo:before {
  content: "\e5ce";
}
.ph-light.ph-twitter-logo:before {
  content: "\e4ba";
}
.ph-light.ph-umbrella:before {
  content: "\e684";
}
.ph-light.ph-umbrella-simple:before {
  content: "\e686";
}
.ph-light.ph-union:before {
  content: "\edbe";
}
.ph-light.ph-unite:before {
  content: "\e87e";
}
.ph-light.ph-unite-square:before {
  content: "\e878";
}
.ph-light.ph-upload:before {
  content: "\e4be";
}
.ph-light.ph-upload-simple:before {
  content: "\e4c0";
}
.ph-light.ph-usb:before {
  content: "\e956";
}
.ph-light.ph-user:before {
  content: "\e4c2";
}
.ph-light.ph-user-check:before {
  content: "\eafa";
}
.ph-light.ph-user-circle:before {
  content: "\e4c4";
}
.ph-light.ph-user-circle-check:before {
  content: "\ec38";
}
.ph-light.ph-user-circle-dashed:before {
  content: "\ec36";
}
.ph-light.ph-user-circle-gear:before {
  content: "\e4c6";
}
.ph-light.ph-user-circle-minus:before {
  content: "\e4c8";
}
.ph-light.ph-user-circle-plus:before {
  content: "\e4ca";
}
.ph-light.ph-user-focus:before {
  content: "\e6fc";
}
.ph-light.ph-user-gear:before {
  content: "\e4cc";
}
.ph-light.ph-user-list:before {
  content: "\e73c";
}
.ph-light.ph-user-minus:before {
  content: "\e4ce";
}
.ph-light.ph-user-plus:before {
  content: "\e4d0";
}
.ph-light.ph-user-rectangle:before {
  content: "\e4d2";
}
.ph-light.ph-user-sound:before {
  content: "\eca8";
}
.ph-light.ph-user-square:before {
  content: "\e4d4";
}
.ph-light.ph-user-switch:before {
  content: "\e756";
}
.ph-light.ph-users:before {
  content: "\e4d6";
}
.ph-light.ph-users-four:before {
  content: "\e68c";
}
.ph-light.ph-users-three:before {
  content: "\e68e";
}
.ph-light.ph-van:before {
  content: "\e826";
}
.ph-light.ph-vault:before {
  content: "\e76e";
}
.ph-light.ph-vector-three:before {
  content: "\ee62";
}
.ph-light.ph-vector-two:before {
  content: "\ee64";
}
.ph-light.ph-vibrate:before {
  content: "\e4d8";
}
.ph-light.ph-video:before {
  content: "\e740";
}
.ph-light.ph-video-camera:before {
  content: "\e4da";
}
.ph-light.ph-video-camera-slash:before {
  content: "\e4dc";
}
.ph-light.ph-video-conference:before {
  content: "\edce";
}
.ph-light.ph-vignette:before {
  content: "\eba2";
}
.ph-light.ph-vinyl-record:before {
  content: "\ecac";
}
.ph-light.ph-virtual-reality:before {
  content: "\e7b8";
}
.ph-light.ph-virus:before {
  content: "\e7d6";
}
.ph-light.ph-visor:before {
  content: "\ee2a";
}
.ph-light.ph-voicemail:before {
  content: "\e4de";
}
.ph-light.ph-volleyball:before {
  content: "\e726";
}
.ph-light.ph-wall:before {
  content: "\e688";
}
.ph-light.ph-wallet:before {
  content: "\e68a";
}
.ph-light.ph-warehouse:before {
  content: "\ecd4";
}
.ph-light.ph-warning:before {
  content: "\e4e0";
}
.ph-light.ph-warning-circle:before {
  content: "\e4e2";
}
.ph-light.ph-warning-diamond:before {
  content: "\e7fc";
}
.ph-light.ph-warning-octagon:before {
  content: "\e4e4";
}
.ph-light.ph-washing-machine:before {
  content: "\ede8";
}
.ph-light.ph-watch:before {
  content: "\e4e6";
}
.ph-light.ph-wave-sawtooth:before {
  content: "\ea9c";
}
.ph-light.ph-wave-sine:before {
  content: "\ea9a";
}
.ph-light.ph-wave-square:before {
  content: "\ea9e";
}
.ph-light.ph-wave-triangle:before {
  content: "\eaa0";
}
.ph-light.ph-waveform:before {
  content: "\e802";
}
.ph-light.ph-waveform-slash:before {
  content: "\e800";
}
.ph-light.ph-waves:before {
  content: "\e6de";
}
.ph-light.ph-webcam:before {
  content: "\e9b2";
}
.ph-light.ph-webcam-slash:before {
  content: "\ecdc";
}
.ph-light.ph-webhooks-logo:before {
  content: "\ecae";
}
.ph-light.ph-wechat-logo:before {
  content: "\e8d2";
}
.ph-light.ph-whatsapp-logo:before {
  content: "\e5d0";
}
.ph-light.ph-wheelchair:before {
  content: "\e4e8";
}
.ph-light.ph-wheelchair-motion:before {
  content: "\e89a";
}
.ph-light.ph-wifi-high:before {
  content: "\e4ea";
}
.ph-light.ph-wifi-low:before {
  content: "\e4ec";
}
.ph-light.ph-wifi-medium:before {
  content: "\e4ee";
}
.ph-light.ph-wifi-none:before {
  content: "\e4f0";
}
.ph-light.ph-wifi-slash:before {
  content: "\e4f2";
}
.ph-light.ph-wifi-x:before {
  content: "\e4f4";
}
.ph-light.ph-wind:before {
  content: "\e5d2";
}
.ph-light.ph-windmill:before {
  content: "\e9f8";
}
.ph-light.ph-windows-logo:before {
  content: "\e692";
}
.ph-light.ph-wine:before {
  content: "\e6b2";
}
.ph-light.ph-wrench:before {
  content: "\e5d4";
}
.ph-light.ph-x:before {
  content: "\e4f6";
}
.ph-light.ph-x-circle:before {
  content: "\e4f8";
}
.ph-light.ph-x-logo:before {
  content: "\e4bc";
}
.ph-light.ph-x-square:before {
  content: "\e4fa";
}
.ph-light.ph-yarn:before {
  content: "\ed9a";
}
.ph-light.ph-yin-yang:before {
  content: "\e92a";
}
.ph-light.ph-youtube-logo:before {
  content: "\e4fc";
}
@font-face {
  font-family: "Phosphor-Thin";
  src:
    url("/assets/Phosphor-Thin-B2whs1hn.woff2") format("woff2"),
    url("/assets/Phosphor-Thin-BxCeXJuS.woff") format("woff"),
    url("/assets/Phosphor-Thin-BrBKnvGm.ttf") format("truetype"),
    url("/assets/Phosphor-Thin-DAfkCRGU.svg#Phosphor-Thin") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.ph-thin {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "Phosphor-Thin" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Enable Ligatures ================ */
  letter-spacing: 0;
  -ms-font-feature-settings: "liga" 1;
  font-feature-settings: "liga";
  font-variant-ligatures: discretionary-ligatures;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ph-thin.ph-acorn:before {
  content: "\eb9a";
}
.ph-thin.ph-address-book:before {
  content: "\e6f8";
}
.ph-thin.ph-address-book-tabs:before {
  content: "\ee4e";
}
.ph-thin.ph-air-traffic-control:before {
  content: "\ecd8";
}
.ph-thin.ph-airplane:before {
  content: "\e002";
}
.ph-thin.ph-airplane-in-flight:before {
  content: "\e4fe";
}
.ph-thin.ph-airplane-landing:before {
  content: "\e502";
}
.ph-thin.ph-airplane-takeoff:before {
  content: "\e504";
}
.ph-thin.ph-airplane-taxiing:before {
  content: "\e500";
}
.ph-thin.ph-airplane-tilt:before {
  content: "\e5d6";
}
.ph-thin.ph-airplay:before {
  content: "\e004";
}
.ph-thin.ph-alarm:before {
  content: "\e006";
}
.ph-thin.ph-alien:before {
  content: "\e8a6";
}
.ph-thin.ph-align-bottom:before {
  content: "\e506";
}
.ph-thin.ph-align-bottom-simple:before {
  content: "\eb0c";
}
.ph-thin.ph-align-center-horizontal:before {
  content: "\e50a";
}
.ph-thin.ph-align-center-horizontal-simple:before {
  content: "\eb0e";
}
.ph-thin.ph-align-center-vertical:before {
  content: "\e50c";
}
.ph-thin.ph-align-center-vertical-simple:before {
  content: "\eb10";
}
.ph-thin.ph-align-left:before {
  content: "\e50e";
}
.ph-thin.ph-align-left-simple:before {
  content: "\eaee";
}
.ph-thin.ph-align-right:before {
  content: "\e510";
}
.ph-thin.ph-align-right-simple:before {
  content: "\eb12";
}
.ph-thin.ph-align-top:before {
  content: "\e512";
}
.ph-thin.ph-align-top-simple:before {
  content: "\eb14";
}
.ph-thin.ph-amazon-logo:before {
  content: "\e96c";
}
.ph-thin.ph-ambulance:before {
  content: "\e572";
}
.ph-thin.ph-anchor:before {
  content: "\e514";
}
.ph-thin.ph-anchor-simple:before {
  content: "\e5d8";
}
.ph-thin.ph-android-logo:before {
  content: "\e008";
}
.ph-thin.ph-angle:before {
  content: "\e7bc";
}
.ph-thin.ph-angular-logo:before {
  content: "\eb80";
}
.ph-thin.ph-aperture:before {
  content: "\e00a";
}
.ph-thin.ph-app-store-logo:before {
  content: "\e974";
}
.ph-thin.ph-app-window:before {
  content: "\e5da";
}
.ph-thin.ph-apple-logo:before {
  content: "\e516";
}
.ph-thin.ph-apple-podcasts-logo:before {
  content: "\eb96";
}
.ph-thin.ph-approximate-equals:before {
  content: "\edaa";
}
.ph-thin.ph-archive:before {
  content: "\e00c";
}
.ph-thin.ph-armchair:before {
  content: "\e012";
}
.ph-thin.ph-arrow-arc-left:before {
  content: "\e014";
}
.ph-thin.ph-arrow-arc-right:before {
  content: "\e016";
}
.ph-thin.ph-arrow-bend-double-up-left:before {
  content: "\e03a";
}
.ph-thin.ph-arrow-bend-double-up-right:before {
  content: "\e03c";
}
.ph-thin.ph-arrow-bend-down-left:before {
  content: "\e018";
}
.ph-thin.ph-arrow-bend-down-right:before {
  content: "\e01a";
}
.ph-thin.ph-arrow-bend-left-down:before {
  content: "\e01c";
}
.ph-thin.ph-arrow-bend-left-up:before {
  content: "\e01e";
}
.ph-thin.ph-arrow-bend-right-down:before {
  content: "\e020";
}
.ph-thin.ph-arrow-bend-right-up:before {
  content: "\e022";
}
.ph-thin.ph-arrow-bend-up-left:before {
  content: "\e024";
}
.ph-thin.ph-arrow-bend-up-right:before {
  content: "\e026";
}
.ph-thin.ph-arrow-circle-down:before {
  content: "\e028";
}
.ph-thin.ph-arrow-circle-down-left:before {
  content: "\e02a";
}
.ph-thin.ph-arrow-circle-down-right:before {
  content: "\e02c";
}
.ph-thin.ph-arrow-circle-left:before {
  content: "\e05a";
}
.ph-thin.ph-arrow-circle-right:before {
  content: "\e02e";
}
.ph-thin.ph-arrow-circle-up:before {
  content: "\e030";
}
.ph-thin.ph-arrow-circle-up-left:before {
  content: "\e032";
}
.ph-thin.ph-arrow-circle-up-right:before {
  content: "\e034";
}
.ph-thin.ph-arrow-clockwise:before {
  content: "\e036";
}
.ph-thin.ph-arrow-counter-clockwise:before {
  content: "\e038";
}
.ph-thin.ph-arrow-down:before {
  content: "\e03e";
}
.ph-thin.ph-arrow-down-left:before {
  content: "\e040";
}
.ph-thin.ph-arrow-down-right:before {
  content: "\e042";
}
.ph-thin.ph-arrow-elbow-down-left:before {
  content: "\e044";
}
.ph-thin.ph-arrow-elbow-down-right:before {
  content: "\e046";
}
.ph-thin.ph-arrow-elbow-left:before {
  content: "\e048";
}
.ph-thin.ph-arrow-elbow-left-down:before {
  content: "\e04a";
}
.ph-thin.ph-arrow-elbow-left-up:before {
  content: "\e04c";
}
.ph-thin.ph-arrow-elbow-right:before {
  content: "\e04e";
}
.ph-thin.ph-arrow-elbow-right-down:before {
  content: "\e050";
}
.ph-thin.ph-arrow-elbow-right-up:before {
  content: "\e052";
}
.ph-thin.ph-arrow-elbow-up-left:before {
  content: "\e054";
}
.ph-thin.ph-arrow-elbow-up-right:before {
  content: "\e056";
}
.ph-thin.ph-arrow-fat-down:before {
  content: "\e518";
}
.ph-thin.ph-arrow-fat-left:before {
  content: "\e51a";
}
.ph-thin.ph-arrow-fat-line-down:before {
  content: "\e51c";
}
.ph-thin.ph-arrow-fat-line-left:before {
  content: "\e51e";
}
.ph-thin.ph-arrow-fat-line-right:before {
  content: "\e520";
}
.ph-thin.ph-arrow-fat-line-up:before {
  content: "\e522";
}
.ph-thin.ph-arrow-fat-lines-down:before {
  content: "\e524";
}
.ph-thin.ph-arrow-fat-lines-left:before {
  content: "\e526";
}
.ph-thin.ph-arrow-fat-lines-right:before {
  content: "\e528";
}
.ph-thin.ph-arrow-fat-lines-up:before {
  content: "\e52a";
}
.ph-thin.ph-arrow-fat-right:before {
  content: "\e52c";
}
.ph-thin.ph-arrow-fat-up:before {
  content: "\e52e";
}
.ph-thin.ph-arrow-left:before {
  content: "\e058";
}
.ph-thin.ph-arrow-line-down:before {
  content: "\e05c";
}
.ph-thin.ph-arrow-line-down-left:before {
  content: "\e05e";
}
.ph-thin.ph-arrow-line-down-right:before {
  content: "\e060";
}
.ph-thin.ph-arrow-line-left:before {
  content: "\e062";
}
.ph-thin.ph-arrow-line-right:before {
  content: "\e064";
}
.ph-thin.ph-arrow-line-up:before {
  content: "\e066";
}
.ph-thin.ph-arrow-line-up-left:before {
  content: "\e068";
}
.ph-thin.ph-arrow-line-up-right:before {
  content: "\e06a";
}
.ph-thin.ph-arrow-right:before {
  content: "\e06c";
}
.ph-thin.ph-arrow-square-down:before {
  content: "\e06e";
}
.ph-thin.ph-arrow-square-down-left:before {
  content: "\e070";
}
.ph-thin.ph-arrow-square-down-right:before {
  content: "\e072";
}
.ph-thin.ph-arrow-square-in:before {
  content: "\e5dc";
}
.ph-thin.ph-arrow-square-left:before {
  content: "\e074";
}
.ph-thin.ph-arrow-square-out:before {
  content: "\e5de";
}
.ph-thin.ph-arrow-square-right:before {
  content: "\e076";
}
.ph-thin.ph-arrow-square-up:before {
  content: "\e078";
}
.ph-thin.ph-arrow-square-up-left:before {
  content: "\e07a";
}
.ph-thin.ph-arrow-square-up-right:before {
  content: "\e07c";
}
.ph-thin.ph-arrow-u-down-left:before {
  content: "\e07e";
}
.ph-thin.ph-arrow-u-down-right:before {
  content: "\e080";
}
.ph-thin.ph-arrow-u-left-down:before {
  content: "\e082";
}
.ph-thin.ph-arrow-u-left-up:before {
  content: "\e084";
}
.ph-thin.ph-arrow-u-right-down:before {
  content: "\e086";
}
.ph-thin.ph-arrow-u-right-up:before {
  content: "\e088";
}
.ph-thin.ph-arrow-u-up-left:before {
  content: "\e08a";
}
.ph-thin.ph-arrow-u-up-right:before {
  content: "\e08c";
}
.ph-thin.ph-arrow-up:before {
  content: "\e08e";
}
.ph-thin.ph-arrow-up-left:before {
  content: "\e090";
}
.ph-thin.ph-arrow-up-right:before {
  content: "\e092";
}
.ph-thin.ph-arrows-clockwise:before {
  content: "\e094";
}
.ph-thin.ph-arrows-counter-clockwise:before {
  content: "\e096";
}
.ph-thin.ph-arrows-down-up:before {
  content: "\e098";
}
.ph-thin.ph-arrows-horizontal:before {
  content: "\eb06";
}
.ph-thin.ph-arrows-in:before {
  content: "\e09a";
}
.ph-thin.ph-arrows-in-cardinal:before {
  content: "\e09c";
}
.ph-thin.ph-arrows-in-line-horizontal:before {
  content: "\e530";
}
.ph-thin.ph-arrows-in-line-vertical:before {
  content: "\e532";
}
.ph-thin.ph-arrows-in-simple:before {
  content: "\e09e";
}
.ph-thin.ph-arrows-left-right:before {
  content: "\e0a0";
}
.ph-thin.ph-arrows-merge:before {
  content: "\ed3e";
}
.ph-thin.ph-arrows-out:before {
  content: "\e0a2";
}
.ph-thin.ph-arrows-out-cardinal:before {
  content: "\e0a4";
}
.ph-thin.ph-arrows-out-line-horizontal:before {
  content: "\e534";
}
.ph-thin.ph-arrows-out-line-vertical:before {
  content: "\e536";
}
.ph-thin.ph-arrows-out-simple:before {
  content: "\e0a6";
}
.ph-thin.ph-arrows-split:before {
  content: "\ed3c";
}
.ph-thin.ph-arrows-vertical:before {
  content: "\eb04";
}
.ph-thin.ph-article:before {
  content: "\e0a8";
}
.ph-thin.ph-article-medium:before {
  content: "\e5e0";
}
.ph-thin.ph-article-ny-times:before {
  content: "\e5e2";
}
.ph-thin.ph-asclepius:before {
  content: "\ee34";
}
.ph-thin.ph-caduceus:before {
  content: "\ee34";
}
.ph-thin.ph-asterisk:before {
  content: "\e0aa";
}
.ph-thin.ph-asterisk-simple:before {
  content: "\e832";
}
.ph-thin.ph-at:before {
  content: "\e0ac";
}
.ph-thin.ph-atom:before {
  content: "\e5e4";
}
.ph-thin.ph-avocado:before {
  content: "\ee04";
}
.ph-thin.ph-axe:before {
  content: "\e9fc";
}
.ph-thin.ph-baby:before {
  content: "\e774";
}
.ph-thin.ph-baby-carriage:before {
  content: "\e818";
}
.ph-thin.ph-backpack:before {
  content: "\e922";
}
.ph-thin.ph-backspace:before {
  content: "\e0ae";
}
.ph-thin.ph-bag:before {
  content: "\e0b0";
}
.ph-thin.ph-bag-simple:before {
  content: "\e5e6";
}
.ph-thin.ph-balloon:before {
  content: "\e76c";
}
.ph-thin.ph-bandaids:before {
  content: "\e0b2";
}
.ph-thin.ph-bank:before {
  content: "\e0b4";
}
.ph-thin.ph-barbell:before {
  content: "\e0b6";
}
.ph-thin.ph-barcode:before {
  content: "\e0b8";
}
.ph-thin.ph-barn:before {
  content: "\ec72";
}
.ph-thin.ph-barricade:before {
  content: "\e948";
}
.ph-thin.ph-baseball:before {
  content: "\e71a";
}
.ph-thin.ph-baseball-cap:before {
  content: "\ea28";
}
.ph-thin.ph-baseball-helmet:before {
  content: "\ee4a";
}
.ph-thin.ph-basket:before {
  content: "\e964";
}
.ph-thin.ph-basketball:before {
  content: "\e724";
}
.ph-thin.ph-bathtub:before {
  content: "\e81e";
}
.ph-thin.ph-battery-charging:before {
  content: "\e0ba";
}
.ph-thin.ph-battery-charging-vertical:before {
  content: "\e0bc";
}
.ph-thin.ph-battery-empty:before {
  content: "\e0be";
}
.ph-thin.ph-battery-full:before {
  content: "\e0c0";
}
.ph-thin.ph-battery-high:before {
  content: "\e0c2";
}
.ph-thin.ph-battery-low:before {
  content: "\e0c4";
}
.ph-thin.ph-battery-medium:before {
  content: "\e0c6";
}
.ph-thin.ph-battery-plus:before {
  content: "\e808";
}
.ph-thin.ph-battery-plus-vertical:before {
  content: "\ec50";
}
.ph-thin.ph-battery-vertical-empty:before {
  content: "\e7c6";
}
.ph-thin.ph-battery-vertical-full:before {
  content: "\e7c4";
}
.ph-thin.ph-battery-vertical-high:before {
  content: "\e7c2";
}
.ph-thin.ph-battery-vertical-low:before {
  content: "\e7be";
}
.ph-thin.ph-battery-vertical-medium:before {
  content: "\e7c0";
}
.ph-thin.ph-battery-warning:before {
  content: "\e0c8";
}
.ph-thin.ph-battery-warning-vertical:before {
  content: "\e0ca";
}
.ph-thin.ph-beach-ball:before {
  content: "\ed24";
}
.ph-thin.ph-beanie:before {
  content: "\ea2a";
}
.ph-thin.ph-bed:before {
  content: "\e0cc";
}
.ph-thin.ph-beer-bottle:before {
  content: "\e7b0";
}
.ph-thin.ph-beer-stein:before {
  content: "\eb62";
}
.ph-thin.ph-behance-logo:before {
  content: "\e7f4";
}
.ph-thin.ph-bell:before {
  content: "\e0ce";
}
.ph-thin.ph-bell-ringing:before {
  content: "\e5e8";
}
.ph-thin.ph-bell-simple:before {
  content: "\e0d0";
}
.ph-thin.ph-bell-simple-ringing:before {
  content: "\e5ea";
}
.ph-thin.ph-bell-simple-slash:before {
  content: "\e0d2";
}
.ph-thin.ph-bell-simple-z:before {
  content: "\e5ec";
}
.ph-thin.ph-bell-slash:before {
  content: "\e0d4";
}
.ph-thin.ph-bell-z:before {
  content: "\e5ee";
}
.ph-thin.ph-belt:before {
  content: "\ea2c";
}
.ph-thin.ph-bezier-curve:before {
  content: "\eb00";
}
.ph-thin.ph-bicycle:before {
  content: "\e0d6";
}
.ph-thin.ph-binary:before {
  content: "\ee60";
}
.ph-thin.ph-binoculars:before {
  content: "\ea64";
}
.ph-thin.ph-biohazard:before {
  content: "\e9e0";
}
.ph-thin.ph-bird:before {
  content: "\e72c";
}
.ph-thin.ph-blueprint:before {
  content: "\eda0";
}
.ph-thin.ph-bluetooth:before {
  content: "\e0da";
}
.ph-thin.ph-bluetooth-connected:before {
  content: "\e0dc";
}
.ph-thin.ph-bluetooth-slash:before {
  content: "\e0de";
}
.ph-thin.ph-bluetooth-x:before {
  content: "\e0e0";
}
.ph-thin.ph-boat:before {
  content: "\e786";
}
.ph-thin.ph-bomb:before {
  content: "\ee0a";
}
.ph-thin.ph-bone:before {
  content: "\e7f2";
}
.ph-thin.ph-book:before {
  content: "\e0e2";
}
.ph-thin.ph-book-bookmark:before {
  content: "\e0e4";
}
.ph-thin.ph-book-open:before {
  content: "\e0e6";
}
.ph-thin.ph-book-open-text:before {
  content: "\e8f2";
}
.ph-thin.ph-book-open-user:before {
  content: "\ede0";
}
.ph-thin.ph-bookmark:before {
  content: "\e0e8";
}
.ph-thin.ph-bookmark-simple:before {
  content: "\e0ea";
}
.ph-thin.ph-bookmarks:before {
  content: "\e0ec";
}
.ph-thin.ph-bookmarks-simple:before {
  content: "\e5f0";
}
.ph-thin.ph-books:before {
  content: "\e758";
}
.ph-thin.ph-boot:before {
  content: "\ecca";
}
.ph-thin.ph-boules:before {
  content: "\e722";
}
.ph-thin.ph-bounding-box:before {
  content: "\e6ce";
}
.ph-thin.ph-bowl-food:before {
  content: "\eaa4";
}
.ph-thin.ph-bowl-steam:before {
  content: "\e8e4";
}
.ph-thin.ph-bowling-ball:before {
  content: "\ea34";
}
.ph-thin.ph-box-arrow-down:before {
  content: "\e00e";
}
.ph-thin.ph-archive-box:before {
  content: "\e00e";
}
.ph-thin.ph-box-arrow-up:before {
  content: "\ee54";
}
.ph-thin.ph-boxing-glove:before {
  content: "\ea36";
}
.ph-thin.ph-brackets-angle:before {
  content: "\e862";
}
.ph-thin.ph-brackets-curly:before {
  content: "\e860";
}
.ph-thin.ph-brackets-round:before {
  content: "\e864";
}
.ph-thin.ph-brackets-square:before {
  content: "\e85e";
}
.ph-thin.ph-brain:before {
  content: "\e74e";
}
.ph-thin.ph-brandy:before {
  content: "\e6b4";
}
.ph-thin.ph-bread:before {
  content: "\e81c";
}
.ph-thin.ph-bridge:before {
  content: "\ea68";
}
.ph-thin.ph-briefcase:before {
  content: "\e0ee";
}
.ph-thin.ph-briefcase-metal:before {
  content: "\e5f2";
}
.ph-thin.ph-broadcast:before {
  content: "\e0f2";
}
.ph-thin.ph-broom:before {
  content: "\ec54";
}
.ph-thin.ph-browser:before {
  content: "\e0f4";
}
.ph-thin.ph-browsers:before {
  content: "\e0f6";
}
.ph-thin.ph-bug:before {
  content: "\e5f4";
}
.ph-thin.ph-bug-beetle:before {
  content: "\e5f6";
}
.ph-thin.ph-bug-droid:before {
  content: "\e5f8";
}
.ph-thin.ph-building:before {
  content: "\e100";
}
.ph-thin.ph-building-apartment:before {
  content: "\e0fe";
}
.ph-thin.ph-building-office:before {
  content: "\e0ff";
}
.ph-thin.ph-buildings:before {
  content: "\e102";
}
.ph-thin.ph-bulldozer:before {
  content: "\ec6c";
}
.ph-thin.ph-bus:before {
  content: "\e106";
}
.ph-thin.ph-butterfly:before {
  content: "\ea6e";
}
.ph-thin.ph-cable-car:before {
  content: "\e49c";
}
.ph-thin.ph-cactus:before {
  content: "\e918";
}
.ph-thin.ph-cake:before {
  content: "\e780";
}
.ph-thin.ph-calculator:before {
  content: "\e538";
}
.ph-thin.ph-calendar:before {
  content: "\e108";
}
.ph-thin.ph-calendar-blank:before {
  content: "\e10a";
}
.ph-thin.ph-calendar-check:before {
  content: "\e712";
}
.ph-thin.ph-calendar-dot:before {
  content: "\e7b2";
}
.ph-thin.ph-calendar-dots:before {
  content: "\e7b4";
}
.ph-thin.ph-calendar-heart:before {
  content: "\e8b0";
}
.ph-thin.ph-calendar-minus:before {
  content: "\ea14";
}
.ph-thin.ph-calendar-plus:before {
  content: "\e714";
}
.ph-thin.ph-calendar-slash:before {
  content: "\ea12";
}
.ph-thin.ph-calendar-star:before {
  content: "\e8b2";
}
.ph-thin.ph-calendar-x:before {
  content: "\e10c";
}
.ph-thin.ph-call-bell:before {
  content: "\e7de";
}
.ph-thin.ph-camera:before {
  content: "\e10e";
}
.ph-thin.ph-camera-plus:before {
  content: "\ec58";
}
.ph-thin.ph-camera-rotate:before {
  content: "\e7a4";
}
.ph-thin.ph-camera-slash:before {
  content: "\e110";
}
.ph-thin.ph-campfire:before {
  content: "\e9d8";
}
.ph-thin.ph-car:before {
  content: "\e112";
}
.ph-thin.ph-car-battery:before {
  content: "\ee30";
}
.ph-thin.ph-car-profile:before {
  content: "\e8cc";
}
.ph-thin.ph-car-simple:before {
  content: "\e114";
}
.ph-thin.ph-cardholder:before {
  content: "\e5fa";
}
.ph-thin.ph-cards:before {
  content: "\e0f8";
}
.ph-thin.ph-cards-three:before {
  content: "\ee50";
}
.ph-thin.ph-caret-circle-double-down:before {
  content: "\e116";
}
.ph-thin.ph-caret-circle-double-left:before {
  content: "\e118";
}
.ph-thin.ph-caret-circle-double-right:before {
  content: "\e11a";
}
.ph-thin.ph-caret-circle-double-up:before {
  content: "\e11c";
}
.ph-thin.ph-caret-circle-down:before {
  content: "\e11e";
}
.ph-thin.ph-caret-circle-left:before {
  content: "\e120";
}
.ph-thin.ph-caret-circle-right:before {
  content: "\e122";
}
.ph-thin.ph-caret-circle-up:before {
  content: "\e124";
}
.ph-thin.ph-caret-circle-up-down:before {
  content: "\e13e";
}
.ph-thin.ph-caret-double-down:before {
  content: "\e126";
}
.ph-thin.ph-caret-double-left:before {
  content: "\e128";
}
.ph-thin.ph-caret-double-right:before {
  content: "\e12a";
}
.ph-thin.ph-caret-double-up:before {
  content: "\e12c";
}
.ph-thin.ph-caret-down:before {
  content: "\e136";
}
.ph-thin.ph-caret-left:before {
  content: "\e138";
}
.ph-thin.ph-caret-line-down:before {
  content: "\e134";
}
.ph-thin.ph-caret-line-left:before {
  content: "\e132";
}
.ph-thin.ph-caret-line-right:before {
  content: "\e130";
}
.ph-thin.ph-caret-line-up:before {
  content: "\e12e";
}
.ph-thin.ph-caret-right:before {
  content: "\e13a";
}
.ph-thin.ph-caret-up:before {
  content: "\e13c";
}
.ph-thin.ph-caret-up-down:before {
  content: "\e140";
}
.ph-thin.ph-carrot:before {
  content: "\ed38";
}
.ph-thin.ph-cash-register:before {
  content: "\ed80";
}
.ph-thin.ph-cassette-tape:before {
  content: "\ed2e";
}
.ph-thin.ph-castle-turret:before {
  content: "\e9d0";
}
.ph-thin.ph-cat:before {
  content: "\e748";
}
.ph-thin.ph-cell-signal-full:before {
  content: "\e142";
}
.ph-thin.ph-cell-signal-high:before {
  content: "\e144";
}
.ph-thin.ph-cell-signal-low:before {
  content: "\e146";
}
.ph-thin.ph-cell-signal-medium:before {
  content: "\e148";
}
.ph-thin.ph-cell-signal-none:before {
  content: "\e14a";
}
.ph-thin.ph-cell-signal-slash:before {
  content: "\e14c";
}
.ph-thin.ph-cell-signal-x:before {
  content: "\e14e";
}
.ph-thin.ph-cell-tower:before {
  content: "\ebaa";
}
.ph-thin.ph-certificate:before {
  content: "\e766";
}
.ph-thin.ph-chair:before {
  content: "\e950";
}
.ph-thin.ph-chalkboard:before {
  content: "\e5fc";
}
.ph-thin.ph-chalkboard-simple:before {
  content: "\e5fe";
}
.ph-thin.ph-chalkboard-teacher:before {
  content: "\e600";
}
.ph-thin.ph-champagne:before {
  content: "\eaca";
}
.ph-thin.ph-charging-station:before {
  content: "\e8d0";
}
.ph-thin.ph-chart-bar:before {
  content: "\e150";
}
.ph-thin.ph-chart-bar-horizontal:before {
  content: "\e152";
}
.ph-thin.ph-chart-donut:before {
  content: "\eaa6";
}
.ph-thin.ph-chart-line:before {
  content: "\e154";
}
.ph-thin.ph-chart-line-down:before {
  content: "\e8b6";
}
.ph-thin.ph-chart-line-up:before {
  content: "\e156";
}
.ph-thin.ph-chart-pie:before {
  content: "\e158";
}
.ph-thin.ph-chart-pie-slice:before {
  content: "\e15a";
}
.ph-thin.ph-chart-polar:before {
  content: "\eaa8";
}
.ph-thin.ph-chart-scatter:before {
  content: "\eaac";
}
.ph-thin.ph-chat:before {
  content: "\e15c";
}
.ph-thin.ph-chat-centered:before {
  content: "\e160";
}
.ph-thin.ph-chat-centered-dots:before {
  content: "\e164";
}
.ph-thin.ph-chat-centered-slash:before {
  content: "\e162";
}
.ph-thin.ph-chat-centered-text:before {
  content: "\e166";
}
.ph-thin.ph-chat-circle:before {
  content: "\e168";
}
.ph-thin.ph-chat-circle-dots:before {
  content: "\e16c";
}
.ph-thin.ph-chat-circle-slash:before {
  content: "\e16a";
}
.ph-thin.ph-chat-circle-text:before {
  content: "\e16e";
}
.ph-thin.ph-chat-dots:before {
  content: "\e170";
}
.ph-thin.ph-chat-slash:before {
  content: "\e15e";
}
.ph-thin.ph-chat-teardrop:before {
  content: "\e172";
}
.ph-thin.ph-chat-teardrop-dots:before {
  content: "\e176";
}
.ph-thin.ph-chat-teardrop-slash:before {
  content: "\e174";
}
.ph-thin.ph-chat-teardrop-text:before {
  content: "\e178";
}
.ph-thin.ph-chat-text:before {
  content: "\e17a";
}
.ph-thin.ph-chats:before {
  content: "\e17c";
}
.ph-thin.ph-chats-circle:before {
  content: "\e17e";
}
.ph-thin.ph-chats-teardrop:before {
  content: "\e180";
}
.ph-thin.ph-check:before {
  content: "\e182";
}
.ph-thin.ph-check-circle:before {
  content: "\e184";
}
.ph-thin.ph-check-fat:before {
  content: "\eba6";
}
.ph-thin.ph-check-square:before {
  content: "\e186";
}
.ph-thin.ph-check-square-offset:before {
  content: "\e188";
}
.ph-thin.ph-checkerboard:before {
  content: "\e8c4";
}
.ph-thin.ph-checks:before {
  content: "\e53a";
}
.ph-thin.ph-cheers:before {
  content: "\ea4a";
}
.ph-thin.ph-cheese:before {
  content: "\e9fe";
}
.ph-thin.ph-chef-hat:before {
  content: "\ed8e";
}
.ph-thin.ph-cherries:before {
  content: "\e830";
}
.ph-thin.ph-church:before {
  content: "\ecea";
}
.ph-thin.ph-cigarette:before {
  content: "\ed90";
}
.ph-thin.ph-cigarette-slash:before {
  content: "\ed92";
}
.ph-thin.ph-circle:before {
  content: "\e18a";
}
.ph-thin.ph-circle-dashed:before {
  content: "\e602";
}
.ph-thin.ph-circle-half:before {
  content: "\e18c";
}
.ph-thin.ph-circle-half-tilt:before {
  content: "\e18e";
}
.ph-thin.ph-circle-notch:before {
  content: "\eb44";
}
.ph-thin.ph-circles-four:before {
  content: "\e190";
}
.ph-thin.ph-circles-three:before {
  content: "\e192";
}
.ph-thin.ph-circles-three-plus:before {
  content: "\e194";
}
.ph-thin.ph-circuitry:before {
  content: "\e9c2";
}
.ph-thin.ph-city:before {
  content: "\ea6a";
}
.ph-thin.ph-clipboard:before {
  content: "\e196";
}
.ph-thin.ph-clipboard-text:before {
  content: "\e198";
}
.ph-thin.ph-clock:before {
  content: "\e19a";
}
.ph-thin.ph-clock-afternoon:before {
  content: "\e19c";
}
.ph-thin.ph-clock-clockwise:before {
  content: "\e19e";
}
.ph-thin.ph-clock-countdown:before {
  content: "\ed2c";
}
.ph-thin.ph-clock-counter-clockwise:before {
  content: "\e1a0";
}
.ph-thin.ph-clock-user:before {
  content: "\edec";
}
.ph-thin.ph-closed-captioning:before {
  content: "\e1a4";
}
.ph-thin.ph-cloud:before {
  content: "\e1aa";
}
.ph-thin.ph-cloud-arrow-down:before {
  content: "\e1ac";
}
.ph-thin.ph-cloud-arrow-up:before {
  content: "\e1ae";
}
.ph-thin.ph-cloud-check:before {
  content: "\e1b0";
}
.ph-thin.ph-cloud-fog:before {
  content: "\e53c";
}
.ph-thin.ph-cloud-lightning:before {
  content: "\e1b2";
}
.ph-thin.ph-cloud-moon:before {
  content: "\e53e";
}
.ph-thin.ph-cloud-rain:before {
  content: "\e1b4";
}
.ph-thin.ph-cloud-slash:before {
  content: "\e1b6";
}
.ph-thin.ph-cloud-snow:before {
  content: "\e1b8";
}
.ph-thin.ph-cloud-sun:before {
  content: "\e540";
}
.ph-thin.ph-cloud-warning:before {
  content: "\ea98";
}
.ph-thin.ph-cloud-x:before {
  content: "\ea96";
}
.ph-thin.ph-clover:before {
  content: "\edc8";
}
.ph-thin.ph-club:before {
  content: "\e1ba";
}
.ph-thin.ph-coat-hanger:before {
  content: "\e7fe";
}
.ph-thin.ph-coda-logo:before {
  content: "\e7ce";
}
.ph-thin.ph-code:before {
  content: "\e1bc";
}
.ph-thin.ph-code-block:before {
  content: "\eafe";
}
.ph-thin.ph-code-simple:before {
  content: "\e1be";
}
.ph-thin.ph-codepen-logo:before {
  content: "\e978";
}
.ph-thin.ph-codesandbox-logo:before {
  content: "\ea06";
}
.ph-thin.ph-coffee:before {
  content: "\e1c2";
}
.ph-thin.ph-coffee-bean:before {
  content: "\e1c0";
}
.ph-thin.ph-coin:before {
  content: "\e60e";
}
.ph-thin.ph-coin-vertical:before {
  content: "\eb48";
}
.ph-thin.ph-coins:before {
  content: "\e78e";
}
.ph-thin.ph-columns:before {
  content: "\e546";
}
.ph-thin.ph-columns-plus-left:before {
  content: "\e544";
}
.ph-thin.ph-columns-plus-right:before {
  content: "\e542";
}
.ph-thin.ph-command:before {
  content: "\e1c4";
}
.ph-thin.ph-compass:before {
  content: "\e1c8";
}
.ph-thin.ph-compass-rose:before {
  content: "\e1c6";
}
.ph-thin.ph-compass-tool:before {
  content: "\ea0e";
}
.ph-thin.ph-computer-tower:before {
  content: "\e548";
}
.ph-thin.ph-confetti:before {
  content: "\e81a";
}
.ph-thin.ph-contactless-payment:before {
  content: "\ed42";
}
.ph-thin.ph-control:before {
  content: "\eca6";
}
.ph-thin.ph-cookie:before {
  content: "\e6ca";
}
.ph-thin.ph-cooking-pot:before {
  content: "\e764";
}
.ph-thin.ph-copy:before {
  content: "\e1ca";
}
.ph-thin.ph-copy-simple:before {
  content: "\e1cc";
}
.ph-thin.ph-copyleft:before {
  content: "\e86a";
}
.ph-thin.ph-copyright:before {
  content: "\e54a";
}
.ph-thin.ph-corners-in:before {
  content: "\e1ce";
}
.ph-thin.ph-corners-out:before {
  content: "\e1d0";
}
.ph-thin.ph-couch:before {
  content: "\e7f6";
}
.ph-thin.ph-court-basketball:before {
  content: "\ee36";
}
.ph-thin.ph-cow:before {
  content: "\eabe";
}
.ph-thin.ph-cowboy-hat:before {
  content: "\ed12";
}
.ph-thin.ph-cpu:before {
  content: "\e610";
}
.ph-thin.ph-crane:before {
  content: "\ed48";
}
.ph-thin.ph-crane-tower:before {
  content: "\ed49";
}
.ph-thin.ph-credit-card:before {
  content: "\e1d2";
}
.ph-thin.ph-cricket:before {
  content: "\ee12";
}
.ph-thin.ph-crop:before {
  content: "\e1d4";
}
.ph-thin.ph-cross:before {
  content: "\e8a0";
}
.ph-thin.ph-crosshair:before {
  content: "\e1d6";
}
.ph-thin.ph-crosshair-simple:before {
  content: "\e1d8";
}
.ph-thin.ph-crown:before {
  content: "\e614";
}
.ph-thin.ph-crown-cross:before {
  content: "\ee5e";
}
.ph-thin.ph-crown-simple:before {
  content: "\e616";
}
.ph-thin.ph-cube:before {
  content: "\e1da";
}
.ph-thin.ph-cube-focus:before {
  content: "\ed0a";
}
.ph-thin.ph-cube-transparent:before {
  content: "\ec7c";
}
.ph-thin.ph-currency-btc:before {
  content: "\e618";
}
.ph-thin.ph-currency-circle-dollar:before {
  content: "\e54c";
}
.ph-thin.ph-currency-cny:before {
  content: "\e54e";
}
.ph-thin.ph-currency-dollar:before {
  content: "\e550";
}
.ph-thin.ph-currency-dollar-simple:before {
  content: "\e552";
}
.ph-thin.ph-currency-eth:before {
  content: "\eada";
}
.ph-thin.ph-currency-eur:before {
  content: "\e554";
}
.ph-thin.ph-currency-gbp:before {
  content: "\e556";
}
.ph-thin.ph-currency-inr:before {
  content: "\e558";
}
.ph-thin.ph-currency-jpy:before {
  content: "\e55a";
}
.ph-thin.ph-currency-krw:before {
  content: "\e55c";
}
.ph-thin.ph-currency-kzt:before {
  content: "\ec4c";
}
.ph-thin.ph-currency-ngn:before {
  content: "\eb52";
}
.ph-thin.ph-currency-rub:before {
  content: "\e55e";
}
.ph-thin.ph-cursor:before {
  content: "\e1dc";
}
.ph-thin.ph-cursor-click:before {
  content: "\e7c8";
}
.ph-thin.ph-cursor-text:before {
  content: "\e7d8";
}
.ph-thin.ph-cylinder:before {
  content: "\e8fc";
}
.ph-thin.ph-database:before {
  content: "\e1de";
}
.ph-thin.ph-desk:before {
  content: "\ed16";
}
.ph-thin.ph-desktop:before {
  content: "\e560";
}
.ph-thin.ph-desktop-tower:before {
  content: "\e562";
}
.ph-thin.ph-detective:before {
  content: "\e83e";
}
.ph-thin.ph-dev-to-logo:before {
  content: "\ed0e";
}
.ph-thin.ph-device-mobile:before {
  content: "\e1e0";
}
.ph-thin.ph-device-mobile-camera:before {
  content: "\e1e2";
}
.ph-thin.ph-device-mobile-slash:before {
  content: "\ee46";
}
.ph-thin.ph-device-mobile-speaker:before {
  content: "\e1e4";
}
.ph-thin.ph-device-rotate:before {
  content: "\edf2";
}
.ph-thin.ph-device-tablet:before {
  content: "\e1e6";
}
.ph-thin.ph-device-tablet-camera:before {
  content: "\e1e8";
}
.ph-thin.ph-device-tablet-speaker:before {
  content: "\e1ea";
}
.ph-thin.ph-devices:before {
  content: "\eba4";
}
.ph-thin.ph-diamond:before {
  content: "\e1ec";
}
.ph-thin.ph-diamonds-four:before {
  content: "\e8f4";
}
.ph-thin.ph-dice-five:before {
  content: "\e1ee";
}
.ph-thin.ph-dice-four:before {
  content: "\e1f0";
}
.ph-thin.ph-dice-one:before {
  content: "\e1f2";
}
.ph-thin.ph-dice-six:before {
  content: "\e1f4";
}
.ph-thin.ph-dice-three:before {
  content: "\e1f6";
}
.ph-thin.ph-dice-two:before {
  content: "\e1f8";
}
.ph-thin.ph-disc:before {
  content: "\e564";
}
.ph-thin.ph-disco-ball:before {
  content: "\ed98";
}
.ph-thin.ph-discord-logo:before {
  content: "\e61a";
}
.ph-thin.ph-divide:before {
  content: "\e1fa";
}
.ph-thin.ph-dna:before {
  content: "\e924";
}
.ph-thin.ph-dog:before {
  content: "\e74a";
}
.ph-thin.ph-door:before {
  content: "\e61c";
}
.ph-thin.ph-door-open:before {
  content: "\e7e6";
}
.ph-thin.ph-dot:before {
  content: "\ecde";
}
.ph-thin.ph-dot-outline:before {
  content: "\ece0";
}
.ph-thin.ph-dots-nine:before {
  content: "\e1fc";
}
.ph-thin.ph-dots-six:before {
  content: "\e794";
}
.ph-thin.ph-dots-six-vertical:before {
  content: "\eae2";
}
.ph-thin.ph-dots-three:before {
  content: "\e1fe";
}
.ph-thin.ph-dots-three-circle:before {
  content: "\e200";
}
.ph-thin.ph-dots-three-circle-vertical:before {
  content: "\e202";
}
.ph-thin.ph-dots-three-outline:before {
  content: "\e204";
}
.ph-thin.ph-dots-three-outline-vertical:before {
  content: "\e206";
}
.ph-thin.ph-dots-three-vertical:before {
  content: "\e208";
}
.ph-thin.ph-download:before {
  content: "\e20a";
}
.ph-thin.ph-download-simple:before {
  content: "\e20c";
}
.ph-thin.ph-dress:before {
  content: "\ea7e";
}
.ph-thin.ph-dresser:before {
  content: "\e94e";
}
.ph-thin.ph-dribbble-logo:before {
  content: "\e20e";
}
.ph-thin.ph-drone:before {
  content: "\ed74";
}
.ph-thin.ph-drop:before {
  content: "\e210";
}
.ph-thin.ph-drop-half:before {
  content: "\e566";
}
.ph-thin.ph-drop-half-bottom:before {
  content: "\eb40";
}
.ph-thin.ph-drop-simple:before {
  content: "\ee32";
}
.ph-thin.ph-drop-slash:before {
  content: "\e954";
}
.ph-thin.ph-dropbox-logo:before {
  content: "\e7d0";
}
.ph-thin.ph-ear:before {
  content: "\e70c";
}
.ph-thin.ph-ear-slash:before {
  content: "\e70e";
}
.ph-thin.ph-egg:before {
  content: "\e812";
}
.ph-thin.ph-egg-crack:before {
  content: "\eb64";
}
.ph-thin.ph-eject:before {
  content: "\e212";
}
.ph-thin.ph-eject-simple:before {
  content: "\e6ae";
}
.ph-thin.ph-elevator:before {
  content: "\ecc0";
}
.ph-thin.ph-empty:before {
  content: "\edbc";
}
.ph-thin.ph-engine:before {
  content: "\ea80";
}
.ph-thin.ph-envelope:before {
  content: "\e214";
}
.ph-thin.ph-envelope-open:before {
  content: "\e216";
}
.ph-thin.ph-envelope-simple:before {
  content: "\e218";
}
.ph-thin.ph-envelope-simple-open:before {
  content: "\e21a";
}
.ph-thin.ph-equalizer:before {
  content: "\ebbc";
}
.ph-thin.ph-equals:before {
  content: "\e21c";
}
.ph-thin.ph-eraser:before {
  content: "\e21e";
}
.ph-thin.ph-escalator-down:before {
  content: "\ecba";
}
.ph-thin.ph-escalator-up:before {
  content: "\ecbc";
}
.ph-thin.ph-exam:before {
  content: "\e742";
}
.ph-thin.ph-exclamation-mark:before {
  content: "\ee44";
}
.ph-thin.ph-exclude:before {
  content: "\e882";
}
.ph-thin.ph-exclude-square:before {
  content: "\e880";
}
.ph-thin.ph-export:before {
  content: "\eaf0";
}
.ph-thin.ph-eye:before {
  content: "\e220";
}
.ph-thin.ph-eye-closed:before {
  content: "\e222";
}
.ph-thin.ph-eye-slash:before {
  content: "\e224";
}
.ph-thin.ph-eyedropper:before {
  content: "\e568";
}
.ph-thin.ph-eyedropper-sample:before {
  content: "\eac4";
}
.ph-thin.ph-eyeglasses:before {
  content: "\e7ba";
}
.ph-thin.ph-eyes:before {
  content: "\ee5c";
}
.ph-thin.ph-face-mask:before {
  content: "\e56a";
}
.ph-thin.ph-facebook-logo:before {
  content: "\e226";
}
.ph-thin.ph-factory:before {
  content: "\e760";
}
.ph-thin.ph-faders:before {
  content: "\e228";
}
.ph-thin.ph-faders-horizontal:before {
  content: "\e22a";
}
.ph-thin.ph-fallout-shelter:before {
  content: "\e9de";
}
.ph-thin.ph-fan:before {
  content: "\e9f2";
}
.ph-thin.ph-farm:before {
  content: "\ec70";
}
.ph-thin.ph-fast-forward:before {
  content: "\e6a6";
}
.ph-thin.ph-fast-forward-circle:before {
  content: "\e22c";
}
.ph-thin.ph-feather:before {
  content: "\e9c0";
}
.ph-thin.ph-fediverse-logo:before {
  content: "\ed66";
}
.ph-thin.ph-figma-logo:before {
  content: "\e22e";
}
.ph-thin.ph-file:before {
  content: "\e230";
}
.ph-thin.ph-file-archive:before {
  content: "\eb2a";
}
.ph-thin.ph-file-arrow-down:before {
  content: "\e232";
}
.ph-thin.ph-file-arrow-up:before {
  content: "\e61e";
}
.ph-thin.ph-file-audio:before {
  content: "\ea20";
}
.ph-thin.ph-file-c:before {
  content: "\eb32";
}
.ph-thin.ph-file-c-sharp:before {
  content: "\eb30";
}
.ph-thin.ph-file-cloud:before {
  content: "\e95e";
}
.ph-thin.ph-file-code:before {
  content: "\e914";
}
.ph-thin.ph-file-cpp:before {
  content: "\eb2e";
}
.ph-thin.ph-file-css:before {
  content: "\eb34";
}
.ph-thin.ph-file-csv:before {
  content: "\eb1c";
}
.ph-thin.ph-file-dashed:before {
  content: "\e704";
}
.ph-thin.ph-file-dotted:before {
  content: "\e704";
}
.ph-thin.ph-file-doc:before {
  content: "\eb1e";
}
.ph-thin.ph-file-html:before {
  content: "\eb38";
}
.ph-thin.ph-file-image:before {
  content: "\ea24";
}
.ph-thin.ph-file-ini:before {
  content: "\eb33";
}
.ph-thin.ph-file-jpg:before {
  content: "\eb1a";
}
.ph-thin.ph-file-js:before {
  content: "\eb24";
}
.ph-thin.ph-file-jsx:before {
  content: "\eb3a";
}
.ph-thin.ph-file-lock:before {
  content: "\e95c";
}
.ph-thin.ph-file-magnifying-glass:before {
  content: "\e238";
}
.ph-thin.ph-file-search:before {
  content: "\e238";
}
.ph-thin.ph-file-md:before {
  content: "\ed50";
}
.ph-thin.ph-file-minus:before {
  content: "\e234";
}
.ph-thin.ph-file-pdf:before {
  content: "\e702";
}
.ph-thin.ph-file-plus:before {
  content: "\e236";
}
.ph-thin.ph-file-png:before {
  content: "\eb18";
}
.ph-thin.ph-file-ppt:before {
  content: "\eb20";
}
.ph-thin.ph-file-py:before {
  content: "\eb2c";
}
.ph-thin.ph-file-rs:before {
  content: "\eb28";
}
.ph-thin.ph-file-sql:before {
  content: "\ed4e";
}
.ph-thin.ph-file-svg:before {
  content: "\ed08";
}
.ph-thin.ph-file-text:before {
  content: "\e23a";
}
.ph-thin.ph-file-ts:before {
  content: "\eb26";
}
.ph-thin.ph-file-tsx:before {
  content: "\eb3c";
}
.ph-thin.ph-file-txt:before {
  content: "\eb35";
}
.ph-thin.ph-file-video:before {
  content: "\ea22";
}
.ph-thin.ph-file-vue:before {
  content: "\eb3e";
}
.ph-thin.ph-file-x:before {
  content: "\e23c";
}
.ph-thin.ph-file-xls:before {
  content: "\eb22";
}
.ph-thin.ph-file-zip:before {
  content: "\e958";
}
.ph-thin.ph-files:before {
  content: "\e710";
}
.ph-thin.ph-film-reel:before {
  content: "\e8c0";
}
.ph-thin.ph-film-script:before {
  content: "\eb50";
}
.ph-thin.ph-film-slate:before {
  content: "\e8c2";
}
.ph-thin.ph-film-strip:before {
  content: "\e792";
}
.ph-thin.ph-fingerprint:before {
  content: "\e23e";
}
.ph-thin.ph-fingerprint-simple:before {
  content: "\e240";
}
.ph-thin.ph-finn-the-human:before {
  content: "\e56c";
}
.ph-thin.ph-fire:before {
  content: "\e242";
}
.ph-thin.ph-fire-extinguisher:before {
  content: "\e9e8";
}
.ph-thin.ph-fire-simple:before {
  content: "\e620";
}
.ph-thin.ph-fire-truck:before {
  content: "\e574";
}
.ph-thin.ph-first-aid:before {
  content: "\e56e";
}
.ph-thin.ph-first-aid-kit:before {
  content: "\e570";
}
.ph-thin.ph-fish:before {
  content: "\e728";
}
.ph-thin.ph-fish-simple:before {
  content: "\e72a";
}
.ph-thin.ph-flag:before {
  content: "\e244";
}
.ph-thin.ph-flag-banner:before {
  content: "\e622";
}
.ph-thin.ph-flag-banner-fold:before {
  content: "\ecf2";
}
.ph-thin.ph-flag-checkered:before {
  content: "\ea38";
}
.ph-thin.ph-flag-pennant:before {
  content: "\ecf0";
}
.ph-thin.ph-flame:before {
  content: "\e624";
}
.ph-thin.ph-flashlight:before {
  content: "\e246";
}
.ph-thin.ph-flask:before {
  content: "\e79e";
}
.ph-thin.ph-flip-horizontal:before {
  content: "\ed6a";
}
.ph-thin.ph-flip-vertical:before {
  content: "\ed6c";
}
.ph-thin.ph-floppy-disk:before {
  content: "\e248";
}
.ph-thin.ph-floppy-disk-back:before {
  content: "\eaf4";
}
.ph-thin.ph-flow-arrow:before {
  content: "\e6ec";
}
.ph-thin.ph-flower:before {
  content: "\e75e";
}
.ph-thin.ph-flower-lotus:before {
  content: "\e6cc";
}
.ph-thin.ph-flower-tulip:before {
  content: "\eacc";
}
.ph-thin.ph-flying-saucer:before {
  content: "\eb4a";
}
.ph-thin.ph-folder:before {
  content: "\e24a";
}
.ph-thin.ph-folder-notch:before {
  content: "\e24a";
}
.ph-thin.ph-folder-dashed:before {
  content: "\e8f8";
}
.ph-thin.ph-folder-dotted:before {
  content: "\e8f8";
}
.ph-thin.ph-folder-lock:before {
  content: "\ea3c";
}
.ph-thin.ph-folder-minus:before {
  content: "\e254";
}
.ph-thin.ph-folder-notch-minus:before {
  content: "\e254";
}
.ph-thin.ph-folder-open:before {
  content: "\e256";
}
.ph-thin.ph-folder-notch-open:before {
  content: "\e256";
}
.ph-thin.ph-folder-plus:before {
  content: "\e258";
}
.ph-thin.ph-folder-notch-plus:before {
  content: "\e258";
}
.ph-thin.ph-folder-simple:before {
  content: "\e25a";
}
.ph-thin.ph-folder-simple-dashed:before {
  content: "\ec2a";
}
.ph-thin.ph-folder-simple-dotted:before {
  content: "\ec2a";
}
.ph-thin.ph-folder-simple-lock:before {
  content: "\eb5e";
}
.ph-thin.ph-folder-simple-minus:before {
  content: "\e25c";
}
.ph-thin.ph-folder-simple-plus:before {
  content: "\e25e";
}
.ph-thin.ph-folder-simple-star:before {
  content: "\ec2e";
}
.ph-thin.ph-folder-simple-user:before {
  content: "\eb60";
}
.ph-thin.ph-folder-star:before {
  content: "\ea86";
}
.ph-thin.ph-folder-user:before {
  content: "\eb46";
}
.ph-thin.ph-folders:before {
  content: "\e260";
}
.ph-thin.ph-football:before {
  content: "\e718";
}
.ph-thin.ph-football-helmet:before {
  content: "\ee4c";
}
.ph-thin.ph-footprints:before {
  content: "\ea88";
}
.ph-thin.ph-fork-knife:before {
  content: "\e262";
}
.ph-thin.ph-four-k:before {
  content: "\ea5c";
}
.ph-thin.ph-frame-corners:before {
  content: "\e626";
}
.ph-thin.ph-framer-logo:before {
  content: "\e264";
}
.ph-thin.ph-function:before {
  content: "\ebe4";
}
.ph-thin.ph-funnel:before {
  content: "\e266";
}
.ph-thin.ph-funnel-simple:before {
  content: "\e268";
}
.ph-thin.ph-funnel-simple-x:before {
  content: "\e26a";
}
.ph-thin.ph-funnel-x:before {
  content: "\e26c";
}
.ph-thin.ph-game-controller:before {
  content: "\e26e";
}
.ph-thin.ph-garage:before {
  content: "\ecd6";
}
.ph-thin.ph-gas-can:before {
  content: "\e8ce";
}
.ph-thin.ph-gas-pump:before {
  content: "\e768";
}
.ph-thin.ph-gauge:before {
  content: "\e628";
}
.ph-thin.ph-gavel:before {
  content: "\ea32";
}
.ph-thin.ph-gear:before {
  content: "\e270";
}
.ph-thin.ph-gear-fine:before {
  content: "\e87c";
}
.ph-thin.ph-gear-six:before {
  content: "\e272";
}
.ph-thin.ph-gender-female:before {
  content: "\e6e0";
}
.ph-thin.ph-gender-intersex:before {
  content: "\e6e6";
}
.ph-thin.ph-gender-male:before {
  content: "\e6e2";
}
.ph-thin.ph-gender-neuter:before {
  content: "\e6ea";
}
.ph-thin.ph-gender-nonbinary:before {
  content: "\e6e4";
}
.ph-thin.ph-gender-transgender:before {
  content: "\e6e8";
}
.ph-thin.ph-ghost:before {
  content: "\e62a";
}
.ph-thin.ph-gif:before {
  content: "\e274";
}
.ph-thin.ph-gift:before {
  content: "\e276";
}
.ph-thin.ph-git-branch:before {
  content: "\e278";
}
.ph-thin.ph-git-commit:before {
  content: "\e27a";
}
.ph-thin.ph-git-diff:before {
  content: "\e27c";
}
.ph-thin.ph-git-fork:before {
  content: "\e27e";
}
.ph-thin.ph-git-merge:before {
  content: "\e280";
}
.ph-thin.ph-git-pull-request:before {
  content: "\e282";
}
.ph-thin.ph-github-logo:before {
  content: "\e576";
}
.ph-thin.ph-gitlab-logo:before {
  content: "\e694";
}
.ph-thin.ph-gitlab-logo-simple:before {
  content: "\e696";
}
.ph-thin.ph-globe:before {
  content: "\e288";
}
.ph-thin.ph-globe-hemisphere-east:before {
  content: "\e28a";
}
.ph-thin.ph-globe-hemisphere-west:before {
  content: "\e28c";
}
.ph-thin.ph-globe-simple:before {
  content: "\e28e";
}
.ph-thin.ph-globe-simple-x:before {
  content: "\e284";
}
.ph-thin.ph-globe-stand:before {
  content: "\e290";
}
.ph-thin.ph-globe-x:before {
  content: "\e286";
}
.ph-thin.ph-goggles:before {
  content: "\ecb4";
}
.ph-thin.ph-golf:before {
  content: "\ea3e";
}
.ph-thin.ph-goodreads-logo:before {
  content: "\ed10";
}
.ph-thin.ph-google-cardboard-logo:before {
  content: "\e7b6";
}
.ph-thin.ph-google-chrome-logo:before {
  content: "\e976";
}
.ph-thin.ph-google-drive-logo:before {
  content: "\e8f6";
}
.ph-thin.ph-google-logo:before {
  content: "\e292";
}
.ph-thin.ph-google-photos-logo:before {
  content: "\eb92";
}
.ph-thin.ph-google-play-logo:before {
  content: "\e294";
}
.ph-thin.ph-google-podcasts-logo:before {
  content: "\eb94";
}
.ph-thin.ph-gps:before {
  content: "\edd8";
}
.ph-thin.ph-gps-fix:before {
  content: "\edd6";
}
.ph-thin.ph-gps-slash:before {
  content: "\edd4";
}
.ph-thin.ph-gradient:before {
  content: "\eb42";
}
.ph-thin.ph-graduation-cap:before {
  content: "\e62c";
}
.ph-thin.ph-grains:before {
  content: "\ec68";
}
.ph-thin.ph-grains-slash:before {
  content: "\ec6a";
}
.ph-thin.ph-graph:before {
  content: "\eb58";
}
.ph-thin.ph-graphics-card:before {
  content: "\e612";
}
.ph-thin.ph-greater-than:before {
  content: "\edc4";
}
.ph-thin.ph-greater-than-or-equal:before {
  content: "\eda2";
}
.ph-thin.ph-grid-four:before {
  content: "\e296";
}
.ph-thin.ph-grid-nine:before {
  content: "\ec8c";
}
.ph-thin.ph-guitar:before {
  content: "\ea8a";
}
.ph-thin.ph-hair-dryer:before {
  content: "\ea66";
}
.ph-thin.ph-hamburger:before {
  content: "\e790";
}
.ph-thin.ph-hammer:before {
  content: "\e80e";
}
.ph-thin.ph-hand:before {
  content: "\e298";
}
.ph-thin.ph-hand-arrow-down:before {
  content: "\ea4e";
}
.ph-thin.ph-hand-arrow-up:before {
  content: "\ee5a";
}
.ph-thin.ph-hand-coins:before {
  content: "\ea8c";
}
.ph-thin.ph-hand-deposit:before {
  content: "\ee82";
}
.ph-thin.ph-hand-eye:before {
  content: "\ea4c";
}
.ph-thin.ph-hand-fist:before {
  content: "\e57a";
}
.ph-thin.ph-hand-grabbing:before {
  content: "\e57c";
}
.ph-thin.ph-hand-heart:before {
  content: "\e810";
}
.ph-thin.ph-hand-palm:before {
  content: "\e57e";
}
.ph-thin.ph-hand-peace:before {
  content: "\e7cc";
}
.ph-thin.ph-hand-pointing:before {
  content: "\e29a";
}
.ph-thin.ph-hand-soap:before {
  content: "\e630";
}
.ph-thin.ph-hand-swipe-left:before {
  content: "\ec94";
}
.ph-thin.ph-hand-swipe-right:before {
  content: "\ec92";
}
.ph-thin.ph-hand-tap:before {
  content: "\ec90";
}
.ph-thin.ph-hand-waving:before {
  content: "\e580";
}
.ph-thin.ph-hand-withdraw:before {
  content: "\ee80";
}
.ph-thin.ph-handbag:before {
  content: "\e29c";
}
.ph-thin.ph-handbag-simple:before {
  content: "\e62e";
}
.ph-thin.ph-hands-clapping:before {
  content: "\e6a0";
}
.ph-thin.ph-hands-praying:before {
  content: "\ecc8";
}
.ph-thin.ph-handshake:before {
  content: "\e582";
}
.ph-thin.ph-hard-drive:before {
  content: "\e29e";
}
.ph-thin.ph-hard-drives:before {
  content: "\e2a0";
}
.ph-thin.ph-hard-hat:before {
  content: "\ed46";
}
.ph-thin.ph-hash:before {
  content: "\e2a2";
}
.ph-thin.ph-hash-straight:before {
  content: "\e2a4";
}
.ph-thin.ph-head-circuit:before {
  content: "\e7d4";
}
.ph-thin.ph-headlights:before {
  content: "\e6fe";
}
.ph-thin.ph-headphones:before {
  content: "\e2a6";
}
.ph-thin.ph-headset:before {
  content: "\e584";
}
.ph-thin.ph-heart:before {
  content: "\e2a8";
}
.ph-thin.ph-heart-break:before {
  content: "\ebe8";
}
.ph-thin.ph-heart-half:before {
  content: "\ec48";
}
.ph-thin.ph-heart-straight:before {
  content: "\e2aa";
}
.ph-thin.ph-heart-straight-break:before {
  content: "\eb98";
}
.ph-thin.ph-heartbeat:before {
  content: "\e2ac";
}
.ph-thin.ph-hexagon:before {
  content: "\e2ae";
}
.ph-thin.ph-high-definition:before {
  content: "\ea8e";
}
.ph-thin.ph-high-heel:before {
  content: "\e8e8";
}
.ph-thin.ph-highlighter:before {
  content: "\ec76";
}
.ph-thin.ph-highlighter-circle:before {
  content: "\e632";
}
.ph-thin.ph-hockey:before {
  content: "\ec86";
}
.ph-thin.ph-hoodie:before {
  content: "\ecd0";
}
.ph-thin.ph-horse:before {
  content: "\e2b0";
}
.ph-thin.ph-hospital:before {
  content: "\e844";
}
.ph-thin.ph-hourglass:before {
  content: "\e2b2";
}
.ph-thin.ph-hourglass-high:before {
  content: "\e2b4";
}
.ph-thin.ph-hourglass-low:before {
  content: "\e2b6";
}
.ph-thin.ph-hourglass-medium:before {
  content: "\e2b8";
}
.ph-thin.ph-hourglass-simple:before {
  content: "\e2ba";
}
.ph-thin.ph-hourglass-simple-high:before {
  content: "\e2bc";
}
.ph-thin.ph-hourglass-simple-low:before {
  content: "\e2be";
}
.ph-thin.ph-hourglass-simple-medium:before {
  content: "\e2c0";
}
.ph-thin.ph-house:before {
  content: "\e2c2";
}
.ph-thin.ph-house-line:before {
  content: "\e2c4";
}
.ph-thin.ph-house-simple:before {
  content: "\e2c6";
}
.ph-thin.ph-hurricane:before {
  content: "\e88e";
}
.ph-thin.ph-ice-cream:before {
  content: "\e804";
}
.ph-thin.ph-identification-badge:before {
  content: "\e6f6";
}
.ph-thin.ph-identification-card:before {
  content: "\e2c8";
}
.ph-thin.ph-image:before {
  content: "\e2ca";
}
.ph-thin.ph-image-broken:before {
  content: "\e7a8";
}
.ph-thin.ph-image-square:before {
  content: "\e2cc";
}
.ph-thin.ph-images:before {
  content: "\e836";
}
.ph-thin.ph-images-square:before {
  content: "\e834";
}
.ph-thin.ph-infinity:before {
  content: "\e634";
}
.ph-thin.ph-lemniscate:before {
  content: "\e634";
}
.ph-thin.ph-info:before {
  content: "\e2ce";
}
.ph-thin.ph-instagram-logo:before {
  content: "\e2d0";
}
.ph-thin.ph-intersect:before {
  content: "\e2d2";
}
.ph-thin.ph-intersect-square:before {
  content: "\e87a";
}
.ph-thin.ph-intersect-three:before {
  content: "\ecc4";
}
.ph-thin.ph-intersection:before {
  content: "\edba";
}
.ph-thin.ph-invoice:before {
  content: "\ee42";
}
.ph-thin.ph-island:before {
  content: "\ee06";
}
.ph-thin.ph-jar:before {
  content: "\e7e0";
}
.ph-thin.ph-jar-label:before {
  content: "\e7e1";
}
.ph-thin.ph-jeep:before {
  content: "\e2d4";
}
.ph-thin.ph-joystick:before {
  content: "\ea5e";
}
.ph-thin.ph-kanban:before {
  content: "\eb54";
}
.ph-thin.ph-key:before {
  content: "\e2d6";
}
.ph-thin.ph-key-return:before {
  content: "\e782";
}
.ph-thin.ph-keyboard:before {
  content: "\e2d8";
}
.ph-thin.ph-keyhole:before {
  content: "\ea78";
}
.ph-thin.ph-knife:before {
  content: "\e636";
}
.ph-thin.ph-ladder:before {
  content: "\e9e4";
}
.ph-thin.ph-ladder-simple:before {
  content: "\ec26";
}
.ph-thin.ph-lamp:before {
  content: "\e638";
}
.ph-thin.ph-lamp-pendant:before {
  content: "\ee2e";
}
.ph-thin.ph-laptop:before {
  content: "\e586";
}
.ph-thin.ph-lasso:before {
  content: "\edc6";
}
.ph-thin.ph-lastfm-logo:before {
  content: "\e842";
}
.ph-thin.ph-layout:before {
  content: "\e6d6";
}
.ph-thin.ph-leaf:before {
  content: "\e2da";
}
.ph-thin.ph-lectern:before {
  content: "\e95a";
}
.ph-thin.ph-lego:before {
  content: "\e8c6";
}
.ph-thin.ph-lego-smiley:before {
  content: "\e8c7";
}
.ph-thin.ph-less-than:before {
  content: "\edac";
}
.ph-thin.ph-less-than-or-equal:before {
  content: "\eda4";
}
.ph-thin.ph-letter-circle-h:before {
  content: "\ebf8";
}
.ph-thin.ph-letter-circle-p:before {
  content: "\ec08";
}
.ph-thin.ph-letter-circle-v:before {
  content: "\ec14";
}
.ph-thin.ph-lifebuoy:before {
  content: "\e63a";
}
.ph-thin.ph-lightbulb:before {
  content: "\e2dc";
}
.ph-thin.ph-lightbulb-filament:before {
  content: "\e63c";
}
.ph-thin.ph-lighthouse:before {
  content: "\e9f6";
}
.ph-thin.ph-lightning:before {
  content: "\e2de";
}
.ph-thin.ph-lightning-a:before {
  content: "\ea84";
}
.ph-thin.ph-lightning-slash:before {
  content: "\e2e0";
}
.ph-thin.ph-line-segment:before {
  content: "\e6d2";
}
.ph-thin.ph-line-segments:before {
  content: "\e6d4";
}
.ph-thin.ph-line-vertical:before {
  content: "\ed70";
}
.ph-thin.ph-link:before {
  content: "\e2e2";
}
.ph-thin.ph-link-break:before {
  content: "\e2e4";
}
.ph-thin.ph-link-simple:before {
  content: "\e2e6";
}
.ph-thin.ph-link-simple-break:before {
  content: "\e2e8";
}
.ph-thin.ph-link-simple-horizontal:before {
  content: "\e2ea";
}
.ph-thin.ph-link-simple-horizontal-break:before {
  content: "\e2ec";
}
.ph-thin.ph-linkedin-logo:before {
  content: "\e2ee";
}
.ph-thin.ph-linktree-logo:before {
  content: "\edee";
}
.ph-thin.ph-linux-logo:before {
  content: "\eb02";
}
.ph-thin.ph-list:before {
  content: "\e2f0";
}
.ph-thin.ph-list-bullets:before {
  content: "\e2f2";
}
.ph-thin.ph-list-checks:before {
  content: "\eadc";
}
.ph-thin.ph-list-dashes:before {
  content: "\e2f4";
}
.ph-thin.ph-list-heart:before {
  content: "\ebde";
}
.ph-thin.ph-list-magnifying-glass:before {
  content: "\ebe0";
}
.ph-thin.ph-list-numbers:before {
  content: "\e2f6";
}
.ph-thin.ph-list-plus:before {
  content: "\e2f8";
}
.ph-thin.ph-list-star:before {
  content: "\ebdc";
}
.ph-thin.ph-lock:before {
  content: "\e2fa";
}
.ph-thin.ph-lock-key:before {
  content: "\e2fe";
}
.ph-thin.ph-lock-key-open:before {
  content: "\e300";
}
.ph-thin.ph-lock-laminated:before {
  content: "\e302";
}
.ph-thin.ph-lock-laminated-open:before {
  content: "\e304";
}
.ph-thin.ph-lock-open:before {
  content: "\e306";
}
.ph-thin.ph-lock-simple:before {
  content: "\e308";
}
.ph-thin.ph-lock-simple-open:before {
  content: "\e30a";
}
.ph-thin.ph-lockers:before {
  content: "\ecb8";
}
.ph-thin.ph-log:before {
  content: "\ed82";
}
.ph-thin.ph-magic-wand:before {
  content: "\e6b6";
}
.ph-thin.ph-magnet:before {
  content: "\e680";
}
.ph-thin.ph-magnet-straight:before {
  content: "\e682";
}
.ph-thin.ph-magnifying-glass:before {
  content: "\e30c";
}
.ph-thin.ph-magnifying-glass-minus:before {
  content: "\e30e";
}
.ph-thin.ph-magnifying-glass-plus:before {
  content: "\e310";
}
.ph-thin.ph-mailbox:before {
  content: "\ec1e";
}
.ph-thin.ph-map-pin:before {
  content: "\e316";
}
.ph-thin.ph-map-pin-area:before {
  content: "\ee3a";
}
.ph-thin.ph-map-pin-line:before {
  content: "\e318";
}
.ph-thin.ph-map-pin-plus:before {
  content: "\e314";
}
.ph-thin.ph-map-pin-simple:before {
  content: "\ee3e";
}
.ph-thin.ph-map-pin-simple-area:before {
  content: "\ee3c";
}
.ph-thin.ph-map-pin-simple-line:before {
  content: "\ee38";
}
.ph-thin.ph-map-trifold:before {
  content: "\e31a";
}
.ph-thin.ph-markdown-logo:before {
  content: "\e508";
}
.ph-thin.ph-marker-circle:before {
  content: "\e640";
}
.ph-thin.ph-martini:before {
  content: "\e31c";
}
.ph-thin.ph-mask-happy:before {
  content: "\e9f4";
}
.ph-thin.ph-mask-sad:before {
  content: "\eb9e";
}
.ph-thin.ph-mastodon-logo:before {
  content: "\ed68";
}
.ph-thin.ph-math-operations:before {
  content: "\e31e";
}
.ph-thin.ph-matrix-logo:before {
  content: "\ed64";
}
.ph-thin.ph-medal:before {
  content: "\e320";
}
.ph-thin.ph-medal-military:before {
  content: "\ecfc";
}
.ph-thin.ph-medium-logo:before {
  content: "\e322";
}
.ph-thin.ph-megaphone:before {
  content: "\e324";
}
.ph-thin.ph-megaphone-simple:before {
  content: "\e642";
}
.ph-thin.ph-member-of:before {
  content: "\edc2";
}
.ph-thin.ph-memory:before {
  content: "\e9c4";
}
.ph-thin.ph-messenger-logo:before {
  content: "\e6d8";
}
.ph-thin.ph-meta-logo:before {
  content: "\ed02";
}
.ph-thin.ph-meteor:before {
  content: "\e9ba";
}
.ph-thin.ph-metronome:before {
  content: "\ec8e";
}
.ph-thin.ph-microphone:before {
  content: "\e326";
}
.ph-thin.ph-microphone-slash:before {
  content: "\e328";
}
.ph-thin.ph-microphone-stage:before {
  content: "\e75c";
}
.ph-thin.ph-microscope:before {
  content: "\ec7a";
}
.ph-thin.ph-microsoft-excel-logo:before {
  content: "\eb6c";
}
.ph-thin.ph-microsoft-outlook-logo:before {
  content: "\eb70";
}
.ph-thin.ph-microsoft-powerpoint-logo:before {
  content: "\eace";
}
.ph-thin.ph-microsoft-teams-logo:before {
  content: "\eb66";
}
.ph-thin.ph-microsoft-word-logo:before {
  content: "\eb6a";
}
.ph-thin.ph-minus:before {
  content: "\e32a";
}
.ph-thin.ph-minus-circle:before {
  content: "\e32c";
}
.ph-thin.ph-minus-square:before {
  content: "\ed4c";
}
.ph-thin.ph-money:before {
  content: "\e588";
}
.ph-thin.ph-money-wavy:before {
  content: "\ee68";
}
.ph-thin.ph-monitor:before {
  content: "\e32e";
}
.ph-thin.ph-monitor-arrow-up:before {
  content: "\e58a";
}
.ph-thin.ph-monitor-play:before {
  content: "\e58c";
}
.ph-thin.ph-moon:before {
  content: "\e330";
}
.ph-thin.ph-moon-stars:before {
  content: "\e58e";
}
.ph-thin.ph-moped:before {
  content: "\e824";
}
.ph-thin.ph-moped-front:before {
  content: "\e822";
}
.ph-thin.ph-mosque:before {
  content: "\ecee";
}
.ph-thin.ph-motorcycle:before {
  content: "\e80a";
}
.ph-thin.ph-mountains:before {
  content: "\e7ae";
}
.ph-thin.ph-mouse:before {
  content: "\e33a";
}
.ph-thin.ph-mouse-left-click:before {
  content: "\e334";
}
.ph-thin.ph-mouse-middle-click:before {
  content: "\e338";
}
.ph-thin.ph-mouse-right-click:before {
  content: "\e336";
}
.ph-thin.ph-mouse-scroll:before {
  content: "\e332";
}
.ph-thin.ph-mouse-simple:before {
  content: "\e644";
}
.ph-thin.ph-music-note:before {
  content: "\e33c";
}
.ph-thin.ph-music-note-simple:before {
  content: "\e33e";
}
.ph-thin.ph-music-notes:before {
  content: "\e340";
}
.ph-thin.ph-music-notes-minus:before {
  content: "\ee0c";
}
.ph-thin.ph-music-notes-plus:before {
  content: "\eb7c";
}
.ph-thin.ph-music-notes-simple:before {
  content: "\e342";
}
.ph-thin.ph-navigation-arrow:before {
  content: "\eade";
}
.ph-thin.ph-needle:before {
  content: "\e82e";
}
.ph-thin.ph-network:before {
  content: "\edde";
}
.ph-thin.ph-network-slash:before {
  content: "\eddc";
}
.ph-thin.ph-network-x:before {
  content: "\edda";
}
.ph-thin.ph-newspaper:before {
  content: "\e344";
}
.ph-thin.ph-newspaper-clipping:before {
  content: "\e346";
}
.ph-thin.ph-not-equals:before {
  content: "\eda6";
}
.ph-thin.ph-not-member-of:before {
  content: "\edae";
}
.ph-thin.ph-not-subset-of:before {
  content: "\edb0";
}
.ph-thin.ph-not-superset-of:before {
  content: "\edb2";
}
.ph-thin.ph-notches:before {
  content: "\ed3a";
}
.ph-thin.ph-note:before {
  content: "\e348";
}
.ph-thin.ph-note-blank:before {
  content: "\e34a";
}
.ph-thin.ph-note-pencil:before {
  content: "\e34c";
}
.ph-thin.ph-notebook:before {
  content: "\e34e";
}
.ph-thin.ph-notepad:before {
  content: "\e63e";
}
.ph-thin.ph-notification:before {
  content: "\e6fa";
}
.ph-thin.ph-notion-logo:before {
  content: "\e9a0";
}
.ph-thin.ph-nuclear-plant:before {
  content: "\ed7c";
}
.ph-thin.ph-number-circle-eight:before {
  content: "\e352";
}
.ph-thin.ph-number-circle-five:before {
  content: "\e358";
}
.ph-thin.ph-number-circle-four:before {
  content: "\e35e";
}
.ph-thin.ph-number-circle-nine:before {
  content: "\e364";
}
.ph-thin.ph-number-circle-one:before {
  content: "\e36a";
}
.ph-thin.ph-number-circle-seven:before {
  content: "\e370";
}
.ph-thin.ph-number-circle-six:before {
  content: "\e376";
}
.ph-thin.ph-number-circle-three:before {
  content: "\e37c";
}
.ph-thin.ph-number-circle-two:before {
  content: "\e382";
}
.ph-thin.ph-number-circle-zero:before {
  content: "\e388";
}
.ph-thin.ph-number-eight:before {
  content: "\e350";
}
.ph-thin.ph-number-five:before {
  content: "\e356";
}
.ph-thin.ph-number-four:before {
  content: "\e35c";
}
.ph-thin.ph-number-nine:before {
  content: "\e362";
}
.ph-thin.ph-number-one:before {
  content: "\e368";
}
.ph-thin.ph-number-seven:before {
  content: "\e36e";
}
.ph-thin.ph-number-six:before {
  content: "\e374";
}
.ph-thin.ph-number-square-eight:before {
  content: "\e354";
}
.ph-thin.ph-number-square-five:before {
  content: "\e35a";
}
.ph-thin.ph-number-square-four:before {
  content: "\e360";
}
.ph-thin.ph-number-square-nine:before {
  content: "\e366";
}
.ph-thin.ph-number-square-one:before {
  content: "\e36c";
}
.ph-thin.ph-number-square-seven:before {
  content: "\e372";
}
.ph-thin.ph-number-square-six:before {
  content: "\e378";
}
.ph-thin.ph-number-square-three:before {
  content: "\e37e";
}
.ph-thin.ph-number-square-two:before {
  content: "\e384";
}
.ph-thin.ph-number-square-zero:before {
  content: "\e38a";
}
.ph-thin.ph-number-three:before {
  content: "\e37a";
}
.ph-thin.ph-number-two:before {
  content: "\e380";
}
.ph-thin.ph-number-zero:before {
  content: "\e386";
}
.ph-thin.ph-numpad:before {
  content: "\e3c8";
}
.ph-thin.ph-nut:before {
  content: "\e38c";
}
.ph-thin.ph-ny-times-logo:before {
  content: "\e646";
}
.ph-thin.ph-octagon:before {
  content: "\e38e";
}
.ph-thin.ph-office-chair:before {
  content: "\ea46";
}
.ph-thin.ph-onigiri:before {
  content: "\ee2c";
}
.ph-thin.ph-open-ai-logo:before {
  content: "\e7d2";
}
.ph-thin.ph-option:before {
  content: "\e8a8";
}
.ph-thin.ph-orange:before {
  content: "\ee40";
}
.ph-thin.ph-orange-slice:before {
  content: "\ed36";
}
.ph-thin.ph-oven:before {
  content: "\ed8c";
}
.ph-thin.ph-package:before {
  content: "\e390";
}
.ph-thin.ph-paint-brush:before {
  content: "\e6f0";
}
.ph-thin.ph-paint-brush-broad:before {
  content: "\e590";
}
.ph-thin.ph-paint-brush-household:before {
  content: "\e6f2";
}
.ph-thin.ph-paint-bucket:before {
  content: "\e392";
}
.ph-thin.ph-paint-roller:before {
  content: "\e6f4";
}
.ph-thin.ph-palette:before {
  content: "\e6c8";
}
.ph-thin.ph-panorama:before {
  content: "\eaa2";
}
.ph-thin.ph-pants:before {
  content: "\ec88";
}
.ph-thin.ph-paper-plane:before {
  content: "\e394";
}
.ph-thin.ph-paper-plane-right:before {
  content: "\e396";
}
.ph-thin.ph-paper-plane-tilt:before {
  content: "\e398";
}
.ph-thin.ph-paperclip:before {
  content: "\e39a";
}
.ph-thin.ph-paperclip-horizontal:before {
  content: "\e592";
}
.ph-thin.ph-parachute:before {
  content: "\ea7c";
}
.ph-thin.ph-paragraph:before {
  content: "\e960";
}
.ph-thin.ph-parallelogram:before {
  content: "\ecc6";
}
.ph-thin.ph-park:before {
  content: "\ecb2";
}
.ph-thin.ph-password:before {
  content: "\e752";
}
.ph-thin.ph-path:before {
  content: "\e39c";
}
.ph-thin.ph-patreon-logo:before {
  content: "\e98a";
}
.ph-thin.ph-pause:before {
  content: "\e39e";
}
.ph-thin.ph-pause-circle:before {
  content: "\e3a0";
}
.ph-thin.ph-paw-print:before {
  content: "\e648";
}
.ph-thin.ph-paypal-logo:before {
  content: "\e98c";
}
.ph-thin.ph-peace:before {
  content: "\e3a2";
}
.ph-thin.ph-pen:before {
  content: "\e3aa";
}
.ph-thin.ph-pen-nib:before {
  content: "\e3ac";
}
.ph-thin.ph-pen-nib-straight:before {
  content: "\e64a";
}
.ph-thin.ph-pencil:before {
  content: "\e3ae";
}
.ph-thin.ph-pencil-circle:before {
  content: "\e3b0";
}
.ph-thin.ph-pencil-line:before {
  content: "\e3b2";
}
.ph-thin.ph-pencil-ruler:before {
  content: "\e906";
}
.ph-thin.ph-pencil-simple:before {
  content: "\e3b4";
}
.ph-thin.ph-pencil-simple-line:before {
  content: "\ebc6";
}
.ph-thin.ph-pencil-simple-slash:before {
  content: "\ecf6";
}
.ph-thin.ph-pencil-slash:before {
  content: "\ecf8";
}
.ph-thin.ph-pentagon:before {
  content: "\ec7e";
}
.ph-thin.ph-pentagram:before {
  content: "\ec5c";
}
.ph-thin.ph-pepper:before {
  content: "\e94a";
}
.ph-thin.ph-percent:before {
  content: "\e3b6";
}
.ph-thin.ph-person:before {
  content: "\e3a8";
}
.ph-thin.ph-person-arms-spread:before {
  content: "\ecfe";
}
.ph-thin.ph-person-simple:before {
  content: "\e72e";
}
.ph-thin.ph-person-simple-bike:before {
  content: "\e734";
}
.ph-thin.ph-person-simple-circle:before {
  content: "\ee58";
}
.ph-thin.ph-person-simple-hike:before {
  content: "\ed54";
}
.ph-thin.ph-person-simple-run:before {
  content: "\e730";
}
.ph-thin.ph-person-simple-ski:before {
  content: "\e71c";
}
.ph-thin.ph-person-simple-snowboard:before {
  content: "\e71e";
}
.ph-thin.ph-person-simple-swim:before {
  content: "\e736";
}
.ph-thin.ph-person-simple-tai-chi:before {
  content: "\ed5c";
}
.ph-thin.ph-person-simple-throw:before {
  content: "\e732";
}
.ph-thin.ph-person-simple-walk:before {
  content: "\e73a";
}
.ph-thin.ph-perspective:before {
  content: "\ebe6";
}
.ph-thin.ph-phone:before {
  content: "\e3b8";
}
.ph-thin.ph-phone-call:before {
  content: "\e3ba";
}
.ph-thin.ph-phone-disconnect:before {
  content: "\e3bc";
}
.ph-thin.ph-phone-incoming:before {
  content: "\e3be";
}
.ph-thin.ph-phone-list:before {
  content: "\e3cc";
}
.ph-thin.ph-phone-outgoing:before {
  content: "\e3c0";
}
.ph-thin.ph-phone-pause:before {
  content: "\e3ca";
}
.ph-thin.ph-phone-plus:before {
  content: "\ec56";
}
.ph-thin.ph-phone-slash:before {
  content: "\e3c2";
}
.ph-thin.ph-phone-transfer:before {
  content: "\e3c6";
}
.ph-thin.ph-phone-x:before {
  content: "\e3c4";
}
.ph-thin.ph-phosphor-logo:before {
  content: "\e3ce";
}
.ph-thin.ph-pi:before {
  content: "\ec80";
}
.ph-thin.ph-piano-keys:before {
  content: "\e9c8";
}
.ph-thin.ph-picnic-table:before {
  content: "\ee26";
}
.ph-thin.ph-picture-in-picture:before {
  content: "\e64c";
}
.ph-thin.ph-piggy-bank:before {
  content: "\ea04";
}
.ph-thin.ph-pill:before {
  content: "\e700";
}
.ph-thin.ph-ping-pong:before {
  content: "\ea42";
}
.ph-thin.ph-pint-glass:before {
  content: "\edd0";
}
.ph-thin.ph-pinterest-logo:before {
  content: "\e64e";
}
.ph-thin.ph-pinwheel:before {
  content: "\eb9c";
}
.ph-thin.ph-pipe:before {
  content: "\ed86";
}
.ph-thin.ph-pipe-wrench:before {
  content: "\ed88";
}
.ph-thin.ph-pix-logo:before {
  content: "\ecc2";
}
.ph-thin.ph-pizza:before {
  content: "\e796";
}
.ph-thin.ph-placeholder:before {
  content: "\e650";
}
.ph-thin.ph-planet:before {
  content: "\e652";
}
.ph-thin.ph-plant:before {
  content: "\ebae";
}
.ph-thin.ph-play:before {
  content: "\e3d0";
}
.ph-thin.ph-play-circle:before {
  content: "\e3d2";
}
.ph-thin.ph-play-pause:before {
  content: "\e8be";
}
.ph-thin.ph-playlist:before {
  content: "\e6aa";
}
.ph-thin.ph-plug:before {
  content: "\e946";
}
.ph-thin.ph-plug-charging:before {
  content: "\eb5c";
}
.ph-thin.ph-plugs:before {
  content: "\eb56";
}
.ph-thin.ph-plugs-connected:before {
  content: "\eb5a";
}
.ph-thin.ph-plus:before {
  content: "\e3d4";
}
.ph-thin.ph-plus-circle:before {
  content: "\e3d6";
}
.ph-thin.ph-plus-minus:before {
  content: "\e3d8";
}
.ph-thin.ph-plus-square:before {
  content: "\ed4a";
}
.ph-thin.ph-poker-chip:before {
  content: "\e594";
}
.ph-thin.ph-police-car:before {
  content: "\ec4a";
}
.ph-thin.ph-polygon:before {
  content: "\e6d0";
}
.ph-thin.ph-popcorn:before {
  content: "\eb4e";
}
.ph-thin.ph-popsicle:before {
  content: "\ebbe";
}
.ph-thin.ph-potted-plant:before {
  content: "\ec22";
}
.ph-thin.ph-power:before {
  content: "\e3da";
}
.ph-thin.ph-prescription:before {
  content: "\e7a2";
}
.ph-thin.ph-presentation:before {
  content: "\e654";
}
.ph-thin.ph-presentation-chart:before {
  content: "\e656";
}
.ph-thin.ph-printer:before {
  content: "\e3dc";
}
.ph-thin.ph-prohibit:before {
  content: "\e3de";
}
.ph-thin.ph-prohibit-inset:before {
  content: "\e3e0";
}
.ph-thin.ph-projector-screen:before {
  content: "\e658";
}
.ph-thin.ph-projector-screen-chart:before {
  content: "\e65a";
}
.ph-thin.ph-pulse:before {
  content: "\e000";
}
.ph-thin.ph-activity:before {
  content: "\e000";
}
.ph-thin.ph-push-pin:before {
  content: "\e3e2";
}
.ph-thin.ph-push-pin-simple:before {
  content: "\e65c";
}
.ph-thin.ph-push-pin-simple-slash:before {
  content: "\e65e";
}
.ph-thin.ph-push-pin-slash:before {
  content: "\e3e4";
}
.ph-thin.ph-puzzle-piece:before {
  content: "\e596";
}
.ph-thin.ph-qr-code:before {
  content: "\e3e6";
}
.ph-thin.ph-question:before {
  content: "\e3e8";
}
.ph-thin.ph-question-mark:before {
  content: "\e3e9";
}
.ph-thin.ph-queue:before {
  content: "\e6ac";
}
.ph-thin.ph-quotes:before {
  content: "\e660";
}
.ph-thin.ph-rabbit:before {
  content: "\eac2";
}
.ph-thin.ph-racquet:before {
  content: "\ee02";
}
.ph-thin.ph-radical:before {
  content: "\e3ea";
}
.ph-thin.ph-radio:before {
  content: "\e77e";
}
.ph-thin.ph-radio-button:before {
  content: "\eb08";
}
.ph-thin.ph-radioactive:before {
  content: "\e9dc";
}
.ph-thin.ph-rainbow:before {
  content: "\e598";
}
.ph-thin.ph-rainbow-cloud:before {
  content: "\e59a";
}
.ph-thin.ph-ranking:before {
  content: "\ed62";
}
.ph-thin.ph-read-cv-logo:before {
  content: "\ed0c";
}
.ph-thin.ph-receipt:before {
  content: "\e3ec";
}
.ph-thin.ph-receipt-x:before {
  content: "\ed40";
}
.ph-thin.ph-record:before {
  content: "\e3ee";
}
.ph-thin.ph-rectangle:before {
  content: "\e3f0";
}
.ph-thin.ph-rectangle-dashed:before {
  content: "\e3f2";
}
.ph-thin.ph-recycle:before {
  content: "\e75a";
}
.ph-thin.ph-reddit-logo:before {
  content: "\e59c";
}
.ph-thin.ph-repeat:before {
  content: "\e3f6";
}
.ph-thin.ph-repeat-once:before {
  content: "\e3f8";
}
.ph-thin.ph-replit-logo:before {
  content: "\eb8a";
}
.ph-thin.ph-resize:before {
  content: "\ed6e";
}
.ph-thin.ph-rewind:before {
  content: "\e6a8";
}
.ph-thin.ph-rewind-circle:before {
  content: "\e3fa";
}
.ph-thin.ph-road-horizon:before {
  content: "\e838";
}
.ph-thin.ph-robot:before {
  content: "\e762";
}
.ph-thin.ph-rocket:before {
  content: "\e3fc";
}
.ph-thin.ph-rocket-launch:before {
  content: "\e3fe";
}
.ph-thin.ph-rows:before {
  content: "\e5a2";
}
.ph-thin.ph-rows-plus-bottom:before {
  content: "\e59e";
}
.ph-thin.ph-rows-plus-top:before {
  content: "\e5a0";
}
.ph-thin.ph-rss:before {
  content: "\e400";
}
.ph-thin.ph-rss-simple:before {
  content: "\e402";
}
.ph-thin.ph-rug:before {
  content: "\ea1a";
}
.ph-thin.ph-ruler:before {
  content: "\e6b8";
}
.ph-thin.ph-sailboat:before {
  content: "\e78a";
}
.ph-thin.ph-scales:before {
  content: "\e750";
}
.ph-thin.ph-scan:before {
  content: "\ebb6";
}
.ph-thin.ph-scan-smiley:before {
  content: "\ebb4";
}
.ph-thin.ph-scissors:before {
  content: "\eae0";
}
.ph-thin.ph-scooter:before {
  content: "\e820";
}
.ph-thin.ph-screencast:before {
  content: "\e404";
}
.ph-thin.ph-screwdriver:before {
  content: "\e86e";
}
.ph-thin.ph-scribble:before {
  content: "\e806";
}
.ph-thin.ph-scribble-loop:before {
  content: "\e662";
}
.ph-thin.ph-scroll:before {
  content: "\eb7a";
}
.ph-thin.ph-seal:before {
  content: "\e604";
}
.ph-thin.ph-circle-wavy:before {
  content: "\e604";
}
.ph-thin.ph-seal-check:before {
  content: "\e606";
}
.ph-thin.ph-circle-wavy-check:before {
  content: "\e606";
}
.ph-thin.ph-seal-percent:before {
  content: "\e60a";
}
.ph-thin.ph-seal-question:before {
  content: "\e608";
}
.ph-thin.ph-circle-wavy-question:before {
  content: "\e608";
}
.ph-thin.ph-seal-warning:before {
  content: "\e60c";
}
.ph-thin.ph-circle-wavy-warning:before {
  content: "\e60c";
}
.ph-thin.ph-seat:before {
  content: "\eb8e";
}
.ph-thin.ph-seatbelt:before {
  content: "\edfe";
}
.ph-thin.ph-security-camera:before {
  content: "\eca4";
}
.ph-thin.ph-selection:before {
  content: "\e69a";
}
.ph-thin.ph-selection-all:before {
  content: "\e746";
}
.ph-thin.ph-selection-background:before {
  content: "\eaf8";
}
.ph-thin.ph-selection-foreground:before {
  content: "\eaf6";
}
.ph-thin.ph-selection-inverse:before {
  content: "\e744";
}
.ph-thin.ph-selection-plus:before {
  content: "\e69c";
}
.ph-thin.ph-selection-slash:before {
  content: "\e69e";
}
.ph-thin.ph-shapes:before {
  content: "\ec5e";
}
.ph-thin.ph-share:before {
  content: "\e406";
}
.ph-thin.ph-share-fat:before {
  content: "\ed52";
}
.ph-thin.ph-share-network:before {
  content: "\e408";
}
.ph-thin.ph-shield:before {
  content: "\e40a";
}
.ph-thin.ph-shield-check:before {
  content: "\e40c";
}
.ph-thin.ph-shield-checkered:before {
  content: "\e708";
}
.ph-thin.ph-shield-chevron:before {
  content: "\e40e";
}
.ph-thin.ph-shield-plus:before {
  content: "\e706";
}
.ph-thin.ph-shield-slash:before {
  content: "\e410";
}
.ph-thin.ph-shield-star:before {
  content: "\ec34";
}
.ph-thin.ph-shield-warning:before {
  content: "\e412";
}
.ph-thin.ph-shipping-container:before {
  content: "\e78c";
}
.ph-thin.ph-shirt-folded:before {
  content: "\ea92";
}
.ph-thin.ph-shooting-star:before {
  content: "\ecfa";
}
.ph-thin.ph-shopping-bag:before {
  content: "\e416";
}
.ph-thin.ph-shopping-bag-open:before {
  content: "\e418";
}
.ph-thin.ph-shopping-cart:before {
  content: "\e41e";
}
.ph-thin.ph-shopping-cart-simple:before {
  content: "\e420";
}
.ph-thin.ph-shovel:before {
  content: "\e9e6";
}
.ph-thin.ph-shower:before {
  content: "\e776";
}
.ph-thin.ph-shrimp:before {
  content: "\eab4";
}
.ph-thin.ph-shuffle:before {
  content: "\e422";
}
.ph-thin.ph-shuffle-angular:before {
  content: "\e424";
}
.ph-thin.ph-shuffle-simple:before {
  content: "\e426";
}
.ph-thin.ph-sidebar:before {
  content: "\eab6";
}
.ph-thin.ph-sidebar-simple:before {
  content: "\ec24";
}
.ph-thin.ph-sigma:before {
  content: "\eab8";
}
.ph-thin.ph-sign-in:before {
  content: "\e428";
}
.ph-thin.ph-sign-out:before {
  content: "\e42a";
}
.ph-thin.ph-signature:before {
  content: "\ebac";
}
.ph-thin.ph-signpost:before {
  content: "\e89c";
}
.ph-thin.ph-sim-card:before {
  content: "\e664";
}
.ph-thin.ph-siren:before {
  content: "\e9b8";
}
.ph-thin.ph-sketch-logo:before {
  content: "\e42c";
}
.ph-thin.ph-skip-back:before {
  content: "\e5a4";
}
.ph-thin.ph-skip-back-circle:before {
  content: "\e42e";
}
.ph-thin.ph-skip-forward:before {
  content: "\e5a6";
}
.ph-thin.ph-skip-forward-circle:before {
  content: "\e430";
}
.ph-thin.ph-skull:before {
  content: "\e916";
}
.ph-thin.ph-skype-logo:before {
  content: "\e8dc";
}
.ph-thin.ph-slack-logo:before {
  content: "\e5a8";
}
.ph-thin.ph-sliders:before {
  content: "\e432";
}
.ph-thin.ph-sliders-horizontal:before {
  content: "\e434";
}
.ph-thin.ph-slideshow:before {
  content: "\ed32";
}
.ph-thin.ph-smiley:before {
  content: "\e436";
}
.ph-thin.ph-smiley-angry:before {
  content: "\ec62";
}
.ph-thin.ph-smiley-blank:before {
  content: "\e438";
}
.ph-thin.ph-smiley-meh:before {
  content: "\e43a";
}
.ph-thin.ph-smiley-melting:before {
  content: "\ee56";
}
.ph-thin.ph-smiley-nervous:before {
  content: "\e43c";
}
.ph-thin.ph-smiley-sad:before {
  content: "\e43e";
}
.ph-thin.ph-smiley-sticker:before {
  content: "\e440";
}
.ph-thin.ph-smiley-wink:before {
  content: "\e666";
}
.ph-thin.ph-smiley-x-eyes:before {
  content: "\e442";
}
.ph-thin.ph-snapchat-logo:before {
  content: "\e668";
}
.ph-thin.ph-sneaker:before {
  content: "\e80c";
}
.ph-thin.ph-sneaker-move:before {
  content: "\ed60";
}
.ph-thin.ph-snowflake:before {
  content: "\e5aa";
}
.ph-thin.ph-soccer-ball:before {
  content: "\e716";
}
.ph-thin.ph-sock:before {
  content: "\ecce";
}
.ph-thin.ph-solar-panel:before {
  content: "\ed7a";
}
.ph-thin.ph-solar-roof:before {
  content: "\ed7b";
}
.ph-thin.ph-sort-ascending:before {
  content: "\e444";
}
.ph-thin.ph-sort-descending:before {
  content: "\e446";
}
.ph-thin.ph-soundcloud-logo:before {
  content: "\e8de";
}
.ph-thin.ph-spade:before {
  content: "\e448";
}
.ph-thin.ph-sparkle:before {
  content: "\e6a2";
}
.ph-thin.ph-speaker-hifi:before {
  content: "\ea08";
}
.ph-thin.ph-speaker-high:before {
  content: "\e44a";
}
.ph-thin.ph-speaker-low:before {
  content: "\e44c";
}
.ph-thin.ph-speaker-none:before {
  content: "\e44e";
}
.ph-thin.ph-speaker-simple-high:before {
  content: "\e450";
}
.ph-thin.ph-speaker-simple-low:before {
  content: "\e452";
}
.ph-thin.ph-speaker-simple-none:before {
  content: "\e454";
}
.ph-thin.ph-speaker-simple-slash:before {
  content: "\e456";
}
.ph-thin.ph-speaker-simple-x:before {
  content: "\e458";
}
.ph-thin.ph-speaker-slash:before {
  content: "\e45a";
}
.ph-thin.ph-speaker-x:before {
  content: "\e45c";
}
.ph-thin.ph-speedometer:before {
  content: "\ee74";
}
.ph-thin.ph-sphere:before {
  content: "\ee66";
}
.ph-thin.ph-spinner:before {
  content: "\e66a";
}
.ph-thin.ph-spinner-ball:before {
  content: "\ee28";
}
.ph-thin.ph-spinner-gap:before {
  content: "\e66c";
}
.ph-thin.ph-spiral:before {
  content: "\e9fa";
}
.ph-thin.ph-split-horizontal:before {
  content: "\e872";
}
.ph-thin.ph-split-vertical:before {
  content: "\e876";
}
.ph-thin.ph-spotify-logo:before {
  content: "\e66e";
}
.ph-thin.ph-spray-bottle:before {
  content: "\e7e4";
}
.ph-thin.ph-square:before {
  content: "\e45e";
}
.ph-thin.ph-square-half:before {
  content: "\e462";
}
.ph-thin.ph-square-half-bottom:before {
  content: "\eb16";
}
.ph-thin.ph-square-logo:before {
  content: "\e690";
}
.ph-thin.ph-square-split-horizontal:before {
  content: "\e870";
}
.ph-thin.ph-square-split-vertical:before {
  content: "\e874";
}
.ph-thin.ph-squares-four:before {
  content: "\e464";
}
.ph-thin.ph-stack:before {
  content: "\e466";
}
.ph-thin.ph-stack-minus:before {
  content: "\edf4";
}
.ph-thin.ph-stack-overflow-logo:before {
  content: "\eb78";
}
.ph-thin.ph-stack-plus:before {
  content: "\edf6";
}
.ph-thin.ph-stack-simple:before {
  content: "\e468";
}
.ph-thin.ph-stairs:before {
  content: "\e8ec";
}
.ph-thin.ph-stamp:before {
  content: "\ea48";
}
.ph-thin.ph-standard-definition:before {
  content: "\ea90";
}
.ph-thin.ph-star:before {
  content: "\e46a";
}
.ph-thin.ph-star-and-crescent:before {
  content: "\ecf4";
}
.ph-thin.ph-star-four:before {
  content: "\e6a4";
}
.ph-thin.ph-star-half:before {
  content: "\e70a";
}
.ph-thin.ph-star-of-david:before {
  content: "\e89e";
}
.ph-thin.ph-steam-logo:before {
  content: "\ead4";
}
.ph-thin.ph-steering-wheel:before {
  content: "\e9ac";
}
.ph-thin.ph-steps:before {
  content: "\ecbe";
}
.ph-thin.ph-stethoscope:before {
  content: "\e7ea";
}
.ph-thin.ph-sticker:before {
  content: "\e5ac";
}
.ph-thin.ph-stool:before {
  content: "\ea44";
}
.ph-thin.ph-stop:before {
  content: "\e46c";
}
.ph-thin.ph-stop-circle:before {
  content: "\e46e";
}
.ph-thin.ph-storefront:before {
  content: "\e470";
}
.ph-thin.ph-strategy:before {
  content: "\ea3a";
}
.ph-thin.ph-stripe-logo:before {
  content: "\e698";
}
.ph-thin.ph-student:before {
  content: "\e73e";
}
.ph-thin.ph-subset-of:before {
  content: "\edc0";
}
.ph-thin.ph-subset-proper-of:before {
  content: "\edb6";
}
.ph-thin.ph-subtitles:before {
  content: "\e1a8";
}
.ph-thin.ph-subtitles-slash:before {
  content: "\e1a6";
}
.ph-thin.ph-subtract:before {
  content: "\ebd6";
}
.ph-thin.ph-subtract-square:before {
  content: "\ebd4";
}
.ph-thin.ph-subway:before {
  content: "\e498";
}
.ph-thin.ph-suitcase:before {
  content: "\e5ae";
}
.ph-thin.ph-suitcase-rolling:before {
  content: "\e9b0";
}
.ph-thin.ph-suitcase-simple:before {
  content: "\e5b0";
}
.ph-thin.ph-sun:before {
  content: "\e472";
}
.ph-thin.ph-sun-dim:before {
  content: "\e474";
}
.ph-thin.ph-sun-horizon:before {
  content: "\e5b6";
}
.ph-thin.ph-sunglasses:before {
  content: "\e816";
}
.ph-thin.ph-superset-of:before {
  content: "\edb8";
}
.ph-thin.ph-superset-proper-of:before {
  content: "\edb4";
}
.ph-thin.ph-swap:before {
  content: "\e83c";
}
.ph-thin.ph-swatches:before {
  content: "\e5b8";
}
.ph-thin.ph-swimming-pool:before {
  content: "\ecb6";
}
.ph-thin.ph-sword:before {
  content: "\e5ba";
}
.ph-thin.ph-synagogue:before {
  content: "\ecec";
}
.ph-thin.ph-syringe:before {
  content: "\e968";
}
.ph-thin.ph-t-shirt:before {
  content: "\e670";
}
.ph-thin.ph-table:before {
  content: "\e476";
}
.ph-thin.ph-tabs:before {
  content: "\e778";
}
.ph-thin.ph-tag:before {
  content: "\e478";
}
.ph-thin.ph-tag-chevron:before {
  content: "\e672";
}
.ph-thin.ph-tag-simple:before {
  content: "\e47a";
}
.ph-thin.ph-target:before {
  content: "\e47c";
}
.ph-thin.ph-taxi:before {
  content: "\e902";
}
.ph-thin.ph-tea-bag:before {
  content: "\e8e6";
}
.ph-thin.ph-telegram-logo:before {
  content: "\e5bc";
}
.ph-thin.ph-television:before {
  content: "\e754";
}
.ph-thin.ph-television-simple:before {
  content: "\eae6";
}
.ph-thin.ph-tennis-ball:before {
  content: "\e720";
}
.ph-thin.ph-tent:before {
  content: "\e8ba";
}
.ph-thin.ph-terminal:before {
  content: "\e47e";
}
.ph-thin.ph-terminal-window:before {
  content: "\eae8";
}
.ph-thin.ph-test-tube:before {
  content: "\e7a0";
}
.ph-thin.ph-text-a-underline:before {
  content: "\ed34";
}
.ph-thin.ph-text-aa:before {
  content: "\e6ee";
}
.ph-thin.ph-text-align-center:before {
  content: "\e480";
}
.ph-thin.ph-text-align-justify:before {
  content: "\e482";
}
.ph-thin.ph-text-align-left:before {
  content: "\e484";
}
.ph-thin.ph-text-align-right:before {
  content: "\e486";
}
.ph-thin.ph-text-b:before {
  content: "\e5be";
}
.ph-thin.ph-text-bolder:before {
  content: "\e5be";
}
.ph-thin.ph-text-columns:before {
  content: "\ec96";
}
.ph-thin.ph-text-h:before {
  content: "\e6ba";
}
.ph-thin.ph-text-h-five:before {
  content: "\e6c4";
}
.ph-thin.ph-text-h-four:before {
  content: "\e6c2";
}
.ph-thin.ph-text-h-one:before {
  content: "\e6bc";
}
.ph-thin.ph-text-h-six:before {
  content: "\e6c6";
}
.ph-thin.ph-text-h-three:before {
  content: "\e6c0";
}
.ph-thin.ph-text-h-two:before {
  content: "\e6be";
}
.ph-thin.ph-text-indent:before {
  content: "\ea1e";
}
.ph-thin.ph-text-italic:before {
  content: "\e5c0";
}
.ph-thin.ph-text-outdent:before {
  content: "\ea1c";
}
.ph-thin.ph-text-strikethrough:before {
  content: "\e5c2";
}
.ph-thin.ph-text-subscript:before {
  content: "\ec98";
}
.ph-thin.ph-text-superscript:before {
  content: "\ec9a";
}
.ph-thin.ph-text-t:before {
  content: "\e48a";
}
.ph-thin.ph-text-t-slash:before {
  content: "\e488";
}
.ph-thin.ph-text-underline:before {
  content: "\e5c4";
}
.ph-thin.ph-textbox:before {
  content: "\eb0a";
}
.ph-thin.ph-thermometer:before {
  content: "\e5c6";
}
.ph-thin.ph-thermometer-cold:before {
  content: "\e5c8";
}
.ph-thin.ph-thermometer-hot:before {
  content: "\e5ca";
}
.ph-thin.ph-thermometer-simple:before {
  content: "\e5cc";
}
.ph-thin.ph-threads-logo:before {
  content: "\ed9e";
}
.ph-thin.ph-three-d:before {
  content: "\ea5a";
}
.ph-thin.ph-thumbs-down:before {
  content: "\e48c";
}
.ph-thin.ph-thumbs-up:before {
  content: "\e48e";
}
.ph-thin.ph-ticket:before {
  content: "\e490";
}
.ph-thin.ph-tidal-logo:before {
  content: "\ed1c";
}
.ph-thin.ph-tiktok-logo:before {
  content: "\eaf2";
}
.ph-thin.ph-tilde:before {
  content: "\eda8";
}
.ph-thin.ph-timer:before {
  content: "\e492";
}
.ph-thin.ph-tip-jar:before {
  content: "\e7e2";
}
.ph-thin.ph-tipi:before {
  content: "\ed30";
}
.ph-thin.ph-tire:before {
  content: "\edd2";
}
.ph-thin.ph-toggle-left:before {
  content: "\e674";
}
.ph-thin.ph-toggle-right:before {
  content: "\e676";
}
.ph-thin.ph-toilet:before {
  content: "\e79a";
}
.ph-thin.ph-toilet-paper:before {
  content: "\e79c";
}
.ph-thin.ph-toolbox:before {
  content: "\eca0";
}
.ph-thin.ph-tooth:before {
  content: "\e9cc";
}
.ph-thin.ph-tornado:before {
  content: "\e88c";
}
.ph-thin.ph-tote:before {
  content: "\e494";
}
.ph-thin.ph-tote-simple:before {
  content: "\e678";
}
.ph-thin.ph-towel:before {
  content: "\ede6";
}
.ph-thin.ph-tractor:before {
  content: "\ec6e";
}
.ph-thin.ph-trademark:before {
  content: "\e9f0";
}
.ph-thin.ph-trademark-registered:before {
  content: "\e3f4";
}
.ph-thin.ph-traffic-cone:before {
  content: "\e9a8";
}
.ph-thin.ph-traffic-sign:before {
  content: "\e67a";
}
.ph-thin.ph-traffic-signal:before {
  content: "\e9aa";
}
.ph-thin.ph-train:before {
  content: "\e496";
}
.ph-thin.ph-train-regional:before {
  content: "\e49e";
}
.ph-thin.ph-train-simple:before {
  content: "\e4a0";
}
.ph-thin.ph-tram:before {
  content: "\e9ec";
}
.ph-thin.ph-translate:before {
  content: "\e4a2";
}
.ph-thin.ph-trash:before {
  content: "\e4a6";
}
.ph-thin.ph-trash-simple:before {
  content: "\e4a8";
}
.ph-thin.ph-tray:before {
  content: "\e4aa";
}
.ph-thin.ph-tray-arrow-down:before {
  content: "\e010";
}
.ph-thin.ph-archive-tray:before {
  content: "\e010";
}
.ph-thin.ph-tray-arrow-up:before {
  content: "\ee52";
}
.ph-thin.ph-treasure-chest:before {
  content: "\ede2";
}
.ph-thin.ph-tree:before {
  content: "\e6da";
}
.ph-thin.ph-tree-evergreen:before {
  content: "\e6dc";
}
.ph-thin.ph-tree-palm:before {
  content: "\e91a";
}
.ph-thin.ph-tree-structure:before {
  content: "\e67c";
}
.ph-thin.ph-tree-view:before {
  content: "\ee48";
}
.ph-thin.ph-trend-down:before {
  content: "\e4ac";
}
.ph-thin.ph-trend-up:before {
  content: "\e4ae";
}
.ph-thin.ph-triangle:before {
  content: "\e4b0";
}
.ph-thin.ph-triangle-dashed:before {
  content: "\e4b2";
}
.ph-thin.ph-trolley:before {
  content: "\e5b2";
}
.ph-thin.ph-trolley-suitcase:before {
  content: "\e5b4";
}
.ph-thin.ph-trophy:before {
  content: "\e67e";
}
.ph-thin.ph-truck:before {
  content: "\e4b4";
}
.ph-thin.ph-truck-trailer:before {
  content: "\e4b6";
}
.ph-thin.ph-tumblr-logo:before {
  content: "\e8d4";
}
.ph-thin.ph-twitch-logo:before {
  content: "\e5ce";
}
.ph-thin.ph-twitter-logo:before {
  content: "\e4ba";
}
.ph-thin.ph-umbrella:before {
  content: "\e684";
}
.ph-thin.ph-umbrella-simple:before {
  content: "\e686";
}
.ph-thin.ph-union:before {
  content: "\edbe";
}
.ph-thin.ph-unite:before {
  content: "\e87e";
}
.ph-thin.ph-unite-square:before {
  content: "\e878";
}
.ph-thin.ph-upload:before {
  content: "\e4be";
}
.ph-thin.ph-upload-simple:before {
  content: "\e4c0";
}
.ph-thin.ph-usb:before {
  content: "\e956";
}
.ph-thin.ph-user:before {
  content: "\e4c2";
}
.ph-thin.ph-user-check:before {
  content: "\eafa";
}
.ph-thin.ph-user-circle:before {
  content: "\e4c4";
}
.ph-thin.ph-user-circle-check:before {
  content: "\ec38";
}
.ph-thin.ph-user-circle-dashed:before {
  content: "\ec36";
}
.ph-thin.ph-user-circle-gear:before {
  content: "\e4c6";
}
.ph-thin.ph-user-circle-minus:before {
  content: "\e4c8";
}
.ph-thin.ph-user-circle-plus:before {
  content: "\e4ca";
}
.ph-thin.ph-user-focus:before {
  content: "\e6fc";
}
.ph-thin.ph-user-gear:before {
  content: "\e4cc";
}
.ph-thin.ph-user-list:before {
  content: "\e73c";
}
.ph-thin.ph-user-minus:before {
  content: "\e4ce";
}
.ph-thin.ph-user-plus:before {
  content: "\e4d0";
}
.ph-thin.ph-user-rectangle:before {
  content: "\e4d2";
}
.ph-thin.ph-user-sound:before {
  content: "\eca8";
}
.ph-thin.ph-user-square:before {
  content: "\e4d4";
}
.ph-thin.ph-user-switch:before {
  content: "\e756";
}
.ph-thin.ph-users:before {
  content: "\e4d6";
}
.ph-thin.ph-users-four:before {
  content: "\e68c";
}
.ph-thin.ph-users-three:before {
  content: "\e68e";
}
.ph-thin.ph-van:before {
  content: "\e826";
}
.ph-thin.ph-vault:before {
  content: "\e76e";
}
.ph-thin.ph-vector-three:before {
  content: "\ee62";
}
.ph-thin.ph-vector-two:before {
  content: "\ee64";
}
.ph-thin.ph-vibrate:before {
  content: "\e4d8";
}
.ph-thin.ph-video:before {
  content: "\e740";
}
.ph-thin.ph-video-camera:before {
  content: "\e4da";
}
.ph-thin.ph-video-camera-slash:before {
  content: "\e4dc";
}
.ph-thin.ph-video-conference:before {
  content: "\edce";
}
.ph-thin.ph-vignette:before {
  content: "\eba2";
}
.ph-thin.ph-vinyl-record:before {
  content: "\ecac";
}
.ph-thin.ph-virtual-reality:before {
  content: "\e7b8";
}
.ph-thin.ph-virus:before {
  content: "\e7d6";
}
.ph-thin.ph-visor:before {
  content: "\ee2a";
}
.ph-thin.ph-voicemail:before {
  content: "\e4de";
}
.ph-thin.ph-volleyball:before {
  content: "\e726";
}
.ph-thin.ph-wall:before {
  content: "\e688";
}
.ph-thin.ph-wallet:before {
  content: "\e68a";
}
.ph-thin.ph-warehouse:before {
  content: "\ecd4";
}
.ph-thin.ph-warning:before {
  content: "\e4e0";
}
.ph-thin.ph-warning-circle:before {
  content: "\e4e2";
}
.ph-thin.ph-warning-diamond:before {
  content: "\e7fc";
}
.ph-thin.ph-warning-octagon:before {
  content: "\e4e4";
}
.ph-thin.ph-washing-machine:before {
  content: "\ede8";
}
.ph-thin.ph-watch:before {
  content: "\e4e6";
}
.ph-thin.ph-wave-sawtooth:before {
  content: "\ea9c";
}
.ph-thin.ph-wave-sine:before {
  content: "\ea9a";
}
.ph-thin.ph-wave-square:before {
  content: "\ea9e";
}
.ph-thin.ph-wave-triangle:before {
  content: "\eaa0";
}
.ph-thin.ph-waveform:before {
  content: "\e802";
}
.ph-thin.ph-waveform-slash:before {
  content: "\e800";
}
.ph-thin.ph-waves:before {
  content: "\e6de";
}
.ph-thin.ph-webcam:before {
  content: "\e9b2";
}
.ph-thin.ph-webcam-slash:before {
  content: "\ecdc";
}
.ph-thin.ph-webhooks-logo:before {
  content: "\ecae";
}
.ph-thin.ph-wechat-logo:before {
  content: "\e8d2";
}
.ph-thin.ph-whatsapp-logo:before {
  content: "\e5d0";
}
.ph-thin.ph-wheelchair:before {
  content: "\e4e8";
}
.ph-thin.ph-wheelchair-motion:before {
  content: "\e89a";
}
.ph-thin.ph-wifi-high:before {
  content: "\e4ea";
}
.ph-thin.ph-wifi-low:before {
  content: "\e4ec";
}
.ph-thin.ph-wifi-medium:before {
  content: "\e4ee";
}
.ph-thin.ph-wifi-none:before {
  content: "\e4f0";
}
.ph-thin.ph-wifi-slash:before {
  content: "\e4f2";
}
.ph-thin.ph-wifi-x:before {
  content: "\e4f4";
}
.ph-thin.ph-wind:before {
  content: "\e5d2";
}
.ph-thin.ph-windmill:before {
  content: "\e9f8";
}
.ph-thin.ph-windows-logo:before {
  content: "\e692";
}
.ph-thin.ph-wine:before {
  content: "\e6b2";
}
.ph-thin.ph-wrench:before {
  content: "\e5d4";
}
.ph-thin.ph-x:before {
  content: "\e4f6";
}
.ph-thin.ph-x-circle:before {
  content: "\e4f8";
}
.ph-thin.ph-x-logo:before {
  content: "\e4bc";
}
.ph-thin.ph-x-square:before {
  content: "\e4fa";
}
.ph-thin.ph-yarn:before {
  content: "\ed9a";
}
.ph-thin.ph-yin-yang:before {
  content: "\e92a";
}
.ph-thin.ph-youtube-logo:before {
  content: "\e4fc";
}
