@charset "UTF-8";@import '/iconfont/iconfont.css?v=1773596000000';:root {
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: light dark;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: background-color 0.3s ease, color 0.3s ease;

  --theme-color: #667eea;

  --text: #000;
  --text2: #444;
  --bg: #ffffff;
  --bg50: #ffffff90;
  --bg70: #fefefeb7;
  --bg40: #ffffff40;
  --sd: #22222230;
  --card: #efefef75;
  --hover: #ffffff65;
  --hover-half: #ffffff40;
  --hover-b: #1111110f;
  --bggrey: #ddd;
  --fill: #d3d3d370;
  --mm: #ffffffc0;
  --cm: #f7f7f710;
  --bar: #efefef37;
  --hr: #ccc;
  --unfoc: #eaeaea;
  --msg: #ffffffe7;
  --theme-1: var(--theme-color);
  --theme-2: var(--theme-color);
  --theme-3: var(--theme-color);
  --href: #2983cc;
  --bd: #8f8f8f30;
  --s3d: #99999947;
  --mica: linear-gradient(215deg, #ffe7f6, #a9c3ff);
  --text-secondary: rgba(0, 0, 0, 0.6);
  --border: rgba(0, 0, 0, 0.1);
  --shadow: rgba(0, 0, 0, 0.15);
  
  --bg-primary: #ffffff;
  --bg-secondary: #f5f5f5;
  --bg-tertiary: #f0f0f0;
  --text-primary: #333333;
  --text-secondary: #666666;
  --text-tertiary: #888888;
  --border-primary: #d0d0d0;
  --border-secondary: #b0b0b0;
  --border-color: #e0e0e0;
  --border-hover: #b0b0b0;
  --accent-primary: var(--theme-color);
  --accent-secondary: var(--theme-color);
  --accent-bg: var(--theme-color);
  --accent-light: var(--theme-color);
  --primary-color: var(--theme-color);
  --primary-color-hover: var(--theme-color);
  --primary-color-rgb: var(--theme-color);
  --accent-primary-rgb: var(--theme-color);
  --accent-rgb: var(--theme-color);
  --bg-color: #f5f5f5;
  --surface-color: #ffffff;
  --text-color: #333333;
  --text-muted: #666666;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --danger-color: #ef4444;
  --error-color: #ef4444;
  --error-rgb: 239, 68, 68;
  --error-color-rgb: 239, 68, 69;
  --input-bg: #f0f0f099;
  --input-hover-bg: #f8f9fa;
  --input-filled-bg: #f8f9fa;
  --error-bg: #fef2f2;
  --card-bg: #ffffff;
  --disabled-bg: #f5f5f5;
  --disabled-text: #999999;
  --disabled-border: #e9ecef;
  --readonly-bg: #fafafa;
  --readonly-border: #e9ecef;
  --readonly-text: #666666;
  --filled-bg: #f5f5f5;
  
  /* 彩色背景变量 */
  --bg-red: rgba(239, 68, 68, 0.35);
  --bg-red-light: rgba(239, 68, 68, 0.15);
  --bg-green: rgba(16, 185, 129, 0.35);
  --bg-green-light: rgba(16, 185, 129, 0.15);
  --bg-blue: rgba(59, 130, 246, 0.35);
  --bg-blue-light: rgba(59, 130, 246, 0.15);
  --bg-cyan: rgba(6, 182, 212, 0.35);
  --bg-cyan-light: rgba(6, 182, 212, 0.15);
  --bg-purple: rgba(139, 92, 246, 0.35);
  --bg-purple-light: rgba(139, 92, 246, 0.15);
  --bg-yellow: rgba(245, 158, 11, 0.35);
  --bg-yellow-light: rgba(245, 158, 11, 0.15);
}

:root.dark {
  --text: #eee;
  --text2: #aaa;
  --bg: #000000;
  --bg50: #00000065;
  --bg70: #111111c5;
  --bg40: #00000025;
  --sd: #000000a0;
  --card: #72727240;
  --hover: #aaaaaa30;
  --hover-half: #ffffff20;
  --hover-b: #eeeeee0f;
  --bggrey: #444;
  --fill: #99999970;
  --mm: #ffffff50;
  --cm: #292929bb;
  --bar: #7272722a;
  --hr: #333;
  --unfoc: #202020;
  --msg: #303030d0;
  --bd: #ffffff06;
  --s3d: #11111150;
  --mica: linear-gradient(215deg, #2d161c, #102d53);
  --text-secondary: rgba(255, 255, 255, 0.6);
  --border: rgba(255, 255, 255, 0.1);
  --shadow: rgba(0, 0, 0, 0.3);
  
  --bg-primary: #2d2d2d;
  --bg-secondary: #1e1e1e;
  --bg-tertiary: #3a3a3a;
  --text-primary: #cccccc;
  --text-secondary: #aaaaaa;
  --text-tertiary: #888888;
  --border-primary: #404040;
  --border-secondary: #505050;
  --border-color: #404040;
  --border-hover: #505050;
  --accent-primary: var(--theme-color);
  --accent-secondary: var(--theme-color);
  --accent-bg: var(--theme-color);
  --accent-light: var(--theme-color);
  --primary-color: var(--theme-color);
  --primary-color-hover: var(--theme-color);
  --primary-color-rgb: var(--theme-color);
  --accent-primary-rgb: var(--theme-color);
  --accent-rgb: var(--theme-color);
  --bg-color: #1e1e1e;
  --surface-color: #2d2d2d;
  --text-color: #cccccc;
  --text-muted: #888888;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --danger-color: #ef4444;
  --error-color: #ef4444;
  --error-rgb: 239, 68, 68;
  --input-bg: #3a3a3a66;
  --input-hover-bg: #4a5568;
  --input-filled-bg: #1e1e1e;
  --error-bg: #2d1f1f;
  --card-bg: #2d2d2d;
  --disabled-bg: #1e1e1e;
  --disabled-text: #666666;
  --disabled-border: #2d3748;
  --readonly-bg: #1a202c;
  --readonly-border: #2d3748;
  --readonly-text: #a0aec0;
  --filled-bg: #1e1e1e;
  
  --input-bg-dark: #2d3748;
  --border-color-dark: #4a5568;
  --text-color-dark: #e2e8f0;
  --input-hover-bg-dark: #4a5568;
  --border-hover-dark: #718096;
  --readonly-bg-dark: #1a202c;
  --readonly-border-dark: #2d3748;
  --readonly-text-dark: #a0aec0;
  --text-secondary-dark: #a0aec0;
  --hover-bg-dark: rgba(255, 255, 255, 0.1);
  
  /* 彩色背景变量 - 深色模式 */
  --bg-red: rgba(239, 68, 68, 0.25);
  --bg-red-light: rgba(239, 68, 68, 0.15);
  --bg-green: rgba(16, 185, 129, 0.25);
  --bg-green-light: rgba(16, 185, 129, 0.15);
  --bg-blue: rgba(59, 130, 246, 0.25);
  --bg-blue-light: rgba(59, 130, 246, 0.15);
  --bg-cyan: rgba(6, 182, 212, 0.25);
  --bg-cyan-light: rgba(6, 182, 212, 0.15);
  --bg-purple: rgba(139, 92, 246, 0.25);
  --bg-purple-light: rgba(139, 92, 246, 0.15);
  --bg-yellow: rgba(245, 158, 11, 0.25);
  --bg-yellow-light: rgba(245, 158, 11, 0.15);
}

* {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

a {
  font-weight: 500;
  color: #646cff;
  text-decoration: inherit;
}
a:hover {
  color: #535bf2;
}

body {
  margin: 0;
  display: flex;
  place-items: center;
  min-height: 100vh;
}

h1 {
  font-size: 3.2em;
  line-height: 1.1;
}

button {
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 0.6em 1.2em;
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  background-color: #1a1a1a;
  cursor: pointer;
  transition: border-color 0.25s;
}
button:hover {
  border-color: #646cff;
}

.card {
  padding: 2em;
}

#app {
  margin: 0 auto;
  text-align: center;
}

@media (prefers-color-scheme: light) {
  :root {
    color: #213547;
    background-color: #ffffff;
  }
  a:hover {
    color: #747bff;
  }
  button {
    background-color: #f9f9f9;
  }
}

list {
  display: block;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 7px;
}

list > * {
  width: 100%;
  color: var(--text);
  text-align: inherit;
  border-radius: 7px;
  position: relative;
  display: block;
  padding: 3px 24px;
}

list:not(.new) > a {
  transition: 50ms, transform 400ms cubic-bezier(0.14, 1.02, 0.17, 0.03);
}

list:not(.new) > a:active {
  opacity: 0.7;
}

input-before {
  display: block;
  font-size: 15px;
  height: 0;
  margin-top: -29px;
  margin-left: 8px;
  margin-bottom: 10px;
  color: var(--text);
}

icon {
  display: inline-block;
  font-style: normal;
  font-family: 'Segoe UI Emoji', 'Segoe UI Symbol', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;
  line-height: 1;
}

loading {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid var(--text);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}


/* 引入iconfont字体图标 */
/* iconfont图标通用样式 */
.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
}
/* 重置样式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  --font-size: 16px;
  --border-radius: 8px;
  --box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  --theme-color: #667eea;
  font-size: var(--font-size);
  line-height: 1.6;
}
body {
  font-family: var(--font-family);
  color: #333;
  background-color: #f5f5f5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* 链接样式 - Windows系统风格 */
a {
  color: var(--theme-color);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--theme-color);
  opacity: 0.8;
}
/* 按钮基础样式 - Windows系统风格 */
button {
  font-family: inherit;
  font-size: inherit;
  border: 1px solid var(--theme-color);
  background: var(--theme-color);
  color: white;
  cursor: pointer;
  outline: none;
  border-radius: 3px;
  padding: 6px 10px;
  transition: all 0.2s ease;
}
button:hover {
  background: var(--theme-color);
  opacity: 0.85;
  border-color: var(--theme-color);
}
button:active {
  background: var(--theme-color);
  opacity: 0.7;
  border-color: var(--theme-color);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}
button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
/* 输入框基础样式 - Windows系统风格 */
input {
  font-family: inherit;
  font-size: inherit;
  outline: none;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  padding: 6px 10px;
  background: white;
  transition: all 0.2s ease;
}
/* 滚动条样式 - Windows系统风格 */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: #f5f5f5;
  border-radius: 6px;
}
::-webkit-scrollbar-thumb {
  background: #d0d0d0;
  border: 3px solid #f5f5f5;
  border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover {
  background: #b0b0b0;
}
/* CSS变量定义 - Windows系统风格 */
:root {
  --bg-primary: #ffffff;
  --bg-secondary: #f5f5f5;
  --bg-tertiary: #f0f0f0;
  --text-primary: #333333;
  --text-secondary: #666666;
  --text-tertiary: #888888;
  --border-primary: #d0d0d0;
  --border-secondary: #b0b0b0;
  --border-color: #e0e0e0;
  --border-hover: #b0b0b0;
  --accent-primary: #0078d4;
  --accent-secondary: #005a9e;
  --accent-bg: #e1ebf7;
  --accent-light: #c7dbf0;
  --primary-color: #0078d4;
  --primary-color-hover: #005a9e;
  --accent-primary-rgb: 0, 120, 212;
  --accent-rgb: 0, 120, 212;
}
/* 深色模式 - Windows系统风格 */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-primary: #2d2d2d;
    --bg-secondary: #1e1e1e;
    --bg-tertiary: #3a3a3a;
    --text-primary: #cccccc;
    --text-secondary: #aaaaaa;
    --text-tertiary: #888888;
    --border-primary: #404040;
    --border-secondary: #505050;
    --border-color: #404040;
    --border-hover: #505050;
    --accent-primary: #6cb5ff;
    --accent-secondary: #3a86ff;
    --accent-bg: #1a3a5f;
    --accent-light: #1e3a8a;
    --primary-color: #6cb5ff;
    --primary-color-hover: #3a86ff;
    --accent-primary-rgb: 108, 181, 255;
    --accent-rgb: 108, 181, 255;
  }
}
.dark {
  --bg-primary: #2d2d2d;
  --bg-secondary: #1e1e1e;
  --bg-tertiary: #3a3a3a;
  --text-primary: #cccccc;
  --text-secondary: #aaaaaa;
  --text-tertiary: #888888;
  --border-primary: #404040;
  --border-secondary: #505050;
  --border-color: #404040;
  --border-hover: #505050;
  --accent-primary: #6cb5ff;
  --accent-secondary: #3a86ff;
  --accent-bg: #1a3a5f;
  --accent-light: #1e3a8a;
  --primary-color: #6cb5ff;
  --primary-color-hover: #3a86ff;
  --accent-primary-rgb: 108, 181, 255;
  --accent-rgb: 108, 181, 255;
}
/* 工具类 */
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.flex {
  display: flex;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hidden {
  display: none;
}
/* 响应式容器 */
.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
@media (min-width: 768px) {
  .container {
    padding: 0 24px;
  }
}
@media (min-width: 1024px) {
  .container {
    padding: 0 32px;
  }
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
/* 卡片样式 */
.card {
  background: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  transition: box-shadow 0.2s ease;
}
.card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
/* 按钮样式 - Windows系统风格 */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
  cursor: pointer;
  border: 1px solid #d0d0d0;
  text-decoration: none;
}
.btn-primary {
  background: #0078d4;
  color: white;
  border-color: #005a9e;
}
.btn-primary:hover {
  background: #005a9e;
}
.btn-secondary {
  background: #6b7280;
  color: white;
  border-color: #4b5563;
}
.btn-secondary:hover {
  background: #4b5563;
}
.btn-outline {
  background: #f5f5f5;
  border: 1px solid #d0d0d0;
  color: #666666;
}
.btn-outline:hover {
  background: #e8e8e8;
  border-color: #b0b0b0;
}
/* 标签样式 - Windows系统风格 */
.tag {
  display: inline-block;
  padding: 2px 8px;
  background: #f0f0f0;
  color: #666666;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #d0d0d0;
}
.tag-primary {
  background: #e1ebf7;
  color: #0078d4;
  border-color: #c7dbf0;
}
.tag-success {
  background: #d1fae5;
  color: #059669;
  border-color: #a7f3d0;
}
.tag-warning {
  background: #fef3c7;
  color: #d97706;
  border-color: #fde68a;
}
.tag-danger {
  background: #fee2e2;
  color: #dc2626;
  border-color: #fecaca;
}
/* 深色主题样式 - Windows系统风格 */
:root.dark {
  --bg-color: #1e1e1e;
  --surface-color: #2d2d2d;
  --text-color: #cccccc;
  --text-muted: #888888;
  --border-color: #404040;
  --primary-color: #6cb5ff;
  --primary-hover: #3a86ff;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --danger-color: #ef4444;
  --input-bg: #3a3a3a66;
  --group-bg: #33333333;
}
:root.light {
  --bg-color: #f5f5f5;
  --surface-color: #ffffff;
  --text-color: #333333;
  --text-muted: #666666;
  --border-color: #e0e0e0;
  --primary-color: #0078d4;
  --primary-hover: #005a9e;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --danger-color: #ef4444;
  --input-bg: #f0f0f099;
  --group-bg: #f0f0f055;
}
/* 默认主题变量 - Windows系统风格 */
:root {
  --bg-color: #f5f5f5;
  --surface-color: #ffffff;
  --text-color: #333333;
  --text-muted: #666666;
  --border-color: #e0e0e0;
  --primary-color: #0078d4;
  --primary-hover: #005a9e;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --danger-color: #ef4444;
  --input-bg: #f0f0f099;
  --group-bg: #f0f0f055;
}
/* 深色主题下的基础样式调整 */
.dark body {
  background-color: var(--bg-color);
  color: var(--text-color);
}
.dark .card {
  background: var(--surface-color);
  border: 1px solid var(--border-color);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.dark .card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
/* 深色主题下的滚动条样式 */
.dark ::-webkit-scrollbar-track {
  background: #334155;
  border-radius: 6px;
}
.dark ::-webkit-scrollbar-thumb {
  background: #64748b;
  border: 3px solid #334155;
  border-radius: 6px;
}
.dark ::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
/* 深色主题下的按钮样式 */
.dark .btn-outline {
  border-color: var(--border-color);
  color: var(--text-muted);
}
.dark .btn-outline:hover {
  background: var(--surface-color);
  border-color: var(--text-muted);
  color: var(--text-color);
}
/* 深色主题下的输入框样式 */
.dark input {
  background: var(--surface-color);
  border-color: var(--border-color);
  color: var(--text-color);
}
.dark input::placeholder {
  color: var(--text-muted);
}
/* 深色主题下的链接样式 */
.dark a {
  color: var(--primary-color);
}
.dark a:hover {
  color: var(--primary-hover);
}@font-face{font-display:block;font-family:"bootstrap-icons";src:url("/assets/bootstrap-icons-tJ0_KeE2.woff2?8d200481aa7f02a2d63a331fc782cfaf") format("woff2"),url("/assets/bootstrap-icons-B-QKbhqn.woff?8d200481aa7f02a2d63a331fc782cfaf") format("woff")}.bi::before,[class^="bi-"]::before,[class*=" bi-"]::before{display:inline-block;font-family:bootstrap-icons !important;font-style:normal;font-weight:normal !important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:"\f67f"}.bi-alarm-fill::before{content:"\f101"}.bi-alarm::before{content:"\f102"}.bi-align-bottom::before{content:"\f103"}.bi-align-center::before{content:"\f104"}.bi-align-end::before{content:"\f105"}.bi-align-middle::before{content:"\f106"}.bi-align-start::before{content:"\f107"}.bi-align-top::before{content:"\f108"}.bi-alt::before{content:"\f109"}.bi-app-indicator::before{content:"\f10a"}.bi-app::before{content:"\f10b"}.bi-archive-fill::before{content:"\f10c"}.bi-archive::before{content:"\f10d"}.bi-arrow-90deg-down::before{content:"\f10e"}.bi-arrow-90deg-left::before{content:"\f10f"}.bi-arrow-90deg-right::before{content:"\f110"}.bi-arrow-90deg-up::before{content:"\f111"}.bi-arrow-bar-down::before{content:"\f112"}.bi-arrow-bar-left::before{content:"\f113"}.bi-arrow-bar-right::before{content:"\f114"}.bi-arrow-bar-up::before{content:"\f115"}.bi-arrow-clockwise::before{content:"\f116"}.bi-arrow-counterclockwise::before{content:"\f117"}.bi-arrow-down-circle-fill::before{content:"\f118"}.bi-arrow-down-circle::before{content:"\f119"}.bi-arrow-down-left-circle-fill::before{content:"\f11a"}.bi-arrow-down-left-circle::before{content:"\f11b"}.bi-arrow-down-left-square-fill::before{content:"\f11c"}.bi-arrow-down-left-square::before{content:"\f11d"}.bi-arrow-down-left::before{content:"\f11e"}.bi-arrow-down-right-circle-fill::before{content:"\f11f"}.bi-arrow-down-right-circle::before{content:"\f120"}.bi-arrow-down-right-square-fill::before{content:"\f121"}.bi-arrow-down-right-square::before{content:"\f122"}.bi-arrow-down-right::before{content:"\f123"}.bi-arrow-down-short::before{content:"\f124"}.bi-arrow-down-square-fill::before{content:"\f125"}.bi-arrow-down-square::before{content:"\f126"}.bi-arrow-down-up::before{content:"\f127"}.bi-arrow-down::before{content:"\f128"}.bi-arrow-left-circle-fill::before{content:"\f129"}.bi-arrow-left-circle::before{content:"\f12a"}.bi-arrow-left-right::before{content:"\f12b"}.bi-arrow-left-short::before{content:"\f12c"}.bi-arrow-left-square-fill::before{content:"\f12d"}.bi-arrow-left-square::before{content:"\f12e"}.bi-arrow-left::before{content:"\f12f"}.bi-arrow-repeat::before{content:"\f130"}.bi-arrow-return-left::before{content:"\f131"}.bi-arrow-return-right::before{content:"\f132"}.bi-arrow-right-circle-fill::before{content:"\f133"}.bi-arrow-right-circle::before{content:"\f134"}.bi-arrow-right-short::before{content:"\f135"}.bi-arrow-right-square-fill::before{content:"\f136"}.bi-arrow-right-square::before{content:"\f137"}.bi-arrow-right::before{content:"\f138"}.bi-arrow-up-circle-fill::before{content:"\f139"}.bi-arrow-up-circle::before{content:"\f13a"}.bi-arrow-up-left-circle-fill::before{content:"\f13b"}.bi-arrow-up-left-circle::before{content:"\f13c"}.bi-arrow-up-left-square-fill::before{content:"\f13d"}.bi-arrow-up-left-square::before{content:"\f13e"}.bi-arrow-up-left::before{content:"\f13f"}.bi-arrow-up-right-circle-fill::before{content:"\f140"}.bi-arrow-up-right-circle::before{content:"\f141"}.bi-arrow-up-right-square-fill::before{content:"\f142"}.bi-arrow-up-right-square::before{content:"\f143"}.bi-arrow-up-right::before{content:"\f144"}.bi-arrow-up-short::before{content:"\f145"}.bi-arrow-up-square-fill::before{content:"\f146"}.bi-arrow-up-square::before{content:"\f147"}.bi-arrow-up::before{content:"\f148"}.bi-arrows-angle-contract::before{content:"\f149"}.bi-arrows-angle-expand::before{content:"\f14a"}.bi-arrows-collapse::before{content:"\f14b"}.bi-arrows-expand::before{content:"\f14c"}.bi-arrows-fullscreen::before{content:"\f14d"}.bi-arrows-move::before{content:"\f14e"}.bi-aspect-ratio-fill::before{content:"\f14f"}.bi-aspect-ratio::before{content:"\f150"}.bi-asterisk::before{content:"\f151"}.bi-at::before{content:"\f152"}.bi-award-fill::before{content:"\f153"}.bi-award::before{content:"\f154"}.bi-back::before{content:"\f155"}.bi-backspace-fill::before{content:"\f156"}.bi-backspace-reverse-fill::before{content:"\f157"}.bi-backspace-reverse::before{content:"\f158"}.bi-backspace::before{content:"\f159"}.bi-badge-3d-fill::before{content:"\f15a"}.bi-badge-3d::before{content:"\f15b"}.bi-badge-4k-fill::before{content:"\f15c"}.bi-badge-4k::before{content:"\f15d"}.bi-badge-8k-fill::before{content:"\f15e"}.bi-badge-8k::before{content:"\f15f"}.bi-badge-ad-fill::before{content:"\f160"}.bi-badge-ad::before{content:"\f161"}.bi-badge-ar-fill::before{content:"\f162"}.bi-badge-ar::before{content:"\f163"}.bi-badge-cc-fill::before{content:"\f164"}.bi-badge-cc::before{content:"\f165"}.bi-badge-hd-fill::before{content:"\f166"}.bi-badge-hd::before{content:"\f167"}.bi-badge-tm-fill::before{content:"\f168"}.bi-badge-tm::before{content:"\f169"}.bi-badge-vo-fill::before{content:"\f16a"}.bi-badge-vo::before{content:"\f16b"}.bi-badge-vr-fill::before{content:"\f16c"}.bi-badge-vr::before{content:"\f16d"}.bi-badge-wc-fill::before{content:"\f16e"}.bi-badge-wc::before{content:"\f16f"}.bi-bag-check-fill::before{content:"\f170"}.bi-bag-check::before{content:"\f171"}.bi-bag-dash-fill::before{content:"\f172"}.bi-bag-dash::before{content:"\f173"}.bi-bag-fill::before{content:"\f174"}.bi-bag-plus-fill::before{content:"\f175"}.bi-bag-plus::before{content:"\f176"}.bi-bag-x-fill::before{content:"\f177"}.bi-bag-x::before{content:"\f178"}.bi-bag::before{content:"\f179"}.bi-bar-chart-fill::before{content:"\f17a"}.bi-bar-chart-line-fill::before{content:"\f17b"}.bi-bar-chart-line::before{content:"\f17c"}.bi-bar-chart-steps::before{content:"\f17d"}.bi-bar-chart::before{content:"\f17e"}.bi-basket-fill::before{content:"\f17f"}.bi-basket::before{content:"\f180"}.bi-basket2-fill::before{content:"\f181"}.bi-basket2::before{content:"\f182"}.bi-basket3-fill::before{content:"\f183"}.bi-basket3::before{content:"\f184"}.bi-battery-charging::before{content:"\f185"}.bi-battery-full::before{content:"\f186"}.bi-battery-half::before{content:"\f187"}.bi-battery::before{content:"\f188"}.bi-bell-fill::before{content:"\f189"}.bi-bell::before{content:"\f18a"}.bi-bezier::before{content:"\f18b"}.bi-bezier2::before{content:"\f18c"}.bi-bicycle::before{content:"\f18d"}.bi-binoculars-fill::before{content:"\f18e"}.bi-binoculars::before{content:"\f18f"}.bi-blockquote-left::before{content:"\f190"}.bi-blockquote-right::before{content:"\f191"}.bi-book-fill::before{content:"\f192"}.bi-book-half::before{content:"\f193"}.bi-book::before{content:"\f194"}.bi-bookmark-check-fill::before{content:"\f195"}.bi-bookmark-check::before{content:"\f196"}.bi-bookmark-dash-fill::before{content:"\f197"}.bi-bookmark-dash::before{content:"\f198"}.bi-bookmark-fill::before{content:"\f199"}.bi-bookmark-heart-fill::before{content:"\f19a"}.bi-bookmark-heart::before{content:"\f19b"}.bi-bookmark-plus-fill::before{content:"\f19c"}.bi-bookmark-plus::before{content:"\f19d"}.bi-bookmark-star-fill::before{content:"\f19e"}.bi-bookmark-star::before{content:"\f19f"}.bi-bookmark-x-fill::before{content:"\f1a0"}.bi-bookmark-x::before{content:"\f1a1"}.bi-bookmark::before{content:"\f1a2"}.bi-bookmarks-fill::before{content:"\f1a3"}.bi-bookmarks::before{content:"\f1a4"}.bi-bookshelf::before{content:"\f1a5"}.bi-bootstrap-fill::before{content:"\f1a6"}.bi-bootstrap-reboot::before{content:"\f1a7"}.bi-bootstrap::before{content:"\f1a8"}.bi-border-all::before{content:"\f1a9"}.bi-border-bottom::before{content:"\f1aa"}.bi-border-center::before{content:"\f1ab"}.bi-border-inner::before{content:"\f1ac"}.bi-border-left::before{content:"\f1ad"}.bi-border-middle::before{content:"\f1ae"}.bi-border-outer::before{content:"\f1af"}.bi-border-right::before{content:"\f1b0"}.bi-border-style::before{content:"\f1b1"}.bi-border-top::before{content:"\f1b2"}.bi-border-width::before{content:"\f1b3"}.bi-border::before{content:"\f1b4"}.bi-bounding-box-circles::before{content:"\f1b5"}.bi-bounding-box::before{content:"\f1b6"}.bi-box-arrow-down-left::before{content:"\f1b7"}.bi-box-arrow-down-right::before{content:"\f1b8"}.bi-box-arrow-down::before{content:"\f1b9"}.bi-box-arrow-in-down-left::before{content:"\f1ba"}.bi-box-arrow-in-down-right::before{content:"\f1bb"}.bi-box-arrow-in-down::before{content:"\f1bc"}.bi-box-arrow-in-left::before{content:"\f1bd"}.bi-box-arrow-in-right::before{content:"\f1be"}.bi-box-arrow-in-up-left::before{content:"\f1bf"}.bi-box-arrow-in-up-right::before{content:"\f1c0"}.bi-box-arrow-in-up::before{content:"\f1c1"}.bi-box-arrow-left::before{content:"\f1c2"}.bi-box-arrow-right::before{content:"\f1c3"}.bi-box-arrow-up-left::before{content:"\f1c4"}.bi-box-arrow-up-right::before{content:"\f1c5"}.bi-box-arrow-up::before{content:"\f1c6"}.bi-box-seam::before{content:"\f1c7"}.bi-box::before{content:"\f1c8"}.bi-braces::before{content:"\f1c9"}.bi-bricks::before{content:"\f1ca"}.bi-briefcase-fill::before{content:"\f1cb"}.bi-briefcase::before{content:"\f1cc"}.bi-brightness-alt-high-fill::before{content:"\f1cd"}.bi-brightness-alt-high::before{content:"\f1ce"}.bi-brightness-alt-low-fill::before{content:"\f1cf"}.bi-brightness-alt-low::before{content:"\f1d0"}.bi-brightness-high-fill::before{content:"\f1d1"}.bi-brightness-high::before{content:"\f1d2"}.bi-brightness-low-fill::before{content:"\f1d3"}.bi-brightness-low::before{content:"\f1d4"}.bi-broadcast-pin::before{content:"\f1d5"}.bi-broadcast::before{content:"\f1d6"}.bi-brush-fill::before{content:"\f1d7"}.bi-brush::before{content:"\f1d8"}.bi-bucket-fill::before{content:"\f1d9"}.bi-bucket::before{content:"\f1da"}.bi-bug-fill::before{content:"\f1db"}.bi-bug::before{content:"\f1dc"}.bi-building::before{content:"\f1dd"}.bi-bullseye::before{content:"\f1de"}.bi-calculator-fill::before{content:"\f1df"}.bi-calculator::before{content:"\f1e0"}.bi-calendar-check-fill::before{content:"\f1e1"}.bi-calendar-check::before{content:"\f1e2"}.bi-calendar-date-fill::before{content:"\f1e3"}.bi-calendar-date::before{content:"\f1e4"}.bi-calendar-day-fill::before{content:"\f1e5"}.bi-calendar-day::before{content:"\f1e6"}.bi-calendar-event-fill::before{content:"\f1e7"}.bi-calendar-event::before{content:"\f1e8"}.bi-calendar-fill::before{content:"\f1e9"}.bi-calendar-minus-fill::before{content:"\f1ea"}.bi-calendar-minus::before{content:"\f1eb"}.bi-calendar-month-fill::before{content:"\f1ec"}.bi-calendar-month::before{content:"\f1ed"}.bi-calendar-plus-fill::before{content:"\f1ee"}.bi-calendar-plus::before{content:"\f1ef"}.bi-calendar-range-fill::before{content:"\f1f0"}.bi-calendar-range::before{content:"\f1f1"}.bi-calendar-week-fill::before{content:"\f1f2"}.bi-calendar-week::before{content:"\f1f3"}.bi-calendar-x-fill::before{content:"\f1f4"}.bi-calendar-x::before{content:"\f1f5"}.bi-calendar::before{content:"\f1f6"}.bi-calendar2-check-fill::before{content:"\f1f7"}.bi-calendar2-check::before{content:"\f1f8"}.bi-calendar2-date-fill::before{content:"\f1f9"}.bi-calendar2-date::before{content:"\f1fa"}.bi-calendar2-day-fill::before{content:"\f1fb"}.bi-calendar2-day::before{content:"\f1fc"}.bi-calendar2-event-fill::before{content:"\f1fd"}.bi-calendar2-event::before{content:"\f1fe"}.bi-calendar2-fill::before{content:"\f1ff"}.bi-calendar2-minus-fill::before{content:"\f200"}.bi-calendar2-minus::before{content:"\f201"}.bi-calendar2-month-fill::before{content:"\f202"}.bi-calendar2-month::before{content:"\f203"}.bi-calendar2-plus-fill::before{content:"\f204"}.bi-calendar2-plus::before{content:"\f205"}.bi-calendar2-range-fill::before{content:"\f206"}.bi-calendar2-range::before{content:"\f207"}.bi-calendar2-week-fill::before{content:"\f208"}.bi-calendar2-week::before{content:"\f209"}.bi-calendar2-x-fill::before{content:"\f20a"}.bi-calendar2-x::before{content:"\f20b"}.bi-calendar2::before{content:"\f20c"}.bi-calendar3-event-fill::before{content:"\f20d"}.bi-calendar3-event::before{content:"\f20e"}.bi-calendar3-fill::before{content:"\f20f"}.bi-calendar3-range-fill::before{content:"\f210"}.bi-calendar3-range::before{content:"\f211"}.bi-calendar3-week-fill::before{content:"\f212"}.bi-calendar3-week::before{content:"\f213"}.bi-calendar3::before{content:"\f214"}.bi-calendar4-event::before{content:"\f215"}.bi-calendar4-range::before{content:"\f216"}.bi-calendar4-week::before{content:"\f217"}.bi-calendar4::before{content:"\f218"}.bi-camera-fill::before{content:"\f219"}.bi-camera-reels-fill::before{content:"\f21a"}.bi-camera-reels::before{content:"\f21b"}.bi-camera-video-fill::before{content:"\f21c"}.bi-camera-video-off-fill::before{content:"\f21d"}.bi-camera-video-off::before{content:"\f21e"}.bi-camera-video::before{content:"\f21f"}.bi-camera::before{content:"\f220"}.bi-camera2::before{content:"\f221"}.bi-capslock-fill::before{content:"\f222"}.bi-capslock::before{content:"\f223"}.bi-card-checklist::before{content:"\f224"}.bi-card-heading::before{content:"\f225"}.bi-card-image::before{content:"\f226"}.bi-card-list::before{content:"\f227"}.bi-card-text::before{content:"\f228"}.bi-caret-down-fill::before{content:"\f229"}.bi-caret-down-square-fill::before{content:"\f22a"}.bi-caret-down-square::before{content:"\f22b"}.bi-caret-down::before{content:"\f22c"}.bi-caret-left-fill::before{content:"\f22d"}.bi-caret-left-square-fill::before{content:"\f22e"}.bi-caret-left-square::before{content:"\f22f"}.bi-caret-left::before{content:"\f230"}.bi-caret-right-fill::before{content:"\f231"}.bi-caret-right-square-fill::before{content:"\f232"}.bi-caret-right-square::before{content:"\f233"}.bi-caret-right::before{content:"\f234"}.bi-caret-up-fill::before{content:"\f235"}.bi-caret-up-square-fill::before{content:"\f236"}.bi-caret-up-square::before{content:"\f237"}.bi-caret-up::before{content:"\f238"}.bi-cart-check-fill::before{content:"\f239"}.bi-cart-check::before{content:"\f23a"}.bi-cart-dash-fill::before{content:"\f23b"}.bi-cart-dash::before{content:"\f23c"}.bi-cart-fill::before{content:"\f23d"}.bi-cart-plus-fill::before{content:"\f23e"}.bi-cart-plus::before{content:"\f23f"}.bi-cart-x-fill::before{content:"\f240"}.bi-cart-x::before{content:"\f241"}.bi-cart::before{content:"\f242"}.bi-cart2::before{content:"\f243"}.bi-cart3::before{content:"\f244"}.bi-cart4::before{content:"\f245"}.bi-cash-stack::before{content:"\f246"}.bi-cash::before{content:"\f247"}.bi-cast::before{content:"\f248"}.bi-chat-dots-fill::before{content:"\f249"}.bi-chat-dots::before{content:"\f24a"}.bi-chat-fill::before{content:"\f24b"}.bi-chat-left-dots-fill::before{content:"\f24c"}.bi-chat-left-dots::before{content:"\f24d"}.bi-chat-left-fill::before{content:"\f24e"}.bi-chat-left-quote-fill::before{content:"\f24f"}.bi-chat-left-quote::before{content:"\f250"}.bi-chat-left-text-fill::before{content:"\f251"}.bi-chat-left-text::before{content:"\f252"}.bi-chat-left::before{content:"\f253"}.bi-chat-quote-fill::before{content:"\f254"}.bi-chat-quote::before{content:"\f255"}.bi-chat-right-dots-fill::before{content:"\f256"}.bi-chat-right-dots::before{content:"\f257"}.bi-chat-right-fill::before{content:"\f258"}.bi-chat-right-quote-fill::before{content:"\f259"}.bi-chat-right-quote::before{content:"\f25a"}.bi-chat-right-text-fill::before{content:"\f25b"}.bi-chat-right-text::before{content:"\f25c"}.bi-chat-right::before{content:"\f25d"}.bi-chat-square-dots-fill::before{content:"\f25e"}.bi-chat-square-dots::before{content:"\f25f"}.bi-chat-square-fill::before{content:"\f260"}.bi-chat-square-quote-fill::before{content:"\f261"}.bi-chat-square-quote::before{content:"\f262"}.bi-chat-square-text-fill::before{content:"\f263"}.bi-chat-square-text::before{content:"\f264"}.bi-chat-square::before{content:"\f265"}.bi-chat-text-fill::before{content:"\f266"}.bi-chat-text::before{content:"\f267"}.bi-chat::before{content:"\f268"}.bi-check-all::before{content:"\f269"}.bi-check-circle-fill::before{content:"\f26a"}.bi-check-circle::before{content:"\f26b"}.bi-check-square-fill::before{content:"\f26c"}.bi-check-square::before{content:"\f26d"}.bi-check::before{content:"\f26e"}.bi-check2-all::before{content:"\f26f"}.bi-check2-circle::before{content:"\f270"}.bi-check2-square::before{content:"\f271"}.bi-check2::before{content:"\f272"}.bi-chevron-bar-contract::before{content:"\f273"}.bi-chevron-bar-down::before{content:"\f274"}.bi-chevron-bar-expand::before{content:"\f275"}.bi-chevron-bar-left::before{content:"\f276"}.bi-chevron-bar-right::before{content:"\f277"}.bi-chevron-bar-up::before{content:"\f278"}.bi-chevron-compact-down::before{content:"\f279"}.bi-chevron-compact-left::before{content:"\f27a"}.bi-chevron-compact-right::before{content:"\f27b"}.bi-chevron-compact-up::before{content:"\f27c"}.bi-chevron-contract::before{content:"\f27d"}.bi-chevron-double-down::before{content:"\f27e"}.bi-chevron-double-left::before{content:"\f27f"}.bi-chevron-double-right::before{content:"\f280"}.bi-chevron-double-up::before{content:"\f281"}.bi-chevron-down::before{content:"\f282"}.bi-chevron-expand::before{content:"\f283"}.bi-chevron-left::before{content:"\f284"}.bi-chevron-right::before{content:"\f285"}.bi-chevron-up::before{content:"\f286"}.bi-circle-fill::before{content:"\f287"}.bi-circle-half::before{content:"\f288"}.bi-circle-square::before{content:"\f289"}.bi-circle::before{content:"\f28a"}.bi-clipboard-check::before{content:"\f28b"}.bi-clipboard-data::before{content:"\f28c"}.bi-clipboard-minus::before{content:"\f28d"}.bi-clipboard-plus::before{content:"\f28e"}.bi-clipboard-x::before{content:"\f28f"}.bi-clipboard::before{content:"\f290"}.bi-clock-fill::before{content:"\f291"}.bi-clock-history::before{content:"\f292"}.bi-clock::before{content:"\f293"}.bi-cloud-arrow-down-fill::before{content:"\f294"}.bi-cloud-arrow-down::before{content:"\f295"}.bi-cloud-arrow-up-fill::before{content:"\f296"}.bi-cloud-arrow-up::before{content:"\f297"}.bi-cloud-check-fill::before{content:"\f298"}.bi-cloud-check::before{content:"\f299"}.bi-cloud-download-fill::before{content:"\f29a"}.bi-cloud-download::before{content:"\f29b"}.bi-cloud-drizzle-fill::before{content:"\f29c"}.bi-cloud-drizzle::before{content:"\f29d"}.bi-cloud-fill::before{content:"\f29e"}.bi-cloud-fog-fill::before{content:"\f29f"}.bi-cloud-fog::before{content:"\f2a0"}.bi-cloud-fog2-fill::before{content:"\f2a1"}.bi-cloud-fog2::before{content:"\f2a2"}.bi-cloud-hail-fill::before{content:"\f2a3"}.bi-cloud-hail::before{content:"\f2a4"}.bi-cloud-haze-1::before{content:"\f2a5"}.bi-cloud-haze-fill::before{content:"\f2a6"}.bi-cloud-haze::before{content:"\f2a7"}.bi-cloud-haze2-fill::before{content:"\f2a8"}.bi-cloud-lightning-fill::before{content:"\f2a9"}.bi-cloud-lightning-rain-fill::before{content:"\f2aa"}.bi-cloud-lightning-rain::before{content:"\f2ab"}.bi-cloud-lightning::before{content:"\f2ac"}.bi-cloud-minus-fill::before{content:"\f2ad"}.bi-cloud-minus::before{content:"\f2ae"}.bi-cloud-moon-fill::before{content:"\f2af"}.bi-cloud-moon::before{content:"\f2b0"}.bi-cloud-plus-fill::before{content:"\f2b1"}.bi-cloud-plus::before{content:"\f2b2"}.bi-cloud-rain-fill::before{content:"\f2b3"}.bi-cloud-rain-heavy-fill::before{content:"\f2b4"}.bi-cloud-rain-heavy::before{content:"\f2b5"}.bi-cloud-rain::before{content:"\f2b6"}.bi-cloud-slash-fill::before{content:"\f2b7"}.bi-cloud-slash::before{content:"\f2b8"}.bi-cloud-sleet-fill::before{content:"\f2b9"}.bi-cloud-sleet::before{content:"\f2ba"}.bi-cloud-snow-fill::before{content:"\f2bb"}.bi-cloud-snow::before{content:"\f2bc"}.bi-cloud-sun-fill::before{content:"\f2bd"}.bi-cloud-sun::before{content:"\f2be"}.bi-cloud-upload-fill::before{content:"\f2bf"}.bi-cloud-upload::before{content:"\f2c0"}.bi-cloud::before{content:"\f2c1"}.bi-clouds-fill::before{content:"\f2c2"}.bi-clouds::before{content:"\f2c3"}.bi-cloudy-fill::before{content:"\f2c4"}.bi-cloudy::before{content:"\f2c5"}.bi-code-slash::before{content:"\f2c6"}.bi-code-square::before{content:"\f2c7"}.bi-code::before{content:"\f2c8"}.bi-collection-fill::before{content:"\f2c9"}.bi-collection-play-fill::before{content:"\f2ca"}.bi-collection-play::before{content:"\f2cb"}.bi-collection::before{content:"\f2cc"}.bi-columns-gap::before{content:"\f2cd"}.bi-columns::before{content:"\f2ce"}.bi-command::before{content:"\f2cf"}.bi-compass-fill::before{content:"\f2d0"}.bi-compass::before{content:"\f2d1"}.bi-cone-striped::before{content:"\f2d2"}.bi-cone::before{content:"\f2d3"}.bi-controller::before{content:"\f2d4"}.bi-cpu-fill::before{content:"\f2d5"}.bi-cpu::before{content:"\f2d6"}.bi-credit-card-2-back-fill::before{content:"\f2d7"}.bi-credit-card-2-back::before{content:"\f2d8"}.bi-credit-card-2-front-fill::before{content:"\f2d9"}.bi-credit-card-2-front::before{content:"\f2da"}.bi-credit-card-fill::before{content:"\f2db"}.bi-credit-card::before{content:"\f2dc"}.bi-crop::before{content:"\f2dd"}.bi-cup-fill::before{content:"\f2de"}.bi-cup-straw::before{content:"\f2df"}.bi-cup::before{content:"\f2e0"}.bi-cursor-fill::before{content:"\f2e1"}.bi-cursor-text::before{content:"\f2e2"}.bi-cursor::before{content:"\f2e3"}.bi-dash-circle-dotted::before{content:"\f2e4"}.bi-dash-circle-fill::before{content:"\f2e5"}.bi-dash-circle::before{content:"\f2e6"}.bi-dash-square-dotted::before{content:"\f2e7"}.bi-dash-square-fill::before{content:"\f2e8"}.bi-dash-square::before{content:"\f2e9"}.bi-dash::before{content:"\f2ea"}.bi-diagram-2-fill::before{content:"\f2eb"}.bi-diagram-2::before{content:"\f2ec"}.bi-diagram-3-fill::before{content:"\f2ed"}.bi-diagram-3::before{content:"\f2ee"}.bi-diamond-fill::before{content:"\f2ef"}.bi-diamond-half::before{content:"\f2f0"}.bi-diamond::before{content:"\f2f1"}.bi-dice-1-fill::before{content:"\f2f2"}.bi-dice-1::before{content:"\f2f3"}.bi-dice-2-fill::before{content:"\f2f4"}.bi-dice-2::before{content:"\f2f5"}.bi-dice-3-fill::before{content:"\f2f6"}.bi-dice-3::before{content:"\f2f7"}.bi-dice-4-fill::before{content:"\f2f8"}.bi-dice-4::before{content:"\f2f9"}.bi-dice-5-fill::before{content:"\f2fa"}.bi-dice-5::before{content:"\f2fb"}.bi-dice-6-fill::before{content:"\f2fc"}.bi-dice-6::before{content:"\f2fd"}.bi-disc-fill::before{content:"\f2fe"}.bi-disc::before{content:"\f2ff"}.bi-discord::before{content:"\f300"}.bi-display-fill::before{content:"\f301"}.bi-display::before{content:"\f302"}.bi-distribute-horizontal::before{content:"\f303"}.bi-distribute-vertical::before{content:"\f304"}.bi-door-closed-fill::before{content:"\f305"}.bi-door-closed::before{content:"\f306"}.bi-door-open-fill::before{content:"\f307"}.bi-door-open::before{content:"\f308"}.bi-dot::before{content:"\f309"}.bi-download::before{content:"\f30a"}.bi-droplet-fill::before{content:"\f30b"}.bi-droplet-half::before{content:"\f30c"}.bi-droplet::before{content:"\f30d"}.bi-earbuds::before{content:"\f30e"}.bi-easel-fill::before{content:"\f30f"}.bi-easel::before{content:"\f310"}.bi-egg-fill::before{content:"\f311"}.bi-egg-fried::before{content:"\f312"}.bi-egg::before{content:"\f313"}.bi-eject-fill::before{content:"\f314"}.bi-eject::before{content:"\f315"}.bi-emoji-angry-fill::before{content:"\f316"}.bi-emoji-angry::before{content:"\f317"}.bi-emoji-dizzy-fill::before{content:"\f318"}.bi-emoji-dizzy::before{content:"\f319"}.bi-emoji-expressionless-fill::before{content:"\f31a"}.bi-emoji-expressionless::before{content:"\f31b"}.bi-emoji-frown-fill::before{content:"\f31c"}.bi-emoji-frown::before{content:"\f31d"}.bi-emoji-heart-eyes-fill::before{content:"\f31e"}.bi-emoji-heart-eyes::before{content:"\f31f"}.bi-emoji-laughing-fill::before{content:"\f320"}.bi-emoji-laughing::before{content:"\f321"}.bi-emoji-neutral-fill::before{content:"\f322"}.bi-emoji-neutral::before{content:"\f323"}.bi-emoji-smile-fill::before{content:"\f324"}.bi-emoji-smile-upside-down-fill::before{content:"\f325"}.bi-emoji-smile-upside-down::before{content:"\f326"}.bi-emoji-smile::before{content:"\f327"}.bi-emoji-sunglasses-fill::before{content:"\f328"}.bi-emoji-sunglasses::before{content:"\f329"}.bi-emoji-wink-fill::before{content:"\f32a"}.bi-emoji-wink::before{content:"\f32b"}.bi-envelope-fill::before{content:"\f32c"}.bi-envelope-open-fill::before{content:"\f32d"}.bi-envelope-open::before{content:"\f32e"}.bi-envelope::before{content:"\f32f"}.bi-eraser-fill::before{content:"\f330"}.bi-eraser::before{content:"\f331"}.bi-exclamation-circle-fill::before{content:"\f332"}.bi-exclamation-circle::before{content:"\f333"}.bi-exclamation-diamond-fill::before{content:"\f334"}.bi-exclamation-diamond::before{content:"\f335"}.bi-exclamation-octagon-fill::before{content:"\f336"}.bi-exclamation-octagon::before{content:"\f337"}.bi-exclamation-square-fill::before{content:"\f338"}.bi-exclamation-square::before{content:"\f339"}.bi-exclamation-triangle-fill::before{content:"\f33a"}.bi-exclamation-triangle::before{content:"\f33b"}.bi-exclamation::before{content:"\f33c"}.bi-exclude::before{content:"\f33d"}.bi-eye-fill::before{content:"\f33e"}.bi-eye-slash-fill::before{content:"\f33f"}.bi-eye-slash::before{content:"\f340"}.bi-eye::before{content:"\f341"}.bi-eyedropper::before{content:"\f342"}.bi-eyeglasses::before{content:"\f343"}.bi-facebook::before{content:"\f344"}.bi-file-arrow-down-fill::before{content:"\f345"}.bi-file-arrow-down::before{content:"\f346"}.bi-file-arrow-up-fill::before{content:"\f347"}.bi-file-arrow-up::before{content:"\f348"}.bi-file-bar-graph-fill::before{content:"\f349"}.bi-file-bar-graph::before{content:"\f34a"}.bi-file-binary-fill::before{content:"\f34b"}.bi-file-binary::before{content:"\f34c"}.bi-file-break-fill::before{content:"\f34d"}.bi-file-break::before{content:"\f34e"}.bi-file-check-fill::before{content:"\f34f"}.bi-file-check::before{content:"\f350"}.bi-file-code-fill::before{content:"\f351"}.bi-file-code::before{content:"\f352"}.bi-file-diff-fill::before{content:"\f353"}.bi-file-diff::before{content:"\f354"}.bi-file-earmark-arrow-down-fill::before{content:"\f355"}.bi-file-earmark-arrow-down::before{content:"\f356"}.bi-file-earmark-arrow-up-fill::before{content:"\f357"}.bi-file-earmark-arrow-up::before{content:"\f358"}.bi-file-earmark-bar-graph-fill::before{content:"\f359"}.bi-file-earmark-bar-graph::before{content:"\f35a"}.bi-file-earmark-binary-fill::before{content:"\f35b"}.bi-file-earmark-binary::before{content:"\f35c"}.bi-file-earmark-break-fill::before{content:"\f35d"}.bi-file-earmark-break::before{content:"\f35e"}.bi-file-earmark-check-fill::before{content:"\f35f"}.bi-file-earmark-check::before{content:"\f360"}.bi-file-earmark-code-fill::before{content:"\f361"}.bi-file-earmark-code::before{content:"\f362"}.bi-file-earmark-diff-fill::before{content:"\f363"}.bi-file-earmark-diff::before{content:"\f364"}.bi-file-earmark-easel-fill::before{content:"\f365"}.bi-file-earmark-easel::before{content:"\f366"}.bi-file-earmark-excel-fill::before{content:"\f367"}.bi-file-earmark-excel::before{content:"\f368"}.bi-file-earmark-fill::before{content:"\f369"}.bi-file-earmark-font-fill::before{content:"\f36a"}.bi-file-earmark-font::before{content:"\f36b"}.bi-file-earmark-image-fill::before{content:"\f36c"}.bi-file-earmark-image::before{content:"\f36d"}.bi-file-earmark-lock-fill::before{content:"\f36e"}.bi-file-earmark-lock::before{content:"\f36f"}.bi-file-earmark-lock2-fill::before{content:"\f370"}.bi-file-earmark-lock2::before{content:"\f371"}.bi-file-earmark-medical-fill::before{content:"\f372"}.bi-file-earmark-medical::before{content:"\f373"}.bi-file-earmark-minus-fill::before{content:"\f374"}.bi-file-earmark-minus::before{content:"\f375"}.bi-file-earmark-music-fill::before{content:"\f376"}.bi-file-earmark-music::before{content:"\f377"}.bi-file-earmark-person-fill::before{content:"\f378"}.bi-file-earmark-person::before{content:"\f379"}.bi-file-earmark-play-fill::before{content:"\f37a"}.bi-file-earmark-play::before{content:"\f37b"}.bi-file-earmark-plus-fill::before{content:"\f37c"}.bi-file-earmark-plus::before{content:"\f37d"}.bi-file-earmark-post-fill::before{content:"\f37e"}.bi-file-earmark-post::before{content:"\f37f"}.bi-file-earmark-ppt-fill::before{content:"\f380"}.bi-file-earmark-ppt::before{content:"\f381"}.bi-file-earmark-richtext-fill::before{content:"\f382"}.bi-file-earmark-richtext::before{content:"\f383"}.bi-file-earmark-ruled-fill::before{content:"\f384"}.bi-file-earmark-ruled::before{content:"\f385"}.bi-file-earmark-slides-fill::before{content:"\f386"}.bi-file-earmark-slides::before{content:"\f387"}.bi-file-earmark-spreadsheet-fill::before{content:"\f388"}.bi-file-earmark-spreadsheet::before{content:"\f389"}.bi-file-earmark-text-fill::before{content:"\f38a"}.bi-file-earmark-text::before{content:"\f38b"}.bi-file-earmark-word-fill::before{content:"\f38c"}.bi-file-earmark-word::before{content:"\f38d"}.bi-file-earmark-x-fill::before{content:"\f38e"}.bi-file-earmark-x::before{content:"\f38f"}.bi-file-earmark-zip-fill::before{content:"\f390"}.bi-file-earmark-zip::before{content:"\f391"}.bi-file-earmark::before{content:"\f392"}.bi-file-easel-fill::before{content:"\f393"}.bi-file-easel::before{content:"\f394"}.bi-file-excel-fill::before{content:"\f395"}.bi-file-excel::before{content:"\f396"}.bi-file-fill::before{content:"\f397"}.bi-file-font-fill::before{content:"\f398"}.bi-file-font::before{content:"\f399"}.bi-file-image-fill::before{content:"\f39a"}.bi-file-image::before{content:"\f39b"}.bi-file-lock-fill::before{content:"\f39c"}.bi-file-lock::before{content:"\f39d"}.bi-file-lock2-fill::before{content:"\f39e"}.bi-file-lock2::before{content:"\f39f"}.bi-file-medical-fill::before{content:"\f3a0"}.bi-file-medical::before{content:"\f3a1"}.bi-file-minus-fill::before{content:"\f3a2"}.bi-file-minus::before{content:"\f3a3"}.bi-file-music-fill::before{content:"\f3a4"}.bi-file-music::before{content:"\f3a5"}.bi-file-person-fill::before{content:"\f3a6"}.bi-file-person::before{content:"\f3a7"}.bi-file-play-fill::before{content:"\f3a8"}.bi-file-play::before{content:"\f3a9"}.bi-file-plus-fill::before{content:"\f3aa"}.bi-file-plus::before{content:"\f3ab"}.bi-file-post-fill::before{content:"\f3ac"}.bi-file-post::before{content:"\f3ad"}.bi-file-ppt-fill::before{content:"\f3ae"}.bi-file-ppt::before{content:"\f3af"}.bi-file-richtext-fill::before{content:"\f3b0"}.bi-file-richtext::before{content:"\f3b1"}.bi-file-ruled-fill::before{content:"\f3b2"}.bi-file-ruled::before{content:"\f3b3"}.bi-file-slides-fill::before{content:"\f3b4"}.bi-file-slides::before{content:"\f3b5"}.bi-file-spreadsheet-fill::before{content:"\f3b6"}.bi-file-spreadsheet::before{content:"\f3b7"}.bi-file-text-fill::before{content:"\f3b8"}.bi-file-text::before{content:"\f3b9"}.bi-file-word-fill::before{content:"\f3ba"}.bi-file-word::before{content:"\f3bb"}.bi-file-x-fill::before{content:"\f3bc"}.bi-file-x::before{content:"\f3bd"}.bi-file-zip-fill::before{content:"\f3be"}.bi-file-zip::before{content:"\f3bf"}.bi-file::before{content:"\f3c0"}.bi-files-alt::before{content:"\f3c1"}.bi-files::before{content:"\f3c2"}.bi-film::before{content:"\f3c3"}.bi-filter-circle-fill::before{content:"\f3c4"}.bi-filter-circle::before{content:"\f3c5"}.bi-filter-left::before{content:"\f3c6"}.bi-filter-right::before{content:"\f3c7"}.bi-filter-square-fill::before{content:"\f3c8"}.bi-filter-square::before{content:"\f3c9"}.bi-filter::before{content:"\f3ca"}.bi-flag-fill::before{content:"\f3cb"}.bi-flag::before{content:"\f3cc"}.bi-flower1::before{content:"\f3cd"}.bi-flower2::before{content:"\f3ce"}.bi-flower3::before{content:"\f3cf"}.bi-folder-check::before{content:"\f3d0"}.bi-folder-fill::before{content:"\f3d1"}.bi-folder-minus::before{content:"\f3d2"}.bi-folder-plus::before{content:"\f3d3"}.bi-folder-symlink-fill::before{content:"\f3d4"}.bi-folder-symlink::before{content:"\f3d5"}.bi-folder-x::before{content:"\f3d6"}.bi-folder::before{content:"\f3d7"}.bi-folder2-open::before{content:"\f3d8"}.bi-folder2::before{content:"\f3d9"}.bi-fonts::before{content:"\f3da"}.bi-forward-fill::before{content:"\f3db"}.bi-forward::before{content:"\f3dc"}.bi-front::before{content:"\f3dd"}.bi-fullscreen-exit::before{content:"\f3de"}.bi-fullscreen::before{content:"\f3df"}.bi-funnel-fill::before{content:"\f3e0"}.bi-funnel::before{content:"\f3e1"}.bi-gear-fill::before{content:"\f3e2"}.bi-gear-wide-connected::before{content:"\f3e3"}.bi-gear-wide::before{content:"\f3e4"}.bi-gear::before{content:"\f3e5"}.bi-gem::before{content:"\f3e6"}.bi-geo-alt-fill::before{content:"\f3e7"}.bi-geo-alt::before{content:"\f3e8"}.bi-geo-fill::before{content:"\f3e9"}.bi-geo::before{content:"\f3ea"}.bi-gift-fill::before{content:"\f3eb"}.bi-gift::before{content:"\f3ec"}.bi-github::before{content:"\f3ed"}.bi-globe::before{content:"\f3ee"}.bi-globe2::before{content:"\f3ef"}.bi-google::before{content:"\f3f0"}.bi-graph-down::before{content:"\f3f1"}.bi-graph-up::before{content:"\f3f2"}.bi-grid-1x2-fill::before{content:"\f3f3"}.bi-grid-1x2::before{content:"\f3f4"}.bi-grid-3x2-gap-fill::before{content:"\f3f5"}.bi-grid-3x2-gap::before{content:"\f3f6"}.bi-grid-3x2::before{content:"\f3f7"}.bi-grid-3x3-gap-fill::before{content:"\f3f8"}.bi-grid-3x3-gap::before{content:"\f3f9"}.bi-grid-3x3::before{content:"\f3fa"}.bi-grid-fill::before{content:"\f3fb"}.bi-grid::before{content:"\f3fc"}.bi-grip-horizontal::before{content:"\f3fd"}.bi-grip-vertical::before{content:"\f3fe"}.bi-hammer::before{content:"\f3ff"}.bi-hand-index-fill::before{content:"\f400"}.bi-hand-index-thumb-fill::before{content:"\f401"}.bi-hand-index-thumb::before{content:"\f402"}.bi-hand-index::before{content:"\f403"}.bi-hand-thumbs-down-fill::before{content:"\f404"}.bi-hand-thumbs-down::before{content:"\f405"}.bi-hand-thumbs-up-fill::before{content:"\f406"}.bi-hand-thumbs-up::before{content:"\f407"}.bi-handbag-fill::before{content:"\f408"}.bi-handbag::before{content:"\f409"}.bi-hash::before{content:"\f40a"}.bi-hdd-fill::before{content:"\f40b"}.bi-hdd-network-fill::before{content:"\f40c"}.bi-hdd-network::before{content:"\f40d"}.bi-hdd-rack-fill::before{content:"\f40e"}.bi-hdd-rack::before{content:"\f40f"}.bi-hdd-stack-fill::before{content:"\f410"}.bi-hdd-stack::before{content:"\f411"}.bi-hdd::before{content:"\f412"}.bi-headphones::before{content:"\f413"}.bi-headset::before{content:"\f414"}.bi-heart-fill::before{content:"\f415"}.bi-heart-half::before{content:"\f416"}.bi-heart::before{content:"\f417"}.bi-heptagon-fill::before{content:"\f418"}.bi-heptagon-half::before{content:"\f419"}.bi-heptagon::before{content:"\f41a"}.bi-hexagon-fill::before{content:"\f41b"}.bi-hexagon-half::before{content:"\f41c"}.bi-hexagon::before{content:"\f41d"}.bi-hourglass-bottom::before{content:"\f41e"}.bi-hourglass-split::before{content:"\f41f"}.bi-hourglass-top::before{content:"\f420"}.bi-hourglass::before{content:"\f421"}.bi-house-door-fill::before{content:"\f422"}.bi-house-door::before{content:"\f423"}.bi-house-fill::before{content:"\f424"}.bi-house::before{content:"\f425"}.bi-hr::before{content:"\f426"}.bi-hurricane::before{content:"\f427"}.bi-image-alt::before{content:"\f428"}.bi-image-fill::before{content:"\f429"}.bi-image::before{content:"\f42a"}.bi-images::before{content:"\f42b"}.bi-inbox-fill::before{content:"\f42c"}.bi-inbox::before{content:"\f42d"}.bi-inboxes-fill::before{content:"\f42e"}.bi-inboxes::before{content:"\f42f"}.bi-info-circle-fill::before{content:"\f430"}.bi-info-circle::before{content:"\f431"}.bi-info-square-fill::before{content:"\f432"}.bi-info-square::before{content:"\f433"}.bi-info::before{content:"\f434"}.bi-input-cursor-text::before{content:"\f435"}.bi-input-cursor::before{content:"\f436"}.bi-instagram::before{content:"\f437"}.bi-intersect::before{content:"\f438"}.bi-journal-album::before{content:"\f439"}.bi-journal-arrow-down::before{content:"\f43a"}.bi-journal-arrow-up::before{content:"\f43b"}.bi-journal-bookmark-fill::before{content:"\f43c"}.bi-journal-bookmark::before{content:"\f43d"}.bi-journal-check::before{content:"\f43e"}.bi-journal-code::before{content:"\f43f"}.bi-journal-medical::before{content:"\f440"}.bi-journal-minus::before{content:"\f441"}.bi-journal-plus::before{content:"\f442"}.bi-journal-richtext::before{content:"\f443"}.bi-journal-text::before{content:"\f444"}.bi-journal-x::before{content:"\f445"}.bi-journal::before{content:"\f446"}.bi-journals::before{content:"\f447"}.bi-joystick::before{content:"\f448"}.bi-justify-left::before{content:"\f449"}.bi-justify-right::before{content:"\f44a"}.bi-justify::before{content:"\f44b"}.bi-kanban-fill::before{content:"\f44c"}.bi-kanban::before{content:"\f44d"}.bi-key-fill::before{content:"\f44e"}.bi-key::before{content:"\f44f"}.bi-keyboard-fill::before{content:"\f450"}.bi-keyboard::before{content:"\f451"}.bi-ladder::before{content:"\f452"}.bi-lamp-fill::before{content:"\f453"}.bi-lamp::before{content:"\f454"}.bi-laptop-fill::before{content:"\f455"}.bi-laptop::before{content:"\f456"}.bi-layer-backward::before{content:"\f457"}.bi-layer-forward::before{content:"\f458"}.bi-layers-fill::before{content:"\f459"}.bi-layers-half::before{content:"\f45a"}.bi-layers::before{content:"\f45b"}.bi-layout-sidebar-inset-reverse::before{content:"\f45c"}.bi-layout-sidebar-inset::before{content:"\f45d"}.bi-layout-sidebar-reverse::before{content:"\f45e"}.bi-layout-sidebar::before{content:"\f45f"}.bi-layout-split::before{content:"\f460"}.bi-layout-text-sidebar-reverse::before{content:"\f461"}.bi-layout-text-sidebar::before{content:"\f462"}.bi-layout-text-window-reverse::before{content:"\f463"}.bi-layout-text-window::before{content:"\f464"}.bi-layout-three-columns::before{content:"\f465"}.bi-layout-wtf::before{content:"\f466"}.bi-life-preserver::before{content:"\f467"}.bi-lightbulb-fill::before{content:"\f468"}.bi-lightbulb-off-fill::before{content:"\f469"}.bi-lightbulb-off::before{content:"\f46a"}.bi-lightbulb::before{content:"\f46b"}.bi-lightning-charge-fill::before{content:"\f46c"}.bi-lightning-charge::before{content:"\f46d"}.bi-lightning-fill::before{content:"\f46e"}.bi-lightning::before{content:"\f46f"}.bi-link-45deg::before{content:"\f470"}.bi-link::before{content:"\f471"}.bi-linkedin::before{content:"\f472"}.bi-list-check::before{content:"\f473"}.bi-list-nested::before{content:"\f474"}.bi-list-ol::before{content:"\f475"}.bi-list-stars::before{content:"\f476"}.bi-list-task::before{content:"\f477"}.bi-list-ul::before{content:"\f478"}.bi-list::before{content:"\f479"}.bi-lock-fill::before{content:"\f47a"}.bi-lock::before{content:"\f47b"}.bi-mailbox::before{content:"\f47c"}.bi-mailbox2::before{content:"\f47d"}.bi-map-fill::before{content:"\f47e"}.bi-map::before{content:"\f47f"}.bi-markdown-fill::before{content:"\f480"}.bi-markdown::before{content:"\f481"}.bi-mask::before{content:"\f482"}.bi-megaphone-fill::before{content:"\f483"}.bi-megaphone::before{content:"\f484"}.bi-menu-app-fill::before{content:"\f485"}.bi-menu-app::before{content:"\f486"}.bi-menu-button-fill::before{content:"\f487"}.bi-menu-button-wide-fill::before{content:"\f488"}.bi-menu-button-wide::before{content:"\f489"}.bi-menu-button::before{content:"\f48a"}.bi-menu-down::before{content:"\f48b"}.bi-menu-up::before{content:"\f48c"}.bi-mic-fill::before{content:"\f48d"}.bi-mic-mute-fill::before{content:"\f48e"}.bi-mic-mute::before{content:"\f48f"}.bi-mic::before{content:"\f490"}.bi-minecart-loaded::before{content:"\f491"}.bi-minecart::before{content:"\f492"}.bi-moisture::before{content:"\f493"}.bi-moon-fill::before{content:"\f494"}.bi-moon-stars-fill::before{content:"\f495"}.bi-moon-stars::before{content:"\f496"}.bi-moon::before{content:"\f497"}.bi-mouse-fill::before{content:"\f498"}.bi-mouse::before{content:"\f499"}.bi-mouse2-fill::before{content:"\f49a"}.bi-mouse2::before{content:"\f49b"}.bi-mouse3-fill::before{content:"\f49c"}.bi-mouse3::before{content:"\f49d"}.bi-music-note-beamed::before{content:"\f49e"}.bi-music-note-list::before{content:"\f49f"}.bi-music-note::before{content:"\f4a0"}.bi-music-player-fill::before{content:"\f4a1"}.bi-music-player::before{content:"\f4a2"}.bi-newspaper::before{content:"\f4a3"}.bi-node-minus-fill::before{content:"\f4a4"}.bi-node-minus::before{content:"\f4a5"}.bi-node-plus-fill::before{content:"\f4a6"}.bi-node-plus::before{content:"\f4a7"}.bi-nut-fill::before{content:"\f4a8"}.bi-nut::before{content:"\f4a9"}.bi-octagon-fill::before{content:"\f4aa"}.bi-octagon-half::before{content:"\f4ab"}.bi-octagon::before{content:"\f4ac"}.bi-option::before{content:"\f4ad"}.bi-outlet::before{content:"\f4ae"}.bi-paint-bucket::before{content:"\f4af"}.bi-palette-fill::before{content:"\f4b0"}.bi-palette::before{content:"\f4b1"}.bi-palette2::before{content:"\f4b2"}.bi-paperclip::before{content:"\f4b3"}.bi-paragraph::before{content:"\f4b4"}.bi-patch-check-fill::before{content:"\f4b5"}.bi-patch-check::before{content:"\f4b6"}.bi-patch-exclamation-fill::before{content:"\f4b7"}.bi-patch-exclamation::before{content:"\f4b8"}.bi-patch-minus-fill::before{content:"\f4b9"}.bi-patch-minus::before{content:"\f4ba"}.bi-patch-plus-fill::before{content:"\f4bb"}.bi-patch-plus::before{content:"\f4bc"}.bi-patch-question-fill::before{content:"\f4bd"}.bi-patch-question::before{content:"\f4be"}.bi-pause-btn-fill::before{content:"\f4bf"}.bi-pause-btn::before{content:"\f4c0"}.bi-pause-circle-fill::before{content:"\f4c1"}.bi-pause-circle::before{content:"\f4c2"}.bi-pause-fill::before{content:"\f4c3"}.bi-pause::before{content:"\f4c4"}.bi-peace-fill::before{content:"\f4c5"}.bi-peace::before{content:"\f4c6"}.bi-pen-fill::before{content:"\f4c7"}.bi-pen::before{content:"\f4c8"}.bi-pencil-fill::before{content:"\f4c9"}.bi-pencil-square::before{content:"\f4ca"}.bi-pencil::before{content:"\f4cb"}.bi-pentagon-fill::before{content:"\f4cc"}.bi-pentagon-half::before{content:"\f4cd"}.bi-pentagon::before{content:"\f4ce"}.bi-people-fill::before{content:"\f4cf"}.bi-people::before{content:"\f4d0"}.bi-percent::before{content:"\f4d1"}.bi-person-badge-fill::before{content:"\f4d2"}.bi-person-badge::before{content:"\f4d3"}.bi-person-bounding-box::before{content:"\f4d4"}.bi-person-check-fill::before{content:"\f4d5"}.bi-person-check::before{content:"\f4d6"}.bi-person-circle::before{content:"\f4d7"}.bi-person-dash-fill::before{content:"\f4d8"}.bi-person-dash::before{content:"\f4d9"}.bi-person-fill::before{content:"\f4da"}.bi-person-lines-fill::before{content:"\f4db"}.bi-person-plus-fill::before{content:"\f4dc"}.bi-person-plus::before{content:"\f4dd"}.bi-person-square::before{content:"\f4de"}.bi-person-x-fill::before{content:"\f4df"}.bi-person-x::before{content:"\f4e0"}.bi-person::before{content:"\f4e1"}.bi-phone-fill::before{content:"\f4e2"}.bi-phone-landscape-fill::before{content:"\f4e3"}.bi-phone-landscape::before{content:"\f4e4"}.bi-phone-vibrate-fill::before{content:"\f4e5"}.bi-phone-vibrate::before{content:"\f4e6"}.bi-phone::before{content:"\f4e7"}.bi-pie-chart-fill::before{content:"\f4e8"}.bi-pie-chart::before{content:"\f4e9"}.bi-pin-angle-fill::before{content:"\f4ea"}.bi-pin-angle::before{content:"\f4eb"}.bi-pin-fill::before{content:"\f4ec"}.bi-pin::before{content:"\f4ed"}.bi-pip-fill::before{content:"\f4ee"}.bi-pip::before{content:"\f4ef"}.bi-play-btn-fill::before{content:"\f4f0"}.bi-play-btn::before{content:"\f4f1"}.bi-play-circle-fill::before{content:"\f4f2"}.bi-play-circle::before{content:"\f4f3"}.bi-play-fill::before{content:"\f4f4"}.bi-play::before{content:"\f4f5"}.bi-plug-fill::before{content:"\f4f6"}.bi-plug::before{content:"\f4f7"}.bi-plus-circle-dotted::before{content:"\f4f8"}.bi-plus-circle-fill::before{content:"\f4f9"}.bi-plus-circle::before{content:"\f4fa"}.bi-plus-square-dotted::before{content:"\f4fb"}.bi-plus-square-fill::before{content:"\f4fc"}.bi-plus-square::before{content:"\f4fd"}.bi-plus::before{content:"\f4fe"}.bi-power::before{content:"\f4ff"}.bi-printer-fill::before{content:"\f500"}.bi-printer::before{content:"\f501"}.bi-puzzle-fill::before{content:"\f502"}.bi-puzzle::before{content:"\f503"}.bi-question-circle-fill::before{content:"\f504"}.bi-question-circle::before{content:"\f505"}.bi-question-diamond-fill::before{content:"\f506"}.bi-question-diamond::before{content:"\f507"}.bi-question-octagon-fill::before{content:"\f508"}.bi-question-octagon::before{content:"\f509"}.bi-question-square-fill::before{content:"\f50a"}.bi-question-square::before{content:"\f50b"}.bi-question::before{content:"\f50c"}.bi-rainbow::before{content:"\f50d"}.bi-receipt-cutoff::before{content:"\f50e"}.bi-receipt::before{content:"\f50f"}.bi-reception-0::before{content:"\f510"}.bi-reception-1::before{content:"\f511"}.bi-reception-2::before{content:"\f512"}.bi-reception-3::before{content:"\f513"}.bi-reception-4::before{content:"\f514"}.bi-record-btn-fill::before{content:"\f515"}.bi-record-btn::before{content:"\f516"}.bi-record-circle-fill::before{content:"\f517"}.bi-record-circle::before{content:"\f518"}.bi-record-fill::before{content:"\f519"}.bi-record::before{content:"\f51a"}.bi-record2-fill::before{content:"\f51b"}.bi-record2::before{content:"\f51c"}.bi-reply-all-fill::before{content:"\f51d"}.bi-reply-all::before{content:"\f51e"}.bi-reply-fill::before{content:"\f51f"}.bi-reply::before{content:"\f520"}.bi-rss-fill::before{content:"\f521"}.bi-rss::before{content:"\f522"}.bi-rulers::before{content:"\f523"}.bi-save-fill::before{content:"\f524"}.bi-save::before{content:"\f525"}.bi-save2-fill::before{content:"\f526"}.bi-save2::before{content:"\f527"}.bi-scissors::before{content:"\f528"}.bi-screwdriver::before{content:"\f529"}.bi-search::before{content:"\f52a"}.bi-segmented-nav::before{content:"\f52b"}.bi-server::before{content:"\f52c"}.bi-share-fill::before{content:"\f52d"}.bi-share::before{content:"\f52e"}.bi-shield-check::before{content:"\f52f"}.bi-shield-exclamation::before{content:"\f530"}.bi-shield-fill-check::before{content:"\f531"}.bi-shield-fill-exclamation::before{content:"\f532"}.bi-shield-fill-minus::before{content:"\f533"}.bi-shield-fill-plus::before{content:"\f534"}.bi-shield-fill-x::before{content:"\f535"}.bi-shield-fill::before{content:"\f536"}.bi-shield-lock-fill::before{content:"\f537"}.bi-shield-lock::before{content:"\f538"}.bi-shield-minus::before{content:"\f539"}.bi-shield-plus::before{content:"\f53a"}.bi-shield-shaded::before{content:"\f53b"}.bi-shield-slash-fill::before{content:"\f53c"}.bi-shield-slash::before{content:"\f53d"}.bi-shield-x::before{content:"\f53e"}.bi-shield::before{content:"\f53f"}.bi-shift-fill::before{content:"\f540"}.bi-shift::before{content:"\f541"}.bi-shop-window::before{content:"\f542"}.bi-shop::before{content:"\f543"}.bi-shuffle::before{content:"\f544"}.bi-signpost-2-fill::before{content:"\f545"}.bi-signpost-2::before{content:"\f546"}.bi-signpost-fill::before{content:"\f547"}.bi-signpost-split-fill::before{content:"\f548"}.bi-signpost-split::before{content:"\f549"}.bi-signpost::before{content:"\f54a"}.bi-sim-fill::before{content:"\f54b"}.bi-sim::before{content:"\f54c"}.bi-skip-backward-btn-fill::before{content:"\f54d"}.bi-skip-backward-btn::before{content:"\f54e"}.bi-skip-backward-circle-fill::before{content:"\f54f"}.bi-skip-backward-circle::before{content:"\f550"}.bi-skip-backward-fill::before{content:"\f551"}.bi-skip-backward::before{content:"\f552"}.bi-skip-end-btn-fill::before{content:"\f553"}.bi-skip-end-btn::before{content:"\f554"}.bi-skip-end-circle-fill::before{content:"\f555"}.bi-skip-end-circle::before{content:"\f556"}.bi-skip-end-fill::before{content:"\f557"}.bi-skip-end::before{content:"\f558"}.bi-skip-forward-btn-fill::before{content:"\f559"}.bi-skip-forward-btn::before{content:"\f55a"}.bi-skip-forward-circle-fill::before{content:"\f55b"}.bi-skip-forward-circle::before{content:"\f55c"}.bi-skip-forward-fill::before{content:"\f55d"}.bi-skip-forward::before{content:"\f55e"}.bi-skip-start-btn-fill::before{content:"\f55f"}.bi-skip-start-btn::before{content:"\f560"}.bi-skip-start-circle-fill::before{content:"\f561"}.bi-skip-start-circle::before{content:"\f562"}.bi-skip-start-fill::before{content:"\f563"}.bi-skip-start::before{content:"\f564"}.bi-slack::before{content:"\f565"}.bi-slash-circle-fill::before{content:"\f566"}.bi-slash-circle::before{content:"\f567"}.bi-slash-square-fill::before{content:"\f568"}.bi-slash-square::before{content:"\f569"}.bi-slash::before{content:"\f56a"}.bi-sliders::before{content:"\f56b"}.bi-smartwatch::before{content:"\f56c"}.bi-snow::before{content:"\f56d"}.bi-snow2::before{content:"\f56e"}.bi-snow3::before{content:"\f56f"}.bi-sort-alpha-down-alt::before{content:"\f570"}.bi-sort-alpha-down::before{content:"\f571"}.bi-sort-alpha-up-alt::before{content:"\f572"}.bi-sort-alpha-up::before{content:"\f573"}.bi-sort-down-alt::before{content:"\f574"}.bi-sort-down::before{content:"\f575"}.bi-sort-numeric-down-alt::before{content:"\f576"}.bi-sort-numeric-down::before{content:"\f577"}.bi-sort-numeric-up-alt::before{content:"\f578"}.bi-sort-numeric-up::before{content:"\f579"}.bi-sort-up-alt::before{content:"\f57a"}.bi-sort-up::before{content:"\f57b"}.bi-soundwave::before{content:"\f57c"}.bi-speaker-fill::before{content:"\f57d"}.bi-speaker::before{content:"\f57e"}.bi-speedometer::before{content:"\f57f"}.bi-speedometer2::before{content:"\f580"}.bi-spellcheck::before{content:"\f581"}.bi-square-fill::before{content:"\f582"}.bi-square-half::before{content:"\f583"}.bi-square::before{content:"\f584"}.bi-stack::before{content:"\f585"}.bi-star-fill::before{content:"\f586"}.bi-star-half::before{content:"\f587"}.bi-star::before{content:"\f588"}.bi-stars::before{content:"\f589"}.bi-stickies-fill::before{content:"\f58a"}.bi-stickies::before{content:"\f58b"}.bi-sticky-fill::before{content:"\f58c"}.bi-sticky::before{content:"\f58d"}.bi-stop-btn-fill::before{content:"\f58e"}.bi-stop-btn::before{content:"\f58f"}.bi-stop-circle-fill::before{content:"\f590"}.bi-stop-circle::before{content:"\f591"}.bi-stop-fill::before{content:"\f592"}.bi-stop::before{content:"\f593"}.bi-stoplights-fill::before{content:"\f594"}.bi-stoplights::before{content:"\f595"}.bi-stopwatch-fill::before{content:"\f596"}.bi-stopwatch::before{content:"\f597"}.bi-subtract::before{content:"\f598"}.bi-suit-club-fill::before{content:"\f599"}.bi-suit-club::before{content:"\f59a"}.bi-suit-diamond-fill::before{content:"\f59b"}.bi-suit-diamond::before{content:"\f59c"}.bi-suit-heart-fill::before{content:"\f59d"}.bi-suit-heart::before{content:"\f59e"}.bi-suit-spade-fill::before{content:"\f59f"}.bi-suit-spade::before{content:"\f5a0"}.bi-sun-fill::before{content:"\f5a1"}.bi-sun::before{content:"\f5a2"}.bi-sunglasses::before{content:"\f5a3"}.bi-sunrise-fill::before{content:"\f5a4"}.bi-sunrise::before{content:"\f5a5"}.bi-sunset-fill::before{content:"\f5a6"}.bi-sunset::before{content:"\f5a7"}.bi-symmetry-horizontal::before{content:"\f5a8"}.bi-symmetry-vertical::before{content:"\f5a9"}.bi-table::before{content:"\f5aa"}.bi-tablet-fill::before{content:"\f5ab"}.bi-tablet-landscape-fill::before{content:"\f5ac"}.bi-tablet-landscape::before{content:"\f5ad"}.bi-tablet::before{content:"\f5ae"}.bi-tag-fill::before{content:"\f5af"}.bi-tag::before{content:"\f5b0"}.bi-tags-fill::before{content:"\f5b1"}.bi-tags::before{content:"\f5b2"}.bi-telegram::before{content:"\f5b3"}.bi-telephone-fill::before{content:"\f5b4"}.bi-telephone-forward-fill::before{content:"\f5b5"}.bi-telephone-forward::before{content:"\f5b6"}.bi-telephone-inbound-fill::before{content:"\f5b7"}.bi-telephone-inbound::before{content:"\f5b8"}.bi-telephone-minus-fill::before{content:"\f5b9"}.bi-telephone-minus::before{content:"\f5ba"}.bi-telephone-outbound-fill::before{content:"\f5bb"}.bi-telephone-outbound::before{content:"\f5bc"}.bi-telephone-plus-fill::before{content:"\f5bd"}.bi-telephone-plus::before{content:"\f5be"}.bi-telephone-x-fill::before{content:"\f5bf"}.bi-telephone-x::before{content:"\f5c0"}.bi-telephone::before{content:"\f5c1"}.bi-terminal-fill::before{content:"\f5c2"}.bi-terminal::before{content:"\f5c3"}.bi-text-center::before{content:"\f5c4"}.bi-text-indent-left::before{content:"\f5c5"}.bi-text-indent-right::before{content:"\f5c6"}.bi-text-left::before{content:"\f5c7"}.bi-text-paragraph::before{content:"\f5c8"}.bi-text-right::before{content:"\f5c9"}.bi-textarea-resize::before{content:"\f5ca"}.bi-textarea-t::before{content:"\f5cb"}.bi-textarea::before{content:"\f5cc"}.bi-thermometer-half::before{content:"\f5cd"}.bi-thermometer-high::before{content:"\f5ce"}.bi-thermometer-low::before{content:"\f5cf"}.bi-thermometer-snow::before{content:"\f5d0"}.bi-thermometer-sun::before{content:"\f5d1"}.bi-thermometer::before{content:"\f5d2"}.bi-three-dots-vertical::before{content:"\f5d3"}.bi-three-dots::before{content:"\f5d4"}.bi-toggle-off::before{content:"\f5d5"}.bi-toggle-on::before{content:"\f5d6"}.bi-toggle2-off::before{content:"\f5d7"}.bi-toggle2-on::before{content:"\f5d8"}.bi-toggles::before{content:"\f5d9"}.bi-toggles2::before{content:"\f5da"}.bi-tools::before{content:"\f5db"}.bi-tornado::before{content:"\f5dc"}.bi-trash-fill::before{content:"\f5dd"}.bi-trash::before{content:"\f5de"}.bi-trash2-fill::before{content:"\f5df"}.bi-trash2::before{content:"\f5e0"}.bi-tree-fill::before{content:"\f5e1"}.bi-tree::before{content:"\f5e2"}.bi-triangle-fill::before{content:"\f5e3"}.bi-triangle-half::before{content:"\f5e4"}.bi-triangle::before{content:"\f5e5"}.bi-trophy-fill::before{content:"\f5e6"}.bi-trophy::before{content:"\f5e7"}.bi-tropical-storm::before{content:"\f5e8"}.bi-truck-flatbed::before{content:"\f5e9"}.bi-truck::before{content:"\f5ea"}.bi-tsunami::before{content:"\f5eb"}.bi-tv-fill::before{content:"\f5ec"}.bi-tv::before{content:"\f5ed"}.bi-twitch::before{content:"\f5ee"}.bi-twitter::before{content:"\f5ef"}.bi-type-bold::before{content:"\f5f0"}.bi-type-h1::before{content:"\f5f1"}.bi-type-h2::before{content:"\f5f2"}.bi-type-h3::before{content:"\f5f3"}.bi-type-italic::before{content:"\f5f4"}.bi-type-strikethrough::before{content:"\f5f5"}.bi-type-underline::before{content:"\f5f6"}.bi-type::before{content:"\f5f7"}.bi-ui-checks-grid::before{content:"\f5f8"}.bi-ui-checks::before{content:"\f5f9"}.bi-ui-radios-grid::before{content:"\f5fa"}.bi-ui-radios::before{content:"\f5fb"}.bi-umbrella-fill::before{content:"\f5fc"}.bi-umbrella::before{content:"\f5fd"}.bi-union::before{content:"\f5fe"}.bi-unlock-fill::before{content:"\f5ff"}.bi-unlock::before{content:"\f600"}.bi-upc-scan::before{content:"\f601"}.bi-upc::before{content:"\f602"}.bi-upload::before{content:"\f603"}.bi-vector-pen::before{content:"\f604"}.bi-view-list::before{content:"\f605"}.bi-view-stacked::before{content:"\f606"}.bi-vinyl-fill::before{content:"\f607"}.bi-vinyl::before{content:"\f608"}.bi-voicemail::before{content:"\f609"}.bi-volume-down-fill::before{content:"\f60a"}.bi-volume-down::before{content:"\f60b"}.bi-volume-mute-fill::before{content:"\f60c"}.bi-volume-mute::before{content:"\f60d"}.bi-volume-off-fill::before{content:"\f60e"}.bi-volume-off::before{content:"\f60f"}.bi-volume-up-fill::before{content:"\f610"}.bi-volume-up::before{content:"\f611"}.bi-vr::before{content:"\f612"}.bi-wallet-fill::before{content:"\f613"}.bi-wallet::before{content:"\f614"}.bi-wallet2::before{content:"\f615"}.bi-watch::before{content:"\f616"}.bi-water::before{content:"\f617"}.bi-whatsapp::before{content:"\f618"}.bi-wifi-1::before{content:"\f619"}.bi-wifi-2::before{content:"\f61a"}.bi-wifi-off::before{content:"\f61b"}.bi-wifi::before{content:"\f61c"}.bi-wind::before{content:"\f61d"}.bi-window-dock::before{content:"\f61e"}.bi-window-sidebar::before{content:"\f61f"}.bi-window::before{content:"\f620"}.bi-wrench::before{content:"\f621"}.bi-x-circle-fill::before{content:"\f622"}.bi-x-circle::before{content:"\f623"}.bi-x-diamond-fill::before{content:"\f624"}.bi-x-diamond::before{content:"\f625"}.bi-x-octagon-fill::before{content:"\f626"}.bi-x-octagon::before{content:"\f627"}.bi-x-square-fill::before{content:"\f628"}.bi-x-square::before{content:"\f629"}.bi-x::before{content:"\f62a"}.bi-youtube::before{content:"\f62b"}.bi-zoom-in::before{content:"\f62c"}.bi-zoom-out::before{content:"\f62d"}.bi-bank::before{content:"\f62e"}.bi-bank2::before{content:"\f62f"}.bi-bell-slash-fill::before{content:"\f630"}.bi-bell-slash::before{content:"\f631"}.bi-cash-coin::before{content:"\f632"}.bi-check-lg::before{content:"\f633"}.bi-coin::before{content:"\f634"}.bi-currency-bitcoin::before{content:"\f635"}.bi-currency-dollar::before{content:"\f636"}.bi-currency-euro::before{content:"\f637"}.bi-currency-exchange::before{content:"\f638"}.bi-currency-pound::before{content:"\f639"}.bi-currency-yen::before{content:"\f63a"}.bi-dash-lg::before{content:"\f63b"}.bi-exclamation-lg::before{content:"\f63c"}.bi-file-earmark-pdf-fill::before{content:"\f63d"}.bi-file-earmark-pdf::before{content:"\f63e"}.bi-file-pdf-fill::before{content:"\f63f"}.bi-file-pdf::before{content:"\f640"}.bi-gender-ambiguous::before{content:"\f641"}.bi-gender-female::before{content:"\f642"}.bi-gender-male::before{content:"\f643"}.bi-gender-trans::before{content:"\f644"}.bi-headset-vr::before{content:"\f645"}.bi-info-lg::before{content:"\f646"}.bi-mastodon::before{content:"\f647"}.bi-messenger::before{content:"\f648"}.bi-piggy-bank-fill::before{content:"\f649"}.bi-piggy-bank::before{content:"\f64a"}.bi-pin-map-fill::before{content:"\f64b"}.bi-pin-map::before{content:"\f64c"}.bi-plus-lg::before{content:"\f64d"}.bi-question-lg::before{content:"\f64e"}.bi-recycle::before{content:"\f64f"}.bi-reddit::before{content:"\f650"}.bi-safe-fill::before{content:"\f651"}.bi-safe2-fill::before{content:"\f652"}.bi-safe2::before{content:"\f653"}.bi-sd-card-fill::before{content:"\f654"}.bi-sd-card::before{content:"\f655"}.bi-skype::before{content:"\f656"}.bi-slash-lg::before{content:"\f657"}.bi-translate::before{content:"\f658"}.bi-x-lg::before{content:"\f659"}.bi-safe::before{content:"\f65a"}.bi-apple::before{content:"\f65b"}.bi-microsoft::before{content:"\f65d"}.bi-windows::before{content:"\f65e"}.bi-behance::before{content:"\f65c"}.bi-dribbble::before{content:"\f65f"}.bi-line::before{content:"\f660"}.bi-medium::before{content:"\f661"}.bi-paypal::before{content:"\f662"}.bi-pinterest::before{content:"\f663"}.bi-signal::before{content:"\f664"}.bi-snapchat::before{content:"\f665"}.bi-spotify::before{content:"\f666"}.bi-stack-overflow::before{content:"\f667"}.bi-strava::before{content:"\f668"}.bi-wordpress::before{content:"\f669"}.bi-vimeo::before{content:"\f66a"}.bi-activity::before{content:"\f66b"}.bi-easel2-fill::before{content:"\f66c"}.bi-easel2::before{content:"\f66d"}.bi-easel3-fill::before{content:"\f66e"}.bi-easel3::before{content:"\f66f"}.bi-fan::before{content:"\f670"}.bi-fingerprint::before{content:"\f671"}.bi-graph-down-arrow::before{content:"\f672"}.bi-graph-up-arrow::before{content:"\f673"}.bi-hypnotize::before{content:"\f674"}.bi-magic::before{content:"\f675"}.bi-person-rolodex::before{content:"\f676"}.bi-person-video::before{content:"\f677"}.bi-person-video2::before{content:"\f678"}.bi-person-video3::before{content:"\f679"}.bi-person-workspace::before{content:"\f67a"}.bi-radioactive::before{content:"\f67b"}.bi-webcam-fill::before{content:"\f67c"}.bi-webcam::before{content:"\f67d"}.bi-yin-yang::before{content:"\f67e"}.bi-bandaid-fill::before{content:"\f680"}.bi-bandaid::before{content:"\f681"}.bi-bluetooth::before{content:"\f682"}.bi-body-text::before{content:"\f683"}.bi-boombox::before{content:"\f684"}.bi-boxes::before{content:"\f685"}.bi-dpad-fill::before{content:"\f686"}.bi-dpad::before{content:"\f687"}.bi-ear-fill::before{content:"\f688"}.bi-ear::before{content:"\f689"}.bi-envelope-check-1::before{content:"\f68a"}.bi-envelope-check-fill::before{content:"\f68b"}.bi-envelope-check::before{content:"\f68c"}.bi-envelope-dash-1::before{content:"\f68d"}.bi-envelope-dash-fill::before{content:"\f68e"}.bi-envelope-dash::before{content:"\f68f"}.bi-envelope-exclamation-1::before{content:"\f690"}.bi-envelope-exclamation-fill::before{content:"\f691"}.bi-envelope-exclamation::before{content:"\f692"}.bi-envelope-plus-fill::before{content:"\f693"}.bi-envelope-plus::before{content:"\f694"}.bi-envelope-slash-1::before{content:"\f695"}.bi-envelope-slash-fill::before{content:"\f696"}.bi-envelope-slash::before{content:"\f697"}.bi-envelope-x-1::before{content:"\f698"}.bi-envelope-x-fill::before{content:"\f699"}.bi-envelope-x::before{content:"\f69a"}.bi-explicit-fill::before{content:"\f69b"}.bi-explicit::before{content:"\f69c"}.bi-git::before{content:"\f69d"}.bi-infinity::before{content:"\f69e"}.bi-list-columns-reverse::before{content:"\f69f"}.bi-list-columns::before{content:"\f6a0"}.bi-meta::before{content:"\f6a1"}.bi-mortorboard-fill::before{content:"\f6a2"}.bi-mortorboard::before{content:"\f6a3"}.bi-nintendo-switch::before{content:"\f6a4"}.bi-pc-display-horizontal::before{content:"\f6a5"}.bi-pc-display::before{content:"\f6a6"}.bi-pc-horizontal::before{content:"\f6a7"}.bi-pc::before{content:"\f6a8"}.bi-playstation::before{content:"\f6a9"}.bi-plus-slash-minus::before{content:"\f6aa"}.bi-projector-fill::before{content:"\f6ab"}.bi-projector::before{content:"\f6ac"}.bi-qr-code-scan::before{content:"\f6ad"}.bi-qr-code::before{content:"\f6ae"}.bi-quora::before{content:"\f6af"}.bi-quote::before{content:"\f6b0"}.bi-robot::before{content:"\f6b1"}.bi-send-check-fill::before{content:"\f6b2"}.bi-send-check::before{content:"\f6b3"}.bi-send-dash-fill::before{content:"\f6b4"}.bi-send-dash::before{content:"\f6b5"}.bi-send-exclamation-1::before{content:"\f6b6"}.bi-send-exclamation-fill::before{content:"\f6b7"}.bi-send-exclamation::before{content:"\f6b8"}.bi-send-fill::before{content:"\f6b9"}.bi-send-plus-fill::before{content:"\f6ba"}.bi-send-plus::before{content:"\f6bb"}.bi-send-slash-fill::before{content:"\f6bc"}.bi-send-slash::before{content:"\f6bd"}.bi-send-x-fill::before{content:"\f6be"}.bi-send-x::before{content:"\f6bf"}.bi-send::before{content:"\f6c0"}.bi-steam::before{content:"\f6c1"}.bi-terminal-dash-1::before{content:"\f6c2"}.bi-terminal-dash::before{content:"\f6c3"}.bi-terminal-plus::before{content:"\f6c4"}.bi-terminal-split::before{content:"\f6c5"}.bi-ticket-detailed-fill::before{content:"\f6c6"}.bi-ticket-detailed::before{content:"\f6c7"}.bi-ticket-fill::before{content:"\f6c8"}.bi-ticket-perforated-fill::before{content:"\f6c9"}.bi-ticket-perforated::before{content:"\f6ca"}.bi-ticket::before{content:"\f6cb"}.bi-tiktok::before{content:"\f6cc"}.bi-window-dash::before{content:"\f6cd"}.bi-window-desktop::before{content:"\f6ce"}.bi-window-fullscreen::before{content:"\f6cf"}.bi-window-plus::before{content:"\f6d0"}.bi-window-split::before{content:"\f6d1"}.bi-window-stack::before{content:"\f6d2"}.bi-window-x::before{content:"\f6d3"}.bi-xbox::before{content:"\f6d4"}.bi-ethernet::before{content:"\f6d5"}.bi-hdmi-fill::before{content:"\f6d6"}.bi-hdmi::before{content:"\f6d7"}.bi-usb-c-fill::before{content:"\f6d8"}.bi-usb-c::before{content:"\f6d9"}.bi-usb-fill::before{content:"\f6da"}.bi-usb-plug-fill::before{content:"\f6db"}.bi-usb-plug::before{content:"\f6dc"}.bi-usb-symbol::before{content:"\f6dd"}.bi-usb::before{content:"\f6de"}.bi-boombox-fill::before{content:"\f6df"}.bi-displayport-1::before{content:"\f6e0"}.bi-displayport::before{content:"\f6e1"}.bi-gpu-card::before{content:"\f6e2"}.bi-memory::before{content:"\f6e3"}.bi-modem-fill::before{content:"\f6e4"}.bi-modem::before{content:"\f6e5"}.bi-motherboard-fill::before{content:"\f6e6"}.bi-motherboard::before{content:"\f6e7"}.bi-optical-audio-fill::before{content:"\f6e8"}.bi-optical-audio::before{content:"\f6e9"}.bi-pci-card::before{content:"\f6ea"}.bi-router-fill::before{content:"\f6eb"}.bi-router::before{content:"\f6ec"}.bi-ssd-fill::before{content:"\f6ed"}.bi-ssd::before{content:"\f6ee"}.bi-thunderbolt-fill::before{content:"\f6ef"}.bi-thunderbolt::before{content:"\f6f0"}.bi-usb-drive-fill::before{content:"\f6f1"}.bi-usb-drive::before{content:"\f6f2"}.bi-usb-micro-fill::before{content:"\f6f3"}.bi-usb-micro::before{content:"\f6f4"}.bi-usb-mini-fill::before{content:"\f6f5"}.bi-usb-mini::before{content:"\f6f6"}.bi-cloud-haze2::before{content:"\f6f7"}.bi-device-hdd-fill::before{content:"\f6f8"}.bi-device-hdd::before{content:"\f6f9"}.bi-device-ssd-fill::before{content:"\f6fa"}.bi-device-ssd::before{content:"\f6fb"}.bi-displayport-fill::before{content:"\f6fc"}.bi-mortarboard-fill::before{content:"\f6fd"}.bi-mortarboard::before{content:"\f6fe"}.bi-terminal-x::before{content:"\f6ff"}.bi-arrow-through-heart-fill::before{content:"\f700"}.bi-arrow-through-heart::before{content:"\f701"}.bi-badge-sd-fill::before{content:"\f702"}.bi-badge-sd::before{content:"\f703"}.bi-bag-heart-fill::before{content:"\f704"}.bi-bag-heart::before{content:"\f705"}.bi-balloon-fill::before{content:"\f706"}.bi-balloon-heart-fill::before{content:"\f707"}.bi-balloon-heart::before{content:"\f708"}.bi-balloon::before{content:"\f709"}.bi-box2-fill::before{content:"\f70a"}.bi-box2-heart-fill::before{content:"\f70b"}.bi-box2-heart::before{content:"\f70c"}.bi-box2::before{content:"\f70d"}.bi-braces-asterisk::before{content:"\f70e"}.bi-calendar-heart-fill::before{content:"\f70f"}.bi-calendar-heart::before{content:"\f710"}.bi-calendar2-heart-fill::before{content:"\f711"}.bi-calendar2-heart::before{content:"\f712"}.bi-chat-heart-fill::before{content:"\f713"}.bi-chat-heart::before{content:"\f714"}.bi-chat-left-heart-fill::before{content:"\f715"}.bi-chat-left-heart::before{content:"\f716"}.bi-chat-right-heart-fill::before{content:"\f717"}.bi-chat-right-heart::before{content:"\f718"}.bi-chat-square-heart-fill::before{content:"\f719"}.bi-chat-square-heart::before{content:"\f71a"}.bi-clipboard-check-fill::before{content:"\f71b"}.bi-clipboard-data-fill::before{content:"\f71c"}.bi-clipboard-fill::before{content:"\f71d"}.bi-clipboard-heart-fill::before{content:"\f71e"}.bi-clipboard-heart::before{content:"\f71f"}.bi-clipboard-minus-fill::before{content:"\f720"}.bi-clipboard-plus-fill::before{content:"\f721"}.bi-clipboard-pulse::before{content:"\f722"}.bi-clipboard-x-fill::before{content:"\f723"}.bi-clipboard2-check-fill::before{content:"\f724"}.bi-clipboard2-check::before{content:"\f725"}.bi-clipboard2-data-fill::before{content:"\f726"}.bi-clipboard2-data::before{content:"\f727"}.bi-clipboard2-fill::before{content:"\f728"}.bi-clipboard2-heart-fill::before{content:"\f729"}.bi-clipboard2-heart::before{content:"\f72a"}.bi-clipboard2-minus-fill::before{content:"\f72b"}.bi-clipboard2-minus::before{content:"\f72c"}.bi-clipboard2-plus-fill::before{content:"\f72d"}.bi-clipboard2-plus::before{content:"\f72e"}.bi-clipboard2-pulse-fill::before{content:"\f72f"}.bi-clipboard2-pulse::before{content:"\f730"}.bi-clipboard2-x-fill::before{content:"\f731"}.bi-clipboard2-x::before{content:"\f732"}.bi-clipboard2::before{content:"\f733"}.bi-emoji-kiss-fill::before{content:"\f734"}.bi-emoji-kiss::before{content:"\f735"}.bi-envelope-heart-fill::before{content:"\f736"}.bi-envelope-heart::before{content:"\f737"}.bi-envelope-open-heart-fill::before{content:"\f738"}.bi-envelope-open-heart::before{content:"\f739"}.bi-envelope-paper-fill::before{content:"\f73a"}.bi-envelope-paper-heart-fill::before{content:"\f73b"}.bi-envelope-paper-heart::before{content:"\f73c"}.bi-envelope-paper::before{content:"\f73d"}.bi-filetype-aac::before{content:"\f73e"}.bi-filetype-ai::before{content:"\f73f"}.bi-filetype-bmp::before{content:"\f740"}.bi-filetype-cs::before{content:"\f741"}.bi-filetype-css::before{content:"\f742"}.bi-filetype-csv::before{content:"\f743"}.bi-filetype-doc::before{content:"\f744"}.bi-filetype-docx::before{content:"\f745"}.bi-filetype-exe::before{content:"\f746"}.bi-filetype-gif::before{content:"\f747"}.bi-filetype-heic::before{content:"\f748"}.bi-filetype-html::before{content:"\f749"}.bi-filetype-java::before{content:"\f74a"}.bi-filetype-jpg::before{content:"\f74b"}.bi-filetype-js::before{content:"\f74c"}.bi-filetype-jsx::before{content:"\f74d"}.bi-filetype-key::before{content:"\f74e"}.bi-filetype-m4p::before{content:"\f74f"}.bi-filetype-md::before{content:"\f750"}.bi-filetype-mdx::before{content:"\f751"}.bi-filetype-mov::before{content:"\f752"}.bi-filetype-mp3::before{content:"\f753"}.bi-filetype-mp4::before{content:"\f754"}.bi-filetype-otf::before{content:"\f755"}.bi-filetype-pdf::before{content:"\f756"}.bi-filetype-php::before{content:"\f757"}.bi-filetype-png::before{content:"\f758"}.bi-filetype-ppt-1::before{content:"\f759"}.bi-filetype-ppt::before{content:"\f75a"}.bi-filetype-psd::before{content:"\f75b"}.bi-filetype-py::before{content:"\f75c"}.bi-filetype-raw::before{content:"\f75d"}.bi-filetype-rb::before{content:"\f75e"}.bi-filetype-sass::before{content:"\f75f"}.bi-filetype-scss::before{content:"\f760"}.bi-filetype-sh::before{content:"\f761"}.bi-filetype-svg::before{content:"\f762"}.bi-filetype-tiff::before{content:"\f763"}.bi-filetype-tsx::before{content:"\f764"}.bi-filetype-ttf::before{content:"\f765"}.bi-filetype-txt::before{content:"\f766"}.bi-filetype-wav::before{content:"\f767"}.bi-filetype-woff::before{content:"\f768"}.bi-filetype-xls-1::before{content:"\f769"}.bi-filetype-xls::before{content:"\f76a"}.bi-filetype-xml::before{content:"\f76b"}.bi-filetype-yml::before{content:"\f76c"}.bi-heart-arrow::before{content:"\f76d"}.bi-heart-pulse-fill::before{content:"\f76e"}.bi-heart-pulse::before{content:"\f76f"}.bi-heartbreak-fill::before{content:"\f770"}.bi-heartbreak::before{content:"\f771"}.bi-hearts::before{content:"\f772"}.bi-hospital-fill::before{content:"\f773"}.bi-hospital::before{content:"\f774"}.bi-house-heart-fill::before{content:"\f775"}.bi-house-heart::before{content:"\f776"}.bi-incognito::before{content:"\f777"}.bi-magnet-fill::before{content:"\f778"}.bi-magnet::before{content:"\f779"}.bi-person-heart::before{content:"\f77a"}.bi-person-hearts::before{content:"\f77b"}.bi-phone-flip::before{content:"\f77c"}.bi-plugin::before{content:"\f77d"}.bi-postage-fill::before{content:"\f77e"}.bi-postage-heart-fill::before{content:"\f77f"}.bi-postage-heart::before{content:"\f780"}.bi-postage::before{content:"\f781"}.bi-postcard-fill::before{content:"\f782"}.bi-postcard-heart-fill::before{content:"\f783"}.bi-postcard-heart::before{content:"\f784"}.bi-postcard::before{content:"\f785"}.bi-search-heart-fill::before{content:"\f786"}.bi-search-heart::before{content:"\f787"}.bi-sliders2-vertical::before{content:"\f788"}.bi-sliders2::before{content:"\f789"}.bi-trash3-fill::before{content:"\f78a"}.bi-trash3::before{content:"\f78b"}.bi-valentine::before{content:"\f78c"}.bi-valentine2::before{content:"\f78d"}.bi-wrench-adjustable-circle-fill::before{content:"\f78e"}.bi-wrench-adjustable-circle::before{content:"\f78f"}.bi-wrench-adjustable::before{content:"\f790"}.bi-filetype-json::before{content:"\f791"}.bi-filetype-pptx::before{content:"\f792"}.bi-filetype-xlsx::before{content:"\f793"}.bi-1-circle-1::before{content:"\f794"}.bi-1-circle-fill-1::before{content:"\f795"}.bi-1-circle-fill::before{content:"\f796"}.bi-1-circle::before{content:"\f797"}.bi-1-square-fill::before{content:"\f798"}.bi-1-square::before{content:"\f799"}.bi-2-circle-1::before{content:"\f79a"}.bi-2-circle-fill-1::before{content:"\f79b"}.bi-2-circle-fill::before{content:"\f79c"}.bi-2-circle::before{content:"\f79d"}.bi-2-square-fill::before{content:"\f79e"}.bi-2-square::before{content:"\f79f"}.bi-3-circle-1::before{content:"\f7a0"}.bi-3-circle-fill-1::before{content:"\f7a1"}.bi-3-circle-fill::before{content:"\f7a2"}.bi-3-circle::before{content:"\f7a3"}.bi-3-square-fill::before{content:"\f7a4"}.bi-3-square::before{content:"\f7a5"}.bi-4-circle-1::before{content:"\f7a6"}.bi-4-circle-fill-1::before{content:"\f7a7"}.bi-4-circle-fill::before{content:"\f7a8"}.bi-4-circle::before{content:"\f7a9"}.bi-4-square-fill::before{content:"\f7aa"}.bi-4-square::before{content:"\f7ab"}.bi-5-circle-1::before{content:"\f7ac"}.bi-5-circle-fill-1::before{content:"\f7ad"}.bi-5-circle-fill::before{content:"\f7ae"}.bi-5-circle::before{content:"\f7af"}.bi-5-square-fill::before{content:"\f7b0"}.bi-5-square::before{content:"\f7b1"}.bi-6-circle-1::before{content:"\f7b2"}.bi-6-circle-fill-1::before{content:"\f7b3"}.bi-6-circle-fill::before{content:"\f7b4"}.bi-6-circle::before{content:"\f7b5"}.bi-6-square-fill::before{content:"\f7b6"}.bi-6-square::before{content:"\f7b7"}.bi-7-circle-1::before{content:"\f7b8"}.bi-7-circle-fill-1::before{content:"\f7b9"}.bi-7-circle-fill::before{content:"\f7ba"}.bi-7-circle::before{content:"\f7bb"}.bi-7-square-fill::before{content:"\f7bc"}.bi-7-square::before{content:"\f7bd"}.bi-8-circle-1::before{content:"\f7be"}.bi-8-circle-fill-1::before{content:"\f7bf"}.bi-8-circle-fill::before{content:"\f7c0"}.bi-8-circle::before{content:"\f7c1"}.bi-8-square-fill::before{content:"\f7c2"}.bi-8-square::before{content:"\f7c3"}.bi-9-circle-1::before{content:"\f7c4"}.bi-9-circle-fill-1::before{content:"\f7c5"}.bi-9-circle-fill::before{content:"\f7c6"}.bi-9-circle::before{content:"\f7c7"}.bi-9-square-fill::before{content:"\f7c8"}.bi-9-square::before{content:"\f7c9"}.bi-airplane-engines-fill::before{content:"\f7ca"}.bi-airplane-engines::before{content:"\f7cb"}.bi-airplane-fill::before{content:"\f7cc"}.bi-airplane::before{content:"\f7cd"}.bi-alexa::before{content:"\f7ce"}.bi-alipay::before{content:"\f7cf"}.bi-android::before{content:"\f7d0"}.bi-android2::before{content:"\f7d1"}.bi-box-fill::before{content:"\f7d2"}.bi-box-seam-fill::before{content:"\f7d3"}.bi-browser-chrome::before{content:"\f7d4"}.bi-browser-edge::before{content:"\f7d5"}.bi-browser-firefox::before{content:"\f7d6"}.bi-browser-safari::before{content:"\f7d7"}.bi-c-circle-1::before{content:"\f7d8"}.bi-c-circle-fill-1::before{content:"\f7d9"}.bi-c-circle-fill::before{content:"\f7da"}.bi-c-circle::before{content:"\f7db"}.bi-c-square-fill::before{content:"\f7dc"}.bi-c-square::before{content:"\f7dd"}.bi-capsule-pill::before{content:"\f7de"}.bi-capsule::before{content:"\f7df"}.bi-car-front-fill::before{content:"\f7e0"}.bi-car-front::before{content:"\f7e1"}.bi-cassette-fill::before{content:"\f7e2"}.bi-cassette::before{content:"\f7e3"}.bi-cc-circle-1::before{content:"\f7e4"}.bi-cc-circle-fill-1::before{content:"\f7e5"}.bi-cc-circle-fill::before{content:"\f7e6"}.bi-cc-circle::before{content:"\f7e7"}.bi-cc-square-fill::before{content:"\f7e8"}.bi-cc-square::before{content:"\f7e9"}.bi-cup-hot-fill::before{content:"\f7ea"}.bi-cup-hot::before{content:"\f7eb"}.bi-currency-rupee::before{content:"\f7ec"}.bi-dropbox::before{content:"\f7ed"}.bi-escape::before{content:"\f7ee"}.bi-fast-forward-btn-fill::before{content:"\f7ef"}.bi-fast-forward-btn::before{content:"\f7f0"}.bi-fast-forward-circle-fill::before{content:"\f7f1"}.bi-fast-forward-circle::before{content:"\f7f2"}.bi-fast-forward-fill::before{content:"\f7f3"}.bi-fast-forward::before{content:"\f7f4"}.bi-filetype-sql::before{content:"\f7f5"}.bi-fire::before{content:"\f7f6"}.bi-google-play::before{content:"\f7f7"}.bi-h-circle-1::before{content:"\f7f8"}.bi-h-circle-fill-1::before{content:"\f7f9"}.bi-h-circle-fill::before{content:"\f7fa"}.bi-h-circle::before{content:"\f7fb"}.bi-h-square-fill::before{content:"\f7fc"}.bi-h-square::before{content:"\f7fd"}.bi-indent::before{content:"\f7fe"}.bi-lungs-fill::before{content:"\f7ff"}.bi-lungs::before{content:"\f800"}.bi-microsoft-teams::before{content:"\f801"}.bi-p-circle-1::before{content:"\f802"}.bi-p-circle-fill-1::before{content:"\f803"}.bi-p-circle-fill::before{content:"\f804"}.bi-p-circle::before{content:"\f805"}.bi-p-square-fill::before{content:"\f806"}.bi-p-square::before{content:"\f807"}.bi-pass-fill::before{content:"\f808"}.bi-pass::before{content:"\f809"}.bi-prescription::before{content:"\f80a"}.bi-prescription2::before{content:"\f80b"}.bi-r-circle-1::before{content:"\f80c"}.bi-r-circle-fill-1::before{content:"\f80d"}.bi-r-circle-fill::before{content:"\f80e"}.bi-r-circle::before{content:"\f80f"}.bi-r-square-fill::before{content:"\f810"}.bi-r-square::before{content:"\f811"}.bi-repeat-1::before{content:"\f812"}.bi-repeat::before{content:"\f813"}.bi-rewind-btn-fill::before{content:"\f814"}.bi-rewind-btn::before{content:"\f815"}.bi-rewind-circle-fill::before{content:"\f816"}.bi-rewind-circle::before{content:"\f817"}.bi-rewind-fill::before{content:"\f818"}.bi-rewind::before{content:"\f819"}.bi-train-freight-front-fill::before{content:"\f81a"}.bi-train-freight-front::before{content:"\f81b"}.bi-train-front-fill::before{content:"\f81c"}.bi-train-front::before{content:"\f81d"}.bi-train-lightrail-front-fill::before{content:"\f81e"}.bi-train-lightrail-front::before{content:"\f81f"}.bi-truck-front-fill::before{content:"\f820"}.bi-truck-front::before{content:"\f821"}.bi-ubuntu::before{content:"\f822"}.bi-unindent::before{content:"\f823"}.bi-unity::before{content:"\f824"}.bi-universal-access-circle::before{content:"\f825"}.bi-universal-access::before{content:"\f826"}.bi-virus::before{content:"\f827"}.bi-virus2::before{content:"\f828"}.bi-wechat::before{content:"\f829"}.bi-yelp::before{content:"\f82a"}.bi-sign-stop-fill::before{content:"\f82b"}.bi-sign-stop-lights-fill::before{content:"\f82c"}.bi-sign-stop-lights::before{content:"\f82d"}.bi-sign-stop::before{content:"\f82e"}.bi-sign-turn-left-fill::before{content:"\f82f"}.bi-sign-turn-left::before{content:"\f830"}.bi-sign-turn-right-fill::before{content:"\f831"}.bi-sign-turn-right::before{content:"\f832"}.bi-sign-turn-slight-left-fill::before{content:"\f833"}.bi-sign-turn-slight-left::before{content:"\f834"}.bi-sign-turn-slight-right-fill::before{content:"\f835"}.bi-sign-turn-slight-right::before{content:"\f836"}.bi-sign-yield-fill::before{content:"\f837"}.bi-sign-yield::before{content:"\f838"}.bi-ev-station-fill::before{content:"\f839"}.bi-ev-station::before{content:"\f83a"}.bi-fuel-pump-diesel-fill::before{content:"\f83b"}.bi-fuel-pump-diesel::before{content:"\f83c"}.bi-fuel-pump-fill::before{content:"\f83d"}.bi-fuel-pump::before{content:"\f83e"}
/* 移动端优化全局样式 */
/* 禁用双击缩放 */
* {
  touch-action: manipulation;
}

/* 优化触摸响应 */
button,
[role=button],
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  touch-action: manipulation;
}

/* 优化可点击元素 */
.clickable,
[onclick],
.cursor-pointer {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
  user-select: none;
}

/* 优化拖拽元素 */
.draggable {
  touch-action: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* 优化滚动容器 */
.scrollable {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* 移动端特定优化 */
@media (hover: none) and (pointer: coarse) {
  /* 优化按钮点击效果 */
  button:active,
  [role=button]:active {
    transform: scale(0.98);
    opacity: 0.9;
    transition: all 0.1s ease;
  }
  /* 优化输入框 */
  input,
  select,
  textarea {
    font-size: 16px; /* 防止 iOS 自动缩放 */
  }
  /* 优化链接 */
  a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
  }
  /* 禁用长按菜单 */
  img,
  a {
    -webkit-touch-callout: none;
  }
}
/* 触摸反馈动画 */
@keyframes touch-feedback {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
.touch-active {
  animation: touch-feedback 0.2s ease;
}

/* 优化滚动性能 */
.scroll-container {
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
}

/* 防止文本选择 */
.no-select {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* 优化 GPU 加速 */
.gpu-accelerated {
  transform: translateZ(0);
  will-change: transform;
}

/* 移动端隐藏滚动条 */
@media (hover: none) and (pointer: coarse) {
  .hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .hide-scrollbar::-webkit-scrollbar {
    display: none;
  }
}
/* 触摸延迟优化 */
.no-touch-delay {
  touch-action: manipulation;
  -ms-touch-action: manipulation;
}

/* 手势优化 */
.gesture-optimized {
  touch-action: pan-x pan-y;
  -ms-touch-action: pan-x pan-y;
}

/* 禁用缩放 */
.no-zoom {
  touch-action: pan-x pan-y;
  -ms-touch-action: pan-x pan-y;
}

/* 多点触控优化 */
.multi-touch {
  touch-action: none;
  -ms-touch-action: none;
}
.time-widget[data-v-08777c40] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  padding: 15px;
  transition: all 0.3s ease;
}
.time-display[data-v-08777c40] {
  font-weight: bold;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  letter-spacing: 2px;
  white-space: pre;
  text-align: center;
  line-height: 1.2;
}

.clock-widget[data-v-b64ba4d3] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, opacity 0.3s ease;
  background: rgba(0, 0, 0, 0.85);
}
.date-display[data-v-b64ba4d3] {
  font-size: clamp(12px, 2.5vw, 16px);
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

/* 固定尺寸的外层容器 */
.clock-wrapper[data-v-b64ba4d3] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: width 0.2s ease-out, height 0.2s ease-out;
}
.clock-size-small[data-v-b64ba4d3] {
  width: 180px;
  height: 180px;
}
.clock-size-medium[data-v-b64ba4d3] {
  width: 240px;
  height: 240px;
}
.clock-size-large[data-v-b64ba4d3] {
  width: 300px;
  height: 300px;
}

/* 时钟容器始终 300px，通过 scale 缩放 */
.clock-container[data-v-b64ba4d3] {
  position: relative;
  width: 300px;
  height: 300px;
  transform-origin: center center;
  flex-shrink: 0;
}
.clock-size-small .clock-container[data-v-b64ba4d3] {
  transform: scale(0.6);
  transition: transform 0.2s ease-out;
}
.clock-size-medium .clock-container[data-v-b64ba4d3] {
  transform: scale(0.8);
  transition: transform 0.2s ease-out;
}
.clock-size-large .clock-container[data-v-b64ba4d3] {
  transform: scale(1);
  transition: transform 0.2s ease-out;
}
.centre[data-v-b64ba4d3] {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
}
.expand[data-v-b64ba4d3] {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
}
.anchor[data-v-b64ba4d3] {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}
.element[data-v-b64ba4d3] {
  position: absolute;
  top: 0;
  left: 0;
}
.round[data-v-b64ba4d3] {
  border-radius: 296px;
}
.circle-1[data-v-b64ba4d3] {
  background: white;
  width: 12px;
  height: 12px;
}
.circle-2[data-v-b64ba4d3] {
  background: #FA9F22;
  width: 8px;
  height: 8px;
}
.circle-3[data-v-b64ba4d3] {
  background: black;
  width: 4px;
  height: 4px;
}
.second[data-v-b64ba4d3] {
  transform: rotate(180deg);
}
.minute[data-v-b64ba4d3] {
  transform: rotate(54deg);
}
.second-hand[data-v-b64ba4d3] {
  width: 2px;
  height: 164px;
  background: #FA9F22;
  transform: translate(-50%, -100%) translateY(24px);
}
.hour[data-v-b64ba4d3] {
  transform: rotate(304.5deg);
}
.thin-hand[data-v-b64ba4d3] {
  width: 4px;
  height: 50px;
  background: white;
  transform: translate(-50%, -100%);
}
.fat-hand[data-v-b64ba4d3] {
  width: 10px;
  height: 57px;
  border-radius: 10px;
  background: white;
  transform: translate(-50%, -100%) translateY(-18px);
}
.minute-hand[data-v-b64ba4d3] {
  height: 112px;
}
.hour-text[data-v-b64ba4d3] {
  position: absolute;
  font: 40px Hei, Helvetica, Arial, sans-serif;
  color: white;
  transform: translate(-50%, -50%);
}
.hour-10[data-v-b64ba4d3] {
  padding-left: 0.4ex;
}
.hour-11[data-v-b64ba4d3] {
  padding-left: 0.25ex;
}
.minute-text[data-v-b64ba4d3] {
  position: absolute;
  font: 12px Avenir Next, Helvetica, Arial, sans-serif;
  color: white;
  transform: translate(-50%, -50%);
}
.minute-line[data-v-b64ba4d3] {
  background: white;
  width: 1px;
  height: 9px;
  transform: translate(-50%, -100%) translateY(-131px);
  opacity: 0.34;
}

/* 响应式调整 */
@media (max-width: 768px) {
.clock-container[data-v-b64ba4d3] {
    width: min(100%, 250px);
}
.hour-text[data-v-b64ba4d3] {
    font-size: 32px;
}
.minute-text[data-v-b64ba4d3] {
    font-size: 10px;
}
.second-hand[data-v-b64ba4d3] {
    height: 130px;
}
.fat-hand[data-v-b64ba4d3] {
    height: 45px;
}
.minute-hand[data-v-b64ba4d3] {
    height: 90px;
}
.minute-line[data-v-b64ba4d3] {
    transform: translate(-50%, -100%) translateY(-105px);
}
}

.precision-clock-widget[data-v-a4b7ec80] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: all 0.3s ease;
  overflow: hidden;
}
.clock-box[data-v-a4b7ec80] {
  width: 400px;
  height: 400px;
  border-radius: 50%;
  position: relative;
  transform-origin: center center;
  flex-shrink: 0;
}

/* 原点 */
.origin[data-v-a4b7ec80] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ff0000;
  position: absolute;
  top: 190px;
  left: 190px;
  z-index: 30;
}

/* 时钟数字 */
.dot-box[data-v-a4b7ec80] {
  width: inherit;
  height: inherit;
}
.dot[data-v-a4b7ec80] {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 22px;
  position: absolute;
  color: var(--text);
  transform: translate(-50%, -50%);
  font-weight: 500;
}

/* 刻度 */
.clock-scale[data-v-a4b7ec80] {
  width: 195px;
  height: 2px;
  transform-origin: 0% 50%;
  position: absolute;
  top: 199px;
  left: 200px;
  z-index: 7;
}
.scale-show[data-v-a4b7ec80] {
  width: 12px;
  height: 2px;
  background-color: var(--text);
  opacity: 0.5;
  float: left;
}
.scale-hidden[data-v-a4b7ec80] {
  width: 183px;
  height: 2px;
  float: left;
}

/* 指针 */
.clock-line[data-v-a4b7ec80] {
  position: absolute;
  z-index: 20;
  border-radius: 2px;
}
.hour-line[data-v-a4b7ec80] {
  width: 100px;
  height: 4px;
  top: 198px;
  left: 200px;
  background-color: var(--text);
  transform-origin: 0 50%;
  box-shadow: 1px -3px 8px 3px rgba(0, 0, 0, 0.2);
}
.minute-line[data-v-a4b7ec80] {
  width: 130px;
  height: 2px;
  top: 199px;
  left: 190px;
  background-color: var(--text);
  transform-origin: 7.692% 50%;
  box-shadow: 1px -3px 8px 1px rgba(0, 0, 0, 0.15);
}
.second-line[data-v-a4b7ec80] {
  width: 170px;
  height: 1px;
  top: 199.5px;
  left: 180px;
  background-color: #f60;
  transform-origin: 11.765% 50%;
  box-shadow: 1px -3px 7px 1px rgba(0, 0, 0, 0.1);
}

/* 日期 */
.date-info[data-v-a4b7ec80] {
  width: 200px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  position: absolute;
  top: 230px;
  left: 100px;
  z-index: 11;
  color: var(--text);
  font-weight: bold;
  font-size: 14px;
  opacity: 0.8;
}

/* 数字时间 */
.time-info[data-v-a4b7ec80] {
  width: 120px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  position: absolute;
  top: 270px;
  left: 140px;
  z-index: 11;
  color: #fff;
  background: #253e3e;
  border-radius: 4px;
  display: flex;
  overflow: hidden;
}
.time[data-v-a4b7ec80] {
  width: 40px;
  height: 35px;
  float: left;
  font-size: 20px;
  font-weight: 600;
}
.time[data-v-a4b7ec80]:nth-child(2) {
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}

/* 响应式 */
@media (max-width: 768px) {
.clock-box[data-v-a4b7ec80] {
    width: 300px;
    height: 300px;
}
.origin[data-v-a4b7ec80] {
    width: 15px;
    height: 15px;
    top: 142px;
    left: 142px;
}
.dot[data-v-a4b7ec80] {
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 16px;
}
.clock-scale[data-v-a4b7ec80] {
    width: 145px;
    top: 149px;
    left: 150px;
}
.scale-show[data-v-a4b7ec80] {
    width: 10px;
}
.scale-hidden[data-v-a4b7ec80] {
    width: 135px;
}
.hour-line[data-v-a4b7ec80] {
    width: 75px;
    top: 148px;
    left: 150px;
}
.minute-line[data-v-a4b7ec80] {
    width: 100px;
    top: 149px;
    left: 142px;
}
.second-line[data-v-a4b7ec80] {
    width: 125px;
    top: 149.5px;
    left: 135px;
}
.date-info[data-v-a4b7ec80] {
    width: 150px;
    top: 175px;
    left: 75px;
    font-size: 12px;
}
.time-info[data-v-a4b7ec80] {
    width: 90px;
    top: 205px;
    left: 105px;
}
.time[data-v-a4b7ec80] {
    width: 30px;
    font-size: 16px;
}
}

.flip-clock-widget[data-v-685b2027] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  transition: all 0.3s ease;
}
.clock-container[data-v-685b2027] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  transform-origin: center center;
}
.date-display[data-v-685b2027] {
  color: #ccc;
  font-size: 48px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.flip-clock[data-v-685b2027] {
  display: flex;
  align-items: center;
  gap: 5px;
}
.flip-group[data-v-685b2027] {
  display: flex;
  align-items: center;
  gap: 5px;
  position: relative;
}
.label[data-v-685b2027] {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  color: #888;
}
.separator[data-v-685b2027] {
  font-size: 60px;
  font-weight: bold;
  color: #ccc;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
  margin: 0 5px;
  animation: blink-685b2027 1s infinite;
}
@keyframes blink-685b2027 {
0%, 50% { opacity: 1;
}
51%, 100% { opacity: 0.3;
}
}

/* 翻页卡片样式 */
.flip[data-v-685b2027] {
  position: relative;
  margin: 5px;
  width: 60px;
  height: 90px;
  font-size: 80px;
  font-weight: 700;
  line-height: 87px;
  border-radius: 6px;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.7);
}
.flip .item[data-v-685b2027] {
  list-style: none;
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  perspective: 200px;
  transition: opacity 0.3s;
}
.flip .item.active[data-v-685b2027],
.flip .item[data-v-685b2027]:first-child {
  z-index: 2;
}
.flip .item .down[data-v-685b2027],
.flip .item .up[data-v-685b2027] {
  z-index: 1;
  position: absolute;
  left: 0;
  width: 100%;
  height: 50%;
  overflow: hidden;
}
.flip .item .up[data-v-685b2027] {
  transform-origin: 50% 100%;
  top: 0;
}
.flip .item .up[data-v-685b2027]:after {
  content: "";
  position: absolute;
  top: 43.5px;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 3px;
  background-color: rgba(0, 0, 0, 0.4);
}
.flip .item .down[data-v-685b2027] {
  transform-origin: 50% 0;
  bottom: 0;
  transition: opacity 0.3s;
}
.flip .item .inn[data-v-685b2027] {
  position: absolute;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 200%;
  color: #ccc;
  text-shadow: 0 1px 2px #000;
  text-align: center;
  background-color: #333;
  border-radius: 6px;
}
.flip .item .up .inn[data-v-685b2027] {
  top: 0;
}
.flip .item .down .inn[data-v-685b2027] {
  bottom: 0;
}

/* 翻页动画 */
.play .item.before[data-v-685b2027] {
  z-index: 3;
}
.play .item.active[data-v-685b2027] {
  animation: asd-685b2027 0.5s linear 0.5s both;
  z-index: 2;
}
.play .item.before .up[data-v-685b2027] {
  z-index: 2;
  animation: turn-up-685b2027 0.5s linear both;
}
.play .item.active .down[data-v-685b2027] {
  z-index: 2;
  animation: turn-down-685b2027 0.5s linear 0.5s both;
}
@keyframes turn-down-685b2027 {
0% { transform: rotateX(90deg);
}
100% { transform: rotateX(0deg);
}
}
@keyframes turn-up-685b2027 {
0% { transform: rotateX(0deg);
}
100% { transform: rotateX(-90deg);
}
}
@keyframes asd-685b2027 {
0% { z-index: 2;
}
5% { z-index: 4;
}
100% { z-index: 4;
}
}

/* 响应式 */
@media (max-width: 768px) {
.flip[data-v-685b2027] {
    width: 40px;
    height: 60px;
    font-size: 50px;
    line-height: 57px;
}
.flip .item .up[data-v-685b2027]:after {
    top: 28.5px;
    height: 2px;
}
.separator[data-v-685b2027] {
    font-size: 40px;
}
}

.birthday-widget[data-v-a3e5870c] {
  width: 100%;
  max-height: 400px;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(10px);
  padding: 15px;
  box-sizing: border-box;
  overflow: hidden;
  transition: all 0.3s ease;
}
.birthday-header[data-v-a3e5870c] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.header-icon[data-v-a3e5870c] {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.9);
}
.title[data-v-a3e5870c] {
  font-size: 16px;
  font-weight: bold;
  color: white;
  flex: 1;
}
.add-btn[data-v-a3e5870c] {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.2s ease;
}
.add-btn[data-v-a3e5870c]:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.05);
}

/* 列表 */
.birthday-list[data-v-a3e5870c] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
}
.birthday-item[data-v-a3e5870c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  transition: all 0.2s ease;
  position: relative;
}
.birthday-item[data-v-a3e5870c]:hover {
  background: rgba(255, 255, 255, 0.15);
}
.birthday-item.is-today[data-v-a3e5870c] {
  background: linear-gradient(135deg, rgba(255, 107, 107, 0.3), rgba(255, 142, 83, 0.3));
  border: 1px solid rgba(255, 107, 107, 0.4);
}
.item-left[data-v-a3e5870c] {
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
  cursor: pointer;
  flex: 1;
}
.item-name[data-v-a3e5870c] {
  font-size: 14px;
  font-weight: 600;
  color: white;
}
.item-date[data-v-a3e5870c] {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  gap: 4px;
}
.item-date i[data-v-a3e5870c] {
  font-size: 10px;
}
.lunar-tag[data-v-a3e5870c] {
  background: rgba(255, 255, 255, 0.15);
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 9px;
  margin-left: 2px;
}
.item-right[data-v-a3e5870c] {
  display: flex;
  align-items: baseline;
  gap: 2px;
  margin-right: 24px;
}
.days-num[data-v-a3e5870c] {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
.days-unit[data-v-a3e5870c] {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
}
.today-icon[data-v-a3e5870c] {
  font-size: 20px;
  color: #ff6b6b;
}
.today-label[data-v-a3e5870c] {
  font-size: 12px;
  color: #ff6b6b;
  font-weight: 600;
}
.delete-btn[data-v-a3e5870c] {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.8);
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  transition: all 0.2s ease;
  opacity: 0;
}
.birthday-item:hover .delete-btn[data-v-a3e5870c] {
  opacity: 1;
}
.delete-btn[data-v-a3e5870c]:hover {
  background: rgba(231, 76, 60, 0.6);
  color: white;
}
.empty-state[data-v-a3e5870c] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.5);
}
.empty-state i[data-v-a3e5870c] {
  font-size: 40px;
  opacity: 0.4;
}
.empty-state p[data-v-a3e5870c] {
  margin: 0;
  font-size: 13px;
}
.empty-add-btn[data-v-a3e5870c] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border-radius: 20px;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.2s ease;
}
.empty-add-btn[data-v-a3e5870c]:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* 弹窗样式 */
.birthday-modal-overlay[data-v-a3e5870c] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  backdrop-filter: blur(4px);
}
.birthday-modal[data-v-a3e5870c] {
  background: rgba(30, 30, 40, 0.95);
  border-radius: 12px;
  width: 360px;
  max-width: 90vw;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
  animation: modalIn-a3e5870c 0.2s ease;
}
@keyframes modalIn-a3e5870c {
from {
    opacity: 0;
    transform: scale(0.9) translateY(-10px);
}
to {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}
.modal-header[data-v-a3e5870c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.modal-title[data-v-a3e5870c] {
  font-size: 16px;
  font-weight: 600;
  color: white;
}
.modal-close[data-v-a3e5870c] {
  width: 28px;
  height: 28px;
  border: none;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.2s ease;
}
.modal-close[data-v-a3e5870c]:hover {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}
.modal-body[data-v-a3e5870c] {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.modal-field[data-v-a3e5870c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.field-label[data-v-a3e5870c] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}
.field-input[data-v-a3e5870c] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: white;
  font-size: 14px;
  outline: none;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.field-input[data-v-a3e5870c]::placeholder {
  color: rgba(255, 255, 255, 0.35);
}
.field-input[data-v-a3e5870c]:focus {
  border-color: rgba(100, 149, 237, 0.6);
  background: rgba(255, 255, 255, 0.12);
}
.field-row[data-v-a3e5870c] {
  display: flex;
  gap: 8px;
}
.field-select[data-v-a3e5870c] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: white;
  font-size: 14px;
  outline: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.field-select[data-v-a3e5870c]:focus {
  border-color: rgba(100, 149, 237, 0.6);
}
.field-select option[data-v-a3e5870c] {
  background: #2a2a35;
  color: white;
}
.field-check-label[data-v-a3e5870c] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
}
.field-check-label input[data-v-a3e5870c] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.modal-footer[data-v-a3e5870c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.modal-footer-right[data-v-a3e5870c] {
  display: flex;
  gap: 8px;
}
.modal-btn[data-v-a3e5870c] {
  padding: 8px 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 4px;
}
.modal-btn.cancel[data-v-a3e5870c] {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
}
.modal-btn.cancel[data-v-a3e5870c]:hover {
  background: rgba(255, 255, 255, 0.2);
}
.modal-btn.save[data-v-a3e5870c] {
  background: rgba(100, 149, 237, 0.8);
  color: white;
}
.modal-btn.save[data-v-a3e5870c]:hover {
  background: rgba(100, 149, 237, 1);
}
.modal-btn.danger[data-v-a3e5870c] {
  background: rgba(231, 76, 60, 0.3);
  color: #ff6b6b;
}
.modal-btn.danger[data-v-a3e5870c]:hover {
  background: rgba(231, 76, 60, 0.5);
  color: white;
}

/* 滚动条样式 - 默认隐藏，hover时显示 */
.birthday-list[data-v-a3e5870c]::-webkit-scrollbar {
  width: 0;
}
.birthday-list[data-v-a3e5870c]:hover::-webkit-scrollbar {
  width: 4px;
}
.birthday-list[data-v-a3e5870c]::-webkit-scrollbar-track {
  background: transparent;
}
.birthday-list[data-v-a3e5870c]::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
}
.birthday-list[data-v-a3e5870c]::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

.water-widget[data-v-e2515c46] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  padding: 12px;
  box-sizing: border-box;
  overflow: hidden;
  color: #fff;
  backdrop-filter: blur(10px);
}
.water-header[data-v-e2515c46] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  flex-shrink: 0;
}
.water-icon[data-v-e2515c46] {
  width: 18px;
  height: 18px;
  color: rgba(255, 255, 255, 0.9);
}
.water-icon svg[data-v-e2515c46] {
  width: 100%;
  height: 100%;
}
.title[data-v-e2515c46] {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  flex: 1;
  line-height: 1;
}
.reset-btn[data-v-e2515c46] {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 11px;
  transition: all 0.2s ease;
}
.reset-btn[data-v-e2515c46]:hover {
  background: rgba(255, 255, 255, 0.3);
}
.water-main[data-v-e2515c46] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 0;
}
.water-display[data-v-e2515c46] {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.water-wave[data-v-e2515c46] {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.water-wave.complete[data-v-e2515c46] {
  background: linear-gradient(135deg, #00d2ff 0%, #3a7bd5 100%);
}
.water-wave[data-v-e2515c46]::before,
.water-wave[data-v-e2515c46]::after {
  content: '';
  position: absolute;
  width: 200%;
  height: 200%;
  top: -150%;
  left: -50%;
  background: rgba(100, 181, 246, 0.25);
  border-radius: 40%;
  animation: wave-e2515c46 6s linear infinite;
}
.water-wave[data-v-e2515c46]::after {
  animation-delay: -2s;
  opacity: 0.6;
}
@keyframes wave-e2515c46 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.wave-inner[data-v-e2515c46] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  color: #333;
}
.water-wave.complete .wave-inner[data-v-e2515c46] {
  color: #fff;
}
.water-count[data-v-e2515c46] {
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
}
.water-unit[data-v-e2515c46] {
  font-size: 10px;
  opacity: 0.7;
  margin-top: 2px;
}
.water-side[data-v-e2515c46] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.info-item[data-v-e2515c46] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  padding: 4px 8px;
}
.info-item.progress-item[data-v-e2515c46] {
  background: rgba(255, 255, 255, 0.18);
}
.info-value[data-v-e2515c46] {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}
.info-label[data-v-e2515c46] {
  font-size: 9px;
  opacity: 0.8;
  margin-top: 1px;
}
.progress-container[data-v-e2515c46] {
  display: flex;
  align-items: center;
  margin: 8px 0;
  flex-shrink: 0;
}
.progress-bar[data-v-e2515c46] {
  flex: 1;
  height: 5px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
  overflow: hidden;
}
.progress-fill[data-v-e2515c46] {
  height: 100%;
  background: linear-gradient(90deg, #00d2ff, #3a7bd5);
  border-radius: 3px;
  transition: width 0.3s ease;
}
.progress-fill.complete[data-v-e2515c46] {
  background: linear-gradient(90deg, #11998e, #38ef7d);
}
.water-actions[data-v-e2515c46] {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-shrink: 0;
}
.action-btn[data-v-e2515c46] {
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
}
.minus-btn[data-v-e2515c46] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.minus-btn[data-v-e2515c46]:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.3);
}
.minus-btn[data-v-e2515c46]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.add-btn[data-v-e2515c46] {
  flex: 1;
  max-width: 140px;
  height: 32px;
  border-radius: 16px;
  background: #fff;
  color: #667eea;
  font-size: 12px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.add-btn[data-v-e2515c46]:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.add-btn.animate[data-v-e2515c46] {
  animation: pop-e2515c46 0.3s ease;
}
@keyframes pop-e2515c46 {
0% { transform: scale(1);
}
50% { transform: scale(1.1);
}
100% { transform: scale(1);
}
}
.water-tip[data-v-e2515c46] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 6px;
  font-size: 11px;
  opacity: 0.9;
  flex-shrink: 0;
}
.water-tip i[data-v-e2515c46] {
  font-size: 12px;
}
.water-tip i.bi-check-circle-fill[data-v-e2515c46] {
  color: #38ef7d;
}

.weather-widget[data-v-d5dbfcc6] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  padding: 15px;
  transition: all 0.3s ease;
}
.loading[data-v-d5dbfcc6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: white;
}
.spinner[data-v-d5dbfcc6] {
  width: 30px;
  height: 30px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin-d5dbfcc6 1s linear infinite;
}
@keyframes spin-d5dbfcc6 {
to { transform: rotate(360deg);
}
}
.weather-content[data-v-d5dbfcc6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.weather-location[data-v-d5dbfcc6] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
}
.weather-icon[data-v-d5dbfcc6] {
  font-size: 64px;
  line-height: 1;
}
.weather-info[data-v-d5dbfcc6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.temperature[data-v-d5dbfcc6] {
  font-size: 36px;
  font-weight: bold;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.condition[data-v-d5dbfcc6] {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.9);
}
.weather-details[data-v-d5dbfcc6] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-top: 8px;
}
.detail-item[data-v-d5dbfcc6] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}
.detail-item i[data-v-d5dbfcc6] {
  font-size: 16px;
}

.calendar-widget[data-v-0101c4cd] {
  width: 100%;
  max-height: 350px;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(10px);
  padding: 15px;
  box-sizing: border-box;
  overflow: hidden;
  transition: all 0.3s ease;
}
.calendar-header[data-v-0101c4cd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.month-year[data-v-0101c4cd] {
  font-size: 18px;
  font-weight: bold;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.nav-btn[data-v-0101c4cd] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.nav-btn[data-v-0101c4cd]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}
.calendar-weekdays[data-v-0101c4cd] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
  margin-bottom: 10px;
}
.weekday[data-v-0101c4cd] {
  text-align: center;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}
.calendar-days[data-v-0101c4cd] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 1fr;
  gap: 4px;
  flex: 1;
  min-height: 0;
}
.calendar-day[data-v-0101c4cd] {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: white;
  border-radius: 6px;
  transition: all 0.2s ease;
  cursor: pointer;
  min-height: 28px;
}
.calendar-day[data-v-0101c4cd]:hover:not(.empty) {
  background: rgba(255, 255, 255, 0.2);
}
.calendar-day.today[data-v-0101c4cd] {
  background: linear-gradient(135deg, #667eea, #764ba2);
  font-weight: bold;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
}
.calendar-day.empty[data-v-0101c4cd] {
  cursor: default;
}

.news-widget[data-v-c7f27c97] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(10px);
  padding: 15px;
  overflow: hidden;
  transition: all 0.3s ease;
}
.loading[data-v-c7f27c97] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 15px;
  color: white;
}
.spinner[data-v-c7f27c97] {
  width: 30px;
  height: 30px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin-c7f27c97 1s linear infinite;
}
@keyframes spin-c7f27c97 {
to { transform: rotate(360deg);
}
}
.news-content[data-v-c7f27c97] {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 12px;
}
.news-header[data-v-c7f27c97] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.news-source[data-v-c7f27c97] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}
.news-nav[data-v-c7f27c97] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav-btn[data-v-c7f27c97] {
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.nav-btn[data-v-c7f27c97]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}
.news-counter[data-v-c7f27c97] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
}
.news-title[data-v-c7f27c97] {
  font-size: 16px;
  font-weight: bold;
  color: white;
  line-height: 1.4;
  cursor: pointer;
  transition: color 0.2s ease;
}
.news-title[data-v-c7f27c97]:hover {
  color: #667eea;
}
.news-description[data-v-c7f27c97] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.5;
  flex: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.news-footer[data-v-c7f27c97] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.news-time[data-v-c7f27c97] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
}
.read-more-btn[data-v-c7f27c97] {
  padding: 6px 12px;
  border: none;
  border-radius: 6px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s ease;
}
.read-more-btn[data-v-c7f27c97]:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}
.error-state[data-v-c7f27c97] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 15px;
  color: white;
}
.error-state i[data-v-c7f27c97] {
  font-size: 48px;
  color: #e74c3c;
}
.retry-btn[data-v-c7f27c97] {
  padding: 8px 20px;
  border: none;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-btn[data-v-c7f27c97]:hover {
  background: rgba(255, 255, 255, 0.3);
}

.todo-widget[data-v-6b79ae02] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(10px);
  padding: 15px;
  transition: all 0.3s ease;
}
.todo-header[data-v-6b79ae02] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.todo-title[data-v-6b79ae02] {
  font-size: 16px;
  font-weight: bold;
  color: white;
}
.todo-stats[data-v-6b79ae02] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
}
.progress-bar[data-v-6b79ae02] {
  height: 4px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
  margin-bottom: 12px;
  overflow: hidden;
}
.progress-fill[data-v-6b79ae02] {
  height: 100%;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 2px;
  transition: width 0.3s ease;
}
.todo-list[data-v-6b79ae02] {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.todo-item[data-v-6b79ae02] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  transition: all 0.2s ease;
  cursor: grab;
}
.todo-item[data-v-6b79ae02]:active {
  cursor: grabbing;
}
.todo-item.dragging[data-v-6b79ae02] {
  opacity: 0.5;
  transform: scale(1.02);
}
.todo-item.drag-over[data-v-6b79ae02] {
  border: 2px dashed rgba(102, 126, 234, 0.6);
  background: rgba(102, 126, 234, 0.1);
}
.todo-drag-handle[data-v-6b79ae02] {
  width: 10px;
  height: 20px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.5);
  cursor: grab;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  padding: 0;
  transition: all 0.2s ease;
}
.todo-drag-handle[data-v-6b79ae02]:hover {
  color: rgba(255, 255, 255, 0.8);
}
.todo-drag-handle[data-v-6b79ae02]:active {
  cursor: grabbing;
}
.todo-item[data-v-6b79ae02]:hover {
  background: rgba(255, 255, 255, 0.15);
}
.todo-item.completed[data-v-6b79ae02] {
  opacity: 0.6;
}
.todo-item.completed .todo-text[data-v-6b79ae02] {
  text-decoration: line-through;
}
.todo-check[data-v-6b79ae02] {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.2s ease;
}
.todo-check[data-v-6b79ae02]:hover {
  color: #667eea;
  transform: scale(1.1);
}
.todo-text[data-v-6b79ae02] {
  flex: 1;
  font-size: 14px;
  color: white;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}
.todo-delete[data-v-6b79ae02] {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.2s ease;
}
.todo-delete[data-v-6b79ae02]:hover {
  color: #e74c3c;
  transform: scale(1.1);
}
.empty-state[data-v-6b79ae02] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}
.todo-form[data-v-6b79ae02] {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}
.todo-input[data-v-6b79ae02] {
  flex: 1;
  padding: 8px 12px;
  border: none;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  font-size: 14px;
  outline: none;
}
.todo-input[data-v-6b79ae02]::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.todo-input[data-v-6b79ae02]:focus {
  background: rgba(255, 255, 255, 0.25);
}
.add-btn[data-v-6b79ae02] {
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 6px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.2s ease;
}
.add-btn[data-v-6b79ae02]:hover {
  opacity: 0.9;
  transform: scale(1.05);
}
.todo-footer[data-v-6b79ae02] {
  display: flex;
  justify-content: center;
}
.add-todo-btn[data-v-6b79ae02] {
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}
.add-todo-btn[data-v-6b79ae02]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}

.search-widget[data-v-0f8be2e7] {
  width: 100%;
  height: auto;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(10px);
  padding: 15px;
  transition: all 0.3s ease;
}
.search-engines-bar[data-v-0f8be2e7] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.engine-item[data-v-0f8be2e7] {
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.engine-item[data-v-0f8be2e7]:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
}
.engine-item.active[data-v-0f8be2e7] {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  font-weight: 500;
}
.search-input-container[data-v-0f8be2e7] {
  display: flex;
  gap: 8px;
}
.search-input[data-v-0f8be2e7] {
  flex: 1;
  padding: 10px 14px;
  border: none;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.2);
  color: white;
  font-size: 14px;
  outline: none;
}
.search-input[data-v-0f8be2e7]::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.search-input[data-v-0f8be2e7]:focus {
  background: rgba(255, 255, 255, 0.25);
}
.search-btn[data-v-0f8be2e7] {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 6px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.2s ease;
}
.search-btn[data-v-0f8be2e7]:hover {
  opacity: 0.9;
  transform: scale(1.05);
}

.calculator-widget[data-v-528bcb8a] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(10px);
  padding: 15px;
  box-sizing: border-box;
  transition: all 0.3s ease;
}
.calculator-display[data-v-528bcb8a] {
  background: rgba(0, 0, 0, 0.3);
  color: white;
  font-size: 28px;
  font-weight: bold;
  text-align: right;
  padding: 12px 15px;
  border-radius: 8px;
  margin-bottom: 10px;
  font-family: 'Segoe UI', monospace;
  letter-spacing: 1px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  word-break: break-all;
}
.display-value[data-v-528bcb8a] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.calculator-buttons[data-v-528bcb8a] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 6px;
  flex: 1;
  min-height: 0;
}
.calc-btn[data-v-528bcb8a] {
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.15);
  color: white;
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
}
.calc-btn[data-v-528bcb8a]:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.05);
}
.calc-btn[data-v-528bcb8a]:active {
  transform: scale(0.95);
}
.function-btn[data-v-528bcb8a] {
  background: rgba(102, 126, 234, 0.3);
  font-size: 16px;
}
.function-btn[data-v-528bcb8a]:hover {
  background: rgba(102, 126, 234, 0.4);
}
.operator-btn[data-v-528bcb8a] {
  background: rgba(118, 75, 162, 0.3);
}
.operator-btn[data-v-528bcb8a]:hover {
  background: rgba(118, 75, 162, 0.4);
}
.equal-btn[data-v-528bcb8a] {
  background: linear-gradient(135deg, #667eea, #764ba2);
  font-size: 24px;
}
.equal-btn[data-v-528bcb8a]:hover {
  opacity: 0.9;
}
.clear-btn[data-v-528bcb8a] {
  background: rgba(231, 76, 60, 0.3);
}
.clear-btn[data-v-528bcb8a]:hover {
  background: rgba(231, 76, 60, 0.4);
}

.confirm-dialog-overlay[data-v-dbe33f28] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  backdrop-filter: blur(4px);
  animation: fadeIn-dbe33f28 0.2s ease;
}
@keyframes fadeIn-dbe33f28 {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
.confirm-dialog[data-v-dbe33f28] {
  background: #ffffffcc;
  border-radius: 10px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  width: 90%;
  max-width: 350px;
  overflow: hidden;
  border: 1px solid var(--border-primary, rgba(0, 0, 0, 0.1));
  animation: slideUp-dbe33f28 0.3s ease;
}
@keyframes slideUp-dbe33f28 {
from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.dialog-header[data-v-dbe33f28] {
  display: flex;
  justify-content: center;
  padding: 24px 24px 0;
}
.dialog-icon[data-v-dbe33f28] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  color: white;
  box-shadow: 0 4px 12px rgba(238, 90, 90, 0.4);
}
.dialog-content[data-v-dbe33f28] {
  padding: 24px;
  text-align: center;
}
.dialog-title[data-v-dbe33f28] {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 600;
  color: var(--text-primary, #1f2937);
}
.dialog-message[data-v-dbe33f28] {
  margin: 0;
  font-size: 14px;
  color: var(--text-secondary, #6b7280);
  line-height: 1.6;
}
.dialog-actions[data-v-dbe33f28] {
  display: flex;
  gap: 12px;
  padding: 0 24px 24px;
  position: relative;
  z-index: 1;
}
.btn[data-v-dbe33f28] {
  flex: 1;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  pointer-events: auto;
}
.btn-secondary[data-v-dbe33f28] {
  background: var(--bg-secondary, #f3f4f6);
  color: var(--text-primary, #1f2937);
  border: 1px solid var(--border-primary, rgba(0, 0, 0, 0.1));
}
.btn-secondary[data-v-dbe33f28]:hover {
  background: var(--bg-tertiary, #e5e7eb);
  transform: translateY(-1px);
}
.btn-secondary[data-v-dbe33f28]:active {
  transform: translateY(0);
}
.btn-danger[data-v-dbe33f28] {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(238, 90, 90, 0.3);
}
.btn-danger[data-v-dbe33f28]:hover {
  background: linear-gradient(135deg, #ff5252 0%, #e53935 100%);
  box-shadow: 0 6px 16px rgba(238, 90, 90, 0.4);
  transform: translateY(-1px);
}
.btn-danger[data-v-dbe33f28]:active {
  transform: translateY(0);
}
@media (max-width: 768px) {
.confirm-dialog[data-v-dbe33f28] {
    width: 95%;
    margin: 20px;
}
.dialog-header[data-v-dbe33f28],
  .dialog-content[data-v-dbe33f28] {
    padding: 20px;
}
.dialog-actions[data-v-dbe33f28] {
    padding: 0 20px 20px;
}
}

.context-menu[data-v-51822cad] {
  position: fixed;
  background-color: var(--bg70);
  backdrop-filter: blur(60px) saturate(3) contrast(0.8);
  -webkit-backdrop-filter: blur(60px) saturate(3) contrast(0.8);
  border: 1.5px solid var(--bd);
  border-radius: 8px;
  box-shadow: 2px 2px 5px var(--sd);
  padding: 4px 0;
  min-width: 220px;
  max-width: 350px;
  z-index: 10001;
  transition: opacity 0.1s ease, transform 0.1s ease;
}
.menu-item[data-v-51822cad] {
  padding: 6px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  font-size: 13px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  transition: background-color 0.05s ease;
  user-select: none;
  position: relative;
  white-space: nowrap;
  justify-content: flex-start;
}
.menu-item[data-v-51822cad]:hover:not(.separator):not(.disabled) {
  background-color: var(--hover-b);
  color: var(--text);
}
.menu-item.disabled[data-v-51822cad] {
  opacity: 0.5;
  cursor: not-allowed;
}
.menu-item.separator[data-v-51822cad] {
  padding: 0;
  cursor: default;
}
.separator[data-v-51822cad] {
  height: 1px;
  background-color: var(--border);
  margin: 4px 0;
}
.submenu .separator[data-v-51822cad] {
  height: 1px;
  background-color: var(--border);
  margin: 4px 0;
}
.menu-icon[data-v-51822cad] {
  font-size: 14px;
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}
.menu-text[data-v-51822cad] {
  flex: 1;
  text-align: left;
}
.menu-check[data-v-51822cad] {
  font-size: 12px;
  color: var(--href);
  margin-left: auto;
  flex-shrink: 0;
}
.menu-arrow[data-v-51822cad] {
  font-size: 10px;
  color: var(--text-secondary);
  margin-left: 8px;
  flex-shrink: 0;
}
.menu-item-content[data-v-51822cad] {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
}
.menu-item-content[data-v-51822cad] a {
  color: var(--text);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: flex-start;
}
.menu-item-content[data-v-51822cad] a:hover {
  color: var(--text);
}
.submenu[data-v-51822cad] {
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: 2px;
  background-color: var(--bg70);
  backdrop-filter: blur(60px) saturate(3) contrast(0.8);
  -webkit-backdrop-filter: blur(60px) saturate(3) contrast(0.8);
  border: 1px solid var(--bd);
  border-radius: 8px;
  box-shadow: 2px 2px 10px var(--sd);
  padding: 4px 0;
  min-width: 200px;
  max-width: 300px;
  z-index: 10002;
}
.submenu-left[data-v-51822cad] {
  left: auto;
  right: 100%;
  margin-left: 0;
  margin-right: 2px;
}
.submenu .menu-item.separator[data-v-51822cad] {
  padding: 0;
  cursor: default;
}
.menu-enter-active[data-v-51822cad],
.menu-leave-active[data-v-51822cad] {
  transition: opacity 0.1s ease, transform 0.1s ease;
}
.menu-enter-from[data-v-51822cad],
.menu-leave-to[data-v-51822cad] {
  opacity: 0;
  transform: scale(0.98);
}
.submenu-enter-active[data-v-51822cad],
.submenu-leave-active[data-v-51822cad] {
  transition: opacity 0.1s ease, transform 0.1s ease;
}
.submenu-enter-from[data-v-51822cad],
.submenu-leave-to[data-v-51822cad] {
  opacity: 0;
  transform: translateX(-5px);
}

.desktop-widgets[data-v-44c70973] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 25;
  pointer-events: none;
}
.widget-container[data-v-44c70973] {
  position: absolute;
  cursor: move;
  user-select: none;
  pointer-events: auto;
  border: none;
  background: transparent;
  /* GPU 加速优化 */
  will-change: left, top;
  /* 防止触摸设备上的默认行为 */
  touch-action: none;
}
.widget-container[data-v-44c70973]:not(.dragging) {
  transition: box-shadow 0.2s ease;
}
.widget-container[data-v-44c70973]:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}
.widget-container.dragging[data-v-44c70973] {
  opacity: 0.9;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
  z-index: 100 !important;
  /* 拖拽时完全禁用过渡效果 */
  transition: none !important;
}
.widget-container.auto-height[data-v-44c70973] {
  height: auto !important;
  min-height: 50px;
}
.widget-controls[data-v-44c70973] {
  position: absolute;
  top: 5px;
  right: 5px;
  display: flex;
  gap: 5px;
  z-index: 100;
  pointer-events: auto;
}
.control-btn[data-v-44c70973] {
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: #333;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  pointer-events: auto;
}
.control-btn[data-v-44c70973]:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.remove-btn[data-v-44c70973]:hover {
  background: #e74c3c;
  color: white;
}
.settings-btn[data-v-44c70973]:hover {
  background: #3498db;
  color: white;
}
.empty-state[data-v-44c70973] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.empty-state p[data-v-44c70973] {
  margin: 10px 0;
  font-size: 18px;
  opacity: 0.8;
}

.edit-mode-bar[data-v-4f9d60b5] {
    position: fixed;
    width: 160px;
    top: 5px;
    bottom: 0;
    right: 5px;
    height: 45px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: slideDown-7f850cd6 0.3s ease-out;
}
@keyframes slideDown-4f9d60b5 {
from {
    transform: translateY(-100%);
    opacity: 0;
}
to {
    transform: translateY(0);
    opacity: 1;
}
}
.edit-mode-content[data-v-4f9d60b5] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 98%;
}
.edit-mode-title[data-v-4f9d60b5] {
  display: flex;
  align-items: center;
  gap: 10px;
  color: white;
  font-size: 16px;
  font-weight: 600;
  margin-left: 10px;
}
.edit-mode-title i[data-v-4f9d60b5] {
  font-size: 20px;
  color: #667eea;
}
.edit-mode-actions[data-v-4f9d60b5] {
  display: flex;
  gap: 12px;
}
.action-btn[data-v-4f9d60b5] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.add-btn[data-v-4f9d60b5] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
}
.add-btn[data-v-4f9d60b5]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.6);
}
.add-btn[data-v-4f9d60b5]:active {
  transform: translateY(0);
}
.close-btn[data-v-4f9d60b5] {
  background: none;
  color: white;
}
.close-btn[data-v-4f9d60b5]:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}
.close-btn[data-v-4f9d60b5]:active {
  transform: translateY(0);
}
.action-btn i[data-v-4f9d60b5] {
  font-size: 16px;
}
@media (max-width: 768px) {
.edit-mode-content[data-v-4f9d60b5] {
    width: 95%;
}
.edit-mode-title span[data-v-4f9d60b5] {
    font-size: 16px;
}
.action-btn span[data-v-4f9d60b5] {
    display: none;
}
.action-btn[data-v-4f9d60b5] {
    padding: 8px 12px;
}
}

.window[data-v-1c1350aa] {
  position: fixed;
  background-color: var(--unfoc);
  border: 1.5px solid var(--bd);
  border-radius: var(--border-radius, 10px);
  overflow: hidden;
  box-shadow: var(--box-shadow, 2px 2px 5px var(--sd));
  transition: box-shadow 0.2s ease, background-color 0.2s ease, backdrop-filter 0.2s ease;
  pointer-events: auto;
}
.window.interacting[data-v-1c1350aa] {
  transition: none !important;
}
.window.max[data-v-1c1350aa] {
  border-radius: 0;
}
.window.foc[data-v-1c1350aa] {
  background: var(--bg70);
  backdrop-filter: saturate(3.5) contrast(0.8) blur(60px);
  -webkit-backdrop-filter: saturate(3.5) contrast(0.8) blur(60px);
  box-shadow: var(--box-shadow, 3px 3px 20px 3px var(--sd));
}
.titbar[data-v-1c1350aa] {
  display: flex;
  align-items: center;
  padding: 0 0 0 8px;
  background: transparent;
  user-select: none;
  cursor: move;
}
.titbar[data-v-1c1350aa]:active {
  cursor: grabbing;
}
.titbar .icon[data-v-1c1350aa] {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border-radius: 4px;
}
.titbar p[data-v-1c1350aa] {
  flex: 1;
  margin: 0;
  font-size: 16px;
  color: var(--text);
  font-weight: 500;
  text-align: left;
}
.titbar > div[data-v-1c1350aa] {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* 支持 title-prefix slot */
.titbar > button[data-v-1c1350aa],
.titbar[data-v-1c1350aa] >  button {
  flex-shrink: 0;
}
.titbar button[data-v-1c1350aa] {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}
.titbar .wbtg[data-v-1c1350aa] {
  height: 32px;
  width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  border-radius: 4px;
  cursor: pointer;
  pointer-events: auto;
  color: var(--text);
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
.titbar .wbtg[data-v-1c1350aa]:hover {
  background-color: var(--hover);
}
.titbar .wbtg[data-v-1c1350aa]:active {
  opacity: 0.6;
}
.titbar .wbtg.red[data-v-1c1350aa]:hover {
  background-color: #d80d1c;
  color: #fff;
}
.content[data-v-1c1350aa] {
  height: calc(100% - 40px);
  overflow: auto;
  background: transparent;
}
.resize-handle[data-v-1c1350aa] {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 15px;
  height: 15px;
  cursor: nwse-resize;
  z-index: 10;
}
.resize-handle[data-v-1c1350aa]::after {
  content: '';
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--text);
  border-bottom: 2px solid var(--text);
  opacity: 0.5;
  transition: opacity 0.2s ease;
}
.resize-handle[data-v-1c1350aa]:hover::after {
  opacity: 1;
}
.drag-area-bottom[data-v-1c1350aa] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 8px;
  cursor: move;
  z-index: 100;
  margin: 0 10px;
}
.drag-area-bottom[data-v-1c1350aa]:active {
  cursor: grabbing;
}

.form-checkbox-wrapper[data-v-adb6048a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-label[data-v-adb6048a] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 4px 0;
  transition: all 0.2s ease;
}
.checkbox-single .form-label[data-v-adb6048a] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
}
.checkbox-multiple .form-label[data-v-adb6048a] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  margin-bottom: 8px;
}
.required-mark[data-v-adb6048a] {
  color: var(--error-color);
  font-weight: bold;
}
.checkbox-group[data-v-adb6048a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.checkbox-group--horizontal[data-v-adb6048a] {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}
.checkbox-option[data-v-adb6048a] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 4px 0;
  transition: all 0.2s ease;
}
.checkbox-option[data-v-adb6048a]:hover:not(.disabled) {
  color: var(--primary-color);
}
.checkbox-option.disabled[data-v-adb6048a] {
  opacity: 0.5;
  cursor: not-allowed;
}
.checkbox-option input[type="checkbox"][data-v-adb6048a],
.form-label input[type="checkbox"][data-v-adb6048a] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.checkbox-custom[data-v-adb6048a] {
  position: relative;
  width: 18px;
  height: 18px;
  border: 2px solid var(--border-color);
  border-radius: 4px;
  background: var(--input-bg);
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.checkbox-option input[type="checkbox"]:checked + .checkbox-custom[data-v-adb6048a],
.form-label input[type="checkbox"]:checked + .checkbox-custom[data-v-adb6048a] {
  border-color: var(--primary-color);
  background: var(--primary-color);
}
.checkbox-option input[type="checkbox"]:checked + .checkbox-custom[data-v-adb6048a]::after,
.form-label input[type="checkbox"]:checked + .checkbox-custom[data-v-adb6048a]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
}
.checkbox-option input[type="checkbox"]:focus + .checkbox-custom[data-v-adb6048a],
.form-label input[type="checkbox"]:focus + .checkbox-custom[data-v-adb6048a] {
  box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.1);
}
.checkbox-option.disabled .checkbox-custom[data-v-adb6048a] {
  border-color: var(--disabled-border);
  background: var(--disabled-bg);
}
.checkbox-label[data-v-adb6048a] {
  font-size: 14px;
  color: var(--text-color);
  user-select: none;
}
.checkbox-group--small .checkbox-custom[data-v-adb6048a] {
  width: 16px;
  height: 16px;
}
.checkbox-group--small .checkbox-option input[type="checkbox"]:checked + .checkbox-custom[data-v-adb6048a]::after,
.checkbox-group--small .form-label input[type="checkbox"]:checked + .checkbox-custom[data-v-adb6048a]::after {
  width: 8px;
  height: 8px;
}
.checkbox-group--large .checkbox-custom[data-v-adb6048a] {
  width: 20px;
  height: 20px;
}
.checkbox-group--large .checkbox-option input[type="checkbox"]:checked + .checkbox-custom[data-v-adb6048a]::after,
.checkbox-group--large .form-label input[type="checkbox"]:checked + .checkbox-custom[data-v-adb6048a]::after {
  width: 12px;
  height: 12px;
}
.error-message[data-v-adb6048a] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--error-color);
}
.hint-text[data-v-adb6048a] {
  font-size: 12px;
  color: var(--text-secondary);
}
.has-error .checkbox-custom[data-v-adb6048a] {
  border-color: var(--error-color);
}

.form-radio-wrapper[data-v-4930ef76] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-label[data-v-4930ef76] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 4px;
}
.required-mark[data-v-4930ef76] {
  color: var(--error-color);
  font-weight: bold;
}
.radio-group[data-v-4930ef76] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.radio-group--horizontal[data-v-4930ef76] {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}
.radio-option[data-v-4930ef76] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 4px 0;
  transition: all 0.2s ease;
}
.radio-option[data-v-4930ef76]:hover:not(.disabled) {
  color: var(--primary-color);
}
.radio-option.disabled[data-v-4930ef76] {
  opacity: 0.5;
  cursor: not-allowed;
}
.radio-option input[type="radio"][data-v-4930ef76] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.radio-custom[data-v-4930ef76] {
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  background: var(--input-bg);
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.radio-option input[type="radio"]:checked + .radio-custom[data-v-4930ef76] {
  border-color: var(--primary-color);
  background: var(--primary-color);
}
.radio-option input[type="radio"]:checked + .radio-custom[data-v-4930ef76]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: white;
}
.radio-option input[type="radio"]:focus + .radio-custom[data-v-4930ef76] {
  box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.1);
}
.radio-option.disabled .radio-custom[data-v-4930ef76] {
  border-color: var(--disabled-border);
  background: var(--disabled-bg);
}
.radio-label[data-v-4930ef76] {
  font-size: 14px;
  color: var(--text-color);
  user-select: none;
}

/* Size variants */
.radio-group--small .radio-custom[data-v-4930ef76] {
  width: 16px;
  height: 16px;
}
.radio-group--small .radio-option input[type="radio"]:checked + .radio-custom[data-v-4930ef76]::after {
  width: 5px;
  height: 5px;
}
.radio-group--large .radio-custom[data-v-4930ef76] {
  width: 20px;
  height: 20px;
}
.radio-group--large .radio-option input[type="radio"]:checked + .radio-custom[data-v-4930ef76]::after {
  width: 7px;
  height: 7px;
}
.error-message[data-v-4930ef76] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--error-color);
}
.hint-text[data-v-4930ef76] {
  font-size: 12px;
  color: var(--text-secondary);
}
.has-error .radio-custom[data-v-4930ef76] {
  border-color: var(--error-color);
}

.form-layout[data-v-f0edc4b8] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.form-layout--vertical[data-v-f0edc4b8] {
  flex-direction: column;
}
.form-layout--horizontal[data-v-f0edc4b8] {
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap;
}
.form-layout--grid[data-v-f0edc4b8] {
  display: grid;
}
.form-layout--small[data-v-f0edc4b8] {
  gap: 5px;
}
.form-layout--medium[data-v-f0edc4b8] {
  gap: 10px;
}
.form-layout--large[data-v-f0edc4b8] {
  gap: 18px;
}
.form-layout--align-center[data-v-f0edc4b8] {
  align-items: center;
}
.form-layout--align-end[data-v-f0edc4b8] {
  align-items: flex-end;
}
.form-layout--justify-center[data-v-f0edc4b8] {
  justify-content: center;
}
.form-layout--justify-end[data-v-f0edc4b8] {
  justify-content: flex-end;
}
.form-layout--justify-space-between[data-v-f0edc4b8] {
  justify-content: space-between;
}
.form-layout--justify-space-around[data-v-f0edc4b8] {
  justify-content: space-around;
}
.form-layout--wrap[data-v-f0edc4b8] {
  flex-wrap: wrap;
}
.form-layout--no-wrap[data-v-f0edc4b8] {
  flex-wrap: nowrap;
}
.form-layout--small[data-v-f0edc4b8] {
  font-size: 12px;
}
.form-layout--medium[data-v-f0edc4b8] {
  font-size: 14px;
}
.form-layout--large[data-v-f0edc4b8] {
  font-size: 16px;
}

.form-input-wrapper[data-v-ee69f88a] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}
.form-label[data-v-ee69f88a] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 4px;
}
.required-mark[data-v-ee69f88a] {
  color: var(--error-color);
  font-weight: bold;
}
.input-container[data-v-ee69f88a] {
  position: relative;
  display: flex;
  align-items: center;
}
.form-input[data-v-ee69f88a] {
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--input-bg);
  color: var(--text-color);
  font-size: 14px;
  transition: all 0.2s ease;
}
.form-input[data-v-ee69f88a]:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.1);
  background: var(--input-bg);
}
.form-input--error[data-v-ee69f88a] {
  border-color: var(--error-color);
}
.form-input--error[data-v-ee69f88a]:focus {
  border-color: var(--error-color);
  box-shadow: 0 0 0 2px rgba(var(--error-color-rgb), 0.1);
}
.form-input--disabled[data-v-ee69f88a] {
  background: var(--disabled-bg);
  color: var(--disabled-text);
  cursor: not-allowed;
}
.form-input--readonly[data-v-ee69f88a] {
  background: var(--readonly-bg);
  cursor: default;
}
.form-input--small[data-v-ee69f88a] {
  padding: 6px 10px;
  font-size: 12px;
}
.form-input--medium[data-v-ee69f88a] {
  padding: 8px 12px;
  font-size: 14px;
}
.form-input--large[data-v-ee69f88a] {
  padding: 12px 16px;
  font-size: 16px;
}
.form-input--outlined[data-v-ee69f88a] {
  background: transparent;
  border-width: 2px;
}
.form-input--filled[data-v-ee69f88a] {
  background: var(--filled-bg);
  border-color: transparent;
}
.form-input--filled[data-v-ee69f88a]:focus {
  background: var(--input-bg);
  border-color: var(--primary-color);
}
.input-icon[data-v-ee69f88a] {
  position: absolute;
  right: 40px;
  display: flex;
  align-items: center;
  pointer-events: none;
  z-index: 2;
}
.input-right[data-v-ee69f88a] {
  position: absolute;
  right: 12px;
  display: flex;
  align-items: center;
  height: 100%;
  margin-left: 8px;
  pointer-events: auto;
  z-index: 3;
}
.error-message[data-v-ee69f88a] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--error-color);
}
.hint-text[data-v-ee69f88a] {
  font-size: 12px;
  color: var(--text-secondary);
}
.has-error .form-input[data-v-ee69f88a] {
  border-color: var(--error-color);
}

.form-select-wrapper[data-v-33544f2e] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}
.form-label[data-v-33544f2e] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 4px;
}
.required-mark[data-v-33544f2e] {
  color: var(--error-color);
  font-weight: bold;
}
.select-container[data-v-33544f2e] {
  position: relative;
  display: flex;
  align-items: center;
}
.form-select[data-v-33544f2e] {
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--input-bg);
  color: var(--text-color);
  font-size: 14px;
  transition: all 0.2s ease;
  appearance: none;
  cursor: pointer;
}
.form-select[data-v-33544f2e]:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.1);
  background: var(--input-bg);
}
.form-select--error[data-v-33544f2e] {
  border-color: var(--error-color);
}
.form-select--error[data-v-33544f2e]:focus {
  border-color: var(--error-color);
  box-shadow: 0 0 0 2px rgba(var(--error-color-rgb), 0.1);
}
.form-select--disabled[data-v-33544f2e] {
  background: var(--disabled-bg);
  color: var(--disabled-text);
  cursor: not-allowed;
}
.form-select--multiple[data-v-33544f2e] {
  min-height: 100px;
}
.form-select--small[data-v-33544f2e] {
  padding: 6px 10px;
  font-size: 12px;
}
.form-select--medium[data-v-33544f2e] {
  padding: 8px 12px;
  font-size: 14px;
}
.form-select--large[data-v-33544f2e] {
  padding: 12px 16px;
  font-size: 16px;
}
.form-select--outlined[data-v-33544f2e] {
  background: transparent;
  border-width: 2px;
}
.form-select--filled[data-v-33544f2e] {
  background: var(--filled-bg);
  border-color: transparent;
}
.form-select--filled[data-v-33544f2e]:focus {
  background: var(--input-bg);
  border-color: var(--primary-color);
}
.select-arrow[data-v-33544f2e] {
  position: absolute;
  right: 12px;
  display: flex;
  align-items: center;
  pointer-events: none;
  color: var(--text-secondary);
}
.form-select:focus + .select-arrow[data-v-33544f2e] {
  color: var(--primary-color);
}
.error-message[data-v-33544f2e] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--error-color);
}
.hint-text[data-v-33544f2e] {
  font-size: 12px;
  color: var(--text-secondary);
}
.has-error .form-select[data-v-33544f2e] {
  border-color: var(--error-color);
}

.birthdays-settings[data-v-62af86ad] {
  padding: 10px 0;
}
.settings-header[data-v-62af86ad] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}
.settings-header h4[data-v-62af86ad] {
  margin: 0;
  font-size: 14px;
  color: var(--text);
}
.add-btn[data-v-62af86ad] {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border: none;
  background: var(--theme-1);
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.2s ease;
}
.add-btn[data-v-62af86ad]:hover {
  background: var(--theme-2);
}
.birthdays-list[data-v-62af86ad] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.birthday-item[data-v-62af86ad] {
  background: var(--bg20);
  padding: 15px;
  border-radius: 10px;
  border: 1px solid var(--border);
}
.date-row[data-v-62af86ad] {
  display: flex;
  gap: 10px;
}
.date-row > div[data-v-62af86ad] {
  flex: 1;
}
.remove-btn[data-v-62af86ad] {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border: 1px solid #ff6b6b;
  background: transparent;
  color: #ff6b6b;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.2s ease;
  margin-top: 10px;
}
.remove-btn[data-v-62af86ad]:hover {
  background: #ff6b6b;
  color: #fff;
}
.empty-hint[data-v-62af86ad] {
  text-align: center;
  padding: 30px;
  color: var(--text3);
}
.empty-hint p[data-v-62af86ad] {
  margin: 0;
}

.form-slider-wrapper[data-v-8660783c] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.form-label[data-v-8660783c] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 2px;
}
.required-mark[data-v-8660783c] {
  color: var(--error-color);
  font-weight: bold;
}
.slider-container[data-v-8660783c] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 32px;
}
.slider-track[data-v-8660783c] {
  position: relative;
  flex: 1;
  height: 6px;
  background: var(--border-color);
  border-radius: 4px;
}
.slider-fill[data-v-8660783c] {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--primary-color), var(--primary-color-light, var(--primary-color)));
  border-radius: 4px;
  transition: width 0.15s ease;
  pointer-events: none;
}
.form-slider[data-v-8660783c] {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  z-index: 2;
  border: none;
}
.form-slider[data-v-8660783c]:focus{
  box-shadow: none;
}
.form-slider[data-v-8660783c]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 10px;
  height: 10px;
  background: var(--primary-color);
  border-radius: 50%;
  cursor: pointer;
  border: 3px solid var(--bg-color);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2), 0 0 0 2px var(--primary-color);
  transition: all 0.15s ease;
  margin-top: -6px;
}
.form-slider[data-v-8660783c]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--primary-color);
}
.form-slider[data-v-8660783c]::-webkit-slider-thumb:active {
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25), 0 0 0 4px var(--primary-color);
}
.form-slider[data-v-8660783c]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: var(--primary-color);
  border-radius: 50%;
  cursor: pointer;
  border: 3px solid var(--bg-color);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2), 0 0 0 2px var(--primary-color);
  transition: all 0.15s ease;
}
.form-slider[data-v-8660783c]::-moz-range-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--primary-color);
}
.form-slider[data-v-8660783c]::-moz-range-thumb:active {
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25), 0 0 0 4px var(--primary-color);
}
.form-slider--error .slider-fill[data-v-8660783c] {
  background: linear-gradient(90deg, var(--error-color), var(--error-color-light, var(--error-color)));
}
.form-slider--error[data-v-8660783c]::-webkit-slider-thumb {
  background: var(--error-color);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2), 0 0 0 2px var(--error-color);
}
.form-slider--error[data-v-8660783c]::-webkit-slider-thumb:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--error-color);
}
.form-slider--error[data-v-8660783c]::-moz-range-thumb {
  background: var(--error-color);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2), 0 0 0 2px var(--error-color);
}
.form-slider--error[data-v-8660783c]::-moz-range-thumb:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3), 0 0 0 3px var(--error-color);
}
.form-slider--disabled[data-v-8660783c] {
  cursor: not-allowed;
  opacity: 0.5;
}
.form-slider--disabled[data-v-8660783c]::-webkit-slider-thumb {
  cursor: not-allowed;
  background: var(--text-secondary);
  box-shadow: none;
}
.form-slider--disabled[data-v-8660783c]::-moz-range-thumb {
  cursor: not-allowed;
  background: var(--text-secondary);
  box-shadow: none;
}
.form-slider--disabled .slider-fill[data-v-8660783c] {
  background: var(--text-secondary);
}

/* Size variants */
.form-slider--small .slider-track[data-v-8660783c] {
  height: 6px;
}
.form-slider--small[data-v-8660783c]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  border-width: 2px;
  margin-top: -5px;
}
.form-slider--small[data-v-8660783c]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-width: 2px;
}
.form-slider--large .slider-track[data-v-8660783c] {
  height: 10px;
}
.form-slider--large[data-v-8660783c]::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  border-width: 4px;
  margin-top: -7px;
}
.form-slider--large[data-v-8660783c]::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border-width: 4px;
}
.slider-value[data-v-8660783c] {
  min-width: 48px;
  padding: 4px 10px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--primary-color);
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
}
.error-message[data-v-8660783c] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--error-color);
  margin-top: 2px;
}
.hint-text[data-v-8660783c] {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 2px;
  line-height: 1.4;
}
.has-error .slider-track[data-v-8660783c] {
  background: rgba(var(--error-color-rgb), 0.15);
}

.settings-content[data-v-b256ed11] {
  padding: 15px 24px;
}
.no-settings[data-v-b256ed11] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: rgba(255, 255, 255, 0.5);
}
.no-settings i[data-v-b256ed11] {
  font-size: 48px;
  margin-bottom: 12px;
}
.no-settings p[data-v-b256ed11] {
  margin: 0;
  font-size: 14px;
}
.settings-footer[data-v-b256ed11] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.settings-footer .btn[data-v-b256ed11] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
  outline: none;
}
.settings-footer .btn i[data-v-b256ed11] {
  font-size: 16px;
}
.settings-footer .btn-secondary[data-v-b256ed11] {
  color: rgba(255, 255, 255, 0.9);
}
.settings-footer .btn-secondary[data-v-b256ed11]:hover {
  background: rgba(0, 0, 0, 0.5);
}
.settings-footer .btn-primary[data-v-b256ed11] {
  background: rgba(0, 120, 212, 0.8);
  color: white;
}
.settings-footer .btn-primary[data-v-b256ed11]:hover {
  background: rgba(0, 120, 212, 1);
}
@media (max-width: 768px) {
.settings-content[data-v-b256ed11] {
    padding: 10px 20px;
}
.settings-footer[data-v-b256ed11] {
    padding: 12px 20px;
}
}

.rename-form[data-v-40dd46c8] {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.form-group[data-v-40dd46c8] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.input-wrapper[data-v-40dd46c8] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.form-input[data-v-40dd46c8] {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid var(--bd);
  border-radius: 6px;
  background: var(--bg50);
  color: var(--text);
  font-size: 14px;
  transition: border-color 0.2s ease;
}
.form-input[data-v-40dd46c8]:focus {
  outline: none;
  border-color: var(--theme-1);
}
.char-count[data-v-40dd46c8] {
  font-size: 12px;
  color: var(--text2);
  white-space: nowrap;
}
.form-actions[data-v-40dd46c8] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.btn[data-v-40dd46c8] {
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn[data-v-40dd46c8]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-secondary[data-v-40dd46c8] {
  background: var(--bg50);
  color: var(--text);
  border: 1px solid var(--bd);
}
.btn-secondary[data-v-40dd46c8]:hover:not(:disabled) {
  background: var(--hover);
}
.btn-primary[data-v-40dd46c8] {
  background: var(--theme-1);
  color: white;
}
.btn-primary[data-v-40dd46c8]:hover:not(:disabled) {
  background: var(--theme-2);
}
.loading-spinner[data-v-40dd46c8] {
  width: 16px;
  height: 16px;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin-40dd46c8 1s linear infinite;
}
@keyframes spin-40dd46c8 {
to {
    transform: rotate(360deg);
}
}

.voice-ball[data-v-6f30efde] {
  position: fixed;
  width: 55px;
  height: 55px;
  cursor: move;
  z-index: 98;
  user-select: none;
  transition: transform 0.1s ease;
}
.voice-ball[data-v-6f30efde]:active {
  cursor: grabbing;
}
.rainbow-container-main[data-v-6f30efde] {
  font-size: 55px;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.rainbow-container[data-v-6f30efde] {
  z-index: 1;
  transform: rotate(0deg) translateZ(0);
  transform-origin: center center;
  width: 1em;
  height: 1em;
  border: 1px solid rgba(255, 255, 255, 0.4);
  animation: rainbow-6f30efde 3s infinite linear;
  border-radius: 0.5em;
  box-shadow: 0 0 0.3em 0.05em #2c116e, inset 0.03em 0 0.1em 0.02em #de66e4;
  transform-style: preserve-3d;
  perspective: 1em;
  position: relative;
}
@keyframes rainbow-6f30efde {
0% {
    transform: rotate(0deg) translateZ(0);
    box-shadow: 0 0 0.3em 0.05em #2c116e, inset 0.03em 0 0.1em 0.02em #de66e4;
}
25% {
    transform: rotate(90deg) translateZ(0);
    box-shadow: 0 0 0.3em 0.05em #28126a, inset 0.03em 0 0.1em 0.02em #34ceaa;
}
50% {
    transform: rotate(180deg) translateZ(0);
    box-shadow: 0 0 0.3em 0.05em #28126a, inset 0.03em 0 0.1em 0.02em #19b3f5;
}
75% {
    transform: rotate(270deg) translateZ(0);
    box-shadow: 0 0 0.3em 0.05em #28126a, inset 0.03em 0 0.1em 0.02em #3d52ac;
}
100% {
    transform: rotate(360deg) translateZ(0);
    box-shadow: 0 0 0.3em 0.05em #28126a, inset 0.03em 0 0.1em 0.02em #de66e4;
}
}
.rainbow-container > div[data-v-6f30efde] {
  position: absolute;
  top: 0.1em;
  left: 0.1em;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
}
.rainbow-container .green[data-v-6f30efde] {
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 60%, rgba(115, 213, 186, 0.8) 100%);
  transform: rotateY(0) skew(14deg) rotate3d(1.1, 1, 0.9, 0);
  animation: curve-rotate-green-6f30efde 6s infinite linear;
}
.rainbow-container .pink[data-v-6f30efde] {
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, rgba(215, 115, 229, 0.8) 100%);
  transform: rotateY(180deg) skew(14deg) rotate3d(1.1, 1, 0.9, 0);
  animation: curve-rotate-pink-6f30efde 3s infinite linear;
}
@keyframes curve-rotate-green-6f30efde {
0% {
    transform: rotateY(0) skew(14deg) rotate3d(1.1, 1, 0.9, 0deg);
}
50% {
    transform: rotateY(0) skew(14deg) rotate3d(1.1, 1, 0.9, 180deg);
}
100% {
    transform: rotateY(0) skew(14deg) rotate3d(1.1, 1, 0.9, 360deg);
}
}
@keyframes curve-rotate-pink-6f30efde {
0% {
    transform: rotateY(180deg) skew(14deg) rotate3d(1.1, 1, 0.9, 0deg);
}
50% {
    transform: rotateY(180deg) skew(14deg) rotate3d(1.1, 1, 0.9, 180deg);
}
100% {
    transform: rotateY(180deg) skew(14deg) rotate3d(1.1, 1, 0.9, 360deg);
}
}
@media (max-width: 768px) {
.voice-ball[data-v-6f30efde] {
    width: 50px;
    height: 50px;
}
.rainbow-container-main[data-v-6f30efde] {
    font-size: 50px;
}
}

.group-overlay[data-v-4824b30c] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.group-window[data-v-4824b30c] {
  width: 600px;
  max-height: 600px;
  background-color: rgba(32, 32, 32, 0.9);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}
.group-window.light-mode[data-v-4824b30c] {
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
.group-window.light-mode .group-title[data-v-4824b30c] {
  color: #333;
}
.group-window.light-mode .app-name[data-v-4824b30c] {
  color: #333;
  text-shadow: none;
}
.group-window.light-mode .app-item[data-v-4824b30c]:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.group-window.light-mode .loading[data-v-4824b30c],
.group-window.light-mode .empty[data-v-4824b30c] {
  color: #666;
}
.group-header[data-v-4824b30c] {
  padding: 16px 20px;
}
.group-title[data-v-4824b30c] {
  font-size: 16px;
  font-weight: 500;
  color: white;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.group-title[data-v-4824b30c]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.group-title.light-mode[data-v-4824b30c] {
  color: #333;
}
.group-title.light-mode[data-v-4824b30c]:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.group-title-input[data-v-4824b30c] {
  font-size: 16px;
  font-weight: 500;
  color: white;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  padding: 4px 8px;
  outline: none;
  width: 200px;
}
.group-title-input.light-mode[data-v-4824b30c] {
  color: #333;
  background-color: rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.group-content[data-v-4824b30c] {
  padding: 20px;
  height: 500px;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
}
.loading[data-v-4824b30c], .empty[data-v-4824b30c] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: rgba(255, 255, 255, 0.6);
}
.apps-grid[data-v-4824b30c] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  position: relative;
  /* 保持容器高度，避免拖拽时出现滚动条 */
  min-height: fit-content;
}
.app-item[data-v-4824b30c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 10px;
  border-radius: 8px;
  min-height: 90px;
}
.app-item[data-v-4824b30c]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.app-item.dragging-sort[data-v-4824b30c] {
  opacity: 0.5;
  transform: scale(1.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  z-index: 1000;
}
.app-icon[data-v-4824b30c] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
  margin: 0 auto 6px;
  overflow: hidden;
  flex-shrink: 0;
}
.app-icon img[data-v-4824b30c] {
  width: 48px;
  height: 48px;
  object-fit: cover;
}
.app-name[data-v-4824b30c] {
  font-size: 12px;
  color: white;
  text-align: center;
  max-width: 100%;
  margin: 0;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  word-break: break-all;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.overlay-enter-active[data-v-4824b30c],
.overlay-leave-active[data-v-4824b30c] {
  transition: opacity 0.2s ease;
}
.overlay-enter-from[data-v-4824b30c],
.overlay-leave-to[data-v-4824b30c] {
  opacity: 0;
}
.overlay-enter-active .group-window[data-v-4824b30c],
.overlay-leave-active .group-window[data-v-4824b30c] {
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.overlay-enter-from .group-window[data-v-4824b30c],
.overlay-leave-to .group-window[data-v-4824b30c] {
  transform: scale(0.95);
  opacity: 0;
}

/* 移动端响应式样式 */
@media (max-width: 768px) {
.group-window[data-v-4824b30c] {
    width: 90% !important;
    max-width: 90% !important;
    max-height: 60vh !important;
}
.apps-grid[data-v-4824b30c] {
    grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)) !important;
    gap: 8px !important;
}
.app-item[data-v-4824b30c] {
    min-height: 70px !important;
    padding: 8px !important;
}
.app-icon[data-v-4824b30c] {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 4px !important;
}
.app-icon img[data-v-4824b30c] {
    width: 40px !important;
    height: 40px !important;
}
.app-name[data-v-4824b30c] {
    font-size: 11px !important;
    -webkit-line-clamp: 1 !important;
}
.group-header[data-v-4824b30c] {
    padding: 12px 16px !important;
}
.group-content[data-v-4824b30c] {
    padding: 16px !important;
    height: calc(80vh - 60px) !important;
}
}

#desktop[data-v-8f64700a] {
  width: 100vw;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.dark-overlay[data-v-8f64700a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: 0;
}
.video-wallpaper[data-v-8f64700a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
.desktop-icon[data-v-8f64700a] {
  position: absolute;
  text-align: center;
  cursor: pointer;
  padding: 10px;
  border-radius: 8px;
  transition: all 0.2s ease;
  z-index: 10;
}
.desktop-icon[data-v-8f64700a]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.desktop-icon.dragging-sort[data-v-8f64700a] {
  opacity: 0.5;
  transform: scale(1.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  z-index: 1000;
}
.desktop-icon.drag-over[data-v-8f64700a] {
  background-color: rgba(59, 130, 246, 0.3);
  border: 2px dashed #3b82f6;
  transform: scale(1.05);
}
.desktop-icon.sort-placeholder[data-v-8f64700a] {
  opacity: 0.3;
  border: 2px dashed rgba(255, 255, 255, 0.5);
}
.desktop-icon img[data-v-8f64700a] {
  transition: all 0.2s ease;
  border-radius: 10px;
  margin: 0 auto;
  display: block;
}
.desktop-icon p[data-v-8f64700a] {
  color: white;
  margin: 0;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  transition: all 0.2s ease;
}
.desktop-icon.built-in[data-v-8f64700a] {
  opacity: 0.9;
}
.desktop-icon.built-in[data-v-8f64700a]:hover {
  opacity: 1;
}
.desktop-icon.built-in img[data-v-8f64700a] {
  filter: brightness(1.1);
}
.desktop-icon.group[data-v-8f64700a] {
  /* 保持与普通图标相同的 padding */
}
.desktop-icon.group[data-v-8f64700a]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.group-box[data-v-8f64700a] {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  box-sizing: border-box;
  margin: 0 auto;
}
.group-box[data-v-8f64700a]:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}
.group-icons[data-v-8f64700a] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 4px;
  width: 100%;
  height: 100%;
}
.group-icons img[data-v-8f64700a] {
  border-radius: 0;
}
.group-child-icon-wrapper[data-v-8f64700a] {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.group-child-icon[data-v-8f64700a] {
  object-fit: cover;
  padding: 1px;
  width: 100%;
  height: 100%;
}
.delete-icon-btn[data-v-8f64700a] {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: white;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
  transition: all 0.3s ease;
  z-index: 100;
  padding: 0;
}
.delete-icon-btn[data-v-8f64700a]:hover {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.5);
}
.delete-icon-btn[data-v-8f64700a]:active {
  transform: scale(0.95);
}
.choose[data-v-8f64700a] {
  position: absolute;
  border: 1px solid #0066ff;
  background-color: rgba(0, 102, 255, 0.2);
  display: none;
}
.loading-overlay[data-v-8f64700a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.loading-spinner[data-v-8f64700a] {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top-color: var(--theme-color);
  border-radius: 50%;
  animation: spin-8f64700a 1s linear infinite;
}
@keyframes spin-8f64700a {
to {
    transform: rotate(360deg);
}
}
.loading-text[data-v-8f64700a] {
  margin-top: 20px;
  color: white;
  font-size: 16px;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
}

/* 手机端布局样式 */
.mobile-desktop-container[data-v-8f64700a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 120px);
  overflow: hidden;
  touch-action: pan-y;
}

/* 电脑端布局容器 */
.desktop-container[data-v-8f64700a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.mobile-icon[data-v-8f64700a] {
  position: absolute;
}

/* 手机端底部圆点指示器 */
.mobile-screen-indicator[data-v-8f64700a] {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 100;
  padding: 8px 16px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 20px;
  backdrop-filter: blur(10px);
}
.screen-dot[data-v-8f64700a] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  transition: all 0.3s ease;
}
.screen-dot.active[data-v-8f64700a] {
  background: white;
  transform: scale(1.2);
}
.screen-dot[data-v-8f64700a]:hover {
  background: rgba(255, 255, 255, 0.7);
}

/* 电脑端底部圆点指示器 */
.screen-indicator[data-v-8f64700a] {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 9999;
  padding: 8px 16px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 20px;
  backdrop-filter: blur(10px);
}

.dock-btn[data-v-895f3736] {
  width: 44px;
  height: 44px;
  margin-right: 2px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.dock-btn[data-v-895f3736]:hover {
  background-color: var(--hover);
  transform: scale(1.1);
  transition: transform 0.1s ease;
}
.dock-btn.show[data-v-895f3736] {
  background-color: var(--hover-b);
}
.dock-btn svg[data-v-895f3736] {
  width: 32px;
  height: 32px;
}

.dock-btn[data-v-939be89c] {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.dock-btn[data-v-939be89c]:hover {
  background-color: var(--hover);
  transform: scale(1.1);
  transition: transform 0.1s ease;
}
.dock-btn.show[data-v-939be89c] {
  background-color: var(--hover-b);
}
.dock-btn svg[data-v-939be89c] {
  width: 32px;
  height: 32px;
}

.a.dock.theme[data-v-8210d001] {
  cursor: pointer;
  padding: 5px;
  border-radius: 4px;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.a.dock.theme[data-v-8210d001]:hover {
  background-color: var(--hover);
  transform: scale(1.1);
  transition: transform 0.3s ease;
}
.a.dock.theme.show[data-v-8210d001] {
  background-color: var(--hover-b);
}
.a.dock.theme svg[data-v-8210d001] {
  width: 30px;
  height: 30px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.a.dock.theme .light[data-v-8210d001] {
  animation: fadeIn-8210d001 0.3s ease;
}
.a.dock.theme .dark[data-v-8210d001] {
  animation: fadeIn-8210d001 0.3s ease;
}
@keyframes fadeIn-8210d001 {
from {
    opacity: 0;
    transform: rotate(-180deg) scale(0.5);
}
to {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}
}

.fullscreen-btn[data-v-cffd1ebc] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #ddd;
  cursor: pointer;
  font-size: 18px;
}
.fullscreen-btn[data-v-cffd1ebc]:hover {
  background: var(--hover);
  color: var(--border-color);
  transform: scale(1.1);
  transition: transform 0.1s ease;
}
.fullscreen-btn[data-v-cffd1ebc]:active {
  transform: scale(0.95);
}
.fullscreen-btn i[data-v-cffd1ebc] {
  transition: transform 0.3s ease;
}
.fullscreen-btn:hover i[data-v-cffd1ebc] {
  transform: scale(1.1);
}
.fullscreen-btn svg[data-v-cffd1ebc] {
  transform: scale(1.2);
}

.taskbar-wrapper[data-v-4fcf9d30] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0;
  z-index: 5000;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 10px;
  overflow: visible;
  pointer-events: none;
}
.hover-trigger[data-v-4fcf9d30] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 10px;
  z-index: 4999;
  pointer-events: auto;
}
#dock-box[data-v-4fcf9d30] {
  position: relative;
  left: 0;
  transform: none;
  z-index: 2;
  transition: opacity 0.3s ease, transform 0.3s ease;
  overflow: visible;
  pointer-events: auto;
}
#dock-box.taskbar-hidden[data-v-4fcf9d30] {
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
}
.taskbar-container[data-v-4fcf9d30] {
  display: flex;
  align-items: center;
  height: 56px;
  padding: 0 8px;
  background-color: rgba(32, 32, 32, 0.85);
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.3);
  overflow: visible;
}
.taskbar-container.light-mode[data-v-4fcf9d30] {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.08);
}
.taskbar-left[data-v-4fcf9d30] {
  display: flex;
  align-items: center;
}
.taskbar-center[data-v-4fcf9d30] {
  flex: 1;
  display: flex;
  align-items: center;
  overflow: visible;
}
.taskbar-right[data-v-4fcf9d30] {
  display: flex;
  align-items: center;
}
.dock[data-v-4fcf9d30] {
  display: flex;
  align-items: center;
  border-radius: 8px;
  height: 100%;
  margin: 0 3px;
  transition: 200ms, transform 300ms cubic-bezier(0.14, 1.02, 0.17, 0.03), backdrop-filter, -webkit-backdrop-filter 0ms;
}
.dock-start[data-v-4fcf9d30] {
  gap: 4px;
}
#taskbar[data-v-4fcf9d30] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
  overflow: visible;
}
.taskbar-content[data-v-4fcf9d30] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  min-width: 0;
  max-width: 100%;
  padding-top: 50px;
  margin-top: -50px;
  overflow: visible;
}
.taskbar-content[data-v-4fcf9d30]::-webkit-scrollbar {
  display: none;
}
.scroll-btn[data-v-4fcf9d30] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background-color: var(--hover);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  color: var(--text);
}
.scroll-btn[data-v-4fcf9d30]:hover {
  background-color: var(--hover-b);
  transform: scale(1.1);
}
.scroll-btn[data-v-4fcf9d30]:active {
  transform: scale(1);
}
.scroll-btn i[data-v-4fcf9d30] {
  font-size: 14px;
}
.taskbar-item[data-v-4fcf9d30] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  position: relative;
}
.taskbar-item[data-v-4fcf9d30]:hover {
  background-color: rgba(255, 255, 255, 0.15);
  transform: scale(1.1);
  transition: transform 0.1s ease;
}
.taskbar-container.light-mode .taskbar-item[data-v-4fcf9d30]:hover {
  background-color: rgba(0, 0, 0, 0.08);
  transform: scale(1.1);
  transition: transform 0.1s ease;
}
.taskbar-item.active[data-v-4fcf9d30] {
  background-color: rgba(0, 120, 212, 0.3);
}
.taskbar-item-icon[data-v-4fcf9d30] {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.taskbar-item.minimized[data-v-4fcf9d30] {
  opacity: 0.6;
}
.taskbar-item-title[data-v-4fcf9d30] {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(32, 32, 32, 0.95);
  color: #fff;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
  z-index: 10000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.taskbar-item-title[data-v-4fcf9d30]::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(32, 32, 32, 0.95);
}
.taskbar-container.light-mode .taskbar-item-title[data-v-4fcf9d30] {
  background-color: rgba(32, 32, 32, 0.95);
  color: #fff;
}
.taskbar-container.light-mode .taskbar-item-title[data-v-4fcf9d30]::after {
  border-top-color: rgba(32, 32, 32, 0.95);
}
.taskbar-item:hover .taskbar-item-title[data-v-4fcf9d30] {
  opacity: 1;
  visibility: visible;
}
.app-market-btn[data-v-4fcf9d30],
.settings-btn[data-v-4fcf9d30] {
  color: rgba(255, 255, 255, 0.8);
}
.taskbar-container.light-mode .app-market-btn[data-v-4fcf9d30],
.taskbar-container.light-mode .settings-btn[data-v-4fcf9d30] {
  color: rgba(0, 0, 0, 0.7);
}
.app-market-btn[data-v-4fcf9d30]:hover,
.settings-btn[data-v-4fcf9d30]:hover {
  background-color: rgba(255, 255, 255, 0.15);
}
.taskbar-container.light-mode .app-market-btn[data-v-4fcf9d30]:hover,
.taskbar-container.light-mode .settings-btn[data-v-4fcf9d30]:hover {
  background-color: rgba(0, 0, 0, 0.08);
}
.minimize-all-btn[data-v-4fcf9d30] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: 4px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: rgba(255, 255, 255, 0.8);
}
.taskbar-container.light-mode .minimize-all-btn[data-v-4fcf9d30] {
  color: rgba(0, 0, 0, 0.7);
}
.minimize-all-btn[data-v-4fcf9d30]:hover {
  background-color: rgba(255, 255, 255, 0.15);
}
.taskbar-container.light-mode .minimize-all-btn[data-v-4fcf9d30]:hover {
  background-color: rgba(0, 0, 0, 0.08);
}
@media (max-width: 768px) {
.about[data-v-4fcf9d30] {
    display: none;
}
}
.overflow-btn[data-v-4fcf9d30] {
  background-color: rgba(255, 255, 255, 0.1);
}
.taskbar-container.light-mode .overflow-btn[data-v-4fcf9d30] {
  background-color: rgba(0, 0, 0, 0.08);
}
.overflow-btn i[data-v-4fcf9d30] {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
}
.taskbar-container.light-mode .overflow-btn i[data-v-4fcf9d30] {
  color: rgba(0, 0, 0, 0.7);
}
.overflow-menu[data-v-4fcf9d30] {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(32, 32, 32, 0.7);
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  max-width: 484px;
  width: 100%;
  z-index: 10001;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}
.taskbar-container.light-mode .overflow-menu[data-v-4fcf9d30] {
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}
.overflow-menu-item[data-v-4fcf9d30] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  position: relative;
}
.overflow-menu-item[data-v-4fcf9d30]:hover {
  background-color: rgba(255, 255, 255, 0.15);
}
.taskbar-container.light-mode .overflow-menu-item[data-v-4fcf9d30]:hover {
  background-color: rgba(0, 0, 0, 0.08);
}
.overflow-menu-item.minimized[data-v-4fcf9d30] {
  opacity: 0.6;
}
.overflow-menu-icon[data-v-4fcf9d30] {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.overflow-menu-title[data-v-4fcf9d30] {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(32, 32, 32, 0.95);
  color: #fff;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
  z-index: 10002;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.taskbar-container.light-mode .overflow-menu-title[data-v-4fcf9d30] {
  background-color: rgba(32, 32, 32, 0.95);
  color: #fff;
}
.overflow-menu-title[data-v-4fcf9d30]::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(32, 32, 32, 0.95);
}
.taskbar-container.light-mode .overflow-menu-title[data-v-4fcf9d30]::after {
  border-top-color: rgba(32, 32, 32, 0.95);
}
.overflow-menu-item:hover .overflow-menu-title[data-v-4fcf9d30] {
  opacity: 1;
  visibility: visible;
}

.user-avatar[data-v-3e4e904a] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.startmenu-user[data-v-3e4e904a] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.startmenu-user svg[data-v-3e4e904a] {
  width: 100%;
  height: 100%;
}

.list[data-v-e7d77cc1] {
  flex-grow: 1;
  padding-bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.list .text[data-v-e7d77cc1] {
  font-size: 14px;
  color: var(--text2);
  margin: 10px 0 5px 0;
  padding: 0 10px;
}
.list a[data-v-e7d77cc1] {
  padding: 3px 5px 3px 10px;
  font-size: 15px;
  display: flex;
  align-items: center;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  color: var(--text);
  text-decoration: none;
}
.list a[data-v-e7d77cc1]:hover {
  background-color: var(--hover);
}
.list a img[data-v-e7d77cc1] {
  width: 32px;
  height: 32px;
  min-width: 32px;
  margin-right: 12px;
}
.list a p[data-v-e7d77cc1] {
  flex: 1;
  margin: 5px 0 5px 10px;
  padding-right: 8px;
  color: var(--text);
  font-size: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

/* 手机模式 - 只显示图标 */
@media (max-width: 768px) {
.list[data-v-e7d77cc1] {
    align-items: center;
}
.list a[data-v-e7d77cc1] {
    justify-content: center;
    padding: 8px 5px;
}
.list a img[data-v-e7d77cc1] {
    margin-right: 0;
}
.list a p[data-v-e7d77cc1] {
    display: none;
}
}

.pinned-apps[data-v-c966f566] {
  background: var(--bg40);
  border-radius: 8px;
  padding: 12px;
  width: 100%;
  height: 221px;
  box-sizing: border-box;
}
.section-header[data-v-c966f566] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.title[data-v-c966f566] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.view-all[data-v-c966f566] {
  background: transparent;
  border: none;
  color: var(--theme-1);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
}
.view-all[data-v-c966f566]:hover {
  background: rgba(255, 255, 255, 0.1);
}
.apps-grid[data-v-c966f566] {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  height: 161px;
  overflow: hidden;
}
.app-item[data-v-c966f566] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 0;
}
.app-item[data-v-c966f566]:hover {
  background: rgba(255, 255, 255, 0.1);
}
.app-icon-img[data-v-c966f566] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
}
.app-icon-default[data-v-c966f566] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
  flex-shrink: 0;
}
.app-icon-default i[data-v-c966f566] {
  font-size: 20px;
  color: white;
}
.app-label[data-v-c966f566] {
  font-size: 11px;
  color: var(--text);
  text-align: center;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.loading-state[data-v-c966f566] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.loading-spinner[data-v-c966f566] {
  width: 24px;
  height: 24px;
  border: 2px solid var(--bd);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-c966f566 0.8s linear infinite;
}
@keyframes spin-c966f566 {
to { transform: rotate(360deg);
}
}
.empty-state[data-v-c966f566] {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: var(--text2);
  font-size: 12px;
}
.add-link[data-v-c966f566] {
  color: var(--theme-1);
  cursor: pointer;
  text-decoration: underline;
}
.add-link[data-v-c966f566]:hover {
  color: var(--theme-2);
}

/* 手机模式自适应 */
@media (max-width: 768px) {
.pinned-apps[data-v-c966f566] {
    width: 100%;
    box-sizing: border-box;
}
.apps-grid[data-v-c966f566] {
    grid-template-columns: repeat(4, 1fr);
    min-height: 161px;
}
}

.recommended-items[data-v-93cef015] {
  background: var(--bg40);
  border-radius: 8px;
  padding: 12px;
  margin-top: 12px;
  overflow: hidden;
}
.section-header[data-v-93cef015] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.title[data-v-93cef015] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.view-all[data-v-93cef015] {
  background: transparent;
  border: none;
  color: var(--theme-1);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
}
.view-all[data-v-93cef015]:hover {
  background: rgba(255, 255, 255, 0.1);
}
.loading-state[data-v-93cef015] {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}
.loading-spinner[data-v-93cef015] {
  width: 24px;
  height: 24px;
  border: 3px solid var(--bg50);
  border-top: 3px solid var(--theme-1);
  border-radius: 50%;
  animation: spin-93cef015 1s linear infinite;
}
@keyframes spin-93cef015 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.app-grid[data-v-93cef015] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
}
.app-card[data-v-93cef015] {
  padding: 8px;
  display: flex;
  gap: 8px;
  border-radius: 8px;
  background: var(--bg40);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
}
.app-card[data-v-93cef015]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.app-icon[data-v-93cef015] {
  width: 48px;
  height: 48px;
  background: #ffffff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.app-icon img[data-v-93cef015] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.app-icon .default-icon[data-v-93cef015] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.app-icon .default-icon i[data-v-93cef015] {
  font-size: 28px;
  color: white;
}
.app-content[data-v-93cef015] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.app-header[data-v-93cef015] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.app-title[data-v-93cef015] {
  flex: 1;
  text-align: left;
  width: 0;
}
.title-row[data-v-93cef015] {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-bottom: 4px;
}
.app-title h4[data-v-93cef015] {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.app-tag[data-v-93cef015] {
  display: inline-block;
  font-size: 9px;
  padding: 1px 3px;
  border-radius: 3px;
  margin-right: 3px;
  font-weight: 500;
  vertical-align: middle;
  flex-shrink: 0;
}
.hot-tag[data-v-93cef015] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
}
.new-tag[data-v-93cef015] {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: white;
}
.app-description[data-v-93cef015] {
  margin: 0;
  font-size: 11px;
  color: var(--text2);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.app-action[data-v-93cef015] {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.app-action[data-v-93cef015]:hover {
  background: rgba(var(--theme-1), 0.1);
}
.app-action i[data-v-93cef015] {
  font-size: 14px;
  color: var(--text2);
  transition: color 0.2s ease;
}
.app-action:hover i[data-v-93cef015] {
  color: var(--theme-1);
}
.link-icon[data-v-93cef015] {
  width: 14px;
  height: 14px;
  color: var(--text2);
  cursor: pointer;
  transition: color 0.2s ease;
}
.link-icon[data-v-93cef015]:hover {
  color: var(--theme-1);
}
.app-footer[data-v-93cef015] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  gap: 6px;
}
.app-footer-left[data-v-93cef015] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.install-count[data-v-93cef015] {
  font-size: 10px;
  color: var(--text2);
  font-weight: 500;
}
.detail-link[data-v-93cef015] {
  font-size: 10px;
  color: var(--theme-1);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
  font-weight: 500;
}
.detail-link[data-v-93cef015]:hover {
  color: var(--theme-2);
  text-decoration: underline;
}
.empty-state[data-v-93cef015] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.empty-icon[data-v-93cef015] {
  font-size: 32px;
  margin-bottom: 8px;
}
.empty-title[data-v-93cef015] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text2);
  margin: 0;
}
@media (max-width: 768px) {
.recommended-items[data-v-93cef015] {
    overflow: auto;
}
}

#start-menu[data-v-118ac8d5] {
  position: fixed;
  transform: translateY(700px);
  height: 550px;
  max-height: calc(100% - 120px);
  width: 650px;
  border-radius: 12px;
  background: var(--bg70);
  backdrop-filter: blur(45px) saturate(3) contrast(0.8);
  -webkit-backdrop-filter: blur(45px) saturate(3) contrast(0.8);
  opacity: 0;
  transition: all 200ms ease;
  box-shadow: 3px 3px 25px 1px var(--sd);
  border: 1.5px solid var(--bd);
  z-index: 2000;
  padding: 10px;
  display: none;
}
#start-menu.show-begin[data-v-118ac8d5] {
  display: flex;
}
#start-menu.show[data-v-118ac8d5] {
  display: flex;
  opacity: 1;
  transform: translateY(0) !important;
}
#s-m-l[data-v-118ac8d5] {
  width: 200px;
  height: 100%;
  padding: 10px;
  display: flex;
  flex-direction: column;
}
.user-section[data-v-118ac8d5] {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 15px;
}
.username[data-v-118ac8d5] {
  flex: 1;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.username.not-logged-in[data-v-118ac8d5] {
  color: rgba(255, 255, 255, 0.5);
  font-weight: 400;
}
#s-m-r[data-v-118ac8d5] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}
.top-section[data-v-118ac8d5] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.logout-btn[data-v-118ac8d5] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 10px;
  margin-top: auto;
  background: transparent;
  border: 1px solid var(--bd);
  border-radius: 8px;
  color: var(--text);
  font-size: 15px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.logout-btn[data-v-118ac8d5]:hover {
  background: var(--hover);
  border-color: #dc2626;
  color: #dc2626;
}
.logout-btn svg[data-v-118ac8d5] {
  width: 18px;
  height: 18px;
}
.login-btn[data-v-118ac8d5] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 10px;
  margin-top: auto;
  background: var(--hover);
  border: 1px solid var(--bd);
  border-radius: 8px;
  color: var(--text);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.login-btn[data-v-118ac8d5]:hover {
  background: rgba(59, 130, 246, 0.2);
  border-color: #3b82f6;
  color: #3b82f6;
}
.login-btn svg[data-v-118ac8d5] {
  width: 18px;
  height: 18px;
}
#s-m-r[data-v-118ac8d5]::-webkit-scrollbar {
  width: 6px;
}
#s-m-r[data-v-118ac8d5]::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}
#s-m-r[data-v-118ac8d5]::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}
#s-m-r[data-v-118ac8d5]::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* 手机模式自适应 */
@media (max-width: 768px) {
#start-menu[data-v-118ac8d5] {
    width: 96%;
    max-width: 96%;
    border-radius: 12px 12px 0 0;
    left: 2% !important;
    right: 0 !important;
    top: auto !important;
}
#s-m-l[data-v-118ac8d5] {
    width: 60px;
    min-width: 60px;
    padding: 10px 5px;
}
.user-section[data-v-118ac8d5] {
    justify-content: center;
    gap: 0;
}
.username[data-v-118ac8d5] {
    display: none;
}
#s-m-r[data-v-118ac8d5] {
    flex: 1;
    width: auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 5px;
}
.logout-btn span[data-v-118ac8d5] {
    display: none;
}
.logout-btn[data-v-118ac8d5] {
    padding: 10px;
    justify-content: center;
}
.login-btn span[data-v-118ac8d5] {
    display: none;
}
.login-btn[data-v-118ac8d5] {
    padding: 10px;
    justify-content: center;
}
}

#widgets[data-v-aeb10ef8] {
  display: none;
  position: fixed;
  bottom: -600px;
  height: 600px;
  max-height: calc(90% - 50px);
  width: 1000px;
  left: 10px;
  border-radius: 20px;
  background: var(--bg70);
  backdrop-filter: blur(60px) saturate(3) contrast(0.8);
  -webkit-backdrop-filter: blur(60px) saturate(3) contrast(0.8);
  transition: 200ms;
  box-shadow: 3px 3px 15px 1px var(--sd);
  border: 1.5px solid #6f6f6f30;
  z-index: 2000;
  padding: 10px 0;
}
#widgets.show-begin[data-v-aeb10ef8] {
  display: flex;
}
#widgets.show[data-v-aeb10ef8] {
  bottom: 60px;
}
.widgets[data-v-aeb10ef8] {
  width: calc(50% - 0.5px);
  padding: 0 10px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.bar[data-v-aeb10ef8] {
  height: 32px;
  display: flex;
  background-color: var(--bar);
  box-shadow: 0 1px 3px var(--sd);
  border-radius: 10px;
  padding-left: 10px;
  justify-content: space-between;
  align-items: center;
}
.bar .tit[data-v-aeb10ef8] {
  width: 100px;
  font-size: 18px;
  margin: 0;
  color: var(--text);
}
.bar button[data-v-aeb10ef8] {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.bar button[data-v-aeb10ef8]:hover {
  opacity: 0.9;
  transform: scale(1.05);
}
.content[data-v-aeb10ef8] {
  height: calc(100% - 35px);
  margin-top: 8px;
  overflow: auto;
}
.template[data-v-aeb10ef8] {
  display: block;
}
.wg[data-v-aeb10ef8] {
  background: var(--bg50);
  border-radius: 12px;
  overflow: hidden;
}
.wg.calc[data-v-aeb10ef8] {
  background: var(--card);
}
.wg.calc .titbar[data-v-aeb10ef8] {
  display: flex;
  justify-content: flex-end;
  padding: 10px;
  border-bottom: 1px solid var(--border);
}
.wg.calc .titbar .a[data-v-aeb10ef8] {
  padding: 5px;
  border-radius: 4px;
  cursor: pointer;
  color: var(--text);
  transition: background-color 0.2s ease;
}
.wg.calc .titbar .a[data-v-aeb10ef8]:hover {
  background-color: var(--hover);
}
.wg.calc .content[data-v-aeb10ef8] {
  padding: 15px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto repeat(5, 1fr);
  grid-template-areas:
    "display display display display"
    "pow sqrt c jia"
    "n7 n8 n9 jian"
    "n4 n5 n6 cheng"
    "n1 n2 n3 chu"
    "dot n0 back ans";
  gap: 8px;
}
.wg.calc .content .container[data-v-aeb10ef8] {
  grid-area: display;
}
.wg.calc .content input[data-v-aeb10ef8] {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 8px;
  background: var(--bg);
  color: var(--text);
  font-size: 24px;
  text-align: right;
  outline: none;
}
.wg.calc .content .b[data-v-aeb10ef8] {
  padding: 15px;
  border: none;
  border-radius: 8px;
  background: var(--bg);
  color: var(--text);
  font-size: 18px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wg.calc .content .b[data-v-aeb10ef8]:hover {
  background: var(--hover);
}
.wg.calc .content .b.u[data-v-aeb10ef8] {
  background: var(--hover-b);
}
.wg.calc .content .b.ans[data-v-aeb10ef8] {
  background: linear-gradient(100deg, var(--theme-1), var(--theme-2));
  color: white;
}
.wg.calc .content .b.ans[data-v-aeb10ef8]:hover {
  opacity: 0.9;
}

#search-win[data-v-cf1f5556] {
  display: none;
  position: fixed;
  transform: translateY(700px);
  height: 550px;
  max-height: calc(90% - 120px);
  width: 600px;
  border-radius: 10px;
  background: var(--bg70);
  backdrop-filter: blur(45px) saturate(3) contrast(0.8);
  -webkit-backdrop-filter: blur(45px) saturate(3) contrast(0.8);
  opacity: 0.8;
  transition: all 200ms ease;
  box-shadow: 3px 3px 15px 1px var(--sd);
  border: 1.5px solid #6f6f6f30;
  z-index: 2000;
  padding: 10px;
}
#search-win.show-begin[data-v-cf1f5556] {
  display: flex;
  flex-direction: column;
}
#search-win.show[data-v-cf1f5556] {
  max-height: calc(100% - 120px);
  display: flex;
  flex-direction: column;
  opacity: 1;
  transform: translateY(0) !important;
}
.search-box[data-v-cf1f5556] {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--bg50);
  border-radius: 8px;
  padding: 2px;
}
.scope-select-wrapper[data-v-cf1f5556] {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 2px 10px 10px;
  min-width: 60px;
  cursor: pointer;
  user-select: none;
}
.scope-text[data-v-cf1f5556] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.select-arrow[data-v-cf1f5556] {
  color: var(--text2);
  font-size: 10px;
  margin-left: 6px;
}
.divider[data-v-cf1f5556] {
  width: 1px;
  height: 22px;
  background: var(--bd);
  margin-left: 12px;
}
.scope-dropdown[data-v-cf1f5556] {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 2px;
  background: var(--bg);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  z-index: 100;
  min-width: 60px;
}
.dropdown-item[data-v-cf1f5556] {
  padding: 6px 10px;
  font-size: 14px;
  color: var(--text);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.dropdown-item[data-v-cf1f5556]:hover {
  background: var(--hover);
}
.dropdown-item.active[data-v-cf1f5556] {
  color: var(--theme-1);
  font-weight: 500;
  background: var(--hover);
}
.search-input[data-v-cf1f5556] {
  flex: 1;
  padding: 10px 12px 12px 4px;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: 14px;
  outline: none;
}
.search-input[data-v-cf1f5556]::placeholder {
  color: var(--text2);
}
.search-btn[data-v-cf1f5556] {
  padding: 8px 16px;
  font-size: 13px;
  color: var(--text2);
  cursor: pointer;
  transition: color 0.2s ease;
}
.search-btn[data-v-cf1f5556]:hover {
  color: var(--theme-1);
}
.search-box[data-v-cf1f5556]:focus-within {
  background: var(--bg);
  box-shadow: 0 0 0 2px var(--theme-1);
}
.tab-wrapper[data-v-cf1f5556] {
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 10px;
}
.tab[data-v-cf1f5556] {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 4px;
  flex: 1;
}
.tab[data-v-cf1f5556]::-webkit-scrollbar {
  display: none;
}
.scroll-arrow[data-v-cf1f5556] {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 50%;
  background: var(--bg50);
  color: var(--text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  z-index: 10;
}
.scroll-arrow[data-v-cf1f5556]:hover {
  background: var(--hover);
}
.scroll-arrow.left[data-v-cf1f5556] {
  margin-right: 8px;
}
.scroll-arrow.right[data-v-cf1f5556] {
  margin-left: 8px;
}
.scroll-arrow i[data-v-cf1f5556] {
  font-size: 14px;
}
.tab a[data-v-cf1f5556] {
  padding: 6px 14px;
  text-align: center;
  border-radius: 10px;
  cursor: pointer;
  color: var(--text);
  font-size: 14px;
  transition: 100ms;
  white-space: nowrap;
  flex-shrink: 0;
}
.tab a[data-v-cf1f5556]:hover,
.tab a.now[data-v-cf1f5556] {
  background-color: var(--hover);
}
.tab a.now[data-v-cf1f5556]::after {
  content: '';
  display: block;
  position: relative;
  bottom: 0;
  background-image: linear-gradient(90deg, var(--theme-1), var(--theme-2));
  width: calc(100% - 6px);
  left: 3px;
  height: 3px;
  border-radius: 10px;
}
.ans[data-v-cf1f5556] {
  display: flex;
  flex-grow: 1;
  overflow-y: auto;
}
.list[data-v-cf1f5556] {
  width: 100%;
  height: 100%;
  overflow: auto;
}
.list-content[data-v-cf1f5556] {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.list-content .text[data-v-cf1f5556] {
  font-size: 14px;
  color: var(--text);
  margin: 10px 0 5px 0;
  padding: 0 10px;
}
.list-content .list-item[data-v-cf1f5556] {
  position: relative;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  border-radius: 8px;
  cursor: default;
  transition: background-color 0.2s ease;
}
.list-content .list-item[data-v-cf1f5556]:hover {
  background-color: var(--hover);
}
.app-info[data-v-cf1f5556] {
  flex: 1;
  min-width: 0;
  text-align: left;
}
.list-content .app-name[data-v-cf1f5556] {
  margin: 0;
  color: var(--text);
  font-size: 14px;
  cursor: pointer;
  text-align: left;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.list-content .app-name[data-v-cf1f5556]:hover {
  color: var(--theme-1);
}
.list-content .app-desc[data-v-cf1f5556] {
  margin: 2px 0 0 0;
  color: var(--text2);
  font-size: 12px;
  opacity: 0.7;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.list-content .app-name span[data-v-cf1f5556] {
  display: inline;
}
.tag[data-v-cf1f5556] {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
}
.tag-hot[data-v-cf1f5556] {
  background: rgba(255, 77, 79, 0.15);
  color: #ff4d4f;
}
.tag-new[data-v-cf1f5556] {
  background: rgba(82, 196, 26, 0.15);
  color: #52c41a;
}
.app-stats[data-v-cf1f5556] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  opacity: 1;
  transition: opacity 0.2s ease;
}
.list-content .list-item:hover .app-stats[data-v-cf1f5556] {
  opacity: 0;
  pointer-events: none;
}
.stat-item[data-v-cf1f5556] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--text2);
}
.stat-item i[data-v-cf1f5556] {
  font-size: 12px;
}
.app-actions[data-v-cf1f5556] {
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  padding: 4px 8px;
  border-radius: 6px;
  z-index: 10;
}
.list-content .list-item:hover .app-actions[data-v-cf1f5556] {
  opacity: 1;
  visibility: visible;
}
.action-btn[data-v-cf1f5556] {
  padding: 4px 10px;
  font-size: 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.install-btn[data-v-cf1f5556] {
  background: var(--theme-1);
  color: white;
}
.install-btn[data-v-cf1f5556]:hover {
  background: var(--theme-2);
}
.uninstall-btn[data-v-cf1f5556] {
  background: rgba(255, 77, 79, 0.1);
  color: #ff4d4f;
}
.uninstall-btn[data-v-cf1f5556]:hover {
  background: rgba(255, 77, 79, 0.2);
}
.use-btn[data-v-cf1f5556] {
  background: rgba(24, 144, 255, 0.1);
  color: #1890ff;
}
.use-btn[data-v-cf1f5556]:hover {
  background: rgba(24, 144, 255, 0.2);
}
.detail-btn[data-v-cf1f5556] {
  background: rgba(255, 255, 255, 0.1);
  color: var(--text);
}
.detail-btn[data-v-cf1f5556]:hover {
  background: rgba(255, 255, 255, 0.2);
}
.app-icon-img-wrapper[data-v-cf1f5556] {
  height: 36px;
  width: 36px;
  margin-right: 10px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.app-icon-img-wrapper .app-icon-img[data-v-cf1f5556] {
  height: 36px;
  width: 36px;
  border-radius: 4px;
  object-fit: contain;
}
.list-content a > img[data-v-cf1f5556] {
  height: 25px;
  width: 25px;
  margin-right: 10px;
  border-radius: 6px;
  object-fit: cover;
}
.list-content a .app-icon-default[data-v-cf1f5556] {
  height: 25px;
  width: 25px;
  margin-right: 10px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.list-content a .app-icon-default i[data-v-cf1f5556] {
  font-size: 14px;
  color: white;
}
.app-icon-group[data-v-cf1f5556] {
  height: 25px;
  width: 25px;
  margin-right: 10px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 2px;
  box-sizing: border-box;
}
.group-icons-mini[data-v-cf1f5556] {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 2px;
}
.group-child-icon-mini[data-v-cf1f5556] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 2px;
}
.group-child-icon-mini img[data-v-cf1f5556] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 1px;
  border-radius: 2px;
}
.list-content .app-name[data-v-cf1f5556] em,
.list-content .app-name[data-v-cf1f5556] mark,
.list-content .app-name[data-v-cf1f5556] .highlight {
  color: var(--theme-1);
  font-style: normal;
  font-weight: 500;
}
.loading-state[data-v-cf1f5556] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.loading-spinner[data-v-cf1f5556] {
  width: 24px;
  height: 24px;
  border: 2px solid var(--bd);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-cf1f5556 0.8s linear infinite;
}
@keyframes spin-cf1f5556 {
to { transform: rotate(360deg);
}
}
.empty-state[data-v-cf1f5556] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: var(--text2);
  font-size: 14px;
}
.empty-state p[data-v-cf1f5556] {
  margin: 0;
}

/* 手机端样式 */
@media (max-width: 768px) {
#search-win[data-v-cf1f5556] {
    width: 96%;
    left: 2% !important;
}
}

.form-multi-color-wrapper[data-v-dbd5f906] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.form-label[data-v-dbd5f906] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text, #333);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
}
.required-mark[data-v-dbd5f906] {
  color: #d13438;
  font-weight: bold;
}
.color-picker-wrapper[data-v-dbd5f906] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  padding: 4px;
}
.color-picker[data-v-dbd5f906] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}
.color-option[data-v-dbd5f906] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: 10px 10px;
  flex-shrink: 0;
}
.color-option[data-v-dbd5f906]:hover {
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.color-option.active[data-v-dbd5f906] {
  border-color: var(--theme-color);
  box-shadow: 0 0 0 2px var(--theme-color);
}
.color-option.transparent[data-v-dbd5f906] {
  background-size: 10px 10px;
}
.color-check[data-v-dbd5f906] {
  color: white;
  font-size: 14px;
  font-weight: bold;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.color-option.transparent .color-check[data-v-dbd5f906] {
  color: #333;
  text-shadow: none;
}
.custom-color-picker[data-v-dbd5f906] {
  width: 22px;
  height: 22px;
  border-radius: 8px;
  cursor: pointer;
  padding: 2px;
  transition: all 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
  flex-shrink: 0;
}
.custom-color-picker[data-v-dbd5f906]::-webkit-color-swatch-wrapper {
  padding: 0;
  border-radius: 6px;
  overflow: hidden;
}
.custom-color-picker[data-v-dbd5f906]::-webkit-color-swatch {
  border: none;
  border-radius: 6px;
}
.custom-color-picker[data-v-dbd5f906]::-moz-color-swatch {
  border: none;
  border-radius: 6px;
}
.custom-color-picker[data-v-dbd5f906]:hover {
  border-color: var(--theme-color);
}
.error-message[data-v-dbd5f906] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #d13438;
}
.hint-text[data-v-dbd5f906] {
  font-size: 12px;
  color: #666;
}
.has-error .color-option.active[data-v-dbd5f906] {
  border-color: #d13438;
  box-shadow: 0 0 0 2px rgba(209, 52, 56, 0.2);
}
@media (max-width: 768px) {
.color-picker[data-v-dbd5f906]{
    gap: 8px;
}
.color-option[data-v-dbd5f906] {
    width: 18px;
    height: 18px;
}
.custom-color-picker[data-v-dbd5f906]{
    width: 22px;
    height: 22px;
}
}

.form-switch-wrapper[data-v-a0bbb68c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-label[data-v-a0bbb68c] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 4px;
}
.required-mark[data-v-a0bbb68c] {
  color: var(--error-color);
  font-weight: bold;
}
.switch-container[data-v-a0bbb68c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.switch-input[data-v-a0bbb68c] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.switch-label[data-v-a0bbb68c] {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  background: var(--border-color);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.switch-slider[data-v-a0bbb68c] {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.switch-input:checked + .switch-label[data-v-a0bbb68c] {
  background: var(--primary-color);
}
.switch-input:checked + .switch-label .switch-slider[data-v-a0bbb68c] {
  transform: translateX(20px);
}
.switch-input:disabled + .switch-label[data-v-a0bbb68c] {
  opacity: 0.5;
  cursor: not-allowed;
}
.switch-input:disabled + .switch-label .switch-slider[data-v-a0bbb68c] {
  cursor: not-allowed;
}
.switch-labels[data-v-a0bbb68c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: var(--text-secondary);
}
.switch-label-off[data-v-a0bbb68c],
.switch-label-on[data-v-a0bbb68c] {
  font-weight: 500;
}
.switch-label-on[data-v-a0bbb68c] {
  color: var(--primary-color);
}
.form-switch--error .switch-label[data-v-a0bbb68c] {
  border-color: var(--error-color);
}
.form-switch--error .switch-input:checked + .switch-label[data-v-a0bbb68c] {
  background: var(--error-color);
}
.form-switch--primary .switch-input:checked + .switch-label[data-v-a0bbb68c] {
  background: var(--primary-color);
}
.form-switch--success .switch-input:checked + .switch-label[data-v-a0bbb68c] {
  background: var(--success-color);
}
.form-switch--warning .switch-input:checked + .switch-label[data-v-a0bbb68c] {
  background: var(--warning-color);
}
.form-switch--danger .switch-input:checked + .switch-label[data-v-a0bbb68c] {
  background: var(--danger-color);
}
.form-switch--small .switch-label[data-v-a0bbb68c] {
  width: 36px;
  height: 20px;
  border-radius: 10px;
}
.form-switch--small .switch-slider[data-v-a0bbb68c] {
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
}
.form-switch--small .switch-input:checked + .switch-label .switch-slider[data-v-a0bbb68c] {
  transform: translateX(16px);
}
.form-switch--large .switch-label[data-v-a0bbb68c] {
  width: 52px;
  height: 28px;
  border-radius: 14px;
}
.form-switch--large .switch-slider[data-v-a0bbb68c] {
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
}
.form-switch--large .switch-input:checked + .switch-label .switch-slider[data-v-a0bbb68c] {
  transform: translateX(24px);
}
.form-switch--with-labels .switch-container[data-v-a0bbb68c] {
  align-items: flex-start;
}
.error-message[data-v-a0bbb68c] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--error-color);
}
.hint-text[data-v-a0bbb68c] {
  font-size: 12px;
  color: var(--text-secondary);
}
.form-switch--disabled .form-label[data-v-a0bbb68c] {
  color: var(--disabled-text);
}

.form-group[data-v-f2b18d77] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* 变体样式 */
.form-group--default[data-v-f2b18d77] {
  /* 默认样式，无特殊边框 */
}
.form-group--bordered[data-v-f2b18d77] {
  border-radius: 8px;
  padding: 16px;
  background: var(--group-bg);
}
.form-group--card[data-v-f2b18d77] {
  border-radius: 12px;
  padding: 20px;
  background: var(--card-bg);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 组标题 */
.form-group-header[data-v-f2b18d77] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
  user-select: none;
}
.form-group--collapsible .form-group-header[data-v-f2b18d77] {
  cursor: pointer;
}
.form-group--collapsible .form-group-header[data-v-f2b18d77]:hover {
  opacity: 0.8;
}
.form-group-title-wrapper[data-v-f2b18d77] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.collapse-btn[data-v-f2b18d77] {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s ease;
  color: var(--text-secondary);
  flex-shrink: 0;
}
.collapse-btn[data-v-f2b18d77]:hover {
  background: var(--hover-bg);
  color: var(--text-color);
}
.collapse-btn.collapsed[data-v-f2b18d77] {
  transform: rotate(180deg);
}
.form-group-title[data-v-f2b18d77] {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-color);
  margin: 0;
  line-height: 1.4;
  flex: 1;
  min-width: 0;
  text-align: left;
}
.form-group-description[data-v-f2b18d77] {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.4;
}

/* 组内容 */
.form-group-content[data-v-f2b18d77] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  max-height: 1000px;
  opacity: 1;
}
.form-group-content.collapsing[data-v-f2b18d77] {
  max-height: 0;
  opacity: 0;
  gap: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.form-group-content.expanding[data-v-f2b18d77] {
  max-height: 1000px;
  opacity: 1;
}

/* 组错误信息 */
.form-group-error[data-v-f2b18d77] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--error-color);
  padding: 8px 12px;
  background: var(--error-bg);
  border-radius: 6px;
  border: 1px solid var(--error-border);
}

/* 尺寸变体 */
.form-group--small .form-group-title[data-v-f2b18d77] {
  font-size: 14px;
}
.form-group--small .form-group-description[data-v-f2b18d77] {
  font-size: 12px;
}
.form-group--small .form-group-content[data-v-f2b18d77] {
  gap: 12px;
}
.form-group--large .form-group-title[data-v-f2b18d77] {
  font-size: 18px;
}
.form-group--large .form-group-description[data-v-f2b18d77] {
  font-size: 16px;
}
.form-group--large .form-group-content[data-v-f2b18d77] {
  gap: 20px;
}

/* 禁用状态 */
.form-group--disabled[data-v-f2b18d77] {
  opacity: 0.6;
  pointer-events: none;
}
.form-group--disabled .form-group-title[data-v-f2b18d77] {
  color: var(--disabled-text);
}
.form-group--disabled .form-group-description[data-v-f2b18d77] {
  color: var(--disabled-text);
}

/* 响应式设计 */
@media (max-width: 768px) {
.form-group--bordered[data-v-f2b18d77],
  .form-group--card[data-v-f2b18d77] {
    padding: 12px;
}
.form-group-title[data-v-f2b18d77] {
    font-size: 15px;
}
.form-group-description[data-v-f2b18d77] {
    font-size: 13px;
}
}

.form-row[data-v-26c3aece] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}
.form-row--vertical[data-v-26c3aece] {
  flex-direction: column;
  align-items: stretch;
}
.form-row--horizontal[data-v-26c3aece] {
  flex-direction: row;
  align-items: center;
}
.form-label-wrapper[data-v-26c3aece] {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.form-label-wrapper--left[data-v-26c3aece] {
  text-align: left;
}
.form-label-wrapper--center[data-v-26c3aece] {
  text-align: center;
}
.form-label-wrapper--right[data-v-26c3aece] {
  text-align: right;
}
.form-label-wrapper--width-small[data-v-26c3aece] {
  width: 80px;
}
.form-label-wrapper--width-medium[data-v-26c3aece] {
  width: 120px;
}
.form-label-wrapper--width-large[data-v-26c3aece] {
  width: 160px;
}
.form-label-wrapper--width-auto[data-v-26c3aece] {
  width: auto;
}
.form-label[data-v-26c3aece] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  line-height: 1.4;
  user-select: none;
}
.required-mark[data-v-26c3aece] {
  color: var(--error-color);
  font-weight: bold;
}
.form-hint[data-v-26c3aece] {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.3;
}
.form-content-wrapper[data-v-26c3aece] {
  flex: 1;
}
.form-content-wrapper--left[data-v-26c3aece] {
  align-items: flex-start;
}
.form-content-wrapper--center[data-v-26c3aece] {
  align-items: center;
}
.form-content-wrapper--right[data-v-26c3aece] {
  align-items: flex-end;
}
.form-error[data-v-26c3aece] {
  font-size: 12px;
  color: var(--error-color);
  line-height: 1.3;
}
.form-row--small .form-label[data-v-26c3aece] {
  font-size: 12px;
}
.form-row--small .form-hint[data-v-26c3aece],
.form-row--small .form-error[data-v-26c3aece] {
  font-size: 11px;
}
.form-row--large .form-label[data-v-26c3aece] {
  font-size: 16px;
}
.form-row--large .form-hint[data-v-26c3aece],
.form-row--large .form-error[data-v-26c3aece] {
  font-size: 13px;
}
.form-row--disabled .form-label[data-v-26c3aece] {
  color: var(--disabled-text);
}
.form-row--disabled .form-hint[data-v-26c3aece] {
  color: var(--disabled-text);
}
@media (max-width: 768px) {
.form-label-wrapper[data-v-26c3aece] {
    width: auto !important;
}
.form-label-wrapper--right[data-v-26c3aece] {
    text-align: left;
}
.form-hint[data-v-26c3aece] {
    display: none;
}
}

.content[data-v-e5d1d0fd] {
  padding: 0;
  background: var(--bg);
}

/* 移动端菜单按钮样式 */
.sidebar-toggle-btn[data-v-e5d1d0fd] {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--text);
  margin-right: 4px;
  padding: 0;
}
.sidebar-toggle-btn[data-v-e5d1d0fd]:hover {
  background: var(--hover);
}
.sidebar-toggle-btn[data-v-e5d1d0fd]:active {
  background: var(--active);
  transform: scale(0.95);
}
.sidebar-toggle-btn svg[data-v-e5d1d0fd] {
  width: 18px;
  height: 18px;
}
.menu-close[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  justify-content: right;
  padding: 10px;
  cursor: pointer;
  color: var(--text);
  transition: all 0.2s ease;
}
.menu-close[data-v-e5d1d0fd]:hover {
  background: var(--hover);
}
.menu-close svg[data-v-e5d1d0fd] {
  width: 20px;
  height: 20px;
}
.menu[data-v-e5d1d0fd] {
  width: 180px;
  padding: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: all 0.3s ease;
}
.menu-hidden[data-v-e5d1d0fd] {
  width: 0;
  min-width: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
}
@media (max-width: 768px) {
.menu[data-v-e5d1d0fd] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 99;
    background: var(--bg);
    border-radius: 0 10px 10px 0;
}
.menu-hidden[data-v-e5d1d0fd] {
    transform: translateX(-100%);
}
.page[data-v-e5d1d0fd] {
    padding-top: 50px;
    overflow-x: hidden;
}
.cnt[data-v-e5d1d0fd] {
    overflow-x: hidden;
}
.option-selector[data-v-e5d1d0fd] {
    flex-wrap: wrap;
    gap: 16px;
}
.option-item[data-v-e5d1d0fd] {
    flex: 1;
    max-width: calc(50% - 20px);
    padding: 12px;
}
.option-preview[data-v-e5d1d0fd] {
    width: 80px;
    height: 56px;
}
.option-item span[data-v-e5d1d0fd] {
    font-size: 14px;
}
.icon-style-selector[data-v-e5d1d0fd] {
    flex-wrap: wrap;
    gap: 16px;
}
.icon-style-item[data-v-e5d1d0fd] {
    flex: 1;
    min-width: 100px;
    max-width: calc(50% - 8px);
    padding: 12px;
}
.icon-preview[data-v-e5d1d0fd] {
    width: 50px;
    height: 50px;
}
.icon-preview[data-v-e5d1d0fd]::before {
    font-size: 32px;
}
.icon-style-item span[data-v-e5d1d0fd] {
    font-size: 14px;
}
}
.menu .user[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  padding: 12px;
  background: var(--hover);
  border-radius: 8px;
  margin-bottom: 10px;
  box-shadow: 0 1px 3px var(--shadow);
  cursor: pointer;
}
.menu .user[data-v-e5d1d0fd] .user-avatar {
  width: 30px;
  height: 30px;
  margin-right: 6px;
  flex-shrink: 0;
}
.menu .user > div[data-v-e5d1d0fd]:last-child {
  flex: 1;
  min-width: 0;
}
.menu .user p[data-v-e5d1d0fd] {
  margin: 0;
  font-size: 14px;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.menu .user p[data-v-e5d1d0fd]:last-child {
  font-size: 12px;
  color: var(--text2);
}
.menu .input[data-v-e5d1d0fd] {
  width: 100%;
  padding: 10px 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text);
  font-size: 14px;
  outline: none;
  box-shadow: 0 1px 3px var(--shadow);
}
.menu input-before[data-v-e5d1d0fd] {
  position: absolute;
  margin-left: 10px;
  margin-top: 10px;
  color: var(--text2);
}
.menu list[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 10px;
}
.menu list a[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: 6px;
  color: var(--text);
  text-decoration: none;
  font-size: 14px;
  transition: background 0.2s;
  cursor: pointer;
}
.menu list a[data-v-e5d1d0fd]:hover {
  background: var(--hover);
}
.menu list a.check[data-v-e5d1d0fd] {
  background: var(--hover);
}
.menu list a img[data-v-e5d1d0fd] {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
.page[data-v-e5d1d0fd] {
  flex: 1;
  padding: 15px;
  overflow-y: auto;
}
.page .title[data-v-e5d1d0fd] {
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 20px 0;
  color: var(--text);
  text-align: left;
}
.page .cnt[data-v-e5d1d0fd] {
  display: none;
}
.page .cnt.show[data-v-e5d1d0fd] {
  display: block;
}
.setting-list[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.setting-list a[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  padding: 12px;
  background: var(--bg);
  border-radius: 8px;
  color: var(--text);
  text-decoration: none;
  transition: background 0.2s, box-shadow 0.2s;
  box-shadow: 0 1px 3px var(--shadow);
}
.setting-list a[data-v-e5d1d0fd]:hover {
  background: var(--hover);
  box-shadow: 0 2px 4px var(--shadow);
}
.setting-list icon[data-v-e5d1d0fd] {
  font-size: 24px;
  margin-right: 12px;
  width: 32px;
  text-align: center;
  color: #0078d4;
}
.setting-list div[data-v-e5d1d0fd] {
  flex: 1;
}
.setting-list div p[data-v-e5d1d0fd]:first-child {
  margin: 0 0 4px 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.setting-list div p[data-v-e5d1d0fd]:last-child {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
}
.setting-list i[data-v-e5d1d0fd] {
  color: var(--text2);
}
.border-radius[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  padding: 12px;
  background: var(--bg);
  border-radius: 8px;
  box-shadow: 0 1px 3px var(--shadow);
}
.border-radius icon[data-v-e5d1d0fd] {
  font-size: 24px;
  margin-right: 12px;
  width: 32px;
  text-align: center;
  color: #0078d4;
}
.border-radius div[data-v-e5d1d0fd] {
  flex: 1;
}
.border-radius div p[data-v-e5d1d0fd]:first-child {
  margin: 0 0 4px 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.border-radius div p[data-v-e5d1d0fd]:last-child {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
}
.alr[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
}
.setting-section[data-v-e5d1d0fd] {
  margin-bottom: 30px;
}
.setting-section h3[data-v-e5d1d0fd] {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
}
.setting-item[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  background: var(--bg);
  border-radius: 8px;
  margin-bottom: 8px;
  box-shadow: 0 1px 3px var(--shadow);
  transition: background 0.2s;
}
.setting-item[data-v-e5d1d0fd]:hover {
  background: var(--hover);
}
.setting-info[data-v-e5d1d0fd] {
  flex: 1;
}
.setting-label[data-v-e5d1d0fd] {
  margin: 0 0 4px 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.setting-value[data-v-e5d1d0fd] {
  margin: 0;
  font-size: 13px;
  color: var(--text2);
}
.setting-desc[data-v-e5d1d0fd] {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
}
.setting-action[data-v-e5d1d0fd] {
  padding: 8px 16px;
  background: #0078d4;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}
.setting-action[data-v-e5d1d0fd]:hover {
  background: #005a9e;
}
.setting-action.danger[data-v-e5d1d0fd] {
  background: #d13438;
}
.setting-action.danger[data-v-e5d1d0fd]:hover {
  background: #a80000;
}
.setting-toggle[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
}
.toggle-btn[data-v-e5d1d0fd] {
  width: 44px;
  height: 24px;
  background: var(--border);
  border: none;
  border-radius: 12px;
  position: relative;
  cursor: pointer;
  transition: background 0.2s;
}
.toggle-btn.checked[data-v-e5d1d0fd] {
  background: #0078d4;
}
.toggle-slider[data-v-e5d1d0fd] {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.toggle-btn.checked .toggle-slider[data-v-e5d1d0fd] {
  transform: translateX(20px);
}
.setting-select[data-v-e5d1d0fd] {
  padding: 8px 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text);
  font-size: 14px;
  cursor: pointer;
  outline: none;
  min-width: 120px;
}
.setting-select[data-v-e5d1d0fd]:focus {
  border-color: #0078d4;
}
.account-info[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  padding: 20px;
  background: var(--bg);
  border-radius: 8px;
}
.user-avatar-large[data-v-e5d1d0fd] {
  width: 80px;
  height: 80px;
  margin-right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.account-details[data-v-e5d1d0fd] {
  flex: 1;
  min-width: 0;
}
.account-details h3[data-v-e5d1d0fd] {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-details p[data-v-e5d1d0fd] {
  margin: 0 0 12px 0;
  font-size: 14px;
  color: var(--text2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.avatar-upload[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.avatar-preview[data-v-e5d1d0fd] {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.upload-btn[data-v-e5d1d0fd] {
  padding: 8px 16px;
  background: #0078d4;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}
.upload-btn[data-v-e5d1d0fd]:hover {
  background: #005a9e;
}
.edit-profile-btn[data-v-e5d1d0fd] {
  padding: 8px 16px;
  background: #0078d4;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}
.edit-profile-btn[data-v-e5d1d0fd]:hover {
  background: #005a9e;
}
.wallpaper-placeholder[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  background: var(--bg);
  border-radius: 8px;
  box-shadow: 0 1px 3px var(--shadow);
}
.wallpaper-placeholder p[data-v-e5d1d0fd] {
  margin: 0 0 20px 0;
  font-size: 16px;
  color: var(--text2);
}
.wallpaper-preview-container[data-v-e5d1d0fd] {
  background: var(--bg);
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 3px var(--shadow);
}
.wallpaper-preview[data-v-e5d1d0fd] {
  width: 100%;
  height: 200px;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.wallpaper-preview-buttons[data-v-e5d1d0fd] {
  display: flex;
  gap: 12px;
  z-index: 1;
}
.wallpaper-action-btn[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 32px;
  background: rgba(255, 255, 255, 0.95);
  color: #333;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.wallpaper-action-btn[data-v-e5d1d0fd]:hover {
  background: white;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.wallpaper-action-btn.secondary[data-v-e5d1d0fd] {
  background: rgba(255, 255, 255, 0.85);
}
.wallpaper-action-btn.secondary[data-v-e5d1d0fd]:hover {
  background: rgba(255, 255, 255, 0.95);
}
.wallpaper-action-btn i[data-v-e5d1d0fd] {
  font-size: 20px;
}
.slider-container[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 200px;
}
.setting-item .slider-container[data-v-e5d1d0fd] {
  min-width: 250px;
}
.setting-slider[data-v-e5d1d0fd] {
  flex: 1;
  height: 6px;
  background: var(--border);
  border-radius: 3px;
  outline: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.setting-slider[data-v-e5d1d0fd]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: #0078d4;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.setting-slider[data-v-e5d1d0fd]::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  background: #005a9e;
}
.setting-slider[data-v-e5d1d0fd]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #0078d4;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.setting-slider[data-v-e5d1d0fd]::-moz-range-thumb:hover {
  transform: scale(1.1);
  background: #005a9e;
}
.slider-value[data-v-e5d1d0fd] {
  min-width: 60px;
  text-align: right;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.setting-item.no-shadow[data-v-e5d1d0fd] {
  box-shadow: none;
}
.wallpaper-hint[data-v-e5d1d0fd] {
  padding: 20px 0;
}
.tab-hint[data-v-e5d1d0fd] {
  text-align: center;
  color: var(--text2);
  font-size: 14px;
  margin: 20px 0;
}
.a[data-v-e5d1d0fd] {
  color: var(--text);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s;
}
.a[data-v-e5d1d0fd]:hover {
  color: #0078d4;
}
.checkbox[data-v-e5d1d0fd] {
  width: 20px;
  height: 20px;
  border: 2px solid var(--border);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  background: var(--bg);
}
.checkbox.checked[data-v-e5d1d0fd] {
  background: #0078d4;
  border-color: #0078d4;
}
.checkbox.checked[data-v-e5d1d0fd]::after {
  content: '✓';
  color: white;
  font-size: 14px;
}
.button[data-v-e5d1d0fd] {
  padding: 8px 16px;
  background: #0078d4;
  color: white;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.2s;
}
.button[data-v-e5d1d0fd]:hover {
  background: #005a9e;
}
.dp[data-v-e5d1d0fd] {
  display: none;
  padding: 12px;
  background: var(--bg);
  border-radius: 8px;
  margin-top: 8px;
  box-shadow: 0 1px 3px var(--shadow);
}
.dp.show[data-v-e5d1d0fd] {
  display: block;
}
.dp p[data-v-e5d1d0fd] {
  margin: 0 0 8px 0;
  font-size: 14px;
  color: var(--text);
}
.color[data-v-e5d1d0fd] {
  width: 100%;
  height: 40px;
  border-radius: 8px;
  margin-bottom: 8px;
}
.theme1inp[data-v-e5d1d0fd],
.theme2inp[data-v-e5d1d0fd] {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  margin-right: 8px;
}
#win-setting[data-v-e5d1d0fd] {
  height: 100%;
  display: flex;
}
#win-setting .user p[data-v-e5d1d0fd]{
  font-weight: 500;
  font-size: 16px;
}
.model-header[data-v-e5d1d0fd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.model-stats[data-v-e5d1d0fd] {
  display: flex;
  gap: 24px;
}
.stat-item[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stat-label[data-v-e5d1d0fd] {
  font-size: 12px;
  color: var(--text2);
}
.stat-value[data-v-e5d1d0fd] {
  font-size: 24px;
  font-weight: 600;
  color: var(--text);
}
.model-list[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 32px;
}
.model-item[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  padding: 16px;
  background: var(--bg);
  border-radius: 8px;
  box-shadow: 0 1px 3px var(--shadow);
  transition: all 0.2s;
}
.model-item[data-v-e5d1d0fd]:hover {
  box-shadow: 0 2px 6px var(--shadow);
}
.model-icon[data-v-e5d1d0fd] {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  flex-shrink: 0;
}
.model-provider[data-v-e5d1d0fd] {
  font-size: 12px;
  font-weight: 600;
  color: white;
  text-transform: uppercase;
}
.model-info[data-v-e5d1d0fd] {
  flex: 1;
  min-width: 0;
}
.model-name[data-v-e5d1d0fd] {
  margin: 0 0 4px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}
.model-desc[data-v-e5d1d0fd] {
  margin: 0 0 8px 0;
  font-size: 13px;
  color: var(--text2);
}
.model-details[data-v-e5d1d0fd] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.model-detail[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--text2);
}
.model-detail i[data-v-e5d1d0fd] {
  font-size: 14px;
}
.model-actions[data-v-e5d1d0fd] {
  display: flex;
  gap: 8px;
  margin-left: 16px;
}
.model-action-btn[data-v-e5d1d0fd] {
  width: 32px;
  height: 32px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text2);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.model-action-btn[data-v-e5d1d0fd]:hover {
  background: var(--hover);
  border-color: #0078d4;
  color: #0078d4;
}
.model-action-btn.danger[data-v-e5d1d0fd]:hover {
  background: #d13438;
  border-color: #d13438;
  color: white;
}
.model-empty[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  background: var(--bg);
  border-radius: 8px;
  margin-bottom: 32px;
  box-shadow: 0 1px 3px var(--shadow);
}
.empty-icon[data-v-e5d1d0fd] {
  width: 64px;
  height: 64px;
  background: var(--hover);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.empty-icon i[data-v-e5d1d0fd] {
  font-size: 32px;
  color: var(--text2);
}
.model-empty p[data-v-e5d1d0fd] {
  margin: 0 0 8px 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
}
.empty-desc[data-v-e5d1d0fd] {
  margin: 0;
  font-size: 14px;
  color: var(--text2);
}
.model-presets h3[data-v-e5d1d0fd] {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
}
.preset-grid[data-v-e5d1d0fd] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
}
.preset-item[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  background: var(--bg);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 1px 3px var(--shadow);
}
.preset-item[data-v-e5d1d0fd]:hover {
  box-shadow: 0 2px 6px var(--shadow);
  transform: translateY(-2px);
}
.preset-icon[data-v-e5d1d0fd] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  font-size: 20px;
  color: white;
}
.preset-icon.openai[data-v-e5d1d0fd] {
  background: linear-gradient(135deg, #10a37f 0%, #1a7f5a 100%);
}
.preset-icon.anthropic[data-v-e5d1d0fd] {
  background: linear-gradient(135deg, #d97757 0%, #cc6b49 100%);
}
.preset-icon.google[data-v-e5d1d0fd] {
  background: linear-gradient(135deg, #4285f4 0%, #34a853 100%);
}
.preset-icon.azure[data-v-e5d1d0fd] {
  background: linear-gradient(135deg, #0078d4 0%, #005a9e 100%);
}
.preset-icon.ollama[data-v-e5d1d0fd] {
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
}
.preset-icon.custom[data-v-e5d1d0fd] {
  background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}
.preset-item h4[data-v-e5d1d0fd] {
  margin: 0 0 4px 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.preset-item p[data-v-e5d1d0fd] {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
}
.model-dialog[data-v-e5d1d0fd] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dialog-overlay[data-v-e5d1d0fd] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}
.dialog-content[data-v-e5d1d0fd] {
  position: relative;
  width: 500px;
  max-width: 90%;
  background: var(--bg);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
}
.dialog-header[data-v-e5d1d0fd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid var(--border);
}
.dialog-header h3[data-v-e5d1d0fd] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
}
.dialog-close[data-v-e5d1d0fd] {
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--text2);
  font-size: 18px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dialog-close[data-v-e5d1d0fd]:hover {
  background: var(--hover);
  color: var(--text);
}
.dialog-body[data-v-e5d1d0fd] {
  padding: 20px;
  max-height: 400px;
  overflow-y: auto;
}
.form-group label[data-v-e5d1d0fd] {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.form-group input[data-v-e5d1d0fd],
.form-group select[data-v-e5d1d0fd] {
  width: 100%;
  padding: 10px 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.form-group input[data-v-e5d1d0fd]:focus,
.form-group select[data-v-e5d1d0fd]:focus {
  border-color: #0078d4;
}
.form-group.checkbox label[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.form-group.checkbox input[type="checkbox"][data-v-e5d1d0fd] {
  width: auto;
  padding: 0;
}
.dialog-footer[data-v-e5d1d0fd] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px;
  border-top: 1px solid var(--border);
}
.dialog-btn[data-v-e5d1d0fd] {
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.dialog-btn.cancel[data-v-e5d1d0fd] {
  background: var(--hover);
  color: var(--text);
}
.dialog-btn.cancel[data-v-e5d1d0fd]:hover {
  background: var(--border);
}
.dialog-btn.confirm[data-v-e5d1d0fd] {
  background: #0078d4;
  color: white;
}
.dialog-btn.confirm[data-v-e5d1d0fd]:hover {
  background: #005a9e;
}
.icon-style-selector[data-v-e5d1d0fd] {
  display: flex;
  gap: 32px;
}
.option-selector[data-v-e5d1d0fd] {
  display: flex;
  gap: 32px;
}
.option-item[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 16px;
  border-radius: 12px;
  transition: all 0.2s;
}
.option-item[data-v-e5d1d0fd]:hover {
  background: var(--hover);
}
.option-item.active[data-v-e5d1d0fd] {
  background: rgba(0, 120, 212, 0.1);
}
.option-preview[data-v-e5d1d0fd] {
  width: 100px;
  height: 70px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: all 0.2s;
}
.option-item.active .option-preview[data-v-e5d1d0fd] {
  border-color: rgba(255, 255, 255, 0.3);
}
.theme-preview[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.option-preview.light[data-v-e5d1d0fd] {
  background: #f5f5f5;
}
.option-preview.dark[data-v-e5d1d0fd] {
  background: #1e1e1e;
}
.theme-header[data-v-e5d1d0fd] {
  height: 20px;
  width: 100%;
}
.option-preview.light .theme-header[data-v-e5d1d0fd] {
  background: #ffffff;
  border-bottom: 1px solid #e0e0e0;
}
.option-preview.dark .theme-header[data-v-e5d1d0fd] {
  background: #2d2d2d;
  border-bottom: 1px solid #404040;
}
.theme-body[data-v-e5d1d0fd] {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.theme-content[data-v-e5d1d0fd] {
  height: 8px;
  width: 100%;
  border-radius: 4px;
  background: #e0e0e0;
}
.option-preview.dark .theme-content[data-v-e5d1d0fd] {
  background: #808080;
}
.option-item span[data-v-e5d1d0fd] {
  font-size: 16px;
  color: var(--text);
}
.option-preview.horizontal[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  justify-content: center;
}
.option-preview.vertical[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
}
.layout-icons[data-v-e5d1d0fd] {
  display: flex;
  gap: 8px;
}
.option-preview.horizontal .layout-icons[data-v-e5d1d0fd] {
  flex-direction: row;
}
.option-preview.vertical .layout-icons[data-v-e5d1d0fd] {
  flex-direction: column;
}
.layout-icon[data-v-e5d1d0fd] {
  width: 12px;
  height: 12px;
  border-radius: 4px;
  background: var(--theme-2);
}
.icon-style-item[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 16px;
  border-radius: 12px;
  transition: all 0.2s;
}
.icon-style-item[data-v-e5d1d0fd]:hover {
  background: var(--hover);
}
.icon-style-item.active[data-v-e5d1d0fd] {
  background: rgba(0, 120, 212, 0.1);
}
.icon-preview[data-v-e5d1d0fd] {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff9e6;
  border: 2px solid transparent;
  transition: all 0.2s;
}
.icon-style-item.active .icon-preview[data-v-e5d1d0fd] {
  border-color: #f5c000;
}
.icon-preview.default-style[data-v-e5d1d0fd] {
  border-radius: 12px;
}
.icon-preview.circle-style[data-v-e5d1d0fd] {
  border-radius: 50%;
}
.icon-preview[data-v-e5d1d0fd]::before {
  content: '🐧';
  font-size: 40px;
}
.icon-style-item span[data-v-e5d1d0fd] {
  font-size: 16px;
  color: var(--text);
}
.icon-size-selector[data-v-e5d1d0fd] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.icon-size-item[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 12px;
  border-radius: 12px;
  transition: all 0.2s;
  min-width: 80px;
}
.icon-size-item[data-v-e5d1d0fd]:hover {
  background: var(--hover);
}
.icon-size-item.active[data-v-e5d1d0fd] {
  background: rgba(0, 120, 212, 0.1);
}
.icon-size-preview[data-v-e5d1d0fd] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  transition: all 0.2s;
}
.icon-size-item.active .icon-size-preview[data-v-e5d1d0fd] {
  border-color: #0078d4;
}
.icon-size-preview[data-v-e5d1d0fd]::before {
  content: '';
  display: block;
  background: var(--bg70);
  border-radius: 4px;
}
.icon-size-preview.xsmall[data-v-e5d1d0fd]::before {
  width: 16px;
  height: 16px;
}
.icon-size-preview.small[data-v-e5d1d0fd]::before {
  width: 20px;
  height: 20px;
}
.icon-size-preview.medium[data-v-e5d1d0fd]::before {
  width: 24px;
  height: 24px;
}
.icon-size-preview.large[data-v-e5d1d0fd]::before {
  width: 32px;
  height: 32px;
}
.icon-size-preview.xlarge[data-v-e5d1d0fd]::before {
  width: 40px;
  height: 40px;
}
.icon-size-item span[data-v-e5d1d0fd] {
  font-size: 12px;
  color: var(--text);
}
.icon-settings-grid[data-v-e5d1d0fd] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.icon-settings-card[data-v-e5d1d0fd] {
  background: var(--bg);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 1px 3px var(--shadow);
  transition: all 0.2s;
}
.icon-settings-card[data-v-e5d1d0fd]:hover {
  box-shadow: 0 2px 6px var(--shadow);
}
.icon-settings-card h3[data-v-e5d1d0fd] {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}
.icon-settings-card .setting-item[data-v-e5d1d0fd] {
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin-bottom: 0;
}
.name-settings[data-v-e5d1d0fd] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.toggle-wrapper[data-v-e5d1d0fd] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.toggle-label[data-v-e5d1d0fd] {
  font-size: 14px;
  color: var(--text);
}

.content[data-v-a0bc360d] {
  padding: 0;
}
.menu[data-v-a0bc360d] {
  width: 280px;
  padding: 20px;
  background: rgba(0, 0, 0, 0.3);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.card[data-v-a0bc360d] {
  margin-bottom: 20px;
}
.card .title[data-v-a0bc360d] {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 12px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.card list a[data-v-a0bc360d] {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  margin-bottom: 4px;
  border-radius: 6px;
  color: var(--text);
  text-decoration: none;
  transition: background 0.2s;
}
.card list a[data-v-a0bc360d]:hover {
  background: rgba(255, 255, 255, 0.05);
}
.card list a img[data-v-a0bc360d] {
  width: 20px;
  height: 20px;
  margin-right: 12px;
}
.card list a span[data-v-a0bc360d] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-right: 12px;
}
.main[data-v-a0bc360d] {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.tool[data-v-a0bc360d] {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.tool .a[data-v-a0bc360d] {
  display: flex;
  align-items: center;
  padding: 6px 10px;
  margin-right: 4px;
  border-radius: 4px;
  color: var(--text);
  text-decoration: none;
  transition: background 0.2s;
  cursor: pointer;
}
.tool .a[data-v-a0bc360d]:hover {
  background: rgba(255, 255, 255, 0.05);
}
.tool .a img[data-v-a0bc360d] {
  width: 18px;
  height: 18px;
  margin-right: 6px;
}
.tool .hr[data-v-a0bc360d] {
  width: 1px;
  height: 20px;
  margin: 0 8px;
  background: rgba(255, 255, 255, 0.1);
}
.content .content[data-v-a0bc360d] {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.content .tool[data-v-a0bc360d] {
  padding: 12px;
}
.content .tool .tit[data-v-a0bc360d] {
  flex: 1;
  margin: 0;
  font-size: 14px;
  color: var(--text);
}
.search[data-v-a0bc360d] {
  position: relative;
  width: 300px;
}
.search .input[data-v-a0bc360d] {
  width: 100%;
  padding: 8px 12px 8px 32px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: var(--text);
  font-size: 14px;
  outline: none;
}
.search input-before[data-v-a0bc360d] {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-dim);
}
.view[data-v-a0bc360d] {
  flex: 1;
  padding: 20px;
  overflow: auto;
}
.file-list[data-v-a0bc360d] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 16px;
}
.file-item[data-v-a0bc360d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px;
  border-radius: 8px;
  transition: background 0.2s;
  cursor: pointer;
}
.file-item[data-v-a0bc360d]:hover {
  background: rgba(255, 255, 255, 0.05);
}
.file-icon[data-v-a0bc360d] {
  width: 64px;
  height: 64px;
  margin-bottom: 8px;
}
.file-icon img[data-v-a0bc360d] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.file-info[data-v-a0bc360d] {
  text-align: center;
}
.file-name[data-v-a0bc360d] {
  margin: 0 0 4px 0;
  font-size: 13px;
  color: var(--text);
  word-break: break-word;
}
.file-details[data-v-a0bc360d] {
  margin: 0;
  font-size: 11px;
  color: var(--text-dim);
}
.btn[data-v-a0bc360d] {
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  transition: background 0.2s;
}
.btn[data-v-a0bc360d]:hover {
  background: rgba(255, 255, 255, 0.1);
}
.btn-icon[data-v-a0bc360d] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.goback[data-v-a0bc360d] {
  margin-right: 12px;
}

.content[data-v-c4616a86] {
  padding: 0;
}
.keyb[data-v-c4616a86] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  flex: 1;
}
.keyb .a[data-v-c4616a86] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  font-size: 20px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
  user-select: none;
}
.keyb .a[data-v-c4616a86]:hover {
  background: rgba(255, 255, 255, 0.1);
}
.keyb .a.u[data-v-c4616a86] {
  background: rgba(255, 255, 255, 0.08);
}
.keyb .a.u[data-v-c4616a86]:hover {
  background: rgba(255, 255, 255, 0.15);
}
.keyb .a.ans[data-v-c4616a86] {
  background: var(--theme-1);
  color: white;
}
.keyb .a.ans[data-v-c4616a86]:hover {
  background: var(--theme-2);
}
.keyb .a i[data-v-c4616a86] {
  font-size: 18px;
}

.content[data-v-f8eaab2e] {
  padding: 0;
}
.menu[data-v-f8eaab2e] {
  width: 200px;
  padding: 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.menu list a[data-v-f8eaab2e] {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  margin-bottom: 4px;
  border-radius: 6px;
  color: var(--text);
  text-decoration: none;
  transition: background 0.2s;
}
.menu list a[data-v-f8eaab2e]:hover,
.menu list a.active[data-v-f8eaab2e] {
  background: rgba(255, 255, 255, 0.05);
}
.menu list a img[data-v-f8eaab2e] {
  margin-right: 12px;
}
.cnt[data-v-f8eaab2e] {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  display: none;
}
.cnt.show[data-v-f8eaab2e] {
  display: block;
  text-align: left;
}
.cnt .tit[data-v-f8eaab2e] {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 20px 0;
  color: var(--text);
}
.cnt h2.tit[data-v-f8eaab2e] {
  font-size: 18px;
  margin: 20px 0 12px 0;
}
.cnt p[data-v-f8eaab2e] {
  margin: 8px 0;
  font-size: 14px;
  color: var(--text);
  line-height: 1.6;
}
.cnt .jump[data-v-f8eaab2e] {
  color: var(--href);
  text-decoration: underline;
  cursor: pointer;
}
.cnt .jump[data-v-f8eaab2e]:hover {
  text-decoration: none;
}
.cnt details[data-v-f8eaab2e] {
  margin-bottom: 16px;
  padding: 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}
.cnt details summary[data-v-f8eaab2e] {
  cursor: pointer;
  font-weight: 500;
  color: var(--text);
}
.cnt details summary span[data-v-f8eaab2e] {
  color: var(--theme-1);
  margin-right: 8px;
}
.cnt details p[data-v-f8eaab2e] {
  margin-top: 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
}
#contri[data-v-f8eaab2e] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  margin: 20px 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}
loading[data-v-f8eaab2e] {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 菜单切换按钮 */
.sidebar-toggle-btn[data-v-f8eaab2e] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  color: var(--text);
  transition: background 0.2s;
  margin-right: 8px;
}
.sidebar-toggle-btn[data-v-f8eaab2e]:hover {
  background: var(--hover);
}
.sidebar-toggle-btn svg[data-v-f8eaab2e] {
  width: 18px;
  height: 18px;
}

/* 菜单关闭按钮 */
.menu-close[data-v-f8eaab2e] {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--hover);
  border-radius: 6px;
  cursor: pointer;
  color: var(--text);
  transition: background 0.2s;
}
.menu-close[data-v-f8eaab2e]:hover {
  background: rgba(255, 255, 255, 0.15);
}
.menu-close svg[data-v-f8eaab2e] {
  width: 18px;
  height: 18px;
}
.menu-hidden[data-v-f8eaab2e] {
  width: 0;
  min-width: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
}

/* 手机模式 */
@media (max-width: 768px) {
.menu[data-v-f8eaab2e] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 99;
    background: var(--bg);
    transition: all 0.3s ease;
    border-radius: 0 10px 10px 0;
}
.menu-hidden[data-v-f8eaab2e] {
    transform: translateX(-100%);
}
.cnt[data-v-f8eaab2e] {
    padding-top: 10px;
}
}

.content[data-v-37deede5] {
  padding: 0;
}
.tool[data-v-37deede5] {
  display: flex;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.tool .a[data-v-37deede5] {
  padding: 6px 12px;
  margin-right: 4px;
  border-radius: 4px;
  color: var(--text);
  text-decoration: none;
  transition: background 0.2s;
  cursor: pointer;
}
.tool .a[data-v-37deede5]:hover {
  background: rgba(255, 255, 255, 0.05);
}
.text-box[data-v-37deede5] {
  flex: 1;
  padding: 20px;
  background: rgba(0, 0, 0, 0.2);
  color: var(--text);
  font-family: 'Consolas', 'Monaco', monospace;
  font-size: 14px;
  line-height: 1.6;
  overflow-y: auto;
  outline: none;
}
.text-box[data-v-37deede5]:empty:before {
  content: attr(placeholder);
  color: rgba(255, 255, 255, 0.3);
}
.save[data-v-37deede5] {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.content[data-v-30aa775d] {
  padding: 0;
}

.content[data-v-187e3d36] {
  padding: 0;
}
.tabs[data-v-187e3d36] {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.tabs .tab[data-v-187e3d36] {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  margin-right: 4px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  font-size: 13px;
  cursor: pointer;
  transition: background 0.2s;
  max-width: 150px;
}
.tabs .tab[data-v-187e3d36]:hover {
  background: rgba(255, 255, 255, 0.1);
}
.tabs .tab.active[data-v-187e3d36] {
  background: rgba(255, 255, 255, 0.15);
}
.tabs .tab p[data-v-187e3d36] {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tabs .tab .clbtn[data-v-187e3d36] {
  margin-left: 8px;
  padding: 2px 4px;
  border-radius: 4px;
  opacity: 0.6;
  transition: opacity 0.2s, background 0.2s;
}
.tabs .tab .clbtn[data-v-187e3d36]:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
}
.tabs .tab.new[data-v-187e3d36] {
  padding: 6px 12px;
  font-size: 18px;
  font-weight: 500;
}
.toolbar[data-v-187e3d36] {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.toolbar .nav-buttons[data-v-187e3d36] {
  display: flex;
  margin-right: 12px;
}
.toolbar .nav-buttons .a[data-v-187e3d36] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-right: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  text-decoration: none;
  transition: background 0.2s;
}
.toolbar .nav-buttons .a[data-v-187e3d36]:hover {
  background: rgba(255, 255, 255, 0.1);
}
.toolbar .address-bar[data-v-187e3d36] {
  flex: 1;
  display: flex;
  align-items: center;
  position: relative;
}
.toolbar .address-bar .input[data-v-187e3d36] {
  width: 100%;
  padding: 8px 36px 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  font-size: 14px;
}
.toolbar .address-bar .input[data-v-187e3d36]:focus {
  outline: none;
  border-color: var(--theme-1);
}
.toolbar .address-bar input-before[data-v-187e3d36] {
  position: absolute;
  right: 12px;
  color: rgba(255, 255, 255, 0.5);
}
.tab-content[data-v-187e3d36] {
  flex: 1;
  overflow: hidden;
}
.web-view[data-v-187e3d36] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--text);
}
.new-tab[data-v-187e3d36] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 40px;
}
.new-tab .logo[data-v-187e3d36] {
  margin-bottom: 24px;
}
.new-tab h1[data-v-187e3d36] {
  margin: 0 0 12px 0;
  font-size: 28px;
  font-weight: 600;
  color: var(--text);
}
.new-tab p[data-v-187e3d36] {
  margin: 0 0 32px 0;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.6);
}
.new-tab .search-box[data-v-187e3d36] {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: 600px;
}
.new-tab .search-box .input[data-v-187e3d36] {
  width: 100%;
  padding: 16px 48px 16px 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  font-size: 16px;
}
.new-tab .search-box .input[data-v-187e3d36]:focus {
  outline: none;
  border-color: var(--theme-1);
  background: rgba(255, 255, 255, 0.1);
}
.new-tab .search-box input-before[data-v-187e3d36] {
  position: absolute;
  right: 16px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 20px;
}

.tool-window[data-v-234b0f35] {
  position: fixed;
  background-color: var(--unfoc);
  border: 1.5px solid var(--bd);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 2px 5px var(--sd);
  transition: box-shadow 0.2s ease, background-color 0.2s ease, backdrop-filter 0.2s ease;
  pointer-events: auto;
}
.tool-window.interacting[data-v-234b0f35] {
  transition: none !important;
}
.tool-window.max[data-v-234b0f35] {
  border-radius: 0;
}
.tool-window.foc[data-v-234b0f35] {
  background: var(--bg70);
  backdrop-filter: saturate(3.5) contrast(0.8) blur(60px);
  -webkit-backdrop-filter: saturate(3.5) contrast(0.8) blur(60px);
  box-shadow: 3px 3px 20px 3px var(--sd);
}

/* 标题栏样式 */
.tool-titlebar[data-v-234b0f35] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 30px;
  display: flex;
  align-items: center;
  padding: 0 0 0 8px;
  background: transparent;
  user-select: none;
  z-index: 101;
  pointer-events: none;
}
.tool-titlebar[data-v-234b0f35] > * {
  pointer-events: auto;
}
.tool-icon[data-v-234b0f35] {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border-radius: 4px;
  flex-shrink: 0;
}
.tool-title[data-v-234b0f35] {
  font-size: 16px;
  color: var(--text);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.drag-area[data-v-234b0f35] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 30px;
  cursor: move;
  z-index: 100;
}
.drag-area[data-v-234b0f35]:active {
  cursor: grabbing;
}
.drag-area-bottom[data-v-234b0f35] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 8px;
  cursor: move;
  z-index: 100;
  margin: 0 10px;
}
.drag-area-bottom[data-v-234b0f35]:active {
  cursor: grabbing;
}
.content[data-v-234b0f35] {
  height: 100%;
  width: 100%;
  overflow: auto;
  background: transparent;
}
.window-controls[data-v-234b0f35] {
  position: absolute;
  top: 2px;
  right: 4px;
  display: flex;
  gap: 4px;
  z-index: 200;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.window-controls.visible[data-v-234b0f35] {
  opacity: 1;
}
.tool-window:hover .window-controls[data-v-234b0f35] {
  opacity: 1;
}
.control-btn[data-v-234b0f35] {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text);
  font-size: 12px;
  transition: background 0.2s ease;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
.control-btn[data-v-234b0f35]:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}
.control-btn[data-v-234b0f35]:active {
  transform: scale(0.95);
}
.control-btn.close[data-v-234b0f35]:hover {
  background: #d80d1c;
  color: #fff;
}
.control-btn i[data-v-234b0f35] {
  pointer-events: none;
}
.resize-handle[data-v-234b0f35] {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 15px;
  height: 15px;
  cursor: nwse-resize;
  z-index: 10;
}
.resize-handle[data-v-234b0f35]::after {
  content: '';
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--text);
  border-bottom: 2px solid var(--text);
  opacity: 0.5;
  transition: opacity 0.2s ease;
}
.resize-handle[data-v-234b0f35]:hover::after {
  opacity: 1;
}

.wallpaper-settings[data-v-953de850] {
  padding: 0;
  height: calc(100% - 30px);
  display: flex;
  overflow: hidden;
  position: relative;
}

/* 移动端菜单按钮样式 */
.sidebar-toggle-btn[data-v-953de850] {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--text);
  margin-right: 4px;
  padding: 0;
}
.sidebar-toggle-btn[data-v-953de850]:hover {
  background: var(--hover);
}
.sidebar-toggle-btn[data-v-953de850]:active {
  background: var(--active);
  transform: scale(0.95);
}
.sidebar-toggle-btn svg[data-v-953de850] {
  width: 18px;
  height: 18px;
}
.panel-close[data-v-953de850] {
  display: flex;
  align-items: center;
  justify-content: right;
  padding: 10px;
  cursor: pointer;
  color: var(--text);
  transition: all 0.2s ease;
}
.panel-close[data-v-953de850]:hover {
  background: var(--hover);
}
.panel-close svg[data-v-953de850] {
  width: 20px;
  height: 20px;
}
.left-panel[data-v-953de850] {
  width: 150px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}
.left-panel-hidden[data-v-953de850] {
  width: 0;
  min-width: 0;
  opacity: 0;
  overflow: hidden;
}
@media (max-width: 768px) {
.left-panel[data-v-953de850] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 99;
    background: var(--bg);
    border-radius: 0 10px 10px 0;
}
.left-panel-hidden[data-v-953de850] {
    transform: translateX(-100%);
}
.right-panel[data-v-953de850] {
    padding-top: 10px;
}
}
.category-list[data-v-953de850] {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
}
.category-footer[data-v-953de850] {
  flex-shrink: 0;
  padding: 10px;
  border-top: 1px solid var(--border);
}
.category-item[data-v-953de850] {
  padding: 8px 12px;
  margin: 6px 0;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--text);
  font-size: 14px;
  border-left: 3px solid transparent;
}
.category-item.favorite-item[data-v-953de850] {
  background: var(--hover-b);
  border-radius: 8px;
  margin: 0;
}
.category-item.favorite-item[data-v-953de850]:hover {
  background: var(--hover-b);
  transform: translateY(-2px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.category-item.favorite-item.active[data-v-953de850] {
  background: var(--theme-color);
  color: white;
  border-color: transparent;
}
.category-item[data-v-953de850]:hover {
  background: var(--hover-b);
  border-radius: 30px;
}
.category-item.active[data-v-953de850] {
  background: var(--hover-b);
  color: var(--theme-color);
  border-radius: 30px;
  font-weight: 600;
}
.settings-section[data-v-953de850] {
  padding: 20px;
  border-top: 1px solid var(--border);
}
.settings-section h3[data-v-953de850] {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 15px;
  color: var(--text);
}
.right-panel[data-v-953de850] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.wallpaper-content[data-v-953de850] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.fixed-header[data-v-953de850] {
  flex-shrink: 0;
  background: var(--background);
  z-index: 10;
  padding: 5px 15px;
}
.header-title-row[data-v-953de850] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fixed-header h3[data-v-953de850] {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  color: var(--text);
}
.custom-gradient-btn[data-v-953de850] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--hover);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.custom-gradient-btn[data-v-953de850]:hover {
  background: var(--hover-b);
  border-color: var(--border-hover);
}
.custom-gradient-btn i[data-v-953de850] {
  font-size: 14px;
}
.cate-controls[data-v-953de850] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 6px;
  flex-wrap: wrap;
}
.sub-cate-list[data-v-953de850] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.sort-buttons[data-v-953de850] {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
}
.sort-btn[data-v-953de850] {
  padding: 4px 10px;
  border: 1px solid var(--border);
  background: var(--hover);
  color: var(--text);
  border-radius: 20px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.sort-btn[data-v-953de850]:hover {
  background: var(--hover-b);
  border-color: var(--text-secondary);
}
.sort-btn.active[data-v-953de850] {
  background: var(--theme-color);
  color: white;
  border-color: var(--theme-color);
}
.scroll-content[data-v-953de850] {
  flex: 1;
  overflow-y: auto;
  padding: 10px 15px;
}
.sub-cate-list[data-v-953de850] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.sub-cate-item[data-v-953de850] {
  padding: 4px 10px;
  border: 1px solid var(--border);
  background: var(--hover);
  color: var(--text);
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.sub-cate-item[data-v-953de850]:hover {
  background: var(--hover-b);
  border-color: var(--text-secondary);
}
.sub-cate-item.active[data-v-953de850] {
  background: var(--theme-color);
  color: white;
  border-color: var(--theme-color);
}
.color-grid[data-v-953de850] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 15px;
}
.color-item[data-v-953de850] {
  position: relative;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.color-item[data-v-953de850]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.color-item.selected[data-v-953de850] {
  border-color: var(--theme-color);
  box-shadow: 0 0 0 2px var(--theme-color);
}
.color-name[data-v-953de850] {
  color: white;
  font-size: 12px;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
  padding: 8px;
  background: rgba(0, 0, 0, 0.3);
  width: 100%;
  text-align: center;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
.gradient-grid[data-v-953de850] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 15px;
}
.gradient-item[data-v-953de850] {
  position: relative;
  height: 80px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gradient-item[data-v-953de850]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.gradient-item.selected[data-v-953de850] {
  border-color: var(--theme-color);
  box-shadow: 0 0 0 2px var(--theme-color);
}
.gradient-name[data-v-953de850] {
  color: white;
  font-size: 13px;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
.wallpaper-grid[data-v-953de850] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 15px;
}
.wallpaper-item[data-v-953de850] {
  position: relative;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: all 0.2s ease;
}
.wallpaper-item[data-v-953de850]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.wallpaper-item.selected[data-v-953de850] {
  border-color: var(--theme-color);
  box-shadow: 0 0 0 2px var(--theme-color);
}
.wallpaper-item img[data-v-953de850] {
  width: 100%;
  height: 100px;
  object-fit: cover;
  display: block;
}
.wallpaper-item .favorite-btn[data-v-953de850] {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  font-size: 14px;
  border: none;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  opacity: 0;
  background: none;
  color: #ffffff;
}
.wallpaper-item:hover .favorite-btn[data-v-953de850] {
  opacity: 1;
}
.wallpaper-item .favorite-btn.active[data-v-953de850] {
  color: #ef4444;
}
.wallpaper-item .favorite-btn[data-v-953de850]:hover {
  transform: scale(1.1);
}
.wallpaper-name[data-v-953de850] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  font-size: 11px;
  padding: 4px 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wallpaper-item.custom .delete-btn[data-v-953de850] {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 0, 0, 0.8);
  border: none;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.wallpaper-item.custom:hover .delete-btn[data-v-953de850] {
  opacity: 1;
}
.delete-btn[data-v-953de850]:hover {
  background: rgba(255, 0, 0, 1);
}
.upload-section[data-v-953de850] {
  margin-bottom: 20px;
}
.upload-btn[data-v-953de850] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--theme-color);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.upload-btn[data-v-953de850]:hover {
  background: var(--theme-color);
  opacity: 0.85;
  transform: translateY(-1px);
}
.upload-btn i[data-v-953de850] {
  font-size: 18px;
}
.empty-state[data-v-953de850] {
  text-align: center;
  padding: 40px;
  color: var(--text-secondary);
}
.empty-state p[data-v-953de850] {
  font-size: 14px;
}
.loading-state[data-v-953de850],
.no-more-state[data-v-953de850] {
  text-align: center;
  padding: 20px;
  color: var(--text-secondary);
}
.loading-state p[data-v-953de850],
.no-more-state p[data-v-953de850] {
  font-size: 14px;
}
.overlay-opacity-setting[data-v-953de850] {
  margin-bottom: 15px;
}
.overlay-opacity-setting label[data-v-953de850] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 13px;
  color: var(--text);
}
.overlay-opacity-setting span[data-v-953de850] {
  font-weight: 500;
}
.overlay-opacity-setting input[type="range"][data-v-953de850] {
  width: 100%;
  height: 6px;
  background: var(--border);
  border-radius: 3px;
  outline: none;
  -webkit-appearance: none;
}
.overlay-opacity-setting input[type="range"][data-v-953de850]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  background: var(--theme-color);
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease;
}
.overlay-opacity-setting input[type="range"][data-v-953de850]::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  background: var(--theme-color);
  opacity: 0.85;
}
.overlay-opacity-setting input[type="range"][data-v-953de850]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: var(--theme-color);
  border-radius: 50%;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}
.overlay-opacity-setting input[type="range"][data-v-953de850]::-moz-range-thumb:hover {
  transform: scale(1.1);
  background: var(--theme-color);
  opacity: 0.85;
}
.reset-btn[data-v-953de850] {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px;
  background: #6c757d;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.reset-btn[data-v-953de850]:hover {
  background: #5a6268;
  transform: translateY(-1px);
}
.reset-btn i[data-v-953de850] {
  font-size: 16px;
}
.left-panel[data-v-953de850]::-webkit-scrollbar,
.scroll-content[data-v-953de850]::-webkit-scrollbar {
  width: 8px;
}
.left-panel[data-v-953de850]::-webkit-scrollbar-track,
.scroll-content[data-v-953de850]::-webkit-scrollbar-track {
  background: var(--hover);
  border-radius: 4px;
}
.left-panel[data-v-953de850]::-webkit-scrollbar-thumb,
.scroll-content[data-v-953de850]::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 4px;
}
.left-panel[data-v-953de850]::-webkit-scrollbar-thumb:hover,
.scroll-content[data-v-953de850]::-webkit-scrollbar-thumb:hover {
  background: var(--text);
}
.custom-gradient-panel[data-v-953de850] {
  background: var(--hover);
  border-radius: 12px;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid var(--border);
}
.custom-gradient-header[data-v-953de850] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.custom-gradient-header h4[data-v-953de850] {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  color: var(--text);
}
.close-btn[data-v-953de850] {
  background: transparent;
  border: none;
  color: var(--text);
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.close-btn[data-v-953de850]:hover {
  background: var(--hover-b);
}
.custom-gradient-preview[data-v-953de850] {
  width: 100%;
  height: 80px;
  border-radius: 8px;
  margin-bottom: 20px;
  border: 2px solid var(--border);
}
.custom-gradient-controls[data-v-953de850] {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.control-group[data-v-953de850] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.control-group label[data-v-953de850] {
  font-size: 13px;
  color: var(--text);
  font-weight: 500;
}
.direction-slider[data-v-953de850] {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: var(--border);
  outline: none;
  cursor: pointer;
}
.direction-slider[data-v-953de850]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--text);
  cursor: pointer;
  transition: all 0.2s ease;
}
.direction-slider[data-v-953de850]::-webkit-slider-thumb:hover {
  transform: scale(1.1);
}
.color-list[data-v-953de850] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.color-item[data-v-953de850] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.color-input[data-v-953de850] {
  width: 40px;
  height: 40px;
  border: 2px solid var(--border);
  border-radius: 8px;
  cursor: pointer;
  background: transparent;
  padding: 2px;
}
.color-input[data-v-953de850]::-webkit-color-swatch-wrapper {
  padding: 0;
}
.color-input[data-v-953de850]::-webkit-color-swatch {
  border: none;
  border-radius: 6px;
}
.remove-color-btn[data-v-953de850],
.add-color-btn[data-v-953de850] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  background: var(--hover);
  color: var(--text);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.remove-color-btn[data-v-953de850]:hover,
.add-color-btn[data-v-953de850]:hover {
  background: var(--hover-b);
  border-color: var(--border-hover);
}
.remove-color-btn i[data-v-953de850],
.add-color-btn i[data-v-953de850] {
  font-size: 14px;
}
.apply-btn[data-v-953de850] {
  width: 100%;
  padding: 12px;
  background: var(--text);
  color: var(--background);
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.apply-btn[data-v-953de850]:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.sidebar[data-v-580269da] {
  width: 160px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: all 0.3s ease;
}
.sidebar-hidden[data-v-580269da] {
  width: 0;
  min-width: 0;
  opacity: 0;
  overflow: hidden;
}
@media (max-width: 768px) {
.sidebar[data-v-580269da] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 99;
    border-radius: 0 10px 10px 0;
    background: var(--bg);
}
.sidebar-hidden[data-v-580269da] {
    transform: translateX(-100%);
}
}
.sidebar-close[data-v-580269da] {
  display: flex;
  align-items: center;
  justify-content: right;
  padding: 10px;
  cursor: pointer;
  color: var(--text);
  transition: all 0.2s ease;
}
.sidebar-close[data-v-580269da]:hover {
  background: var(--hover);
}
.sidebar-close svg[data-v-580269da] {
  width: 20px;
  height: 20px;
}
.menu-section[data-v-580269da] {
  padding: 10px;
  flex: 1;
}
.menu-section-bottom[data-v-580269da] {
  padding: 10px;
  border-top: 1px solid var(--bd);
}
.menu-list[data-v-580269da] {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 15px;
}
.menu-item[data-v-580269da] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--text);
  position: relative;
}
.menu-item[data-v-580269da]:hover {
  background-color: var(--hover);
}
.menu-item.active[data-v-580269da] {
  background-color: var(--theme-1);
  color: white;
}
.menu-icon[data-v-580269da] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.search-box[data-v-e3432eb4] {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--bg50);
  border: 1px solid var(--bd);
  border-radius: 8px;
  padding: 3px 12px;
  transition: all 0.2s ease;
}
.search-box[data-v-e3432eb4]:focus-within {
  border-color: var(--theme-1);
  box-shadow: 0 0 0 2px rgba(var(--theme-1), 0.1);
}
.search-icon[data-v-e3432eb4] {
  width: 18px;
  height: 18px;
  color: var(--text2);
  flex-shrink: 0;
}
.search-input[data-v-e3432eb4] {
  flex: 1;
  border: none;
  background: transparent;
  padding: 8px 12px;
  font-size: 14px;
  color: var(--text);
  outline: none;
}
.search-input[data-v-e3432eb4]::placeholder {
  color: var(--text2);
}
.clear-search-btn[data-v-e3432eb4] {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--text2);
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease;
  flex-shrink: 0;
  padding: 0;
}
.clear-search-btn[data-v-e3432eb4]:hover {
  background: var(--hover);
  color: var(--text);
}
.clear-search-btn svg[data-v-e3432eb4] {
  width: 16px;
  height: 16px;
}

.explore-view[data-v-2132775b] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.carousel-container[data-v-2132775b] {
  position: relative;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: var(--bg50);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.carousel-wrapper[data-v-2132775b] {
  position: relative;
  width: 100%;
  height: 200px;
}
.carousel-slide[data-v-2132775b] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
.carousel-slide.active[data-v-2132775b] {
  opacity: 1;
  z-index: 1;
}
.carousel-image[data-v-2132775b] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.carousel-overlay[data-v-2132775b] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  color: white;
}
.carousel-title[data-v-2132775b] {
  margin: 0 0 8px 0;
  font-size: 24px;
  font-weight: 600;
}
.carousel-description[data-v-2132775b] {
  margin: 0;
  font-size: 14px;
  opacity: 0.9;
}
.carousel-btn[data-v-2132775b] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 10;
  opacity: 0;
}
.carousel-container:hover .carousel-btn[data-v-2132775b] {
  opacity: 1;
}
.carousel-btn[data-v-2132775b]:hover {
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.carousel-btn svg[data-v-2132775b] {
  width: 20px;
  height: 20px;
  color: var(--text);
}
.carousel-btn-prev[data-v-2132775b] {
  left: 12px;
}
.carousel-btn-next[data-v-2132775b] {
  right: 12px;
}
.carousel-indicators[data-v-2132775b] {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.carousel-indicator[data-v-2132775b] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}
.carousel-indicator[data-v-2132775b]:hover {
  background: rgba(255, 255, 255, 0.8);
}
.carousel-indicator.active[data-v-2132775b] {
  background: white;
  width: 24px;
  border-radius: 4px;
}
@media (max-width: 768px) {
.carousel-wrapper[data-v-2132775b] {
    height: 160px;
}
.carousel-title[data-v-2132775b] {
    font-size: 18px;
}
.carousel-description[data-v-2132775b] {
    font-size: 12px;
}
.carousel-btn[data-v-2132775b] {
    width: 28px;
    height: 28px;
    opacity: 1;
}
.carousel-btn svg[data-v-2132775b] {
    width: 16px;
    height: 16px;
}
}
.search-box[data-v-2132775b] {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--bg50);
  border: 1px solid var(--bd);
  border-radius: 8px;
  padding: 0 12px;
  transition: all 0.2s ease;
}
.search-box[data-v-2132775b]:focus-within {
  border-color: var(--theme-1);
  box-shadow: 0 0 0 3px rgba(var(--theme-1), 0.1);
}
.search-icon[data-v-2132775b] {
  width: 18px;
  height: 18px;
  color: var(--text2);
  flex-shrink: 0;
}
.search-input[data-v-2132775b] {
  flex: 1;
  border: none;
  background: none;
  padding: 10px 12px;
  font-size: 14px;
  color: var(--text);
  outline: none;
}
.search-input[data-v-2132775b]::placeholder {
  color: var(--text2);
}
.clear-search-btn[data-v-2132775b] {
  width: 20px;
  height: 20px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text2);
  transition: color 0.2s ease;
}
.clear-search-btn[data-v-2132775b]:hover {
  color: var(--text);
}
.clear-search-btn svg[data-v-2132775b] {
  width: 16px;
  height: 16px;
}
.explore-section[data-v-2132775b] {
  margin-bottom: 24px;
}
.section-header[data-v-2132775b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.section-title[data-v-2132775b] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}
.section-more[data-v-2132775b] {
  font-size: 13px;
  color: var(--theme-1);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.section-more[data-v-2132775b]:hover {
  background: rgba(var(--theme-1), 0.1);
}
.section-loading[data-v-2132775b] {
  display: flex;
  justify-content: center;
  padding: 20px;
}
.loading-spinner.small[data-v-2132775b] {
  width: 24px;
  height: 24px;
  border-width: 2px;
}
.ranking-grid[data-v-2132775b] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.ranking-card[data-v-2132775b] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  background: var(--bg40);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
}
.ranking-card[data-v-2132775b]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.ranking-badge[data-v-2132775b] {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  color: white;
  background: #6b7280;
  flex-shrink: 0;
}
.ranking-badge.rank-1[data-v-2132775b] {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
}
.ranking-badge.rank-2[data-v-2132775b] {
  background: linear-gradient(135deg, #9ca3af, #6b7280);
}
.ranking-badge.rank-3[data-v-2132775b] {
  background: linear-gradient(135deg, #d97706, #b45309);
}
.ranking-icon[data-v-2132775b] {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  background: #ffffff;
}
.ranking-icon img[data-v-2132775b] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ranking-info[data-v-2132775b] {
  flex: 1;
  min-width: 0;
  text-align: left;
}
.ranking-info .title-row[data-v-2132775b] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
}
.ranking-info h4[data-v-2132775b] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.app-tag[data-v-2132775b] {
  display: inline-block;
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-right: 4px;
  font-weight: 500;
  vertical-align: middle;
  flex-shrink: 0;
}
.hot-tag[data-v-2132775b] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
}
.new-tag[data-v-2132775b] {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: white;
}
.ranking-desc[data-v-2132775b] {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.selected-grid[data-v-2132775b] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}
.selected-card[data-v-2132775b] {
  border-radius: 8px;
  padding: 10px;
  display: flex;
  gap: 10px;
  background: var(--bg40);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
}
.selected-card[data-v-2132775b]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.selected-icon[data-v-2132775b] {
  width: 60px;
  height: 60px;
  background: #ffffff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.selected-icon img[data-v-2132775b] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.selected-content[data-v-2132775b] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.selected-header[data-v-2132775b] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.selected-title[data-v-2132775b] {
  flex: 1;
  text-align: left;
  width: 0;
}
.title-row[data-v-2132775b] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 6px;
}
.selected-title h4[data-v-2132775b] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.selected-desc[data-v-2132775b] {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.selected-action[data-v-2132775b] {
  display: flex;
  align-items: center;
}
.link-icon[data-v-2132775b] {
  width: 16px;
  height: 16px;
  color: var(--text2);
  cursor: pointer;
  transition: color 0.2s ease;
}
.link-icon[data-v-2132775b]:hover {
  color: var(--theme-1);
}
.selected-footer[data-v-2132775b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  gap: 8px;
}
.selected-footer-left[data-v-2132775b] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.install-count[data-v-2132775b] {
  font-size: 11px;
  color: var(--text2);
  font-weight: 500;
}
.detail-link[data-v-2132775b] {
  font-size: 11px;
  color: var(--theme-1);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
  font-weight: 500;
}
.detail-link[data-v-2132775b]:hover {
  color: var(--theme-2);
  text-decoration: underline;
}
.install-btn[data-v-2132775b] {
  padding: 3px 10px;
  background: var(--theme-1);
  color: white;
  border: none;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.install-btn[data-v-2132775b]:hover {
  background: var(--theme-2);
  transform: scale(1.05);
}
.installed-badge[data-v-2132775b] {
  padding: 3px 10px;
  background: #e5e7eb;
  color: #6b7280;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.installed-badge[data-v-2132775b]:hover {
  background: #dc2626;
  color: white;
  transform: scale(1.05);
}
.default-icon.small[data-v-2132775b] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.default-icon.small i[data-v-2132775b] {
  font-size: 24px;
  color: white;
}

.latest-view[data-v-afd72198] {
  display: flex;
  flex-direction: column;
}
.latest-header[data-v-afd72198] {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.latest-title[data-v-afd72198] {
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}
.latest-subtitle[data-v-afd72198] {
  font-size: 14px;
  color: var(--text2);
  margin: 0;
}
.latest-timeline[data-v-afd72198] {
  position: relative;
}
.timeline-group[data-v-afd72198] {
  position: relative;
  padding-left: 32px;
}
.timeline-date[data-v-afd72198] {
  position: relative;
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.date-dot[data-v-afd72198] {
  position: absolute;
  left: -28px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--theme-1);
  border: 2px solid var(--bg);
}
.date-text[data-v-afd72198] {
  font-size: 18px;
  font-weight: 600;
  height: 50px;
  line-height: 50px;
  color: var(--text);
}
.timeline-items[data-v-afd72198] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.latest-card[data-v-afd72198] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 8px;
  background: var(--bg40);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
}
.latest-card[data-v-afd72198]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.latest-icon[data-v-afd72198] {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  background: #ffffff;
}
.latest-icon img[data-v-afd72198] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.latest-info[data-v-afd72198] {
  flex: 1;
  min-width: 0;
}
.latest-name[data-v-afd72198] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  text-align: left;
}
.latest-name h4[data-v-afd72198] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.app-tag[data-v-afd72198] {
  display: inline-block;
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-right: 4px;
  font-weight: 500;
  vertical-align: middle;
  flex-shrink: 0;
}
.hot-tag[data-v-afd72198] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
}
.new-tag[data-v-afd72198] {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: white;
}
.latest-tag[data-v-afd72198] {
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.latest-tag.lab-tag[data-v-afd72198] {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: white;
}
.latest-desc[data-v-afd72198] {
  margin: 0;
  text-align: left;
  font-size: 12px;
  color: var(--text2);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.timeline-line[data-v-afd72198] {
  position: absolute;
  left: -23px;
  top: 28px;
  bottom: 0;
  width: 2px;
  background: var(--bd);
}
.default-icon.small[data-v-afd72198] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.default-icon.small i[data-v-afd72198] {
  font-size: 24px;
  color: white;
}
.install-btn[data-v-afd72198] {
  padding: 6px 16px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.install-btn[data-v-afd72198]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}
.installed-badge[data-v-afd72198] {
  padding: 6px 16px;
  border-radius: 6px;
  background: var(--bg);
  border: 1px solid var(--bd);
  color: var(--text2);
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.installed-badge[data-v-afd72198]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.loading-state[data-v-afd72198],
.error-state[data-v-afd72198],
.empty-state[data-v-afd72198] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.loading-spinner[data-v-afd72198] {
  width: 40px;
  height: 40px;
  border: 3px solid var(--bd);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-afd72198 0.8s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-afd72198 {
to { transform: rotate(360deg);
}
}
.error-icon[data-v-afd72198],
.empty-icon[data-v-afd72198] {
  font-size: 48px;
  margin-bottom: 16px;
}
.error-title[data-v-afd72198],
.empty-title[data-v-afd72198] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 8px 0;
}
.error-description[data-v-afd72198],
.empty-description[data-v-afd72198] {
  font-size: 14px;
  color: var(--text2);
  margin: 0 0 20px 0;
}
.retry-btn[data-v-afd72198] {
  padding: 8px 24px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-btn[data-v-afd72198]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}

.pagination[data-v-85d419df] {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--bd);
}
.pagination-controls[data-v-85d419df] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.pagination-btn[data-v-85d419df] {
  padding: 6px 12px;
  border: 1px solid var(--bd);
  background: var(--bg50);
  color: var(--text);
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.pagination-btn[data-v-85d419df]:hover:not(:disabled) {
  background: var(--hover);
  border-color: var(--theme-1);
}
.pagination-btn[data-v-85d419df]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pagination-pages[data-v-85d419df] {
  display: flex;
  gap: 4px;
}
.pagination-page[data-v-85d419df] {
  min-width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bd);
  background: var(--bg50);
  color: var(--text);
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.pagination-page[data-v-85d419df]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.pagination-page.active[data-v-85d419df] {
  background: var(--theme-1);
  color: white;
  border-color: var(--theme-1);
}

.ranking-view[data-v-66f67546] {
  display: flex;
  flex-direction: column;
}
.ranking-header[data-v-66f67546] {
  margin-bottom: 24px;
}
.ranking-title-row[data-v-66f67546] {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.ranking-title[data-v-66f67546] {
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}
.ranking-subtitle[data-v-66f67546] {
  font-size: 14px;
  color: var(--text2);
  margin: 0;
}
.ranking-filters[data-v-66f67546] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.filter-tabs[data-v-66f67546] {
  display: flex;
  gap: 8px;
}
.filter-tab[data-v-66f67546] {
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--bg50);
  border: 1px solid var(--bd);
  color: var(--text);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.filter-tab[data-v-66f67546]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.filter-tab.active[data-v-66f67546] {
  background: var(--theme-1);
  border-color: var(--theme-1);
  color: white;
}
.sort-dropdown[data-v-66f67546] {
  position: relative;
}
.sort-btn[data-v-66f67546] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--bg50);
  border: 1px solid var(--bd);
  color: var(--text);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.sort-btn[data-v-66f67546]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.sort-btn i[data-v-66f67546] {
  font-size: 12px;
}
.sort-menu[data-v-66f67546] {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  background: var(--bg70);
  border: 1px solid var(--bd);
  border-radius: 8px;
  overflow: hidden;
  z-index: 10;
  min-width: 120px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.sort-option[data-v-66f67546] {
  display: block;
  width: 100%;
  padding: 10px 14px;
  background: transparent;
  border: none;
  color: var(--text);
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s ease;
}
.sort-option[data-v-66f67546]:hover {
  background: var(--hover);
}
.sort-option.active[data-v-66f67546] {
  color: var(--theme-1);
  background: rgba(var(--theme-1-rgb), 0.1);
}
.ranking-grid-full[data-v-66f67546] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
}
.ranking-card-full[data-v-66f67546] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-radius: 8px;
  background: var(--bg40);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
  min-width: 0;
  overflow: hidden;
}
.ranking-card-full[data-v-66f67546]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.ranking-rank[data-v-66f67546] {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--text2);
  background: var(--bg);
  flex-shrink: 0;
}
.ranking-rank.rank-1[data-v-66f67546] {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: white;
}
.ranking-rank.rank-2[data-v-66f67546] {
  background: linear-gradient(135deg, #9ca3af, #6b7280);
  color: white;
}
.ranking-rank.rank-3[data-v-66f67546] {
  background: linear-gradient(135deg, #d97706, #b45309);
  color: white;
}
.ranking-icon-full[data-v-66f67546] {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  background: #ffffff;
}
.ranking-icon-full img[data-v-66f67546] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ranking-info-full[data-v-66f67546] {
  flex: 1;
  min-width: 0;
}
.ranking-name-row[data-v-66f67546] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  text-align: left;
}
.ranking-name-row h4[data-v-66f67546] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.app-tag[data-v-66f67546] {
  display: inline-block;
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-right: 4px;
  font-weight: 500;
  vertical-align: middle;
  flex-shrink: 0;
}
.hot-tag[data-v-66f67546] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
}
.new-tag[data-v-66f67546] {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: white;
}
.ranking-tag[data-v-66f67546] {
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.ranking-tag.lab-tag[data-v-66f67546] {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: white;
}
.ranking-desc-full[data-v-66f67546] {
  margin: 0 0 8px 0;
  font-size: 12px;
  color: var(--text2);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-align: left;
}
.default-icon[data-v-66f67546] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.default-icon i[data-v-66f67546] {
  font-size: 28px;
  color: white;
}
.install-btn[data-v-66f67546] {
  padding: 6px 16px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.install-btn[data-v-66f67546]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}
.installed-badge[data-v-66f67546] {
  padding: 6px 16px;
  border-radius: 6px;
  background: var(--bg);
  border: 1px solid var(--bd);
  color: var(--text2);
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.installed-badge[data-v-66f67546]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.loading-state[data-v-66f67546],
.error-state[data-v-66f67546],
.empty-state[data-v-66f67546] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.loading-spinner[data-v-66f67546] {
  width: 40px;
  height: 40px;
  border: 3px solid var(--bd);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-66f67546 0.8s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-66f67546 {
to { transform: rotate(360deg);
}
}
.error-icon[data-v-66f67546],
.empty-icon[data-v-66f67546] {
  font-size: 48px;
  margin-bottom: 16px;
}
.error-title[data-v-66f67546],
.empty-title[data-v-66f67546] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 8px 0;
}
.error-description[data-v-66f67546],
.empty-description[data-v-66f67546] {
  font-size: 14px;
  color: var(--text2);
  margin: 0 0 20px 0;
}
.retry-btn[data-v-66f67546] {
  padding: 8px 24px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-btn[data-v-66f67546]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}

/* 响应式布局 */
@media (max-width: 768px) {
.ranking-grid-full[data-v-66f67546] {
    grid-template-columns: 1fr;
}
.ranking-card-full[data-v-66f67546] {
    padding: 12px;
    gap: 10px;
}
.ranking-icon-full[data-v-66f67546] {
    width: 48px;
    height: 48px;
}
.ranking-name-row h4[data-v-66f67546] {
    font-size: 14px;
}
.ranking-desc-full[data-v-66f67546] {
    font-size: 11px;
}
}
@media (max-width: 480px) {
.ranking-card-full[data-v-66f67546] {
    padding: 10px;
    gap: 8px;
}
.ranking-rank[data-v-66f67546] {
    width: 28px;
    height: 28px;
    font-size: 12px;
}
.ranking-icon-full[data-v-66f67546] {
    width: 40px;
    height: 40px;
}
.ranking-name-row[data-v-66f67546] {
    flex-wrap: wrap;
    gap: 4px;
}
.ranking-name-row h4[data-v-66f67546] {
    font-size: 13px;
}
.install-btn[data-v-66f67546],
  .installed-badge[data-v-66f67546] {
    padding: 4px 12px;
    font-size: 11px;
}
}

.selected-view[data-v-bdb99471] {
  display: flex;
  flex-direction: column;
}
.selected-header[data-v-bdb99471] {
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.selected-title[data-v-bdb99471] {
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}
.selected-subtitle[data-v-bdb99471] {
  font-size: 14px;
  color: var(--text2);
  margin: 0;
}
.app-grid[data-v-bdb99471] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}
.app-card[data-v-bdb99471] {
  padding: 10px;
  display: flex;
  gap: 10px;
  border-radius: 8px;
  background: var(--bg40);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
}
.app-card[data-v-bdb99471]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.app-icon[data-v-bdb99471] {
  width: 60px;
  height: 60px;
  background: #ffffff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.app-icon img[data-v-bdb99471] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.app-icon .default-icon[data-v-bdb99471] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.app-icon .default-icon i[data-v-bdb99471] {
  font-size: 36px;
  color: white;
}
.app-content[data-v-bdb99471] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.app-header[data-v-bdb99471] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.app-title[data-v-bdb99471] {
  flex: 1;
  text-align: left;
  width: 0;
}
.title-row[data-v-bdb99471] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 6px;
}
.app-title h4[data-v-bdb99471] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.app-tag[data-v-bdb99471] {
  display: inline-block;
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-right: 4px;
  font-weight: 500;
  vertical-align: middle;
  flex-shrink: 0;
}
.hot-tag[data-v-bdb99471] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
}
.new-tag[data-v-bdb99471] {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: white;
}
.app-description[data-v-bdb99471] {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.app-action[data-v-bdb99471] {
  display: flex;
  align-items: center;
}
.link-icon[data-v-bdb99471] {
  width: 16px;
  height: 16px;
  color: var(--text2);
  cursor: pointer;
  transition: color 0.2s ease;
}
.link-icon[data-v-bdb99471]:hover {
  color: var(--theme-1);
}
.app-footer[data-v-bdb99471] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  gap: 8px;
}
.app-footer-left[data-v-bdb99471] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.install-count[data-v-bdb99471] {
  font-size: 11px;
  color: var(--text2);
  font-weight: 500;
}
.detail-link[data-v-bdb99471] {
  font-size: 11px;
  color: var(--theme-1);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
  font-weight: 500;
}
.detail-link[data-v-bdb99471]:hover {
  color: var(--theme-2);
  text-decoration: underline;
}
.install-btn[data-v-bdb99471] {
  padding: 3px 10px;
  background: var(--theme-1);
  color: white;
  border: none;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.install-btn[data-v-bdb99471]:hover {
  background: var(--theme-2);
  transform: scale(1.05);
}
.installed-badge[data-v-bdb99471] {
  padding: 3px 10px;
  background: #e5e7eb;
  color: #6b7280;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.installed-badge[data-v-bdb99471]:hover {
  background: #dc2626;
  color: white;
  transform: scale(1.05);
}
.loading-state[data-v-bdb99471],
.error-state[data-v-bdb99471],
.empty-state[data-v-bdb99471] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  min-height: 300px;
}
.loading-spinner[data-v-bdb99471] {
  width: 40px;
  height: 40px;
  border: 4px solid var(--bg50);
  border-top: 4px solid var(--theme-1);
  border-radius: 50%;
  animation: spin-bdb99471 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-bdb99471 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.loading-state p[data-v-bdb99471] {
  font-size: 14px;
  color: var(--text2);
}
.error-icon[data-v-bdb99471],
.empty-icon[data-v-bdb99471] {
  font-size: 48px;
  margin-bottom: 16px;
}
.error-title[data-v-bdb99471],
.empty-title[data-v-bdb99471] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 8px 0;
}
.error-description[data-v-bdb99471],
.empty-description[data-v-bdb99471] {
  font-size: 14px;
  color: var(--text2);
  margin: 0 0 20px 0;
}
.retry-btn[data-v-bdb99471] {
  padding: 8px 24px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-btn[data-v-bdb99471]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}

.all-view[data-v-c03fb298] {
  display: flex;
  flex-direction: column;
}
.categories-wrapper[data-v-c03fb298] {
  position: relative;
  margin: 15px 0;
}
.all-categories[data-v-c03fb298] {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.all-categories[data-v-c03fb298]::-webkit-scrollbar {
  display: none;
}
.scroll-arrow[data-v-c03fb298] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bg50);
  border: 1px solid var(--bd);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  z-index: 10;
}
.scroll-arrow[data-v-c03fb298]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.scroll-arrow svg[data-v-c03fb298] {
  width: 16px;
  height: 16px;
  color: var(--text);
}
.scroll-arrow-left[data-v-c03fb298] {
  left: -6px;
}
.scroll-arrow-right[data-v-c03fb298] {
  right: -6px;
}
.category-item[data-v-c03fb298] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 10px;
  background: var(--bg50);
  border: 1px solid var(--bd);
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 70px;
  flex-shrink: 0;
}
.category-item[data-v-c03fb298]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.category-item.active[data-v-c03fb298] {
  background: var(--theme-1);
  border-color: var(--theme-1);
}
.category-icon[data-v-c03fb298] {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.category-item.active .category-icon[data-v-c03fb298] {
    color: #fff;
}
.category-icon i[data-v-c03fb298] {
  font-size: 28px;
}
[data-v-c03fb298] .iconfont {
  font-family: "iconfont" !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.category-name[data-v-c03fb298] {
  font-size: 12px;
  color: var(--text);
  white-space: nowrap;
}
.category-item.active .category-name[data-v-c03fb298] {
  color: white;
}
.subcategories[data-v-c03fb298] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.subcategory-tag[data-v-c03fb298] {
  padding: 3px 8px;
  border-radius: 20px;
  background: var(--bg50);
  border: 1px solid var(--bd);
  color: var(--text);
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.subcategory-tag[data-v-c03fb298]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  color: var(--theme-1);
}
.subcategory-tag.active[data-v-c03fb298] {
  background: var(--theme-1);
  border-color: var(--theme-1);
  color: white;
}
.all-header[data-v-c03fb298] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.all-header-left[data-v-c03fb298] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.all-title[data-v-c03fb298] {
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}
.clear-search-btn[data-v-c03fb298] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 6px;
  background: var(--bg50);
  border: 1px solid var(--bd);
  color: var(--text2);
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.clear-search-btn[data-v-c03fb298]:hover {
  background: var(--hover);
  color: var(--theme-1);
  border-color: var(--theme-1);
}
.clear-search-btn i[data-v-c03fb298] {
  font-size: 14px;
}
.sort-dropdown[data-v-c03fb298] {
  position: relative;
}
.sort-btn[data-v-c03fb298] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 8px;
  background: var(--bg50);
  border: 1px solid var(--bd);
  color: var(--text);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.sort-btn[data-v-c03fb298]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.sort-btn i[data-v-c03fb298] {
  font-size: 12px;
}
.sort-menu[data-v-c03fb298] {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  background: var(--bg70);
  border: 1px solid var(--bd);
  border-radius: 8px;
  overflow: hidden;
  z-index: 10;
  min-width: 120px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.sort-option[data-v-c03fb298] {
  display: block;
  width: 100%;
  padding: 10px 14px;
  background: transparent;
  border: none;
  color: var(--text);
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s ease;
}
.sort-option[data-v-c03fb298]:hover {
  background: var(--hover);
}
.sort-option.active[data-v-c03fb298] {
  color: var(--theme-1);
  background: rgba(var(--theme-1-rgb), 0.1);
}
.all-grid[data-v-c03fb298] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}
.app-card[data-v-c03fb298] {
  padding: 10px;
  display: flex;
  gap: 10px;
  border-radius: 8px;
  background: var(--bg40);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
}
.app-card[data-v-c03fb298]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
.app-icon[data-v-c03fb298] {
  width: 60px;
  height: 60px;
  background: #ffffff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.app-icon img[data-v-c03fb298] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.app-icon .default-icon[data-v-c03fb298] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.app-icon .default-icon i[data-v-c03fb298] {
  font-size: 36px;
  color: white;
}
.app-content[data-v-c03fb298] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.app-header[data-v-c03fb298] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.app-title[data-v-c03fb298] {
  flex: 1;
  text-align: left;
  width: 0;
}
.title-row[data-v-c03fb298] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 6px;
}
.app-title h4[data-v-c03fb298] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.app-tag[data-v-c03fb298] {
  display: inline-block;
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-right: 4px;
  font-weight: 500;
  vertical-align: middle;
  flex-shrink: 0;
}
.hot-tag[data-v-c03fb298] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
}
.new-tag[data-v-c03fb298] {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: white;
}
.app-description[data-v-c03fb298] {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.app-action[data-v-c03fb298] {
  display: flex;
  align-items: center;
}
.link-icon[data-v-c03fb298] {
  width: 16px;
  height: 16px;
  color: var(--text2);
  cursor: pointer;
  transition: color 0.2s ease;
}
.link-icon[data-v-c03fb298]:hover {
  color: var(--theme-1);
}
.app-footer[data-v-c03fb298] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  gap: 8px;
}
.app-footer-left[data-v-c03fb298] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.install-count[data-v-c03fb298] {
  font-size: 11px;
  color: var(--text2);
  font-weight: 500;
}
.detail-link[data-v-c03fb298] {
  font-size: 11px;
  color: var(--theme-1);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
  font-weight: 500;
}
.detail-link[data-v-c03fb298]:hover {
  color: var(--theme-2);
  text-decoration: underline;
}
.install-btn[data-v-c03fb298] {
  padding: 3px 10px;
  background: var(--theme-1);
  color: white;
  border: none;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.install-btn[data-v-c03fb298]:hover {
  background: var(--theme-2);
  transform: scale(1.05);
}
.installed-badge[data-v-c03fb298] {
  padding: 3px 10px;
  background: #e5e7eb;
  color: #6b7280;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.installed-badge[data-v-c03fb298]:hover {
  background: #dc2626;
  color: white;
  transform: scale(1.05);
}
.loading-state[data-v-c03fb298],
.error-state[data-v-c03fb298],
.empty-state[data-v-c03fb298] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  min-height: 300px;
}
.loading-spinner[data-v-c03fb298] {
  width: 40px;
  height: 40px;
  border: 4px solid var(--bg50);
  border-top: 4px solid var(--theme-1);
  border-radius: 50%;
  animation: spin-c03fb298 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-c03fb298 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.loading-state p[data-v-c03fb298] {
  font-size: 14px;
  color: var(--text2);
}
.error-icon[data-v-c03fb298],
.empty-icon[data-v-c03fb298] {
  font-size: 48px;
  margin-bottom: 16px;
}
.error-title[data-v-c03fb298],
.empty-title[data-v-c03fb298] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 8px 0;
}
.error-description[data-v-c03fb298],
.empty-description[data-v-c03fb298] {
  font-size: 14px;
  color: var(--text2);
  margin: 0 0 20px 0;
  text-align: center;
}
.retry-btn[data-v-c03fb298] {
  padding: 8px 24px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-btn[data-v-c03fb298]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}
.app-grid[data-v-c03fb298] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}
.type-filter-tabs[data-v-c03fb298] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.type-filter-btn[data-v-c03fb298] {
  padding: 6px 16px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.type-filter-btn[data-v-c03fb298]:hover {
  background: var(--hover);
  border-color: var(--theme-color);
}
.type-filter-btn.active[data-v-c03fb298] {
  background: var(--theme-color);
  border-color: var(--theme-color);
  color: white;
  font-weight: 500;
}
.search-result-title[data-v-c03fb298] {
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}

.myapps-view[data-v-a2c1c2dc] {
  display: flex;
  flex-direction: column;
}
.myapps-header[data-v-a2c1c2dc] {
  margin-bottom: 20px;
}
.myapps-title-row[data-v-a2c1c2dc] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.myapps-title[data-v-a2c1c2dc] {
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
  white-space: nowrap;
}
.myapps-subtitle[data-v-a2c1c2dc] {
  font-size: 14px;
  color: var(--text2);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.filter-tabs[data-v-a2c1c2dc] {
  display: flex;
  gap: 8px;
}
.filter-tab[data-v-a2c1c2dc] {
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--bg50);
  border: 1px solid var(--bd);
  color: var(--text);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.filter-tab[data-v-a2c1c2dc]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.filter-tab.active[data-v-a2c1c2dc] {
  background: var(--theme-1);
  border-color: var(--theme-1);
  color: white;
}
.myapps-list[data-v-a2c1c2dc] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.myapps-card[data-v-a2c1c2dc] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  background: var(--bg50);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
}
.myapps-card[data-v-a2c1c2dc]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.myapps-icon[data-v-a2c1c2dc] {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  background: #ffffff;
}
.myapps-icon img[data-v-a2c1c2dc] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.myapps-info[data-v-a2c1c2dc] {
  flex: 1;
  min-width: 0;
}
.myapps-name[data-v-a2c1c2dc] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  text-align: left;
}
.myapps-name h4[data-v-a2c1c2dc] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.app-tag[data-v-a2c1c2dc] {
  display: inline-block;
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-right: 4px;
  font-weight: 500;
  vertical-align: middle;
  flex-shrink: 0;
}
.hot-tag[data-v-a2c1c2dc] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
}
.new-tag[data-v-a2c1c2dc] {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: white;
}
.myapps-tag[data-v-a2c1c2dc] {
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.myapps-tag.official-tag[data-v-a2c1c2dc] {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
}
.myapps-desc[data-v-a2c1c2dc] {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.myapps-actions[data-v-a2c1c2dc] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.open-btn[data-v-a2c1c2dc] {
  padding: 8px 20px;
  border-radius: 8px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.open-btn[data-v-a2c1c2dc]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}
.uninstall-btn[data-v-a2c1c2dc] {
  padding: 8px 20px;
  border-radius: 8px;
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.uninstall-btn[data-v-a2c1c2dc]:hover {
  background: var(--hover);
  border-color: var(--danger);
  color: var(--danger);
}
.default-icon[data-v-a2c1c2dc] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.default-icon i[data-v-a2c1c2dc] {
  font-size: 28px;
  color: white;
}
.loading-state[data-v-a2c1c2dc],
.error-state[data-v-a2c1c2dc],
.empty-state[data-v-a2c1c2dc] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.loading-spinner[data-v-a2c1c2dc] {
  width: 40px;
  height: 40px;
  border: 3px solid var(--bd);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-a2c1c2dc 0.8s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-a2c1c2dc {
to { transform: rotate(360deg);
}
}
.error-icon[data-v-a2c1c2dc],
.empty-icon[data-v-a2c1c2dc] {
  font-size: 48px;
  margin-bottom: 16px;
}
.error-title[data-v-a2c1c2dc],
.empty-title[data-v-a2c1c2dc] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 8px 0;
}
.error-description[data-v-a2c1c2dc],
.empty-description[data-v-a2c1c2dc] {
  font-size: 14px;
  color: var(--text2);
  margin: 0 0 20px 0;
}
.retry-btn[data-v-a2c1c2dc] {
  padding: 8px 24px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-btn[data-v-a2c1c2dc]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}

.widgets-content[data-v-d611267a] {
}
.widgets-header[data-v-d611267a] {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.widgets-header h3[data-v-d611267a] {
  color: var(--text);
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}
.widgets-desc[data-v-d611267a] {
  color: var(--text2);
  font-size: 14px;
  margin: 0;
}
.widgets-loading[data-v-d611267a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 0;
  color: var(--text);
  opacity: 0.6;
}
.loading-spinner[data-v-d611267a] {
  width: 32px;
  height: 32px;
  border: 3px solid var(--bd);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-d611267a 1s linear infinite;
  margin-bottom: 12px;
}
@keyframes spin-d611267a {
to {
    transform: rotate(360deg);
}
}
.widgets-grid[data-v-d611267a] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
  align-content: start;
}
.widget-item[data-v-d611267a] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  cursor: grab;
  transition: all 0.2s ease;
  background: var(--bg40);
  border: 1px solid var(--bd);
}
.widget-item[data-v-d611267a]:active {
  cursor: grabbing;
}
.widget-item[data-v-d611267a]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.widget-item.dragging[data-v-d611267a] {
  opacity: 0.5;
  background: var(--primary-bg);
}
.widget-icon[data-v-d611267a] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--bg);
  overflow: hidden;
}
.widget-icon img[data-v-d611267a] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.widget-icon i[data-v-d611267a] {
  font-size: 24px;
  color: var(--text);
}
.widget-info[data-v-d611267a] {
  flex: 1;
  min-width: 0;
  text-align: left;
}
.widget-name[data-v-d611267a] {
  color: var(--text);
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}
.widget-description[data-v-d611267a] {
  color: var(--text);
  font-size: 13px;
  opacity: 0.6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.widget-drag-hint[data-v-d611267a] {
  color: var(--text);
  opacity: 0.3;
  transition: all 0.2s ease;
}
.widget-item:hover .widget-drag-hint[data-v-d611267a] {
  opacity: 0.6;
}
.widgets-empty[data-v-d611267a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 0;
  color: var(--text);
  opacity: 0.4;
}
.widgets-empty i[data-v-d611267a] {
  font-size: 48px;
  margin-bottom: 16px;
}
.widgets-empty p[data-v-d611267a] {
  margin: 0;
  font-size: 16px;
}
.widgets-content[data-v-d611267a]::-webkit-scrollbar {
  width: 6px;
}
.widgets-content[data-v-d611267a]::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}
.widgets-content[data-v-d611267a]::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}
.widgets-content[data-v-d611267a]::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}
@media (max-width: 768px) {
.widgets-grid[data-v-d611267a] {
    grid-template-columns: 1fr;
}
.widget-item[data-v-d611267a] {
    padding: 12px;
}
.widget-icon[data-v-d611267a] {
    width: 40px;
    height: 40px;
}
.widget-icon i[data-v-d611267a] {
    font-size: 20px;
}
.widget-name[data-v-d611267a] {
    font-size: 15px;
}
.widget-description[data-v-d611267a] {
    font-size: 12px;
}
}

.tool-detail-view[data-v-9465f419] {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--text);
  overflow: hidden;
}
.detail-header[data-v-9465f419] {
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 6px 10px;
}
.content-wrapper[data-v-9465f419] {
  flex: 1;
  overflow-y: auto;
}
.back-btn[data-v-9465f419] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--text);
  cursor: pointer;
  font-size: 14px;
  transition: background 0.2s ease;
}
.back-btn[data-v-9465f419]:hover {
  background: var(--hover);
}
.loading[data-v-9465f419],
.error[data-v-9465f419] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 40px;
  text-align: center;
  gap: 16px;
}
.error[data-v-9465f419] {
  color: #ef4444;
}
.loading-spinner[data-v-9465f419] {
  width: 32px;
  height: 32px;
  border: 3px solid var(--border);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-9465f419 1s linear infinite;
}
@keyframes spin-9465f419 {
to { transform: rotate(360deg);
}
}
.tool-content[data-v-9465f419] {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow-y: auto;
}

/* 顶部应用信息 */
.app-header[data-v-9465f419] {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px;
}
.app-icon-large[data-v-9465f419] {
  width: 80px;
  height: 80px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  background: var(--hover);
}
.app-icon-large img[data-v-9465f419] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.default-icon-large[data-v-9465f419] {
  font-size: 32px;
  color: var(--text-muted);
}
.app-header-info[data-v-9465f419] {
  flex: 1;
  min-width: 0;
}
.app-name-row[data-v-9465f419] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.app-name[data-v-9465f419] {
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  color: var(--text);
}
.app-tag[data-v-9465f419] {
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.hot-tag[data-v-9465f419] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a5a);
  color: white;
}
.new-tag[data-v-9465f419] {
  background: linear-gradient(135deg, #52c41a, #389e0d);
  color: white;
}
.app-tags-row[data-v-9465f419] {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.tag-item[data-v-9465f419] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  padding: 4px 10px;
  background: var(--hover);
  border-radius: 12px;
  color: var(--text-muted);
}
.app-description[data-v-9465f419] {
  margin: 12px 0;
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.6;
  text-align: left;
}
.app-actions[data-v-9465f419] {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.btn-install[data-v-9465f419] {
  padding: 10px 24px;
  background: var(--theme-1);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-install[data-v-9465f419]:hover:not(:disabled) {
  background: var(--theme-1-hover);
}
.btn-install[data-v-9465f419]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-uninstall[data-v-9465f419] {
  background: #f5f5f5;
  color: var(--text);
}
.btn-uninstall[data-v-9465f419]:hover:not(:disabled) {
  background: var(--hover);
}
.btn-favorite[data-v-9465f419] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: var(--hover);
  color: var(--text);
  border: none;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.btn-favorite[data-v-9465f419]:hover {
  background: var(--border);
}

/* 统计信息栏 */
.stats-bar[data-v-9465f419] {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 16px 24px;
  flex-wrap: wrap;
  gap: 12px;
}
.stat-item[data-v-9465f419] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 80px;
}
.stat-item svg[data-v-9465f419] {
  color: var(--theme-1);
}
.stat-label[data-v-9465f419] {
  font-size: 12px;
  color: var(--text-muted);
}
.stat-value[data-v-9465f419] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.stat-divider[data-v-9465f419] {
  width: 1px;
  height: 32px;
  background: var(--border);
}

/* 标签页内容 */
.detail-tabs[data-v-9465f419] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.tab-header[data-v-9465f419] {
  display: flex;
  gap: 8px;
  padding: 12px 24px;
}
.tab-btn[data-v-9465f419] {
  padding: 8px 20px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.2s ease;
}
.tab-btn[data-v-9465f419]:hover {
  background: var(--hover);
}
.tab-btn.active[data-v-9465f419] {
  background: var(--theme-1);
  color: white;
}
.tab-content[data-v-9465f419] {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
}
.tab-panel[data-v-9465f419] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.intro-section[data-v-9465f419] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
}
.intro-section h3[data-v-9465f419] {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  color: var(--text);
}
.intro-section p[data-v-9465f419] {
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-muted);
  margin: 0;
}
.tags-list[data-v-9465f419] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tag-badge[data-v-9465f419] {
  padding: 4px 12px;
  background: var(--hover);
  border-radius: 20px;
  font-size: 13px;
  color: var(--text-muted);
}
.info-list[data-v-9465f419] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.info-row[data-v-9465f419] {
  display: flex;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--hover);
  border-radius: 8px;
}
.info-label[data-v-9465f419] {
  font-size: 14px;
  color: var(--text-muted);
}
.info-value[data-v-9465f419] {
  font-size: 14px;
  color: var(--text);
  font-weight: 500;
}

/* 更新记录 */
.update-timeline[data-v-9465f419] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.update-item[data-v-9465f419] {
  display: flex;
  gap: 16px;
}
.update-dot[data-v-9465f419] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--theme-1);
  margin-top: 6px;
  flex-shrink: 0;
}
.update-content[data-v-9465f419] {
  flex: 1;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}
.update-content[data-v-9465f419]:last-child {
  border-bottom: none;
}
.update-header[data-v-9465f419] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.update-version[data-v-9465f419] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.update-date[data-v-9465f419] {
  font-size: 12px;
  color: var(--text-muted);
}
.update-desc[data-v-9465f419] {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0;
}

/* 响应式 */
@media (max-width: 768px) {
.app-header[data-v-9465f419] {
    flex-direction: column;
    align-items: flex-start;
}
.app-icon-large[data-v-9465f419] {
    width: 64px;
    height: 64px;
}
.app-name[data-v-9465f419] {
    font-size: 20px;
}
.stats-bar[data-v-9465f419] {
    justify-content: flex-start;
    padding: 12px 16px;
}
.stat-item[data-v-9465f419] {
    min-width: 60px;
}
.stat-divider[data-v-9465f419] {
    display: none;
}
.tab-header[data-v-9465f419] {
    padding: 12px 16px;
}
.tab-content[data-v-9465f419] {
    padding: 16px;
}
.info-row[data-v-9465f419] {
    flex-direction: column;
    gap: 4px;
}
}

.app-store[data-v-87ccb299] {
  display: flex;
  height: 100%;
  overflow: hidden;
  position: relative;
}

/* 移动端菜单按钮样式 */
.sidebar-toggle-btn[data-v-87ccb299] {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--text);
  margin-right: 4px;
  padding: 0;
}
.sidebar-toggle-btn[data-v-87ccb299]:hover {
  background: var(--hover);
}
.sidebar-toggle-btn[data-v-87ccb299]:active {
  background: var(--active);
  transform: scale(0.95);
}
.sidebar-toggle-btn svg[data-v-87ccb299] {
  width: 18px;
  height: 18px;
}
.content[data-v-87ccb299] {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.content.detail-mode[data-v-87ccb299] {
  padding: 0;
}
.list-view[data-v-87ccb299] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 10px 15px;
}
.app-grid[data-v-87ccb299] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
.app-card[data-v-87ccb299] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border-radius: 8px;
  background: var(--bg40);
  border: 1px solid var(--bd);
  transition: all 0.2s ease;
}
.app-card[data-v-87ccb299]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.app-icon[data-v-87ccb299] {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  background: #ffffff;
}
.app-icon img[data-v-87ccb299] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.app-content[data-v-87ccb299] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.app-header[data-v-87ccb299] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.app-title[data-v-87ccb299] {
  flex: 1;
  min-width: 0;
}
.app-title h4[data-v-87ccb299] {
  margin: 0 0 4px 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.app-description[data-v-87ccb299] {
  margin: 0;
  font-size: 12px;
  color: var(--text2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
}
.app-action[data-v-87ccb299] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: var(--bg);
  border: 1px solid var(--bd);
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.app-action[data-v-87ccb299]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.link-icon[data-v-87ccb299] {
  width: 16px;
  height: 16px;
  color: var(--text2);
}
.app-footer[data-v-87ccb299] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}
.app-footer-left[data-v-87ccb299] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.install-count[data-v-87ccb299] {
  font-size: 12px;
  color: var(--text2);
}
.detail-link[data-v-87ccb299] {
  font-size: 12px;
  color: var(--theme-1);
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}
.detail-link[data-v-87ccb299]:hover {
  text-decoration: underline;
}
.default-icon[data-v-87ccb299] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
}
.default-icon i[data-v-87ccb299] {
  font-size: 32px;
  color: white;
}
.install-btn[data-v-87ccb299] {
  padding: 6px 16px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.install-btn[data-v-87ccb299]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}
.installed-badge[data-v-87ccb299] {
  padding: 6px 16px;
  border-radius: 6px;
  background: var(--bg);
  border: 1px solid var(--bd);
  color: var(--text2);
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.installed-badge[data-v-87ccb299]:hover {
  background: var(--hover);
  border-color: var(--theme-1);
}
.loading-state[data-v-87ccb299],
.error-state[data-v-87ccb299],
.empty-state[data-v-87ccb299] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.loading-spinner[data-v-87ccb299] {
  width: 40px;
  height: 40px;
  border: 3px solid var(--bd);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-87ccb299 0.8s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-87ccb299 {
to { transform: rotate(360deg);
}
}
.error-icon[data-v-87ccb299],
.empty-icon[data-v-87ccb299] {
  font-size: 48px;
  margin-bottom: 16px;
}
.error-title[data-v-87ccb299],
.empty-title[data-v-87ccb299] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 8px 0;
}
.error-description[data-v-87ccb299],
.empty-description[data-v-87ccb299] {
  font-size: 14px;
  color: var(--text2);
  margin: 0 0 20px 0;
}
.retry-btn[data-v-87ccb299] {
  padding: 8px 24px;
  border-radius: 6px;
  background: var(--theme-1);
  border: 1px solid var(--theme-1);
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-btn[data-v-87ccb299]:hover {
  background: var(--theme-2);
  border-color: var(--theme-2);
}
@media (max-width: 768px) {
.list-view[data-v-87ccb299] {
    padding: 10px;
}
}

.folder-tree-node[data-v-b20d2e07] {
  margin-left: 16px;
}
.folder-tree-item[data-v-b20d2e07] {
  display: flex;
  align-items: center;
  padding: 6px 8px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
  gap: 6px;
}
.folder-tree-item[data-v-b20d2e07]:hover {
  background: var(--hover-bg);
}
.folder-tree-item.selected[data-v-b20d2e07] {
  background: var(--primary-bg);
  color: var(--primary);
}
.expand-icon[data-v-b20d2e07] {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--text-secondary);
}
.folder-icon[data-v-b20d2e07] {
  width: 16px;
  height: 16px;
}
.folder-name[data-v-b20d2e07] {
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.folder-tree-children[data-v-b20d2e07] {
  margin-top: 2px;
}

.folder-window[data-v-f0b82b0e] {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--text);
}
.toolbar[data-v-f0b82b0e] {
  display: flex;
  align-items: center;
  padding: 3px 8px;
  border-bottom: 1px solid var(--border);
  gap: 8px;
  flex-shrink: 0;
}
.sidebar-header[data-v-f0b82b0e] {
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid var(--border);
}
.folder-tree[data-v-f0b82b0e] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.folder-tree-node[data-v-f0b82b0e] {
  margin: 2px 0;
}
.folder-tree-item[data-v-f0b82b0e] {
  display: flex;
  align-items: center;
  padding: 6px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
  gap: 6px;
}
.folder-tree-item[data-v-f0b82b0e]:hover {
  background: var(--hover-b);
}
.folder-tree-item.selected[data-v-f0b82b0e] {
  background: var(--theme-color);
  color: white;
}
.expand-icon[data-v-f0b82b0e] {
  font-size: 12px;
  width: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.folder-icon[data-v-f0b82b0e] {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.folder-name[data-v-f0b82b0e] {
  font-size: 13px;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.folder-tree-children[data-v-f0b82b0e] {
  margin-left: 10px;
}
.folder-content-wrapper[data-v-f0b82b0e] {
  display: flex;
  flex-direction: row;
  flex: 1;
  overflow: hidden;
}
.folder-sidebar[data-v-f0b82b0e] {
  width: 200px;
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  height: 100%;
  flex-shrink: 0;
}
.sidebar-resizer[data-v-f0b82b0e] {
  width: 2px;
  background: var(--border);
  cursor: col-resize;
  flex-shrink: 0;
  transition: background 0.2s;
}
.sidebar-resizer[data-v-f0b82b0e]:hover {
  background: var(--primary);
}
.sidebar-resizer[data-v-f0b82b0e]:active {
  background: var(--primary);
}
.sidebar-header[data-v-f0b82b0e] {
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid var(--border);
}
.folder-tree[data-v-f0b82b0e] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.folder-main[data-v-f0b82b0e] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.navigation-buttons[data-v-f0b82b0e] {
  display: flex;
  gap: 4px;
}
.toolbar-btn[data-v-f0b82b0e] {
  background: transparent;
  border: none;
  color: var(--text);
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.toolbar-btn[data-v-f0b82b0e]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.toolbar-btn[data-v-f0b82b0e]:hover:not(:disabled) {
  background: var(--hover);
}
.toolbar-spacer[data-v-f0b82b0e] {
  flex: 1;
}
.search-box[data-v-f0b82b0e] {
  display: flex;
  align-items: center;
  background: var(--input-bg);
  border-radius: 4px;
  padding: 2px 0 2px 6px;
  gap: 2px;
  min-width: 100px;
}
.search-box i[data-v-f0b82b0e] {
  color: var(--text-secondary);
}
.search-box input[data-v-f0b82b0e] {
  background: transparent;
  border: none;
  outline: none;
  color: var(--text);
  width: 100%;
  font-size: 14px;
  padding:0;
}
.search-box input[data-v-f0b82b0e]::placeholder {
  color: var(--text-secondary);
}
.folder-path[data-v-f0b82b0e] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 13px;
  overflow-x: auto;
  white-space: nowrap;
}
.path-item[data-v-f0b82b0e] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--text);
  cursor: default;
}
.path-item.clickable[data-v-f0b82b0e] {
  cursor: pointer;
}
.path-item.clickable[data-v-f0b82b0e]:hover {
  color: var(--href);
  text-decoration: underline;
}
.path-separator[data-v-f0b82b0e] {
  font-size: 10px;
  color: var(--text-secondary);
}
.folder-content[data-v-f0b82b0e] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px;
  min-height: 0;
  position: relative;
}
.folder-content.grid[data-v-f0b82b0e] {
  display: grid;
  align-items: start;
  grid-auto-rows: min-content;
  /* 保持容器高度，避免拖拽时出现滚动条 */
  min-height: fit-content;
  position: relative;
}
.folder-content.list[data-v-f0b82b0e] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.empty-folder[data-v-f0b82b0e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--text-secondary);
}
.empty-folder i[data-v-f0b82b0e] {
  font-size: 64px;
  margin-bottom: 16px;
}
.empty-folder p[data-v-f0b82b0e] {
  font-size: 14px;
}
.folder-item[data-v-f0b82b0e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 4px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s, all 0.2s ease;
  text-align: center;
}
.folder-content.grid .folder-item[data-v-f0b82b0e] {
  gap: 4px;
  align-self: start;
}
.folder-content.list .folder-item[data-v-f0b82b0e] {
  flex-direction: row;
  align-items: center;
  text-align: left;
  padding: 8px 12px;
  gap: 12px;
}
.folder-item[data-v-f0b82b0e]:hover {
  background: var(--hover);
}
.folder-item.dragging-sort[data-v-f0b82b0e] {
  opacity: 0.5;
  transform: scale(1.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  z-index: 1000;
}
.folder-item.drag-over[data-v-f0b82b0e] {
  background: var(--primary-bg);
  border: 2px solid var(--primary);
}
.folder-item img[data-v-f0b82b0e] {
  object-fit: contain;
  border-radius: 10px;
}
.folder-item.group[data-v-f0b82b0e]:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
.group-box[data-v-f0b82b0e] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 6px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.group-box[data-v-f0b82b0e]:hover {
  background: rgba(255, 255, 255, 0.12);
}
.group-icons[data-v-f0b82b0e] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 4px;
  width: 100%;
  height: 100%;
}
.group-icons img[data-v-f0b82b0e] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}
.group-child-icon-wrapper[data-v-f0b82b0e] {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.group-child-icon[data-v-f0b82b0e] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.folder-item span[data-v-f0b82b0e] {
  color: var(--text);
  word-break: break-word;
  max-width: 100%;
}
.folder-content.list .folder-item span[data-v-f0b82b0e] {
  flex: 1;
}
.folder-content.list .folder-item-time[data-v-f0b82b0e] {
  flex: 0 0 auto;
  font-size: 12px;
  color: var(--text-secondary);
  min-width: 80px;
  text-align: right;
}
.status-bar[data-v-f0b82b0e] {
  padding: 8px 12px;
  border-top: 1px solid var(--border);
  font-size: 12px;
  color: var(--text-secondary);
}

/* 移动端菜单按钮样式 */
.sidebar-toggle-btn[data-v-f0b82b0e] {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--text);
  margin-right: 4px;
  padding: 0;
}
.sidebar-toggle-btn[data-v-f0b82b0e]:hover {
  background: var(--hover);
}
.sidebar-toggle-btn[data-v-f0b82b0e]:active {
  background: var(--active);
  transform: scale(0.95);
}
.sidebar-toggle-btn svg[data-v-f0b82b0e] {
  width: 18px;
  height: 18px;
}
.sidebar-close[data-v-f0b82b0e] {
  display: flex;
  align-items: center;
  justify-content: right;
  padding: 10px;
  cursor: pointer;
  color: var(--text);
  transition: all 0.2s ease;
}
.sidebar-close[data-v-f0b82b0e]:hover {
  background: var(--hover);
}
.sidebar-close svg[data-v-f0b82b0e] {
  width: 20px;
  height: 20px;
}
.sidebar-hidden[data-v-f0b82b0e] {
  width: 0;
  min-width: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
}
@media (max-width: 768px) {
.folder-sidebar[data-v-f0b82b0e] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 99;
    background: var(--bg);
    border-radius: 0 10px 10px 0;
    width: 200px;
}
.sidebar-hidden[data-v-f0b82b0e] {
    transform: translateX(-100%);
}
.sidebar-resizer[data-v-f0b82b0e] {
    display: none;
}
.folder-content-wrapper[data-v-f0b82b0e] {
    position: relative;
}
.folder-main[data-v-f0b82b0e] {
    width: 100%;
}
.folder-path[data-v-f0b82b0e] {
    display: none;
}
}

.details-window[data-v-883a0f08] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bg);
  color: var(--text);
}
.details-header[data-v-883a0f08] {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px;
  border-bottom: 1px solid var(--border);
}
.details-icon[data-v-883a0f08] {
  width: 80px;
  height: 80px;
  object-fit: contain;
}
.details-title[data-v-883a0f08] {
  flex: 1;
}
.details-title h2[data-v-883a0f08] {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 600;
}
.details-title p[data-v-883a0f08] {
  margin: 0;
  font-size: 14px;
  color: var(--text-secondary);
}
.details-content[data-v-883a0f08] {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
}
.details-section[data-v-883a0f08] {
  background: var(--hover);
  border-radius: 8px;
  padding: 20px;
}
.details-section h3[data-v-883a0f08] {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}
.details-row[data-v-883a0f08] {
  display: flex;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.details-row[data-v-883a0f08]:last-child {
  border-bottom: none;
}
.details-label[data-v-883a0f08] {
  width: 120px;
  font-size: 14px;
  color: var(--text-secondary);
}
.details-value[data-v-883a0f08] {
  flex: 1;
  font-size: 14px;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.details-footer[data-v-883a0f08] {
  padding: 16px 24px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: flex-end;
}
.details-btn[data-v-883a0f08] {
  padding: 8px 24px;
  background: var(--hover);
  border: none;
  border-radius: 6px;
  color: var(--text);
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s;
}
.details-btn[data-v-883a0f08]:hover {
  background: var(--hover-b);
}
.details-btn[data-v-883a0f08]:active {
  transform: scale(0.98);
}

.tool-detail-window[data-v-91c8e08c] {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--text);
  overflow-y: auto;
  background: var(--bg);
}
.loading[data-v-91c8e08c],
.error[data-v-91c8e08c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 40px;
  text-align: center;
  gap: 16px;
}
.error[data-v-91c8e08c] {
  color: #ef4444;
}
.loading-spinner[data-v-91c8e08c] {
  width: 32px;
  height: 32px;
  border: 3px solid var(--border);
  border-top-color: var(--theme-1);
  border-radius: 50%;
  animation: spin-91c8e08c 1s linear infinite;
}
@keyframes spin-91c8e08c {
to { transform: rotate(360deg);
}
}
.tool-content[data-v-91c8e08c] {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 顶部应用信息 */
.app-header[data-v-91c8e08c] {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px 24px 20px;
  background: linear-gradient(180deg, var(--hover) 0%, var(--bg) 100%);
}
.app-icon-large[data-v-91c8e08c] {
  width: 80px;
  height: 80px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.app-icon-large img[data-v-91c8e08c] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.default-icon-large[data-v-91c8e08c] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.default-icon-large i[data-v-91c8e08c] {
  font-size: 40px;
  color: white;
}
.app-header-info[data-v-91c8e08c] {
  flex: 1;
  min-width: 0;
}
.app-name-row[data-v-91c8e08c] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.app-name[data-v-91c8e08c] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: var(--text);
}
.app-tag[data-v-91c8e08c] {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.hot-tag[data-v-91c8e08c] {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
}
.new-tag[data-v-91c8e08c] {
  background: linear-gradient(135deg, #4facfe, #00f2fe);
  color: white;
}
.app-tags-row[data-v-91c8e08c] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.tag-item[data-v-91c8e08c] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  background: var(--hover);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 12px;
  color: var(--text-secondary);
}
.tag-item i[data-v-91c8e08c] {
  font-size: 10px;
}
.app-description[data-v-91c8e08c] {
  margin: 0 0 16px 0;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  text-align: left;
}
.app-actions[data-v-91c8e08c] {
  display: flex;
  gap: 12px;
}
.btn-install[data-v-91c8e08c],
.btn-favorite[data-v-91c8e08c] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
}
.btn-install[data-v-91c8e08c] {
  background: linear-gradient(135deg, var(--theme-1), var(--theme-2));
  color: white;
}
.btn-install[data-v-91c8e08c]:hover:not(:disabled) {
  opacity: 0.9;
  transform: translateY(-1px);
}
.btn-install[data-v-91c8e08c]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-uninstall[data-v-91c8e08c] {
  background: var(--hover) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
.btn-favorite[data-v-91c8e08c] {
  background: var(--hover);
  color: var(--text);
  border: 1px solid var(--border);
}
.btn-favorite[data-v-91c8e08c]:hover {
  background: var(--hover-b);
}

/* 统计信息栏 */
.stats-bar[data-v-91c8e08c] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 16px 24px;
  margin: 0 24px;
  background: var(--hover);
  border-radius: 12px;
  flex-wrap: wrap;
}
.stat-item[data-v-91c8e08c] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  color: var(--text-secondary);
}
.stat-item svg[data-v-91c8e08c] {
  color: var(--text-secondary);
  flex-shrink: 0;
}
.stat-label[data-v-91c8e08c] {
  font-size: 13px;
  color: var(--text-secondary);
}
.stat-value[data-v-91c8e08c] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.stat-divider[data-v-91c8e08c] {
  width: 1px;
  height: 20px;
  background: var(--border);
}

/* 标签页 */
.detail-tabs[data-v-91c8e08c] {
  padding: 20px 24px 24px;
}
.tab-header[data-v-91c8e08c] {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
}
.tab-btn[data-v-91c8e08c] {
  padding: 10px 20px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.tab-btn[data-v-91c8e08c]:hover {
  color: var(--text);
}
.tab-btn.active[data-v-91c8e08c] {
  color: var(--theme-1);
  border-bottom-color: var(--theme-1);
}
.tab-content[data-v-91c8e08c] {
  min-height: 200px;
}
.tab-panel[data-v-91c8e08c] {
  animation: fadeIn-91c8e08c 0.3s ease;
}
@keyframes fadeIn-91c8e08c {
from { opacity: 0; transform: translateY(4px);
}
to { opacity: 1; transform: translateY(0);
}
}

/* 应用介绍 */
.intro-section[data-v-91c8e08c] {
  margin-bottom: 24px;
}
.intro-section h3[data-v-91c8e08c] {
  margin: 0 0 12px 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}
.intro-section p[data-v-91c8e08c] {
  margin: 0;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.8;
}
.tags-list[data-v-91c8e08c] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tag-badge[data-v-91c8e08c] {
  padding: 4px 12px;
  background: var(--hover);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 13px;
  color: var(--text);
}
.info-list[data-v-91c8e08c] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.info-row[data-v-91c8e08c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: var(--hover);
  border-radius: 8px;
}
.info-row .info-label[data-v-91c8e08c] {
  font-size: 13px;
  color: var(--text-secondary);
}
.info-row .info-value[data-v-91c8e08c] {
  font-size: 13px;
  color: var(--text);
  font-weight: 500;
}

/* 更新记录 */
.update-timeline[data-v-91c8e08c] {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-left: 8px;
}
.update-item[data-v-91c8e08c] {
  display: flex;
  gap: 16px;
  padding-bottom: 24px;
  position: relative;
}
.update-item[data-v-91c8e08c]:not(:last-child)::before {
  content: '';
  position: absolute;
  left: 5px;
  top: 12px;
  bottom: 0;
  width: 2px;
  background: var(--border);
}
.update-dot[data-v-91c8e08c] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--theme-1);
  flex-shrink: 0;
  margin-top: 4px;
  position: relative;
  z-index: 1;
}
.update-content[data-v-91c8e08c] {
  flex: 1;
}
.update-header[data-v-91c8e08c] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
}
.update-version[data-v-91c8e08c] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.update-date[data-v-91c8e08c] {
  font-size: 12px;
  color: var(--text-secondary);
}
.update-desc[data-v-91c8e08c] {
  margin: 0;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
}

/* 响应式 */
@media (max-width: 768px) {
.app-header[data-v-91c8e08c] {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 16px;
}
.app-icon-large[data-v-91c8e08c] {
    width: 64px;
    height: 64px;
}
.app-name[data-v-91c8e08c] {
    font-size: 18px;
}
.app-name-row[data-v-91c8e08c] {
    justify-content: center;
}
.app-tags-row[data-v-91c8e08c] {
    justify-content: center;
}
.app-actions[data-v-91c8e08c] {
    justify-content: center;
}
.stats-bar[data-v-91c8e08c] {
    margin: 0 16px;
    padding: 12px;
}
.stat-divider[data-v-91c8e08c] {
    display: none;
}
.stat-item[data-v-91c8e08c] {
    padding: 6px 10px;
}
.detail-tabs[data-v-91c8e08c] {
    padding: 16px;
}
.tab-btn[data-v-91c8e08c] {
    padding: 8px 14px;
    font-size: 13px;
}
}

.tool-window[data-v-d124a5c1] {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--text);
  overflow: hidden;
}
.loading[data-v-d124a5c1],
.error[data-v-d124a5c1] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 40px;
  text-align: center;
}
.error[data-v-d124a5c1] {
  color: #ef4444;
}
.tool-content[data-v-d124a5c1] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.tool-header[data-v-d124a5c1] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.tool-icon[data-v-d124a5c1] {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: 8px;
  flex-shrink: 0;
}
.tool-info[data-v-d124a5c1] {
  flex: 1;
  min-width: 0;
}
.tool-name[data-v-d124a5c1] {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tool-description[data-v-d124a5c1] {
  margin: 0;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tool-actions[data-v-d124a5c1] {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.btn-favorite[data-v-d124a5c1],
.btn-try[data-v-d124a5c1] {
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  display: flex;
  align-items: center;
  gap: 6px;
}
.btn-favorite[data-v-d124a5c1] {
  background: var(--hover);
  color: var(--text);
  border: 1px solid var(--border);
}
.btn-favorite[data-v-d124a5c1]:hover {
  background: var(--hover-b);
}
.btn-try[data-v-d124a5c1] {
  background: var(--accent);
  color: white;
}
.btn-try[data-v-d124a5c1]:hover {
  opacity: 0.9;
}
.tool-metrics[data-v-d124a5c1] {
  display: flex;
  gap: 16px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.metric[data-v-d124a5c1] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--hover);
}
.metric[data-v-d124a5c1]:hover {
  background: var(--hover-b);
}
.metric.voted[data-v-d124a5c1] {
  background: var(--accent);
  color: white;
}
.metric svg[data-v-d124a5c1] {
  width: 18px;
  height: 18px;
  color: var(--text-secondary);
}
.metric.voted svg[data-v-d124a5c1] {
  color: white;
}
.tool-body[data-v-d124a5c1] {
  flex: 1;
  overflow: auto;
}
.fallback-content[data-v-d124a5c1] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--text-secondary);
}

.embed-container[data-v-831e42fb] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--bg);
}
.embed-iframe[data-v-831e42fb] {
  width: 100%;
  height: 100%;
  border: none;
  background: #fff;
}
.embed-empty[data-v-831e42fb] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--text);
  font-size: 16px;
}

#window-manager[data-v-c1eaf954] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 1000;
}
#window-fill[data-v-c1eaf954] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 2000;
}

.toast-container[data-v-38a5090b] {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(-100px);
  z-index: 10000;
  opacity: 0;
  transition: all 0.3s ease;
  pointer-events: none;
}
.toast-container.visible[data-v-38a5090b] {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.toast-content[data-v-38a5090b] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 24px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(10px);
  font-size: 14px;
  font-weight: 500;
  min-width: 280px;
  max-width: 500px;
}
.toast-icon[data-v-38a5090b] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  flex-shrink: 0;
}
.toast-message[data-v-38a5090b] {
  flex: 1;
  line-height: 1.5;
}

/* Success */
.toast-container.success .toast-content[data-v-38a5090b] {
  background: rgba(16, 185, 129, 0.95);
  color: white;
}
.toast-container.success .toast-icon[data-v-38a5090b] {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}

/* Error */
.toast-container.error .toast-content[data-v-38a5090b] {
  background: rgba(239, 68, 68, 0.95);
  color: white;
}
.toast-container.error .toast-icon[data-v-38a5090b] {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}

/* Warning */
.toast-container.warning .toast-content[data-v-38a5090b] {
  background: rgba(245, 158, 11, 0.95);
  color: white;
}
.toast-container.warning .toast-icon[data-v-38a5090b] {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}

/* Info */
.toast-container.info .toast-content[data-v-38a5090b] {
  background: rgba(59, 130, 246, 0.95);
  color: white;
}
.toast-container.info .toast-icon[data-v-38a5090b] {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}

#loginback[data-v-1a69efae] {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  transition: filter 500ms, background-color 500ms, opacity 1500ms ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
}
.login-container[data-v-1a69efae] {
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}
.login-left[data-v-1a69efae] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: left;
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #60a5fa 100%);
  overflow: hidden;
  z-index: 1;
}
.tech-bg[data-v-1a69efae] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}
.tech-grid[data-v-1a69efae] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 50px 50px;
  animation: gridMove-1a69efae 20s linear infinite;
}
@keyframes gridMove-1a69efae {
0% {
    transform: translate(0, 0);
}
100% {
    transform: translate(50px, 50px);
}
}
.tech-circle[data-v-1a69efae] {
  position: absolute;
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  animation: circlePulse-1a69efae 4s ease-in-out infinite;
}
.tech-circle-1[data-v-1a69efae] {
  width: 400px;
  height: 400px;
  top: -200px;
  left: -200px;
  animation-delay: 0s;
}
.tech-circle-2[data-v-1a69efae] {
  width: 300px;
  height: 300px;
  bottom: -150px;
  right: -150px;
  animation-delay: 1s;
}
.tech-circle-3[data-v-1a69efae] {
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-delay: 2s;
}
@keyframes circlePulse-1a69efae {
0%, 100% {
    transform: scale(1);
    opacity: 0.5;
}
50% {
    transform: scale(1.1);
    opacity: 0.8;
}
}
.tech-line[data-v-1a69efae] {
  position: absolute;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  animation: lineMove-1a69efae 3s linear infinite;
}
.tech-line-1[data-v-1a69efae] {
  width: 300px;
  top: 30%;
  left: -300px;
  animation-delay: 0s;
}
.tech-line-2[data-v-1a69efae] {
  width: 400px;
  top: 50%;
  left: -400px;
  animation-delay: 1s;
}
.tech-line-3[data-v-1a69efae] {
  width: 350px;
  top: 70%;
  left: -350px;
  animation-delay: 2s;
}
@keyframes lineMove-1a69efae {
0% {
    transform: translateX(0);
}
100% {
    transform: translateX(calc(100vw + 400px));
}
}
.tech-content[data-v-1a69efae] {
  position: relative;
  z-index: 10;
  text-align: center;
  color: white;
  padding: 40px;
  max-width: 600px;
}
.tech-title[data-v-1a69efae] {
  font-size: 48px;
  font-weight: 700;
  margin: 0 0 16px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  letter-spacing: 2px;
}
.tech-subtitle[data-v-1a69efae] {
  font-size: 20px;
  font-weight: 300;
  margin: 0 0 24px;
  opacity: 0.9;
  letter-spacing: 4px;
  text-transform: uppercase;
}
.tech-description[data-v-1a69efae] {
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 40px;
  opacity: 0.85;
}
.tech-features[data-v-1a69efae] {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 40px;
}
.feature-item[data-v-1a69efae] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.feature-item[data-v-1a69efae]:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}
.feature-icon[data-v-1a69efae] {
  width: 40px;
  height: 40px;
  color: white;
}
.feature-item span[data-v-1a69efae] {
  font-size: 14px;
  font-weight: 500;
  color: white;
}
.login-right[data-v-1a69efae] {
  position: fixed;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  width: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px);
  padding: 40px;
  border-radius: 24px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
  z-index: 10;
}
.wechat-login-container[data-v-1a69efae] {
  width: 100%;
  max-width: 400px;
}
.login-header[data-v-1a69efae] {
  text-align: center;
  margin-bottom: 32px;
}
.login-header h2[data-v-1a69efae] {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 8px;
}
.login-header p[data-v-1a69efae] {
  font-size: 14px;
  color: #666;
  margin: 0;
}
.login-tabs[data-v-1a69efae] {
  display: flex;
  margin-bottom: 32px;
  border-bottom: 2px solid #e5e7eb;
}
.tab-btn[data-v-1a69efae] {
  flex: 1;
  padding: 14px 0;
  background: none;
  border: none;
  font-size: 16px;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}
.tab-btn[data-v-1a69efae]:hover {
  color: #3b82f6;
}
.tab-btn.active[data-v-1a69efae] {
  color: #3b82f6;
}
.tab-btn.active[data-v-1a69efae]::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 3px;
  background: #3b82f6;
  border-radius: 2px 2px 0 0;
}
.wechat-login-content[data-v-1a69efae] {
  padding: 10px 0;
}
.qr-code-container[data-v-1a69efae] {
  text-align: center;
  margin-bottom: 24px;
}
.qr-loading[data-v-1a69efae] {
  padding: 40px 20px;
}
.qr-loading p[data-v-1a69efae] {
  margin-top: 12px;
  color: #666;
  font-size: 14px;
}
.qr-code[data-v-1a69efae] {
  position: relative;
  display: inline-block;
  margin-bottom: 16px;
}
.qr-image[data-v-1a69efae] {
  width: 200px;
  height: 200px;
  border-radius: 12px;
  border: 2px solid #e5e7eb;
}
.qr-overlay[data-v-1a69efae] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qr-expired[data-v-1a69efae] {
  text-align: center;
  color: #ffffff;
}
.qr-expired svg[data-v-1a69efae] {
  width: 32px;
  height: 32px;
  margin-bottom: 8px;
  stroke: #ffffff;
}
.qr-expired p[data-v-1a69efae] {
  margin: 8px 0 16px;
  font-size: 14px;
}
.refresh-btn[data-v-1a69efae] {
  background: #3b82f6;
  color: #ffffff;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.refresh-btn[data-v-1a69efae]:hover {
  background: #2563eb;
}
.qr-info[data-v-1a69efae] {
  text-align: center;
}
.qr-code-text[data-v-1a69efae] {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 8px;
  font-family: 'Courier New', monospace;
}
.verification-code[data-v-1a69efae] {
  color: #dc2626;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 2px;
}
.qr-tip[data-v-1a69efae] {
  font-size: 13px;
  color: #666;
  margin: 0;
  line-height: 1.4;
}
.account-login-content[data-v-1a69efae] {
  padding: 10px 0;
}
.login-form[data-v-1a69efae] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.form-item[data-v-1a69efae] {
  width: 100%;
}
.input-wrapper[data-v-1a69efae] {
  position: relative;
  display: flex;
  align-items: center;
}
.input-icon[data-v-1a69efae] {
  position: absolute;
  left: 14px;
  width: 20px;
  height: 20px;
  color: #9ca3af;
  pointer-events: none;
}
.form-input[data-v-1a69efae] {
  width: 100%;
  height: 48px;
  padding: 0 14px 0 44px;
  font-size: 15px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  outline: none;
  transition: all 0.2s ease;
  background: #fff;
}
.form-input[data-v-1a69efae]:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.form-input[data-v-1a69efae]::placeholder {
  color: #9ca3af;
}
.toggle-password[data-v-1a69efae] {
  position: absolute;
  right: 14px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.toggle-password svg[data-v-1a69efae] {
  width: 20px;
  height: 20px;
  color: #9ca3af;
  transition: color 0.2s ease;
}
.toggle-password:hover svg[data-v-1a69efae] {
  color: #3b82f6;
}
.captcha-wrapper[data-v-1a69efae] {
  gap: 2px;
}
.captcha-wrapper .form-input[data-v-1a69efae] {
  flex: 1;
}
.captcha-img[data-v-1a69efae] {
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid #e5e7eb;
  transition: border-color 0.2s ease;
}
.captcha-img[data-v-1a69efae]:hover {
  border-color: #3b82f6;
}
.login-btn[data-v-1a69efae] {
  width: 100%;
  height: 48px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 4px;
  color: #fff;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.login-btn[data-v-1a69efae]:hover {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}
.login-btn[data-v-1a69efae]:active {
  transform: translateY(0);
}
.loading-spinner[data-v-1a69efae] {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid #ffffff;
  border-radius: 50%;
  animation: spin-1a69efae 0.8s linear infinite;
  margin: 0 auto;
}
@keyframes spin-1a69efae {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
#login-welc[data-v-1a69efae] {
  height: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#loginback.close[data-v-1a69efae] {
  filter: brightness(0);
  background-color: black;
}
loading[data-v-1a69efae] {
  display: flex;
  justify-content: center;
  align-items: center;
}
loading svg[data-v-1a69efae] {
  animation: spin-1a69efae 1s linear infinite;
}
loading svg circle[data-v-1a69efae] {
  fill: none;
  stroke: white;
  stroke-width: 2;
  stroke-dasharray: 30;
  stroke-dashoffset: 0;
  animation: dash-1a69efae 1.5s ease-in-out infinite;
}
@keyframes dash-1a69efae {
0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
}
50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
}
100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
}
}
@media (max-width: 1024px) {
.login-right[data-v-1a69efae] {
    right: 50%;
    transform: translate(50%, -50%);
    width: 90%;
    max-width: 420px;
}
}
@media (max-width: 768px) {
.modal-container[data-v-1a69efae] {
    width: 95% !important;
}
.captcha-img[data-v-1a69efae] {
  height: 34px;
}
}
.modal-mode[data-v-1a69efae] {
  background: transparent !important;
}
.modal-overlay[data-v-1a69efae] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  z-index: 9998;
}
.modal-container[data-v-1a69efae] {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  width: 420px;
  height: auto !important;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 9999;
  border-radius: 24px;
}
.modal-container .login-right[data-v-1a69efae] {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
}

.feedback-modal-overlay[data-v-bc3ebce5] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  backdrop-filter: blur(4px);
}
.feedback-modal[data-v-bc3ebce5] {
  background: var(--bg-primary);
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  width: 90%;
  max-width: 500px;
  max-height: 90vh;
  overflow-y: auto;
  border: 1px solid var(--border-primary);
}
.modal-header[data-v-bc3ebce5] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-primary);
}
.modal-title[data-v-bc3ebce5] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
}
.close-btn[data-v-bc3ebce5] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  color: var(--text-secondary);
  transition: all 0.2s ease;
}
.close-btn[data-v-bc3ebce5]:hover {
  background: var(--bg-secondary);
  color: var(--text-primary);
}
.feedback-form[data-v-bc3ebce5] {
  padding: 24px;
}
.form-group[data-v-bc3ebce5] {
  margin-bottom: 20px;
}
.form-label[data-v-bc3ebce5] {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: var(--text-primary);
  font-size: 14px;
}
.required[data-v-bc3ebce5] {
  color: #ef4444;
}
.form-select[data-v-bc3ebce5] {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 14px;
  transition: border-color 0.2s ease;
}
.form-select[data-v-bc3ebce5]:focus {
  outline: none;
  border-color: var(--primary-color);
}
.form-textarea[data-v-bc3ebce5] {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: 14px;
  resize: vertical;
  min-height: 100px;
  transition: border-color 0.2s ease;
}
.form-textarea[data-v-bc3ebce5]:focus {
  outline: none;
  border-color: var(--primary-color);
}
.char-count[data-v-bc3ebce5] {
  text-align: right;
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 4px;
}
.page-info[data-v-bc3ebce5] {
  padding: 5px 12px;
  background: var(--bg-secondary);
  border-radius: 6px;
  border: 1px solid var(--border-primary);
}
.page-url[data-v-bc3ebce5] {
  font-size: 12px;
  color: var(--text-secondary);
  word-break: break-all;
}
.form-actions[data-v-bc3ebce5] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border-primary);
}
.btn[data-v-bc3ebce5] {
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn[data-v-bc3ebce5]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-secondary[data-v-bc3ebce5] {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-primary);
}
.btn-secondary[data-v-bc3ebce5]:hover:not(:disabled) {
  background: var(--bg-tertiary);
}
.btn-primary[data-v-bc3ebce5] {
  background: var(--primary-color);
  color: white;
}
.btn-primary[data-v-bc3ebce5]:hover:not(:disabled) {
  background: var(--primary-color-hover);
}
.loading-spinner[data-v-bc3ebce5] {
  width: 16px;
  height: 16px;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin-bc3ebce5 1s linear infinite;
}
@keyframes spin-bc3ebce5 {
to {
    transform: rotate(360deg);
}
}
@media (max-width: 768px) {
.feedback-modal[data-v-bc3ebce5] {
    width: 95%;
    margin: 20px;
}
.modal-header[data-v-bc3ebce5],
  .feedback-form[data-v-bc3ebce5] {
    padding: 16px;
}
.form-actions[data-v-bc3ebce5] {
    flex-direction: column;
}
.btn[data-v-bc3ebce5] {
    width: 100%;
    justify-content: center;
}
}

.add-tool-content[data-v-02b1908a] {
  padding: 20px 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.form-group[data-v-02b1908a] {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.form-label[data-v-02b1908a] {
  display: flex;
  align-items: center;
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
  min-width: 80px;
  flex-shrink: 0;
}
.form-input[data-v-02b1908a] {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--input-bg);
  color: var(--text-color);
  font-size: 14px;
  outline: none;
  transition: all 0.2s ease;
}
.form-input[data-v-02b1908a]:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.1);
  background: var(--input-bg);
}
.form-footer[data-v-02b1908a] {
  display: flex;
  gap: 12px;
  margin-top: auto;
}
.btn[data-v-02b1908a] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-secondary[data-v-02b1908a] {
  background: rgba(255, 255, 255, 0.1);
  color: var(--text);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.btn-secondary[data-v-02b1908a]:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}
.btn-primary[data-v-02b1908a] {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
}
.btn-primary[data-v-02b1908a]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.6);
}

.copilot[data-v-2f50cdea] {
  position: fixed;
  right: -510px;
  background-color: var(--bg70);
  border: 2px solid #6f6f6f30;
  width: 500px;
  height: calc(100% - 70px);
  top: 10px;
  border-radius: 14px;
  overflow: hidden;
  transition: 300ms cubic-bezier(0.9, 0, 0.1, 1);
  z-index: 92;
  display: flex;
  flex-direction: column;
  padding-top: 5px;
}
.copilot.show[data-v-2f50cdea] {
  right: 10px;
  box-shadow: 1px 2px 25px var(--sd);
  backdrop-filter: blur(60px) saturate(3) contrast(0.6);
  -webkit-backdrop-filter: blur(60px) saturate(3) contrast(0.6);
}
.copilot.sidebar[data-v-2f50cdea] {
  width: 700px;
}
.titbar[data-v-2f50cdea] {
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  min-height: 40px;
}
.titbar .icon[data-v-2f50cdea] {
  width: 24px;
  height: 24px;
  margin-right: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text);
}
.titbar .icon svg[data-v-2f50cdea] {
  width: 100%;
  height: 100%;
}
.titbar .btn.toggle[data-v-2f50cdea] {
  width: 30px;
  height: 30px;
  padding: 5px 0;
  margin-right: 5px;
}
.content-wrapper[data-v-2f50cdea] {
  flex-grow: 1;
  display: flex;
  overflow: hidden;
}
.sidebar[data-v-2f50cdea] {
  width: 220px;
  min-width: 220px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
}
.chat-area[data-v-2f50cdea] {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sidebar-header[data-v-2f50cdea] {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  border-bottom: 1px solid var(--bd);
}
.sidebar-title[data-v-2f50cdea] {
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
}
.sidebar-header .btn.create-session[data-v-2f50cdea] {
  width: 32px;
  height: 32px;
  padding: 6px 0;
  color: var(--text);
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s ease;
  border: none;
  background: transparent;
}
.sidebar-header .btn.create-session[data-v-2f50cdea]:hover {
  background-color: var(--hover-b);
}
.session-list[data-v-2f50cdea] {
  flex-grow: 1;
  overflow-y: auto;
  padding: 10px;
}
.session-item[data-v-2f50cdea] {
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.session-item[data-v-2f50cdea]:hover {
  background-color: var(--hover-b);
}
.session-item.active[data-v-2f50cdea] {
  background-color: var(--theme-1);
  color: #fff;
}
.session-name[data-v-2f50cdea] {
  font-size: 14px;
  color: var(--text);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}
.session-item.active .session-name[data-v-2f50cdea] {
  color: #fff;
}
.session-time[data-v-2f50cdea] {
  font-size: 12px;
  opacity: 0.7;
  margin-left: 10px;
  flex-shrink: 0;
}
.session-item.active .session-time[data-v-2f50cdea] {
  color: rgba(255, 255, 255, 0.8);
}
.delete-btn[data-v-2f50cdea] {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text);
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease;
  opacity: 0;
  margin-left: 8px;
  flex-shrink: 0;
}
.session-item:hover .delete-btn[data-v-2f50cdea] {
  opacity: 0.7;
}
.delete-btn[data-v-2f50cdea]:hover {
  background-color: rgba(255, 71, 87, 0.2);
  color: #ff4757;
  opacity: 1;
}
.session-item.active .delete-btn[data-v-2f50cdea] {
  color: rgba(255, 255, 255, 0.8);
}
.session-item.active .delete-btn[data-v-2f50cdea]:hover {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.empty-sessions[data-v-2f50cdea] {
  text-align: center;
  padding: 40px 20px;
  color: var(--text2);
  font-size: 14px;
}
.titbar .text[data-v-2f50cdea] {
  font-size: 20px;
  color: var(--text);
}
.titbar .alr[data-v-2f50cdea] {
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
}
.titbar .btn[data-v-2f50cdea] {
  width: 35px;
  height: 35px;
  text-align: center;
  padding: 6px 0;
  display: block;
  color: var(--text);
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s ease;
  border: none;
}
.titbar .btn[data-v-2f50cdea]:hover {
  background-color: var(--hover-b);
}
.chat[data-v-2f50cdea] {
  flex-grow: 1;
  padding: 10px 15px;
  overflow-y: auto;
  overflow-x: hidden !important;
  scroll-behavior: smooth;
}
.line[data-v-2f50cdea] {
  width: 100%;
  display: flex;
  margin-top: 15px;
}
.line.user[data-v-2f50cdea] {
  width: 100%;
  flex-direction: row-reverse;
}
@keyframes msg-2f50cdea {
0% {
    opacity: 0;
    transform: translateY(20px);
}
100% {
    opacity: 1;
    transform: none;
}
}
.line .text[data-v-2f50cdea] {
  width: max-content;
  max-width: calc(100% - 40px);
  padding: 10px 15px;
  border-radius: 10px;
  box-shadow: 0 1px 6px var(--sd);
  word-break: break-word;
  animation: msg-2f50cdea 400ms cubic-bezier(0, 0, 0, 1);
  user-select: text;
  text-align: left;
  font-size: 14px;
}
.line.ai .text[data-v-2f50cdea] {
  background-color: var(--msg);
  color: var(--text);
}
.line.user .text[data-v-2f50cdea] {
  background: linear-gradient(100deg, #3397e9c0, #024bb1d6);
  color: #fff;
}
.line.system .text[data-v-2f50cdea] {
  background: linear-gradient(100deg, #ca3ee0b0, #6f0bbcbe);
  color: #fff;
}
.line .text .action[data-v-2f50cdea] {
  background-color: var(--hover-b);
  padding: 10px 15px;
  border-radius: 9px;
  box-shadow: 0 1px 2px var(--s3d);
  margin: 10px 5px;
}
.line .text .action .tit[data-v-2f50cdea] {
  font-size: 20px;
  margin-bottom: 5px;
}
.line .text .action .detail[data-v-2f50cdea] {
  font-size: 14px;
  opacity: 0.8;
}
.inputbox[data-v-2f50cdea] {
  height: 60px;
  display: flex;
  align-items: center;
  min-height: 60px;
}
.inputbox.disable[data-v-2f50cdea] {
  pointer-events: none;
  filter: saturate(0.8) brightness(0.9);
}
.inputbox .input[data-v-2f50cdea] {
  margin: 0 10px;
  flex-grow: 1;
  height: 40px;
  border: 1px solid var(--bd);
  border-radius: 20px;
  padding: 0 16px;
  font-size: 14px;
  color: var(--text);
  background: var(--bg);
  outline: none;
  transition: all 0.2s ease;
}
.inputbox .input[data-v-2f50cdea]:focus {
  border-color: var(--theme-color);
  box-shadow: 0 0 0 2px var(--theme-color);
}
.inputbox .input[data-v-2f50cdea]::placeholder {
  color: var(--text2);
}
.inputbox .btn.voice[data-v-2f50cdea] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text);
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.2s ease;
  border: none;
  background: transparent;
  margin-right: 5px;
}
.inputbox .btn.voice[data-v-2f50cdea]:hover {
  background-color: var(--hover-b);
}
.inputbox .btn.voice.recording[data-v-2f50cdea] {
  background-color: #ff4757;
  color: #fff;
  animation: pulse-2f50cdea 1.5s infinite;
}
@keyframes pulse-2f50cdea {
0%, 100% {
    transform: scale(1);
    opacity: 1;
}
50% {
    transform: scale(1.1);
    opacity: 0.8;
}
}
.send[data-v-2f50cdea] {
  width: 70px;
  color: #fff;
  text-align: center;
  margin-right: 10px;
  background: linear-gradient(120deg, var(--theme-1), var(--theme-2));
  padding: 5px 0;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
  font-size: 15px;
}
.send[data-v-2f50cdea]:hover:not(.disable) {
  box-shadow: 0 4px 12px rgba(0, 120, 212, 0.3);
}
.send[data-v-2f50cdea]:active:not(.disable) {
  transform: scale(0.95);
}
.send.disable[data-v-2f50cdea] {
  opacity: 0.5;
  pointer-events: none;
}
@media (max-width: 768px) {
.copilot[data-v-2f50cdea] {
    width: calc(100% - 20px);
    right: calc(-100% - 20px);
}
.copilot.show[data-v-2f50cdea] {
    right: 10px;
}
}
.upload-modal-overlay[data-v-dc9275fd] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.upload-modal[data-v-dc9275fd] {
  background: var(--background);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  width: 500px;
  max-width: 90vw;
}
.upload-header[data-v-dc9275fd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border);
}
.upload-header h3[data-v-dc9275fd] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
}
.upload-header .close-btn[data-v-dc9275fd] {
  background: none;
  border: none;
  font-size: 28px;
  color: var(--text-secondary);
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s;
}
.upload-header .close-btn[data-v-dc9275fd]:hover {
  background: var(--hover);
  color: var(--text);
}
.upload-content[data-v-dc9275fd] {
  padding: 40px 24px;
}
.upload-area[data-v-dc9275fd] {
  border: 2px dashed var(--border);
  border-radius: 8px;
  padding: 60px 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
}
.upload-area[data-v-dc9275fd]:hover {
  border-color: var(--theme-color);
  background: var(--hover);
}
.upload-area .upload-icon[data-v-dc9275fd] {
  font-size: 64px;
  margin-bottom: 16px;
}
.upload-area .upload-text[data-v-dc9275fd] {
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
  margin-bottom: 8px;
}
.upload-area .upload-hint[data-v-dc9275fd] {
  font-size: 14px;
  color: var(--text-secondary);
}
.upload-progress-area[data-v-dc9275fd] {
  padding: 20px 0;
}
.progress-info[data-v-dc9275fd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.progress-info .progress-label[data-v-dc9275fd] {
  font-size: 14px;
  color: var(--text);
}
.progress-info .progress-percent[data-v-dc9275fd] {
  font-size: 24px;
  font-weight: 600;
  color: var(--theme-color);
}
.progress-bar[data-v-dc9275fd] {
  height: 8px;
  background: var(--hover);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 20px;
}
.progress-bar .progress-fill[data-v-dc9275fd] {
  height: 100%;
  background: var(--theme-color);
  transition: width 0.3s ease;
}
.upload-details[data-v-dc9275fd] {
  display: flex;
  gap: 20px;
}
.upload-details .detail-item[data-v-dc9275fd] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.upload-details .detail-item .detail-label[data-v-dc9275fd] {
  font-size: 12px;
  color: var(--text-secondary);
}
.upload-details .detail-item .detail-value[data-v-dc9275fd] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.upload-footer[data-v-dc9275fd] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid var(--border);
}
.btn[data-v-dc9275fd] {
  padding: 8px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
}
.btn.btn-secondary[data-v-dc9275fd] {
  background: var(--hover);
  color: var(--text);
}
.btn.btn-secondary[data-v-dc9275fd]:hover {
  background: var(--hover-b);
}
.btn.btn-danger[data-v-dc9275fd] {
  background: #ff4d4f;
  color: white;
}
.btn.btn-danger[data-v-dc9275fd]:hover {
  background: #ff7875;
}
.init-wizard[data-v-ab3a2e80] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: url('https://img.null123.com/image/202606/13-9542464deaac487489f0ba40a00bedab.jpeg') center center / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.wizard-container[data-v-ab3a2e80] {
  width: 96%;
  max-width: 600px;
  padding: 40px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 20px;
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* 进度指示器 */
.progress-indicator[data-v-ab3a2e80] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.step[data-v-ab3a2e80] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.step-number[data-v-ab3a2e80] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  transition: all 0.3s ease;
}
.step.active .step-number[data-v-ab3a2e80] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  color: white;
}
.step.completed .step-number[data-v-ab3a2e80] {
  background: #10b981;
  border-color: #10b981;
  color: white;
}
.step-label[data-v-ab3a2e80] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
}
.step.active .step-label[data-v-ab3a2e80] {
  color: white;
}
.step-line[data-v-ab3a2e80] {
  width: 100px;
  height: 2px;
  background: rgba(255, 255, 255, 0.2);
  margin: 0 20px;
  margin-bottom: 28px;
  transition: background 0.3s ease;
}
.step-line.active[data-v-ab3a2e80] {
  background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
}

/* 步骤内容 */
.step-content[data-v-ab3a2e80] {
  min-height: 280px;
}
.step-content.compact[data-v-ab3a2e80] {
  min-height: auto;
}
.step-title[data-v-ab3a2e80] {
  font-size: 22px;
  font-weight: 600;
  color: white;
  margin-bottom: 6px;
  text-align: center;
}
.step-desc[data-v-ab3a2e80] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
  margin-bottom: 24px;
}

/* 表单样式 */
.form-group[data-v-ab3a2e80] {
  margin-bottom: 20px;
}
.form-label[data-v-ab3a2e80] {
  display: block;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 8px;
}
.form-label.required[data-v-ab3a2e80]::after {
  content: ' *';
  color: #ef4444;
}
.form-input[data-v-ab3a2e80],
.form-select[data-v-ab3a2e80] {
  width: 100%;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  font-size: 14px;
  color: white;
  transition: all 0.3s ease;
}
.form-input[data-v-ab3a2e80]::placeholder {
  color: rgba(255, 255, 255, 0.4);
}
.form-input[data-v-ab3a2e80]:focus,
.form-select[data-v-ab3a2e80]:focus {
  outline: none;
  border-color: #667eea;
  background: rgba(255, 255, 255, 0.12);
}
.form-select option[data-v-ab3a2e80] {
  background: #1a1a2e;
  color: white;
}

/* 偏好设置 */
.preference-section[data-v-ab3a2e80] {
  margin-bottom: 20px;
}
.section-title[data-v-ab3a2e80] {
  font-size: 14px;
  font-weight: 500;
  color: white;
  margin-bottom: 12px;
}
.theme-options[data-v-ab3a2e80] {
  display: flex;
  gap: 12px;
}
.theme-option[data-v-ab3a2e80] {
  flex: 1;
  padding: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
}
.theme-option[data-v-ab3a2e80]:hover {
  border-color: rgba(255, 255, 255, 0.3);
}
.theme-option.active[data-v-ab3a2e80] {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.1);
}
.theme-preview[data-v-ab3a2e80] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  margin: 0 auto 8px;
}
.theme-preview.dark[data-v-ab3a2e80] {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.theme-preview.light[data-v-ab3a2e80] {
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}
.theme-option span[data-v-ab3a2e80] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
}
.layout-options[data-v-ab3a2e80] {
  display: flex;
  gap: 10px;
}
.layout-option[data-v-ab3a2e80] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.layout-option[data-v-ab3a2e80]:hover {
  border-color: rgba(255, 255, 255, 0.3);
}
.layout-option.active[data-v-ab3a2e80] {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.1);
}
.layout-icon[data-v-ab3a2e80] {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  font-size: 18px;
  color: white;
  flex-shrink: 0;
}
.layout-info[data-v-ab3a2e80] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.layout-name[data-v-ab3a2e80] {
  font-size: 13px;
  font-weight: 500;
  color: white;
}
.layout-desc[data-v-ab3a2e80] {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
}

/* 操作按钮 */
.wizard-actions[data-v-ab3a2e80] {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.action-spacer[data-v-ab3a2e80] {
  flex: 1;
}
.btn[data-v-ab3a2e80] {
  padding: 10px 28px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-secondary[data-v-ab3a2e80] {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: white;
}
.btn-secondary[data-v-ab3a2e80]:hover {
  background: rgba(255, 255, 255, 0.15);
}
.btn-primary[data-v-ab3a2e80] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  color: white;
}
.btn-primary[data-v-ab3a2e80]:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.btn-primary[data-v-ab3a2e80]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.loading-screen[data-v-edc7f9be] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
}
.loading-content[data-v-edc7f9be] {
  text-align: center;
}
.loading-logo[data-v-edc7f9be] {
  position: relative;
  width: 80px;
  height: 80px;
  margin: 0 auto 30px;
}
.logo-circle[data-v-edc7f9be] {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 3px solid transparent;
  border-top-color: #667eea;
  border-radius: 50%;
  animation: spin-edc7f9be 1s linear infinite;
}
.logo-inner[data-v-edc7f9be] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border: 3px solid transparent;
  border-top-color: #764ba2;
  border-radius: 50%;
  animation: spin-edc7f9be 0.8s linear infinite reverse;
}
@keyframes spin-edc7f9be {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.loading-text[data-v-edc7f9be] {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 24px;
  letter-spacing: 1px;
}
.loading-bar[data-v-edc7f9be] {
  width: 200px;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
  margin: 0 auto;
}
.loading-progress[data-v-edc7f9be] {
  width: 30%;
  height: 100%;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 2px;
  animation: loading-edc7f9be 1.5s ease-in-out infinite;
}
@keyframes loading-edc7f9be {
0% {
    transform: translateX(-100%);
}
50% {
    transform: translateX(200%);
}
100% {
    transform: translateX(-100%);
}
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
#windows-12-os {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}
.notification-group {
  z-index: 99999 !important;
}
.notification-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
.notification-content {
  padding: 6px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  max-width: 400px;
  text-align: center;
  line-height: 1.5;
}
.notification-content.success {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.95), rgba(22, 163, 74, 0.95));
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.notification-content.error {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.95), rgba(220, 38, 38, 0.95));
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.notification-content.warn {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.95), rgba(217, 119, 6, 0.95));
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.notification-content.info {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.95), rgba(37, 99, 235, 0.95));
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.custom-notification {
  margin: 10px;
  animation: notification-slide-in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.custom-notification.leaving {
  animation: notification-slide-out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}
@keyframes notification-slide-in {
0% {
    opacity: 0;
    transform: scale(0.3) translateY(-100px);
}
50% {
    opacity: 1;
    transform: scale(1.05) translateY(0);
}
70% {
    transform: scale(0.95);
}
100% {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}
@keyframes notification-slide-out {
0% {
    opacity: 1;
    transform: scale(1) translateY(0);
}
30% {
    transform: scale(1.05);
}
100% {
    opacity: 0;
    transform: scale(0.3) translateY(100px);
}
}
.notification-title {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 4px;
}
.notification-text {
  font-size: 13px;
  opacity: 0.95;
}

.form-file-upload-wrapper[data-v-4cdd5839] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.form-label[data-v-4cdd5839] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
}
.required-mark[data-v-4cdd5839] {
  color: var(--error-color);
}
.upload-area[data-v-4cdd5839] {
  border: 2px dashed var(--border-color);
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
}
.upload-area[data-v-4cdd5839]:hover {
  border-color: var(--primary-color);
}
.upload-placeholder[data-v-4cdd5839] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.upload-placeholder svg[data-v-4cdd5839] {
  color: var(--text-secondary);
}
.file-list[data-v-4cdd5839] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.file-item[data-v-4cdd5839] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px;
  background: var(--item-bg);
  border-radius: 4px;
}
.file-name[data-v-4cdd5839] {
  font-size: 14px;
  color: var(--text-color);
}
.remove-btn[data-v-4cdd5839] {
  background: none;
  border: none;
  color: var(--error-color);
  cursor: pointer;
  font-size: 18px;
  padding: 0 4px;
}
.error-message[data-v-4cdd5839] {
  font-size: 12px;
  color: var(--error-color);
}
.file-preview-img[data-v-4cdd5839] {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 4px;
  margin-right: 8px;
}
.file-icon[data-v-4cdd5839] {
  font-size: 32px;
  margin-right: 8px;
}

.form-image-upload-wrapper[data-v-76f63424] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.form-label[data-v-76f63424] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
}
.required-mark[data-v-76f63424] {
  color: var(--error-color);
}
.upload-area[data-v-76f63424] {
  border: 2px dashed var(--border-color);
  border-radius: 12px;
  padding: 15px 0;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  background: var(--input-bg);
  position: relative;
}
.upload-area[data-v-76f63424]:hover,.upload-area.drag-over[data-v-76f63424]{
  border-color: var(--primary-color);
  background: var(--hover-bg);
}
.upload-placeholder[data-v-76f63424] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
}
.upload-icon[data-v-76f63424] {
  font-size: 40px;
  color: var(--text-secondary);
}
.upload-main-text[data-v-76f63424] {
  font-size: 16px;
  font-weight: bold;
  color: var(--text-color);
  margin-bottom: 2px;
}
.upload-sub-text[data-v-76f63424] {
  font-size: 13px;
  color: var(--text-color);
}
.image-list[data-v-76f63424] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}
.image-item[data-v-76f63424] {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--item-bg);
  border-radius: 4px;
  padding: 8px;
  position: relative;
  width: 100px;
}
.image-preview[data-v-76f63424] {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 4px;
  margin-bottom: 4px;
  background: var(--item-bg);
}
.image-name[data-v-76f63424] {
  font-size: 12px;
  color: var(--text-color);
  word-break: break-all;
  text-align: center;
}
.remove-btn[data-v-76f63424] {
  position: absolute;
  top: 2px;
  right: 2px;
  background: none;
  border: none;
  color: var(--error-color);
  cursor: pointer;
  font-size: 18px;
  padding: 0 4px;
}
.error-message[data-v-76f63424] {
  font-size: 12px;
  color: var(--error-color);
}

.form-date-wrapper[data-v-18298c55] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-label[data-v-18298c55] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.4;
}
.required-mark[data-v-18298c55] {
  color: var(--error-color);
  font-weight: 600;
}
.date-container[data-v-18298c55] {
  position: relative;
  display: flex;
  align-items: center;
}
.form-date[data-v-18298c55] {
  width: 100%;
  padding: 10px 40px 10px 12px;
  border: 1.5px solid var(--border-color);
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  background: var(--input-bg);
  color: var(--text-color);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: inherit;
}
.form-date[data-v-18298c55]:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb, 0, 123, 255), 0.1);
  background: var(--input-bg);
}
.form-date[data-v-18298c55]:hover:not(:disabled):not(:readonly) {
  border-color: var(--border-hover, #cbd5e0);
  background: var(--input-hover-bg, #f8f9fa);
}
.form-date--error[data-v-18298c55] {
  border-color: var(--error-color);
  background: var(--error-bg, #fef2f2);
}
.form-date--error[data-v-18298c55]:focus {
  border-color: var(--error-color);
  box-shadow: 0 0 0 3px rgba(var(--error-color-rgb, 220, 53, 69), 0.1);
}
.form-date--disabled[data-v-18298c55] {
  background: var(--disabled-bg, #f8f9fa);
  color: var(--disabled-text, #6c757d);
  cursor: not-allowed;
  opacity: 0.6;
  border-color: var(--disabled-border, #e9ecef);
}
.form-date--readonly[data-v-18298c55] {
  background: var(--readonly-bg, #f8f9fa);
  cursor: default;
  border-color: var(--readonly-border, #e9ecef);
}
.date-icon[data-v-18298c55] {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--text-secondary, #6c757d);
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  background: transparent;
}
.date-icon[data-v-18298c55]:hover {
  background: var(--hover-bg, rgba(0, 0, 0, 0.05));
  color: var(--text-color);
  transform: translateY(-50%) scale(1.05);
}
.date-icon[data-v-18298c55]:active {
  transform: translateY(-50%) scale(0.95);
}
.date-icon svg[data-v-18298c55] {
  width: 18px;
  height: 18px;
  transition: transform 0.2s ease;
}
.date-icon:hover svg[data-v-18298c55] {
  transform: scale(1.1);
}

/* 尺寸变体 */
.form-date--small[data-v-18298c55] {
  padding: 8px 36px 8px 10px;
  font-size: 13px;
  border-radius: 6px;
}
.form-date--large[data-v-18298c55] {
  padding: 12px 44px 12px 16px;
  font-size: 16px;
  border-radius: 10px;
}

/* 图标尺寸适配 */
.date-container .form-date--small + .date-icon[data-v-18298c55] {
  width: 28px;
  height: 28px;
}
.date-container .form-date--small + .date-icon svg[data-v-18298c55] {
  width: 16px;
  height: 16px;
}
.date-container .form-date--large + .date-icon[data-v-18298c55] {
  width: 36px;
  height: 36px;
}
.date-container .form-date--large + .date-icon svg[data-v-18298c55] {
  width: 20px;
  height: 20px;
}

/* 变体样式 */
.form-date--outlined[data-v-18298c55] {
  background: transparent;
  border-width: 2px;
}
.form-date--outlined[data-v-18298c55]:focus {
  background: var(--input-bg);
}
.form-date--filled[data-v-18298c55] {
  background: var(--input-filled-bg, #f8f9fa);
  border-color: transparent;
}
.form-date--filled[data-v-18298c55]:focus {
  background: var(--input-bg);
  border-color: var(--primary-color);
}

/* 错误信息 */
.error-message[data-v-18298c55] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--error-color);
  padding: 4px 0;
  margin-top: 2px;
}
.error-message svg[data-v-18298c55] {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

/* 提示文本 */
.hint-text[data-v-18298c55] {
  font-size: 12px;
  color: var(--text-secondary, #6c757d);
  padding: 4px 0;
  margin-top: 2px;
  line-height: 1.4;
}

/* 响应式设计 */
@media (max-width: 768px) {
.form-date[data-v-18298c55] {
    font-size: 16px; /* 防止iOS缩放 */
    padding: 12px 44px 12px 16px;
}
.date-icon[data-v-18298c55] {
    width: 36px;
    height: 36px;
}
.date-icon svg[data-v-18298c55] {
    width: 20px;
    height: 20px;
}
}

/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
.form-date[data-v-18298c55] {
    background: var(--input-bg-dark, #2d3748);
    border-color: var(--border-color-dark, #4a5568);
    color: var(--text-color-dark, #e2e8f0);
}
.form-date[data-v-18298c55]:hover:not(:disabled):not(:readonly) {
    background: var(--input-hover-bg-dark, #4a5568);
    border-color: var(--border-hover-dark, #718096);
}
.form-date[data-v-18298c55]:focus {
    background: var(--input-bg-dark, #2d3748);
    border-color: var(--primary-color);
}
.date-icon[data-v-18298c55] {
    color: var(--text-secondary-dark, #a0aec0);
}
.date-icon[data-v-18298c55]:hover {
    background: var(--hover-bg-dark, rgba(255, 255, 255, 0.1));
    color: var(--text-color-dark, #e2e8f0);
}
}

.form-textarea-wrapper[data-v-712484a9] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  height: 100%;
}
.form-label[data-v-712484a9] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.4;
}
.required-mark[data-v-712484a9] {
  color: var(--error-color);
  font-weight: 600;
}
.textarea-container[data-v-712484a9] {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.form-textarea[data-v-712484a9] {
  width: 100%;
  height: 100%;
  border: 1.5px solid var(--border-color);
  border-radius: 8px;
  background: var(--input-bg);
  color: var(--text-color);
  font-size: 14px;
  line-height: 1.5;
  font-family: inherit;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  resize: vertical;
  min-height: var(--min-height-pc, 65vh);
  word-break: break-all;
}
.form-textarea[data-v-712484a9]:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb, 0, 123, 255), 0.1);
  background: var(--input-bg);
}
.form-textarea[data-v-712484a9]:hover:not(:disabled):not(:readonly) {
  border-color: var(--border-hover, #cbd5e0);
  background: var(--input-hover-bg, #f8f9fa);
}
.form-textarea--error[data-v-712484a9] {
  border-color: var(--error-color);
  background: var(--error-bg, #fef2f2);
}
.form-textarea--error[data-v-712484a9]:focus {
  border-color: var(--error-color);
  box-shadow: 0 0 0 3px rgba(var(--error-color-rgb, 220, 53, 69), 0.1);
}
.form-textarea--disabled[data-v-712484a9] {
  background: var(--disabled-bg, #f8f9fa);
  color: var(--disabled-text, #6c757d);
  cursor: not-allowed;
  opacity: 0.6;
  border-color: var(--disabled-border, #e9ecef);
}
.form-textarea--readonly[data-v-712484a9] {
  background: var(--readonly-bg, #f8f9fa);
  cursor: default;
  border-color: var(--readonly-border, #e9ecef);
  color: var(--text-color);
  opacity: 0.8;
  position: relative;
}
.form-textarea--readonly[data-v-712484a9]:hover {
  background: var(--readonly-bg, #f8f9fa);
  border-color: var(--readonly-border, #e9ecef);
}
.form-textarea--readonly[data-v-712484a9]:focus {
  background: var(--readonly-bg, #f8f9fa);
  border-color: var(--readonly-border, #e9ecef);
  box-shadow: none;
}
.form-textarea--small[data-v-712484a9] {
  padding: 8px 12px;
  font-size: 13px;
  border-radius: 6px;
}
.form-textarea--medium[data-v-712484a9] {
  padding: 12px 16px;
  font-size: 14px;
  border-radius: 8px;
}
.form-textarea--large[data-v-712484a9] {
  padding: 16px 20px;
  font-size: 16px;
  border-radius: 10px;
}
.form-textarea--resize-none[data-v-712484a9] {
  resize: none;
}
.form-textarea--resize-vertical[data-v-712484a9] {
  resize: vertical;
}
.form-textarea--resize-horizontal[data-v-712484a9] {
  resize: horizontal;
}
.form-textarea--resize-both[data-v-712484a9] {
  resize: both;
}
.form-textarea--outlined[data-v-712484a9] {
  background: transparent;
  border-width: 2px;
}
.form-textarea--outlined[data-v-712484a9]:focus {
  background: var(--input-bg);
}
.form-textarea--filled[data-v-712484a9] {
  background: var(--input-filled-bg, #f8f9fa);
  border-color: transparent;
}
.form-textarea--filled[data-v-712484a9]:focus {
  background: var(--input-bg);
  border-color: var(--primary-color);
}
.character-count[data-v-712484a9] {
  position: absolute;
  bottom: 8px;
  right: 12px;
  font-size: 12px;
  color: var(--text-secondary, #6c757d);
  background: var(--input-bg);
  padding: 2px 6px;
  border-radius: 4px;
  pointer-events: none;
}
.form-textarea--small + .character-count[data-v-712484a9] {
  bottom: 6px;
  right: 10px;
  font-size: 11px;
}
.form-textarea--large + .character-count[data-v-712484a9] {
  bottom: 12px;
  right: 16px;
  font-size: 13px;
}
.error-message[data-v-712484a9] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--error-color);
  padding: 4px 0;
  margin-top: 2px;
}
.error-message svg[data-v-712484a9] {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}
.hint-text[data-v-712484a9] {
  font-size: 12px;
  color: var(--text-secondary, #6c757d);
  padding: 4px 0;
  margin-top: 2px;
  line-height: 1.4;
}
@media (max-width: 768px) {
.form-textarea[data-v-712484a9] {
    font-size: 16px;
    min-height: var(--min-height-mobile, 30vh) !important;
}
}
@media (prefers-color-scheme: dark) {
.form-textarea[data-v-712484a9] {
    background: var(--input-bg-dark, #2d3748);
    border-color: var(--border-color-dark, #4a5568);
    color: var(--text-color-dark, #e2e8f0);
}
.form-textarea[data-v-712484a9]:hover:not(:disabled):not(:readonly) {
    background: var(--input-hover-bg-dark, #4a5568);
    border-color: var(--border-hover-dark, #718096);
}
.form-textarea[data-v-712484a9]:focus {
    background: var(--input-bg-dark, #2d3748);
    border-color: var(--primary-color);
}
.form-textarea--readonly[data-v-712484a9] {
    background: var(--readonly-bg-dark, #1a202c);
    border-color: var(--readonly-border-dark, #2d3748);
    color: var(--readonly-text-dark, #a0aec0);
    opacity: 0.9;
}
.form-textarea--readonly[data-v-712484a9]:hover {
    background: var(--readonly-bg-dark, #1a202c);
    border-color: var(--readonly-border-dark, #2d3748);
}
.form-textarea--readonly[data-v-712484a9]:focus {
    background: var(--readonly-bg-dark, #1a202c);
    border-color: var(--readonly-border-dark, #2d3748);
    box-shadow: none;
}
.character-count[data-v-712484a9] {
    background: var(--input-bg-dark, #2d3748);
    color: var(--text-secondary-dark, #a0aec0);
}
}
pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em
}
code.hljs {
  padding: 3px 5px
}
/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/
.hljs {
  color: #24292e;
  background: #ffffff
}
.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
  /* prettylights-syntax-keyword */
  color: #d73a49
}
.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
  /* prettylights-syntax-entity */
  color: #6f42c1
}
.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-variable,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id {
  /* prettylights-syntax-constant */
  color: #005cc5
}
.hljs-regexp,
.hljs-string,
.hljs-meta .hljs-string {
  /* prettylights-syntax-string */
  color: #032f62
}
.hljs-built_in,
.hljs-symbol {
  /* prettylights-syntax-variable */
  color: #e36209
}
.hljs-comment,
.hljs-code,
.hljs-formula {
  /* prettylights-syntax-comment */
  color: #6a737d
}
.hljs-name,
.hljs-quote,
.hljs-selector-tag,
.hljs-selector-pseudo {
  /* prettylights-syntax-entity-tag */
  color: #22863a
}
.hljs-subst {
  /* prettylights-syntax-storage-modifier-import */
  color: #24292e
}
.hljs-section {
  /* prettylights-syntax-markup-heading */
  color: #005cc5;
  font-weight: bold
}
.hljs-bullet {
  /* prettylights-syntax-markup-list */
  color: #735c0f
}
.hljs-emphasis {
  /* prettylights-syntax-markup-italic */
  color: #24292e;
  font-style: italic
}
.hljs-strong {
  /* prettylights-syntax-markup-bold */
  color: #24292e;
  font-weight: bold
}
.hljs-addition {
  /* prettylights-syntax-markup-inserted */
  color: #22863a;
  background-color: #f0fff4
}
.hljs-deletion {
  /* prettylights-syntax-markup-deleted */
  color: #b31d28;
  background-color: #ffeef0
}
.hljs-char.escape_,
.hljs-link,
.hljs-params,
.hljs-property,
.hljs-punctuation,
.hljs-tag {
  /* purposely ignored */
  
}
.form-code-wrapper[data-v-cdcf413a] {
  border: 1.5px solid var(--border-color);
  border-radius: 8px;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: var(--input-bg);
  font-size: 14px;
}
.form-label[data-v-cdcf413a] {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 4px;
}
.required-mark[data-v-cdcf413a] { color: var(--error-color); font-weight: bold;
}
.code-toolbar[data-v-cdcf413a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 主题轻/暗适配（依赖全局主题变量） */
.form-code--dark[data-v-cdcf413a] pre {
  background: #0b1020;
}
.hint-text[data-v-cdcf413a] { font-size: 12px; color: var(--text-secondary);
}
.error-message[data-v-cdcf413a] { font-size: 12px; color: var(--error-color);
}

/* 保持与其它表单组件一致的圆角和边框 */
[data-v-cdcf413a] pre {
  background: var(--input-bg);
  height: 100%;
  margin-block: 0;
}
[data-v-cdcf413a] pre .hljs {
  background: var(--input-bg);
  padding: 0 1em;
  overflow: unset;
}
[data-v-cdcf413a] pre .hljs.placeholder-text {
  color: var(--text-secondary, #6c757d);
  font-style: italic;
}
