/* ======================================== 2026年江西省教学成果奖申报网站 - 样式表 ======================================== */ /* 防止图片被拖拽和右键保存 */ img { -webkit-user-drag: none; -khtml-user-drag: none; -moz-user-drag: none; -o-user-drag: none; user-drag: none; pointer-events: none; } /* 允许按钮和交互元素上的图片可点击 */ .pdf-btn img, .nav-logo img, a img, button img { pointer-events: auto; } /* SVG 图标基础样式 */ svg.tab-icon, svg.title-icon, svg.result-icon, svg.pdf-icon, svg.achievement-icon, svg.nav-logo-icon { width: 1.2em; height: 1.2em; vertical-align: middle; fill: currentColor; } /* 导航栏图标 */ svg.nav-logo-icon { width: 1.5em; height: 1.5em; } /* 成就列表中的 SVG 图标 */ img.achievement-icon-svg { width: 32px; height: 32px; flex-shrink: 0; margin-top: 4px; } /* 标签页图标 */ img.tab-icon-svg { width: 20px; height: 20px; flex-shrink: 0; } /* 标题图标 */ img.title-icon-svg { width: 28px; height: 28px; vertical-align: middle; margin-right: 10px; } /* 成果概要和成果简介的大图标 */ .achievement-summary-left img.title-icon-svg, .achievement-detail-right img.title-icon-svg { width: 32px; height: 32px; } /* 成效展示卡片图标 */ img.result-icon-svg { width: 28px; height: 28px; flex-shrink: 0; } /* CSS 变量定义 */ :root { /* 主色调 - 学术红金配色 */ --primary: #c41230; --primary-dark: #9a0e26; --primary-light: #e8455f; --accent: #d4a84b; --accent-light: #e8c878; /* 中性色 */ --gray-50: #fafafa; --gray-100: #f5f5f5; --gray-200: #eeeeee; --gray-300: #e0e0e0; --gray-400: #bdbdbd; --gray-500: #9e9e9e; --gray-600: #757575; --gray-700: #616161; --gray-800: #424242; --gray-900: #212121; /* 功能色 */ --success: #4caf50; --info: #2196f3; --warning: #ff9800; /* 字体 */ --font-sans: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-serif: 'Noto Serif SC', Georgia, serif; /* 间距 */ --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem; /* 圆角 */ --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-full: 9999px; /* 阴影 */ --shadow-sm: 0 1px 2px rgba(0,0,0,0.05); --shadow-md: 0 4px 6px rgba(0,0,0,0.1); --shadow-lg: 0 10px 15px rgba(0,0,0,0.1); --shadow-xl: 0 20px 25px rgba(0,0,0,0.15); /* 过渡 */ --transition-fast: 150ms ease; --transition-base: 250ms ease; --transition-slow: 350ms ease; } /* 重置样式 */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; } body { font-family: var(--font-sans); font-size: 16px; line-height: 1.6; color: var(--gray-800); background-color: #fff; } img { max-width: 100%; height: auto; } a { text-decoration: none; color: inherit; } ul { list-style: none; } /* 容器 */ .container { max-width: 1400px; margin: 0 auto; padding: 0 var(--space-6); } /* 超宽屏适配 */ @media (min-width: 1920px) { .container { max-width: 1600px; } } @media (min-width: 2560px) { .container { max-width: 1800px; } } /* 顶部装饰条 */ .top-bar { height: 4px; background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%); } /* ======================================== 导航栏 ======================================== */ .main-nav { position: fixed; top: 4px; left: 0; right: 0; background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(10px); box-shadow: var(--shadow-sm); z-index: 1000; transition: all var(--transition-base); } .nav-container { max-width: 1400px; margin: 0 auto; padding: 0 var(--space-6); display: flex; align-items: center; justify-content: space-between; height: 70px; } /* 超宽屏导航适配 */ @media (min-width: 1920px) { .nav-container { max-width: 1600px; } } @media (min-width: 2560px) { .nav-container { max-width: 1800px; } } .nav-logo { display: flex; align-items: center; gap: var(--space-2); } .nav-logo-icon { font-size: 1.5rem; } .nav-logo-text { font-size: 1.125rem; font-weight: 700; color: var(--primary); } .nav-menu { display: flex; gap: var(--space-8); } .nav-link { font-size: 0.9375rem; font-weight: 500; color: var(--gray-600); padding: var(--space-2) 0; position: relative; transition: color var(--transition-fast); } .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--primary); transition: width var(--transition-base); } .nav-link:hover, .nav-link.active { color: var(--primary); } .nav-link:hover::after, .nav-link.active::after { width: 100%; } .nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: var(--space-2); } .nav-toggle span { width: 24px; height: 2px; background: var(--gray-700); transition: all var(--transition-fast); } /* ======================================== 头部横幅 ======================================== */ .hero-banner { position: relative; min-height: 100vh; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); display: flex; align-items: center; justify-content: center; overflow: hidden; padding-top: 74px; } .hero-bg-pattern { position: absolute; inset: 0; background-image: radial-gradient(circle at 20% 80%, rgba(255,255,255,0.1) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(212,168,75,0.2) 0%, transparent 50%); opacity: 0.6; } /* 主页火车动画 */ .hero-train-animation { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; z-index: 5; pointer-events: none; } .hero-train-container { display: flex; align-items: center; justify-content: center; position: relative; } /* 高铁 */ .hero-train { width: 600px; height: auto; transition: transform 2s cubic-bezier(0.4, 0, 0.2, 1); } .hero-train-img { width: 100%; height: auto; filter: drop-shadow(0 8px 30px rgba(0, 0, 0, 0.3)); } /* 左侧高铁图片(朝右,尾部在左) */ .hero-train-img-left { transform: scaleX(1); } /* 右侧高铁图片(朝左,尾部在右) */ .hero-train-img-right { transform: scaleX(-1); } /* 初始状态:两个车头尾端相接,高度与中间文字区域一致 */ .hero-train-left { transform: translateX(5px); } .hero-train-right { transform: translateX(-5px); } /* 动画完成后:向两侧移开,完全移出屏幕 */ .hero-train-animation.animate .hero-train-left { transform: translateX(-200vw); } .hero-train-animation.animate .hero-train-right { transform: translateX(200vw); } /* 主页内容初始隐藏 */ .hero-content { opacity: 0; transform: scale(0.9); transition: opacity 1s ease 0.3s, transform 1s ease 0.3s; } .hero-train-animation.animate + .hero-content { opacity: 1; transform: scale(1); } /* 响应式 */ @media (max-width: 768px) { .hero-train { width: 400px; } .hero-train-animation.animate .hero-train-left { transform: translateX(-200vw); } .hero-train-animation.animate .hero-train-right { transform: translateX(200vw); } } .hero-content { position: relative; z-index: 1; text-align: center; color: white; padding: var(--space-12); max-width: 1200px; margin: 0 auto; } .hero-badge { display: inline-block; font-size: 0.875rem; font-weight: 600; color: var(--accent-light); background: rgba(212,168,75,0.2); padding: var(--space-2) var(--space-4); border-radius: var(--radius-full); border: 1px solid rgba(212,168,75,0.4); margin-bottom: var(--space-6); } .hero-title { font-family: var(--font-serif); font-size: 3.5rem; font-weight: 700; line-height: 1.2; margin-bottom: var(--space-4); text-shadow: 0 2px 4px rgba(0,0,0,0.2); } .hero-subtitle { font-size: 1.5rem; font-weight: 400; color: rgba(255,255,255,0.9); margin-bottom: var(--space-8); } .hero-meta { display: flex; align-items: center; justify-content: center; gap: var(--space-4); font-size: 1rem; color: rgba(255,255,255,0.8); } .meta-divider { color: var(--accent); } .hero-scroll { position: absolute; bottom: var(--space-8); left: 50%; transform: translateX(-50%); text-align: center; color: rgba(255,255,255,0.7); font-size: 0.875rem; } .scroll-arrow { width: 24px; height: 24px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(45deg); margin: var(--space-3) auto 0; animation: bounce 2s infinite; } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0) rotate(45deg); } 40% { transform: translateY(10px) rotate(45deg); } 60% { transform: translateY(5px) rotate(45deg); } } /* ======================================== 区域通用样式 ======================================== */ .section { padding: var(--space-24) 0; } .section-header { text-align: center; margin-bottom: var(--space-16); } .section-tag { display: inline-block; font-size: 0.875rem; font-weight: 700; color: var(--primary); background: rgba(196,18,48,0.1); padding: var(--space-1) var(--space-3); border-radius: var(--radius-full); margin-bottom: var(--space-3); } .section-title { font-family: var(--font-serif); font-size: 2.5rem; font-weight: 700; color: var(--gray-900); margin-bottom: var(--space-4); } .section-desc { font-size: 1.125rem; color: var(--gray-600); max-width: 700px; margin: 0 auto; } .subsection-title { display: flex; align-items: center; gap: var(--space-3); font-size: 1.5rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-8); } .title-icon { font-size: 1.75rem; } /* ======================================== 第一部分:成果简介 ======================================== */ .section-intro { background: var(--gray-50); } .intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); } .intro-card { background: white; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); overflow: hidden; } .card-header { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-6); background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: white; } .card-icon { font-size: 1.5rem; } .card-header h3 { font-size: 1.25rem; font-weight: 600; } /* 负责人卡片 */ .leader-content { padding: var(--space-8); display: flex; gap: var(--space-6); } .leader-avatar { position: relative; flex-shrink: 0; } .avatar-img { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; border: 4px solid white; box-shadow: var(--shadow-md); } .avatar-ring { position: absolute; inset: -8px; border: 3px solid var(--accent); border-radius: 50%; border-top-color: transparent; animation: spin 8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .leader-info { flex: 1; } .leader-name { font-size: 1.5rem; font-weight: 700; color: var(--gray-900); margin-bottom: var(--space-1); } .leader-title { font-size: 1rem; color: var(--primary); font-weight: 500; margin-bottom: var(--space-1); } .leader-position { font-size: 0.9375rem; color: var(--gray-600); margin-bottom: var(--space-3); } .leader-tags { display: flex; gap: var(--space-2); margin-bottom: var(--space-4); } .tag { font-size: 0.75rem; font-weight: 600; padding: var(--space-1) var(--space-2); border-radius: var(--radius-full); } .tag-primary { background: rgba(196,18,48,0.1); color: var(--primary); } .tag-secondary { background: rgba(212,168,75,0.15); color: var(--accent); } .leader-desc { font-size: 0.9375rem; color: var(--gray-600); line-height: 1.7; } /* 成果概要 */ .summary-content { padding: var(--space-6); } .summary-item { margin-bottom: var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px solid var(--gray-200); } .summary-item:last-of-type { border-bottom: none; } .summary-label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--gray-500); margin-bottom: var(--space-1); } .summary-text { font-size: 1rem; color: var(--gray-800); font-weight: 500; } .summary-highlights { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); margin-top: var(--space-6); padding-top: var(--space-6); border-top: 2px solid var(--gray-200); } .highlight-box { text-align: center; } .highlight-number { display: block; font-size: 2rem; font-weight: 700; color: var(--primary); } .highlight-text { font-size: 0.875rem; color: var(--gray-600); } /* 成果简介选项卡 */ .intro-tabs { display: flex; justify-content: center; gap: var(--space-4); margin-bottom: var(--space-8); } .intro-tab { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-8); background: white; border: 2px solid var(--gray-200); border-radius: var(--radius-full); cursor: pointer; transition: all var(--transition-base); font-size: 1rem; font-weight: 600; color: var(--gray-600); } .intro-tab:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); box-shadow: var(--shadow-md); } .intro-tab.active { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); border-color: var(--primary); color: white; } .intro-tab .tab-icon { font-size: 1.25rem; } /* 内容区域 */ .intro-contents { background: white; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); overflow: hidden; } .intro-content { display: none; padding: var(--space-8); } .intro-content.active { display: block; animation: fadeIn 0.3s ease; } /* 负责人简介 */ .leader-card-full { display: flex; flex-direction: column; gap: var(--space-6); } /* 头部行:照片和基本信息并排 */ .leader-header-row { display: flex; gap: var(--space-6); align-items: flex-start; } .leader-avatar-large { flex-shrink: 0; } .avatar-img-large { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 3px solid var(--gray-100); box-shadow: var(--shadow-md); } .leader-header-info { flex: 1; } .leader-header-info .leader-name { font-size: 2rem; font-weight: 700; color: var(--gray-900); margin-bottom: var(--space-2); } .leader-header-info .leader-title { font-size: 1.125rem; color: var(--primary); font-weight: 600; margin-bottom: var(--space-1); } .leader-header-info .leader-position { font-size: 1rem; color: var(--gray-600); margin-bottom: var(--space-3); } .leader-header-info .leader-tags { display: flex; flex-wrap: wrap; gap: var(--space-2); } .leader-desc { font-size: 0.9375rem; color: var(--gray-700); line-height: 1.8; } .leader-desc > p { margin-bottom: var(--space-4); } .leader-achievements { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-4); } .achievement-item { display: flex; gap: var(--space-3); padding: var(--space-4); background: var(--gray-50); border-radius: var(--radius-lg); border-left: 3px solid var(--accent); transition: all var(--transition-base); } .achievement-item:hover { background: white; box-shadow: var(--shadow-md); transform: translateX(4px); } .achievement-icon { font-size: 1.5rem; flex-shrink: 0; } .achievement-content h5 { font-size: 1rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-1); } .achievement-content p { font-size: 0.875rem; color: var(--gray-600); line-height: 1.7; } .tag-accent { background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%); color: white; } /* 成果简介布局 */ .achievement-layout { display: flex; flex-direction: column; gap: var(--space-6); } .achievement-top { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); } .achievement-summary-left { background: var(--gray-50); border-radius: var(--radius-lg); padding: var(--space-6); } .achievement-detail-right { background: var(--gray-50); border-radius: var(--radius-lg); padding: var(--space-6); } .achievement-detail-content { font-size: 0.9375rem; color: var(--gray-700); line-height: 1.8; } .achievement-detail-content p { margin-bottom: var(--space-3); } .achievement-detail-content strong { color: var(--primary); font-weight: 600; } .achievement-image { background: var(--gray-50); border-radius: var(--radius-lg); padding: var(--space-6); text-align: center; border: 2px dashed var(--gray-300); } .achievement-img { max-width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); } /* ======================================== 第二部分:问题的提出与解决 ======================================== */ .section-problem { background: white; } /* 过程方法图 */ .framework-image-section { margin-bottom: var(--space-12); } .framework-image-container { background: var(--gray-50); border-radius: var(--radius-xl); padding: var(--space-8); text-align: center; border: 2px dashed var(--gray-300); } .framework-img { max-width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); } .problem-solution-wrapper { display: grid; grid-template-columns: 48% 52%; gap: var(--space-20); } /* 问题卡片 */ .problem-cards { display: flex; flex-direction: column; gap: var(--space-8); } .problem-card { display: flex; gap: var(--space-5); padding: var(--space-6); background: var(--gray-50); border-radius: var(--radius-lg); border-left: 4px solid var(--primary); transition: all var(--transition-base); min-height: 140px; } .problem-card:hover { transform: translateX(8px); box-shadow: var(--shadow-md); } .problem-number { font-size: 2rem; font-weight: 700; color: var(--primary); opacity: 0.3; line-height: 1; } .problem-content h4 { font-size: 1.125rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-1); } .problem-content p { font-size: 0.9375rem; color: var(--gray-600); } /* 问题背景 */ .problem-background { background: linear-gradient(135deg, var(--gray-50) 0%, white 100%); padding: var(--space-8); border-radius: var(--radius-xl); margin-bottom: var(--space-8); border: 1px solid var(--gray-100); } .background-content p { font-size: 1rem; color: var(--gray-700); line-height: 1.9; margin-bottom: var(--space-4); text-align: justify; } .background-content p:last-child { margin-bottom: 0; } /* 问题总结 */ .problem-summary { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); padding: var(--space-5) var(--space-6); border-radius: var(--radius-lg); margin-bottom: var(--space-12); } .problem-summary p { color: white; font-size: 1rem; line-height: 1.7; margin: 0; } .problem-summary strong { color: #fbbf24; font-weight: 600; } /* 解决方案介绍 */ .solution-intro { background: var(--gray-50); padding: var(--space-5) var(--space-6); border-radius: var(--radius-lg); margin-bottom: var(--space-6); border-left: 4px solid var(--accent); } .solution-intro p { font-size: 1rem; color: var(--gray-700); line-height: 1.7; margin: 0; } /* 时间线 */ .timeline { position: relative; padding-left: var(--space-8); } .timeline::before { content: ''; position: absolute; left: 11px; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, var(--primary) 0%, var(--accent) 100%); } .timeline-item { position: relative; padding-bottom: var(--space-6); } .timeline-item:last-child { padding-bottom: 0; } .timeline-dot { position: absolute; left: -27px; top: 4px; width: 24px; height: 24px; background: white; border: 4px solid var(--primary); border-radius: 50%; z-index: 1; } .timeline-date { font-size: 0.875rem; font-weight: 700; color: var(--primary); margin-bottom: var(--space-1); } .timeline-content h4 { font-size: 1.125rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-1); } .timeline-content p { font-size: 0.9375rem; color: var(--gray-600); margin-bottom: var(--space-4); } /* 阶段成果图片 */ .stage-result { margin-top: var(--space-4); padding: var(--space-4); background: linear-gradient(135deg, var(--gray-50) 0%, white 100%); border-radius: var(--radius-lg); border: 1px solid var(--gray-200); } .stage-label { display: inline-block; font-size: 0.875rem; font-weight: 600; color: var(--primary); margin-bottom: var(--space-3); padding: var(--space-1) var(--space-3); background: rgba(196, 18, 48, 0.1); border-radius: var(--radius-md); } .stage-img { width: 100%; height: auto; border-radius: var(--radius-md); box-shadow: var(--shadow-sm); transition: transform var(--transition-base); } .stage-result:hover .stage-img { transform: scale(1.02); } /* ======================================== 第三部分:成果内容 ======================================== */ .section-content { background: var(--gray-50); } /* 框架图 */ .framework-diagram { position: relative; max-width: 600px; margin: 0 auto var(--space-16); aspect-ratio: 1; } .framework-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 160px; height: 160px; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; color: white; font-weight: 600; font-size: 1.125rem; box-shadow: var(--shadow-xl); z-index: 2; } .framework-items { position: absolute; inset: 0; } .framework-item { position: absolute; width: 140px; text-align: center; padding: var(--space-4); background: white; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); } .framework-item.item-1 { top: 0; left: 50%; transform: translateX(-50%); border-top: 4px solid var(--primary); } .framework-item.item-2 { bottom: 60px; left: 0; border-left: 4px solid var(--info); } .framework-item.item-3 { bottom: 60px; right: 0; border-right: 4px solid var(--success); } .item-icon { font-size: 2rem; margin-bottom: var(--space-2); } .framework-item h4 { font-size: 1.125rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-1); } .framework-item p { font-size: 0.875rem; color: var(--gray-600); } /* 选项卡按钮 */ .content-tabs { display: flex; justify-content: center; gap: var(--space-4); margin-bottom: var(--space-8); flex-wrap: wrap; } .tab-btn { display: flex; flex-direction: column; align-items: center; padding: var(--space-6) var(--space-8); background: white; border: 2px solid var(--gray-200); border-radius: var(--radius-xl); cursor: pointer; transition: all var(--transition-base); min-width: 180px; } .tab-btn:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--primary); } .tab-btn.active { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); border-color: var(--primary); color: white; } .tab-icon { font-size: 2.5rem; margin-bottom: var(--space-2); } .tab-title { font-size: 1.25rem; font-weight: 700; margin-bottom: var(--space-1); } .tab-subtitle { font-size: 0.875rem; opacity: 0.8; max-width: 280px; text-align: center; line-height: 1.5; } /* 选项卡内容 */ .tab-contents { background: white; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); overflow: hidden; } .tab-content { display: none; padding: var(--space-8); } .tab-content.active { display: block; animation: fadeIn 0.3s ease; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .tab-content .content-text { margin-bottom: var(--space-6); } .tab-content .content-text h4 { font-size: 1.5rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-3); } .content-intro { font-size: 1rem; color: var(--gray-600); line-height: 1.7; margin-bottom: var(--space-4); padding: var(--space-4); background: linear-gradient(135deg, var(--gray-50) 0%, white 100%); border-radius: var(--radius-lg); border-left: 4px solid var(--accent); } .tab-content .content-image { text-align: center; background: var(--gray-50); border-radius: var(--radius-lg); padding: var(--space-6); border: 2px dashed var(--gray-300); } .tab-img { max-width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); } /* 内容卡片 */ .content-details { display: flex; flex-direction: column; gap: var(--space-6); } .content-card { display: grid; grid-template-columns: 200px 1fr; background: white; border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-md); } .card-visual { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; color: white; padding: var(--space-6); } .card-visual.visual-blue { background: linear-gradient(135deg, var(--info) 0%, #1976d2 100%); } .card-visual.visual-green { background: linear-gradient(135deg, var(--success) 0%, #388e3c 100%); } .visual-icon { font-size: 3rem; margin-bottom: var(--space-3); } .visual-title { font-size: 1.25rem; font-weight: 700; } .card-body { padding: var(--space-6); } .card-body h4 { font-size: 1.25rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-4); } .feature-list { display: flex; flex-direction: column; gap: var(--space-3); } .feature-list li { font-size: 0.9375rem; color: var(--gray-700); padding-left: var(--space-5); position: relative; } .feature-list li::before { content: '✓'; position: absolute; left: 0; color: var(--success); font-weight: 700; } .feature-list strong { color: var(--gray-900); } /* 创新点 */ .innovation-section { margin-top: var(--space-8); } .innovation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); max-width: 1200px; margin: 0 auto; } .innovation-card { background: white; padding: var(--space-8); border-radius: var(--radius-xl); box-shadow: var(--shadow-md); text-align: center; transition: all var(--transition-base); border: 1px solid var(--gray-100); position: relative; overflow: hidden; } .innovation-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%); transform: scaleX(0); transition: transform var(--transition-base); } .innovation-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-xl); border-color: var(--accent-light); } .innovation-card:hover::before { transform: scaleX(1); } .inno-number { width: 64px; height: 64px; background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 700; color: white; margin: 0 auto var(--space-5); box-shadow: 0 8px 20px rgba(0, 82, 155, 0.3); transition: all var(--transition-base); } .innovation-card:hover .inno-number { transform: scale(1.1); box-shadow: 0 12px 30px rgba(0, 82, 155, 0.4); } .innovation-card h4 { font-size: 1.25rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-3); line-height: 1.4; } .innovation-card p { font-size: 0.9375rem; color: var(--gray-600); line-height: 1.8; text-align: justify; text-align-last: center; } /* 创新点高亮描述 */ .innovation-highlight { font-size: 1rem; color: var(--primary); font-weight: 500; text-align: center; margin-bottom: var(--space-4); padding: var(--space-3); background: linear-gradient(135deg, rgba(196, 18, 48, 0.05) 0%, rgba(212, 168, 75, 0.05) 100%); border-radius: var(--radius-lg); border-left: 3px solid var(--primary); text-align-last: center; } /* 创新点列表 */ .innovation-list { list-style: none; padding: 0; margin: 0; text-align: left; } .innovation-list li { font-size: 0.875rem; color: var(--gray-700); padding: var(--space-2) 0; border-bottom: 1px dashed var(--gray-200); line-height: 1.6; } .innovation-list li:last-child { border-bottom: none; } .innovation-list li strong { color: var(--primary); font-weight: 600; } /* ======================================== 第四部分:成效 ======================================== */ .section-results { background: white; } /* 核心数据横幅 */ .stats-banner { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); border-radius: var(--radius-xl); padding: var(--space-8); margin-bottom: var(--space-12); } .stats-banner .stat-item { text-align: center; color: white; } .stat-number { font-size: 3rem; font-weight: 700; color: var(--accent-light); } .stat-unit { font-size: 1.5rem; font-weight: 600; color: var(--accent-light); } .stat-label { display: block; font-size: 1rem; color: rgba(255,255,255,0.8); margin-top: var(--space-1); } /* 成效卡片 */ .results-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); } .result-card { background: var(--gray-50); border-radius: var(--radius-xl); overflow: hidden; } .result-header { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-5); background: white; border-bottom: 1px solid var(--gray-200); } .result-icon { font-size: 1.75rem; } .result-header h3 { font-size: 1.25rem; font-weight: 600; color: var(--gray-900); } .result-body { padding: var(--space-5); } .result-list { display: flex; flex-direction: column; gap: var(--space-3); margin-bottom: var(--space-5); } .result-list li { font-size: 0.9375rem; color: var(--gray-700); padding-left: var(--space-5); position: relative; } .result-list li::before { content: '•'; position: absolute; left: 0; color: var(--primary); font-weight: 700; } .result-list li strong { color: var(--primary); font-weight: 600; } /* 成效展示图片 */ .result-image { margin: var(--space-4) var(--space-5) var(--space-5); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); } .result-img { width: 100%; height: auto; display: block; transition: transform var(--transition-base); } .result-image:hover .result-img { transform: scale(1.02); } .chart-container { height: 200px; background: white; border-radius: var(--radius-lg); padding: var(--space-4); } /* 媒体报道 */ .media-coverage { display: flex; flex-direction: column; gap: var(--space-3); } .media-item { display: flex; justify-content: space-between; align-items: center; padding: var(--space-3) var(--space-4); background: white; border-radius: var(--radius-md); } .media-name { font-weight: 600; color: var(--gray-800); } .media-count { font-size: 0.875rem; color: var(--primary); font-weight: 500; } /* ======================================== 第五部分:支撑材料 ======================================== */ .section-materials { background: var(--gray-50); } /* 筛选按钮 */ .materials-filter { display: flex; justify-content: center; gap: var(--space-3); margin-bottom: var(--space-8); flex-wrap: wrap; } .filter-btn { padding: var(--space-2) var(--space-5); background: white; border: 2px solid var(--gray-300); border-radius: var(--radius-full); font-size: 0.9375rem; font-weight: 500; color: var(--gray-600); cursor: pointer; transition: all var(--transition-fast); } .filter-btn:hover, .filter-btn.active { background: var(--primary); border-color: var(--primary); color: white; } /* 材料网格 */ .materials-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); margin-bottom: var(--space-8); } .material-card { background: white; border-radius: var(--radius-lg); padding: var(--space-6); text-align: center; box-shadow: var(--shadow-sm); transition: all var(--transition-base); cursor: pointer; } .material-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); } .material-icon { font-size: 2.5rem; margin-bottom: var(--space-3); } .material-card h4 { font-size: 1rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-1); } .material-card p { font-size: 0.875rem; color: var(--gray-600); margin-bottom: var(--space-3); } .material-tag { display: inline-block; font-size: 0.75rem; font-weight: 600; color: var(--primary); background: rgba(196,18,48,0.1); padding: var(--space-1) var(--space-2); border-radius: var(--radius-full); } /* 上传提示 */ .upload-notice { display: flex; align-items: center; justify-content: center; gap: var(--space-3); padding: var(--space-5); background: rgba(212,168,75,0.1); border-radius: var(--radius-lg); border: 1px dashed var(--accent); } .notice-icon { font-size: 1.5rem; } /* PDF按钮 */ .pdf-buttons { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); margin-bottom: var(--space-8); } .pdf-btn { display: flex; flex-direction: column; align-items: center; padding: var(--space-6); background: white; border: 2px solid var(--gray-200); border-radius: var(--radius-xl); cursor: pointer; transition: all var(--transition-base); box-shadow: var(--shadow-sm); } .pdf-btn:hover { border-color: var(--primary); transform: translateY(-4px); box-shadow: var(--shadow-lg); } .pdf-btn.active { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); border-color: var(--primary); color: white; } .pdf-btn.active .pdf-title, .pdf-btn.active .pdf-desc { color: white; } .pdf-icon { font-size: 2.5rem; margin-bottom: var(--space-3); } /* PDF按钮SVG图标 */ img.pdf-icon-svg { width: 48px; height: 48px; margin-bottom: var(--space-3); } .pdf-title { font-size: 1.125rem; font-weight: 600; color: var(--gray-900); margin-bottom: var(--space-1); } .pdf-desc { font-size: 0.875rem; color: var(--gray-600); text-align: center; } /* PDF预览区域 */ .pdf-viewer { background: white; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); overflow: hidden; margin-bottom: var(--space-8); } .pdf-viewer-header { display: flex; justify-content: space-between; align-items: center; padding: var(--space-4) var(--space-6); background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: white; } .pdf-viewer-title { font-size: 1.125rem; font-weight: 600; margin: 0; } .pdf-close { width: 32px; height: 32px; background: rgba(255,255,255,0.2); border: none; border-radius: 50%; color: white; font-size: 1.25rem; cursor: pointer; transition: all var(--transition-fast); display: flex; align-items: center; justify-content: center; } .pdf-close:hover { background: rgba(255,255,255,0.3); } .pdf-viewer-content { position: relative; height: 600px; } .pdf-viewer-content iframe { width: 100%; height: 100%; display: none; } .pdf-viewer-content iframe.active { display: block; } .pdf-placeholder { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--gray-50); } .pdf-placeholder.hidden { display: none; } .placeholder-icon { font-size: 4rem; margin-bottom: var(--space-4); opacity: 0.5; } .pdf-placeholder p { font-size: 1.125rem; color: var(--gray-500); } .upload-notice p { font-size: 0.9375rem; color: var(--gray-700); } /* ======================================== 页脚 ======================================== */ .footer { background: var(--gray-900); padding: var(--space-16) 0 var(--space-8); } .footer-content { text-align: center; } .footer-logo { display: flex; align-items: center; justify-content: center; gap: var(--space-3); font-size: 1.5rem; font-weight: 700; color: white; margin-bottom: var(--space-3); } .footer-desc { font-size: 1rem; color: var(--gray-400); margin-bottom: var(--space-6); } .footer-divider { width: 60px; height: 3px; background: linear-gradient(90deg, var(--primary), var(--accent)); margin: 0 auto var(--space-6); border-radius: var(--radius-full); } .footer-copyright { font-size: 0.875rem; color: var(--gray-500); } /* ======================================== 返回顶部 ======================================== */ .back-to-top { position: fixed; bottom: var(--space-6); right: var(--space-6); width: 48px; height: 48px; background: var(--primary); border: none; border-radius: 50%; color: white; font-size: 1.25rem; cursor: pointer; opacity: 0; visibility: hidden; transition: all var(--transition-base); box-shadow: var(--shadow-lg); z-index: 999; } .back-to-top.visible { opacity: 1; visibility: visible; } .back-to-top:hover { background: var(--primary-dark); transform: translateY(-4px); } /* ======================================== 响应式设计 ======================================== */ @media (max-width: 1024px) { .hero-title { font-size: 2.5rem; } .intro-grid, .problem-solution-wrapper { grid-template-columns: 1fr; gap: var(--space-10); } .innovation-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-5); padding: 0 var(--space-4); } .materials-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 768px) { .nav-menu { display: none; } .nav-toggle { display: flex; } .hero-title { font-size: 2rem; } .hero-subtitle { font-size: 1.125rem; } .hero-meta { flex-direction: column; gap: var(--space-2); } .meta-divider { display: none; } .section-title { font-size: 1.75rem; } .leader-header-row { flex-direction: column; align-items: center; text-align: center; } .avatar-img-large { width: 100px; height: 100px; } .leader-header-info .leader-name { font-size: 1.5rem; } .content-card { grid-template-columns: 1fr; } .card-visual { padding: var(--space-8); } .stats-banner { grid-template-columns: repeat(2, 1fr); } .results-grid { grid-template-columns: 1fr; } .innovation-grid, .materials-grid { grid-template-columns: repeat(2, 1fr); } .summary-highlights { grid-template-columns: 1fr; } } @media (max-width: 480px) { .container { padding: 0 var(--space-4); } .hero-title { font-size: 1.5rem; } .section { padding: var(--space-16) 0; } .stats-banner { grid-template-columns: 1fr; } .innovation-grid, .materials-grid { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; } .innovation-card { padding: var(--space-6); } .framework-diagram { display: none; } } /* ======================================== 动画效果 ======================================== */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .fade-in-up { animation: fadeInUp 0.6s ease forwards; } /* 滚动显示动画 */ .reveal { opacity: 0; transform: translateY(30px); transition: all 0.6s ease; } .reveal.active { opacity: 1; transform: translateY(0); }