/* 使用国内镜像加载字体,避免 Google Fonts 访问超时 */ @import url('https://fonts.loli.net/css2?family=Noto+Serif+SC:wght@300;600&family=Noto+Sans+SC:wght@300;400;500&display=swap'); @import "tailwindcss"; :root { --glass-bg: rgba(15, 17, 26, 0.4); --glass-border: rgba(255, 255, 255, 0.08); --accent-orange: #FFAB91; --accent-blue: #81D4FA; --card-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.5); } * { box-sizing: border-box; } body { font-family: 'Noto Sans SC', sans-serif; -webkit-font-smoothing: antialiased; color: #e2e8f0; background-color: #0a0c10; margin: 0; padding: 0; overflow-x: hidden; } .font-serif { font-family: 'Noto Serif SC', serif; } /* Advanced Glassmorphism */ .glass-card { background: var(--glass-bg); backdrop-filter: blur(25px) saturate(180%); -webkit-backdrop-filter: blur(25px) saturate(180%); border: 1px solid var(--glass-border); border-radius: 32px; box-shadow: var(--card-shadow); } .glass-btn { background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.05); transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; } .glass-btn:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); transform: translateY(-2px); } .glass-btn:active { transform: scale(0.98); } .glass-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; } .glass-input { background: rgba(0, 0, 0, 0.2); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 16px; padding: 14px 20px; color: white; outline: none; transition: all 0.3s ease; width: 100%; } .glass-input:focus { border-color: var(--accent-orange); background: rgba(255, 255, 255, 0.03); box-shadow: 0 0 20px rgba(255, 171, 145, 0.1); } .glass-input::placeholder { color: rgba(255, 255, 255, 0.3); } /* 日期输入框样式优化 */ input[type="date"].glass-input { cursor: pointer; position: relative; } input[type="date"].glass-input::-webkit-calendar-picker-indicator { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; background: transparent; } input[type="date"].glass-input::-webkit-datetime-edit { color: white; } input[type="date"].glass-input::-webkit-datetime-edit-fields-wrapper { padding: 0; } /* Animations */ @keyframes float { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(5%, 5%) scale(1.1); } } @keyframes float-delayed { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-5%, -5%) scale(1.1); } } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @keyframes fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .animate-float { animation: float 15s infinite ease-in-out; } .animate-float-delayed { animation: float-delayed 20s infinite ease-in-out; } .animate-spin { animation: spin 1s linear infinite; } .animate-fade-in { animation: fade-in 0.5s ease-out forwards; } /* Timeline UI */ .timeline-dot { width: 12px; height: 12px; border: 2px solid var(--accent-orange); background: #0a0c10; box-shadow: 0 0 10px var(--accent-orange); border-radius: 50%; } .timeline-line { position: absolute; left: 21px; top: 0; bottom: 0; width: 1px; background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.1) 15%, rgba(255, 255, 255, 0.1) 85%, transparent); } /* Scrollbar Refinement */ .custom-scrollbar::-webkit-scrollbar { width: 4px; } .custom-scrollbar::-webkit-scrollbar-track { background: transparent; } .custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.08); border-radius: 10px; } .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.15); } /* Prompt Tag */ .prompt-tag { display: inline-block; padding: 6px 16px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 99px; font-size: 0.75rem; cursor: pointer; transition: all 0.3s; user-select: none; white-space: nowrap; } .prompt-tag:hover { background: var(--accent-orange); color: #000; border-color: var(--accent-orange); } /* Sidebar Active State */ .nav-item.active { background: rgba(255, 171, 145, 0.08); border-color: rgba(255, 171, 145, 0.2); color: var(--accent-orange) !important; } /* AI Glow Effect */ .ai-glow-card { background: linear-gradient(145deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.05) 100%); border-left: 2px solid var(--accent-orange); box-shadow: inset 0 0 20px rgba(255, 171, 145, 0.05); } /* Responsive Form Adjustments */ @media (max-width: 768px) { .view-container { height: 95vh !important; border-radius: 0 !important; } .glass-card { border-radius: 20px; } .nav-item span { display: none; } .nav-item i { margin-right: 0 !important; } /* 移动端侧边栏调整 */ .sidebar-nav { padding: 1rem; } /* 移动端内容区调整 */ .content-area { padding: 1rem; } /* 移动端头部调整 */ header h1 { font-size: 1rem; } /* 移动端表单调整 */ .form-grid { grid-template-columns: 1fr; } } /* 小屏幕设备 */ @media (max-width: 480px) { .glass-card { border-radius: 16px; padding: 1rem; } .glass-input { padding: 12px 16px; font-size: 14px; } .glass-btn { padding: 12px 20px; font-size: 14px; } }