/* Common Styles for DAEL Lab Website */ body { font-family: 'Inter', 'Noto Sans SC', sans-serif; background-color: #ffffff; color: #1a1a1a; overflow-x: hidden; } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #a8a8a8; } /* Navigation Link Animation */ .nav-link { position: relative; } .nav-link::after { content: ''; position: absolute; width: 0; height: 1px; bottom: -2px; left: 0; background-color: #000; transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; } /* Fade In Up Animation */ .fade-in-up { animation: fadeInUp 0.8s ease-out forwards; opacity: 0; transform: translateY(20px); } @keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } } .delay-100 { animation-delay: 0.1s; } .delay-200 { animation-delay: 0.2s; } .delay-300 { animation-delay: 0.3s; } .delay-400 { animation-delay: 0.4s; } /* Canvas container */ #canvas-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; opacity: 0.6; pointer-events: none; } /* News Card Styles */ .news-card { transition: transform 0.3s ease, box-shadow 0.3s ease; } .news-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } /* Search Box */ .search-box { position: relative; } .search-results { position: absolute; top: 100%; left: 0; right: 0; background: white; border: 1px solid #e5e7eb; border-radius: 8px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); max-height: 400px; overflow-y: auto; z-index: 100; display: none; } .search-results.active { display: block; } .search-result-item { padding: 12px 16px; border-bottom: 1px solid #f3f4f6; cursor: pointer; transition: background-color 0.2s; } .search-result-item:hover { background-color: #f9fafb; } .search-result-item:last-child { border-bottom: none; } /* Login Form */ .login-form { max-width: 400px; margin: 0 auto; } .form-input { width: 100%; padding: 12px 16px; border: 1px solid #e5e7eb; border-radius: 4px; font-size: 14px; transition: border-color 0.3s; } .form-input:focus { outline: none; border-color: #000; } /* Protected Content */ .protected-content { opacity: 0.5; pointer-events: none; position: relative; } .protected-content::after { content: '登录后查看'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0, 0, 0, 0.8); color: white; padding: 8px 16px; border-radius: 4px; font-size: 12px; white-space: nowrap; } /* Page Transition */ .page-transition { animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* Stats Counter */ .stats-counter { font-variant-numeric: tabular-nums; }