@tailwind base; @tailwind components; @tailwind utilities; /* 自定义滚动条样式 */ .scrollbar-thin { scrollbar-width: thin; } .scrollbar-thin::-webkit-scrollbar { width: 6px; height: 6px; } .scrollbar-track-gray-800\/50::-webkit-scrollbar-track { background: rgba(31, 41, 55, 0.5); border-radius: 3px; } .scrollbar-thumb-cyan-500\/70::-webkit-scrollbar-thumb { background: rgba(6, 182, 212, 0.7); border-radius: 3px; } .scrollbar-thumb-cyan-500\/70:hover::-webkit-scrollbar-thumb, .hover\:scrollbar-thumb-cyan-400\/90:hover::-webkit-scrollbar-thumb { background: rgba(34, 211, 238, 0.9); } .scrollbar-thumb-purple-500\/70::-webkit-scrollbar-thumb { background: rgba(168, 85, 247, 0.7); border-radius: 3px; } .scrollbar-thumb-purple-500\/70:hover::-webkit-scrollbar-thumb, .hover\:scrollbar-thumb-purple-400\/90:hover::-webkit-scrollbar-thumb { background: rgba(196, 125, 255, 0.9); } .scrollbar-thumb-blue-500\/70::-webkit-scrollbar-thumb { background: rgba(59, 130, 246, 0.7); border-radius: 3px; } .scrollbar-thumb-blue-500\/70:hover::-webkit-scrollbar-thumb, .hover\:scrollbar-thumb-blue-400\/90:hover::-webkit-scrollbar-thumb { background: rgba(96, 165, 250, 0.9); } *, *:after, *:before { box-sizing: border-box; } :root { --foreground-rgb: 0, 0, 0; --background-start-rgb: 214, 219, 220; --background-end-rgb: 255, 255, 255; --ui-hoverable: #a5b4c7; --text-secondary: #a0aec0; --text-primary: #fff; --ui-level1-layerbase: #131416; /* 3dwave */ --index: calc(1vh + 1vw); --transition: cubic-bezier(0.1, 0.7, 0, 1); --gradient-color: linear-gradient(120deg, rgb(79, 222, 255, 0.75) -1%, rgb(230, 117, 255, 0.75) 100%); } @media (prefers-color-scheme: dark) { :root { --foreground-rgb: 255, 255, 255; --background-start-rgb: 0, 0, 0; --background-end-rgb: 0, 0, 0; } } @layer base { :root { --background: 0 0% 0%; --foreground: 0 0% 98%; --card: 0 0% 3.9%; --card-foreground: 0 0% 98%; --popover: 0 0% 3.9%; --popover-foreground: 0 0% 98%; --primary: 0 0% 98%; --primary-foreground: 0 0% 9%; --secondary: 0 0% 14.9%; --secondary-foreground: 0 0% 98%; --muted: 0 0% 14.9%; --muted-foreground: 0 0% 63.9%; --accent: 0 0% 14.9%; --accent-foreground: 0 0% 98%; /* 自定义渐变色变量 */ --custom-blue: 186 100% 70%; /* rgb(106, 244, 249) */ --custom-purple: 280 100% 62%; /* rgb(199, 59, 255) */ --custom-blue-rgb: 106, 244, 249; --custom-purple-rgb: 199, 59, 255; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; --border: 0 0% 14.9%; --input: 0 0% 14.9%; --ring: 0 0% 83.1%; --chart-1: 220 70% 50%; --chart-2: 160 60% 45%; --chart-3: 30 80% 55%; --chart-4: 280 65% 60%; --chart-5: 340 75% 55%; --radius: 0.5rem; } .light { --background: 0 0% 0%; --foreground: 0 0% 98%; --card: 0 0% 3.9%; --card-foreground: 0 0% 98%; --popover: 0 0% 3.9%; --popover-foreground: 0 0% 98%; --primary: 0 0% 98%; --primary-foreground: 0 0% 9%; --secondary: 0 0% 14.9%; --secondary-foreground: 0 0% 98%; --muted: 0 0% 14.9%; --muted-foreground: 0 0% 63.9%; --accent: 0 0% 14.9%; --accent-foreground: 0 0% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; --border: 0 0% 14.9%; --input: 0 0% 14.9%; --ring: 0 0% 83.1%; --chart-1: 220 70% 50%; --chart-2: 160 60% 45%; --chart-3: 30 80% 55%; --chart-4: 280 65% 60%; --chart-5: 340 75% 55%; } } body { height: 100vh; overflow: hidden; /* background: radial-gradient(circle at 50% 0, rgba(255, 0, 0, 0.4), rgba(255, 0, 0, 0) 70.71%), radial-gradient(circle at 6.7% 75%, rgba(0, 0, 255, 0.4), rgba(0, 0, 255, 0) 70.71%), radial-gradient(circle at 93.3% 75%, rgba(0, 0, 255, 0.4), rgba(0, 0, 255, 0) 70.71%) beige !important; */ background: #000000 !important; /* background-image: url('https://picsum.photos/1200/1200'); background-size: cover; background-position: center; background-repeat: no-repeat; */ } .hide-scrollbar::-webkit-scrollbar { display: none !important; } *::-webkit-scrollbar { display: none !important; } @layer base { * { @apply border-border; } body { @apply text-foreground; } } .button-NxtqWZ { color: var(--ui-hoverable) !important; cursor: pointer; background-color: #0000; border: none; border-radius: 8px; padding: 8px; } .button-NxtqWZ:hover { background-color: #2f3237 !important; } .bg-muted { width: 100%; } .focus-visible\:outline-none:focus-visible { outline: none !important; outline-offset: 0 !important; box-shadow: none !important; } /* Tiptap 编辑器焦点样式覆盖 */ .ProseMirror:focus, .ProseMirror:focus-visible, .ProseMirror-focused { outline: none !important; border: none !important; box-shadow: none !important; } .ProseMirror { outline: none !important; border: none !important; box-shadow: none !important; } /* 确保编辑器内容区域没有默认样式 */ .ProseMirror p { margin: 0; padding: 0; } .ProseMirror p.is-editor-empty:first-child::before { color: rgba(255, 255, 255, 0.4); content: attr(data-placeholder); float: left; height: 0; pointer-events: none; } .ant-spin-nested-loading .ant-spin { max-height: none !important; } /* 任务展开动画 */ @keyframes fade-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-in { animation: fade-in 0.2s ease-out forwards; } .ant-notification-notice-wrapper { background: transparent !important; } .ant-switch.ant-switch-checked { background: rgb(146 78 173 / 0.8); } .ant-switch.ant-switch-checked:hover { background: rgb(146 78 173) !important; } .language-dropdown li { padding: unset !important; margin: 0.25rem !important; } /* 安全区域变量定义 */ :root { --sat: env(safe-area-inset-top, 0px); --sar: env(safe-area-inset-right, 0px); --sab: env(safe-area-inset-bottom, 0px); --sal: env(safe-area-inset-left, 0px); } /* 移动端适配:使用 dvh 动态视口高度 */ @supports (height: 100dvh) { body { height: 100dvh; } } /* 移动端安全区域处理 */ @media (max-width: 768px) { body { /* 使用动态视口高度,考虑移动端浏览器地址栏 */ height: 100dvh; height: calc(var(--vh, 1vh) * 100); padding-bottom: env(safe-area-inset-bottom); } } /* 针对移动端底部导航栏/状态栏的特殊处理 */ @media (max-width: 768px) and (display-mode: browser) { .mobile-safe-bottom { padding-bottom: max(1rem, env(safe-area-inset-bottom)); margin-bottom: max(1rem, env(safe-area-inset-bottom)); } .mobile-viewport-height { height: 100dvh; height: calc(var(--vh, 1vh) * 100); } }