* { -webkit-font-smoothing: antialiased; }
body { font-family: 'Noto Sans TC', 'Inter', sans-serif; background-color: #09090b; color: #f4f4f5; }
.font-syne { font-family: 'Syne', 'Inter', sans-serif; }
.font-inter { font-family: 'Inter', sans-serif; }
.title-zh { font-family: 'Noto Sans TC', sans-serif; }
@keyframes fadeUp { from { opacity:0; transform:translateY(32px); } to { opacity:1; transform:translateY(0); } }
@keyframes scaleIn { from { opacity:0; transform:scale(1.05); } to { opacity:1; transform:scale(1); } }
.anim-fadeup { animation: fadeUp 0.8s ease forwards; }
.anim-scalein { animation: scaleIn 1.2s ease forwards; }
.nav-link { position:relative; }
.nav-link::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:1px; background:#34d399; transition:width 0.3s ease; }
.nav-link:hover::after { width:100%; }
.hero-img-wrap { overflow:hidden; }
.hero-img-wrap img { transition: transform 0.8s ease; }
.hero-img-wrap:hover img { transform: scale(1.05); }
.card-hover { transition: transform 0.3s ease, border-color 0.3s ease; }
.card-hover:hover { transform: translateY(-4px); border-color: #34d399 !important; }
.line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
::-webkit-scrollbar { width:6px; } ::-webkit-scrollbar-track { background:#09090b; } ::-webkit-scrollbar-thumb { background:#3f3f46; border-radius:3px; }
.tag { display:inline-block; border: 1px solid; font-size:10px; letter-spacing:0.1em; padding: 2px 8px; }
.tag-展覽資訊 { border-color: #34d399; color: #34d399; }
.tag-法規公告 { border-color: #60a5fa; color: #60a5fa; }
.tag-會務通知 { border-color: #a78bfa; color: #a78bfa; }
.tag-補助計畫 { border-color: #fb923c; color: #fb923c; }
.tag-國際展覽 { border-color: #34d399; color: #34d399; }
.tag-產業資訊 { border-color: #f472b6; color: #f472b6; }
.tag-技術研討 { border-color: #facc15; color: #facc15; }
.tag-活動報告 { border-color: #a78bfa; color: #a78bfa; }
.form-label { display:block; color:#a1a1aa; font-size:12px; letter-spacing:0.08em; margin-bottom:8px; }
.form-input { width:100%; background:#18181b; border:1px solid #3f3f46; color:#f4f4f5; padding:12px 14px; font-size:14px; }
.form-input:focus { outline:none; border-color:#34d399; }
.prose-dark { color:#d4d4d8; line-height:1.8; }
.prose-dark p,
.prose-dark li,
.prose-dark span,
.prose-dark div {
  color:#d4d4d8 !important;
  font-family:inherit !important;
  font-size:1rem !important;
  line-height:1.8 !important;
  background:transparent !important;
}
.prose-dark p { margin:0 0 1em !important; }
.prose-dark h2, .prose-dark h3 { color:#fff !important; font-weight:700; margin:1.4em 0 0.6em; }
.prose-dark strong, .prose-dark b,
.prose-dark span[style*="font-weight: bold"],
.prose-dark span[style*="font-weight:bold"] { color:#fff !important; font-weight:700; }
.prose-dark a, .prose-dark a span { color:#34d399 !important; }
.prose-dark ul, .prose-dark ol { margin:0 0 1em 1.2em; }
.prose-dark img { max-width:100%; height:auto; }
