/* VISION 2026 職涯支援地圖樣式表 - 連結強化版 */
html { scroll-padding-top: 140px; }
.career-map { font-family: 'Noto Sans TC', sans-serif; background: linear-gradient(to bottom, #f2f4f8 0%, #e6f0f3 100%); border-radius: 1rem; overflow: hidden; animation: fadeIn 0.8s ease; }

.career-map header {
    background: rgba(29, 53, 87, 0.95);
    backdrop-filter: blur(8px);
    color: white; padding: 1.5rem;
    position: sticky; top: 0; z-index: 100;
    text-align: center; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.timeline { position: relative; margin: 4rem auto; padding: 0 2rem; max-width: 900px; }
.timeline::before {
    content: ''; position: absolute; top: 0; bottom: 0; left: 0;
    width: 4px; background: linear-gradient(#6db9ef, #219ebc); z-index: 0;
}

.timeline-step {
    position: relative; width: 100%; padding: 2rem 2rem 2rem 3rem;
    box-sizing: border-box; opacity: 0; transform: translateY(40px);
    transition: all 0.8s ease;
}
.timeline-step.visible { opacity: 1; transform: translateY(0); }

.timeline-step::before {
    content: '\f063'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
    position: absolute; top: 1.5rem; left: -1.1rem;
    font-size: 2rem; color: #219ebc; background: white;
    padding: 0.5rem; border-radius: 50%; z-index: 10;
}

.timeline-content {
    background: #fff; padding: 2.5rem 1.5rem 1.5rem;
    border-radius: 8px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); 
    position: relative; z-index: 5; /* 提升內容層級，防止被軸線遮擋 */
}

.timeline-content h3 { margin-top: 0; color: #023047; font-size: 1.5rem; line-height: 1.4; }
.timeline-content ul { padding-left: 1.2rem; line-height: 1.6; }

/* 連結專屬優化：確保可點擊性 */
.career-map a { 
    color: #0066cc !important; 
    transition: all 0.2s ease; 
    text-decoration: underline !important; 
    position: relative;
    z-index: 20 !important; /* 確保連結在最上層 */
    pointer-events: auto !important;
}
.career-map a:hover { color: #004080 !important; background-color: #e6f0ff; border-radius: 4px; }

.emoji-tag {
    position: absolute; top: 0.75rem; right: 0.75rem;
    font-size: 1.5rem; opacity: 0.9; transition: transform 0.3s ease;
    z-index: 1; /* 降低裝飾性 Emoji 層級 */
}
.timeline-content:hover .emoji-tag { transform: scale(1.3) rotate(5deg); }

.career-map footer { text-align: center; padding: 1rem; background: #e0e0e0; color: #555; font-size: 0.9rem; }

.career-venn-container { display: flex; justify-content: center; margin: 2rem auto; }
.career-venn-image { max-width: 360px; width: 100%; height: auto; border-radius: 12px; transition: 0.4s ease; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15); }
.career-venn-image:hover { transform: scale(1.05); }

@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 768px) {
    .timeline::before { left: 8px; }
    .timeline-step { padding-left: 2.5rem; }
    .timeline-content h3 { font-size: 1.1rem; }
}