* { margin: 0; padding: 0; box-sizing: border-box; } html, body { overflow-x: hidden; } img, video, svg { max-width: 100%; height: auto; } :root { --bg-page: #f4f7fb; --bg-card: #ffffff; --bg-subtle: #f8fbff; --line: #dbe5f2; --line-soft: #e9eff8; --text-main: #1f2a37; --text-sub: #5b6b7f; --text-muted: #8a96a6; --primary: #2468f2; --primary-dark: #1e57ca; --success: #16a34a; --warning: #d97706; --danger: #dc2626; --shadow: 0 10px 30px rgba(15, 23, 42, 0.08); --radius: 12px; --max-width: 1200px; } body.theme-dark { --bg-page: #0f172a; --bg-card: #111b2d; --bg-subtle: #152238; --line: #26364f; --line-soft: #1f3047; --text-main: #e5edf7; --text-sub: #b7c5d8; --text-muted: #8ea0b9; --primary: #3a86ff; --primary-dark: #2d6dd1; --success: #22c55e; --shadow: none; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', Roboto, sans-serif; color: var(--text-main); background: linear-gradient(180deg, #f6f9ff 0%, #f3f6fb 55%, #eef3fb 100%); line-height: 1.5; min-height: 100vh; } .page { min-height: 100vh; display: flex; flex-direction: column; } .container { width: min(var(--max-width), calc(100% - 32px)); margin: 0 auto; } .site-header { border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(8px); position: sticky; top: 0; z-index: 30; } body.theme-dark .site-header { background: rgba(17, 27, 45, 0.92); } .site-header-inner { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 16px; } .brand { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; color: var(--text-main); letter-spacing: 0.2px; text-decoration: none; } .brand i { color: var(--primary); font-size: 20px; } .top-nav { display: inline-flex; align-items: center; gap: 16px; color: var(--text-sub); font-size: 14px; } .top-nav a { color: inherit; text-decoration: none; padding: 6px 2px; border-bottom: 2px solid transparent; } .top-nav a:hover { color: var(--primary); } .top-nav a.active { color: var(--primary); border-bottom-color: var(--primary); font-weight: 700; } .header-actions { display: inline-flex; align-items: center; gap: 10px; } .btn { border: 1px solid transparent; border-radius: 8px; padding: 9px 14px; font-size: 14px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; transition: .2s ease; white-space: nowrap; } .btn-primary { color: #fff; background: var(--primary); border-color: var(--primary); } .btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); } .btn-secondary { color: var(--text-main); background: var(--bg-card); border-color: var(--line); } .btn-secondary:hover { border-color: #c2d3ea; background: #f7faff; } .main { flex: 1; padding: 24px 0 34px; } .hero { border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-card); box-shadow: var(--shadow); padding: 26px; display: grid; grid-template-columns: 1fr 1.05fr; gap: 22px; margin-bottom: 16px; } .hero-tag { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #cfe0ff; border-radius: 999px; background: #ecf4ff; color: #1f5dd2; padding: 6px 12px; font-size: 12px; font-weight: 600; margin-bottom: 14px; } body.theme-dark .hero-tag { border-color: #31548a; background: #1e2f4e; color: #b9d6ff; } .hero-title { font-size: clamp(30px, 4vw, 42px); line-height: 1.18; margin-bottom: 14px; letter-spacing: 0.1px; } .hero-desc { color: var(--text-sub); font-size: 15px; max-width: 560px; margin-bottom: 18px; } .hero-actions { display: inline-flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; } .hero-points { display: grid; gap: 8px; color: var(--text-sub); font-size: 13px; } .hero-points span { display: inline-flex; align-items: center; gap: 8px; } .hero-points i { color: var(--success); } .carousel { border: 1px solid var(--line-soft); border-radius: 12px; background: var(--bg-subtle); overflow: hidden; display: flex; flex-direction: column; min-height: 340px; } .carousel-viewport { position: relative; flex: 1; min-height: 0; } .carousel-slide { position: absolute; inset: 0; padding: 18px; opacity: 0; pointer-events: none; transform: translateX(16px); transition: opacity .32s ease, transform .32s ease; display: flex; flex-direction: column; gap: 12px; } .carousel-slide.is-active { opacity: 1; pointer-events: auto; transform: translateX(0); } .slide-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .slide-title { font-size: 18px; font-weight: 700; color: var(--text-main); } .slide-tag { font-size: 12px; color: var(--text-muted); border: 1px solid var(--line); border-radius: 999px; padding: 2px 8px; background: var(--bg-card); } .slide-body { border: 1px solid var(--line); border-radius: 10px; background: var(--bg-card); padding: 14px; display: grid; gap: 10px; flex: 1; } .slide-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--text-sub); } .slide-row strong { color: var(--text-main); font-weight: 700; min-width: 0; max-width: 65%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; } .slide-progress { height: 10px; border-radius: 999px; background: #e4ebf7; overflow: hidden; } .slide-progress span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #33c1ff, var(--primary)); } .carousel-footer { border-top: 1px solid var(--line-soft); background: var(--bg-card); padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; } .carousel-dots { display: inline-flex; align-items: center; gap: 6px; } .carousel-dot { width: 8px; height: 8px; border-radius: 999px; border: 1px solid #c8d6ea; background: #dbe5f3; cursor: pointer; transition: .2s ease; } .carousel-dot.active { width: 20px; background: var(--primary); border-color: var(--primary); } .carousel-nav { display: inline-flex; align-items: center; gap: 6px; } .carousel-btn { width: 28px; height: 28px; border-radius: 6px; border: 1px solid var(--line); background: var(--bg-card); color: var(--text-sub); cursor: pointer; } .carousel-btn:hover { color: var(--primary); border-color: #bfd0e8; } .page-banner { border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-card); box-shadow: var(--shadow); padding: 22px; margin-bottom: 14px; } .page-banner h1 { font-size: clamp(28px, 4vw, 36px); margin-bottom: 10px; line-height: 1.2; } .page-banner p { color: var(--text-sub); font-size: 15px; max-width: 860px; } .kpi-row { margin-top: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } .kpi-card { border: 1px solid var(--line-soft); border-radius: 10px; background: var(--bg-subtle); padding: 12px; } .kpi-label { color: var(--text-muted); font-size: 12px; margin-bottom: 4px; } .kpi-value { color: var(--text-main); font-size: 18px; font-weight: 700; } .section { border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-card); box-shadow: var(--shadow); padding: 18px; margin-bottom: 14px; } .section-title { font-size: 18px; margin-bottom: 12px; display: inline-flex; align-items: center; gap: 8px; } .section-title i { color: var(--primary); font-size: 15px; } .feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; } .feature-card { border: 1px solid var(--line-soft); border-radius: 10px; background: var(--bg-subtle); padding: 14px; } .feature-icon { width: 34px; height: 34px; border-radius: 8px; background: #e9f2ff; color: var(--primary); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 10px; } .feature-name { font-size: 15px; font-weight: 700; margin-bottom: 6px; } .feature-desc { font-size: 13px; color: var(--text-sub); } .scene-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } .scene { border: 1px solid var(--line-soft); border-radius: 10px; background: var(--bg-subtle); padding: 14px; display: grid; gap: 8px; } .scene h3 { font-size: 15px; } .scene p { font-size: 13px; color: var(--text-sub); } .list-check { list-style: none; display: grid; gap: 5px; font-size: 12px; color: var(--text-muted); } .list-check li { display: inline-flex; align-items: center; gap: 7px; } .list-check li i { color: var(--success); font-size: 10px; } .matrix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .matrix-card { border: 1px solid var(--line-soft); border-radius: 10px; background: var(--bg-subtle); padding: 14px; } .matrix-card h3 { font-size: 15px; margin-bottom: 6px; } .matrix-card p { color: var(--text-sub); font-size: 13px; } .step-line { display: grid; gap: 10px; } .step-item { border: 1px solid var(--line-soft); border-radius: 10px; background: var(--bg-subtle); padding: 12px; display: flex; align-items: flex-start; gap: 10px; } .step-num { width: 26px; height: 26px; border-radius: 999px; background: var(--primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; } .step-content h3 { font-size: 15px; margin-bottom: 4px; } .step-content p { color: var(--text-sub); font-size: 13px; } .cta-panel { border: 1px solid #cfe0ff; border-radius: 12px; background: #edf4ff; padding: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; } body.theme-dark .cta-panel { border-color: #31548a; background: #1e2f4e; } .cta-panel p { font-size: 14px; color: var(--text-sub); } .footer { border-top: 1px solid var(--line); background: var(--bg-card); padding: 14px 0; color: var(--text-muted); font-size: 12px; } .footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; } .footer-tech { display: inline-flex; align-items: center; gap: 14px; flex-wrap: wrap; } @media (min-width: 1920px) { :root { --max-width: 1480px; } body { font-size: 16px; } .hero { padding: 32px; gap: 28px; } .hero-title { font-size: clamp(38px, 3vw, 56px); } .section, .page-banner { padding: 24px; } .carousel { min-height: 400px; } } @media (min-width: 2560px) { :root { --max-width: 1760px; } body { font-size: 17px; } .hero { padding: 36px; } .carousel { min-height: 430px; } .section, .page-banner { padding: 28px; } } @media (max-width: 1060px) { .hero { grid-template-columns: 1fr; } .feature-grid, .scene-grid, .kpi-row, .matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 768px) { .container { width: calc(100% - 20px); } .site-header-inner { min-height: unset; padding: 8px 0; flex-wrap: wrap; } .top-nav { order: 3; width: 100%; overflow-x: auto; white-space: nowrap; } .header-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .header-actions .btn { width: 100%; } .main { padding-top: 16px; } .hero, .section, .page-banner { padding: 14px; } .carousel { min-height: 320px; } .feature-grid, .scene-grid, .kpi-row, .matrix { grid-template-columns: 1fr; } .cta-panel { flex-direction: column; align-items: stretch; } .cta-panel .btn { width: 100%; } } @media (max-width: 480px) { .brand { font-size: 19px; } .hero-title, .page-banner h1 { font-size: 28px; } .hero-actions { width: 100%; } .hero-actions .btn { width: 100%; } .carousel-slide { padding: 12px; } .slide-title { font-size: 16px; } .slide-row { font-size: 12px; } .footer-inner, .footer-tech { justify-content: center; } .footer { text-align: center; } }