:root { color-scheme: dark; font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", Arial, sans-serif; background: #030712; color: #f8fbff; --wall-width: 14880px; --wall-height: 3510px; --scale: 1; --offset-x: 0px; --offset-y: 0px; } * { box-sizing: border-box; } html, body, .viewport { width: 100%; height: 100%; margin: 0; overflow: hidden; } body { background: #030712; } .viewport { position: fixed; inset: 0; background: #030712; } .wall { position: absolute; left: 0; top: 0; width: var(--wall-width); height: var(--wall-height); overflow: hidden; transform-origin: 0 0; transform: translate(var(--offset-x), var(--offset-y)) scale(var(--scale)); background: radial-gradient(circle at 50% 40%, rgba(20, 184, 166, 0.28), transparent 36%), radial-gradient(circle at 82% 22%, rgba(249, 115, 22, 0.18), transparent 24%), linear-gradient(135deg, #061528 0%, #0b1220 48%, #071018 100%); } .motion-canvas, .grid-layer { position: absolute; inset: 0; } .grid-layer { background-image: linear-gradient(rgba(255,255,255,0.045) 2px, transparent 2px), linear-gradient(90deg, rgba(255,255,255,0.045) 2px, transparent 2px); background-size: 240px 240px; opacity: 0.74; } .screen-header { position: absolute; z-index: 4; left: 360px; right: 360px; top: 180px; display: flex; justify-content: space-between; align-items: flex-start; gap: 120px; } h1, h2, p { margin: 0; letter-spacing: 0; } .eyebrow { margin-bottom: 38px; color: #5eead4; font-size: 58px; line-height: 1; text-transform: uppercase; } h1 { font-size: 178px; line-height: 1; font-weight: 820; color: #ffffff; text-shadow: 0 0 36px rgba(20, 184, 166, 0.46); } .header-metrics { display: grid; justify-items: end; gap: 26px; } .header-metrics strong { font-size: 112px; line-height: 1; } .header-metrics span { color: #cbd5e1; font-size: 52px; } .scene { position: absolute; z-index: 3; inset: 620px 360px 250px; opacity: 0; pointer-events: none; transform: translateY(54px); transition: opacity 260ms linear, transform 260ms linear; } .scene.active { opacity: 1; pointer-events: auto; transform: translateY(0); } .hero-copy { max-width: 6200px; } .hero-copy h2 { font-size: 158px; line-height: 1.05; font-weight: 820; } .hero-copy p { margin-top: 44px; color: #dbeafe; font-size: 66px; line-height: 1.34; } .card-grid { margin-top: 150px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 72px; } .metric-card, .side-stats article, .camera-card { border: 4px solid rgba(94, 234, 212, 0.32); border-radius: 8px; background: rgba(15, 23, 42, 0.76); box-shadow: inset 0 0 60px rgba(20, 184, 166, 0.10), 0 0 42px rgba(20, 184, 166, 0.12); } .metric-card { min-height: 520px; padding: 74px; } .metric-card span, .side-stats span { display: block; color: #a7f3d0; font-size: 58px; } .metric-card strong, .side-stats strong { display: block; margin-top: 48px; color: #ffffff; font-size: 136px; line-height: 1; } .timeline-bars { position: absolute; left: 0; right: 0; bottom: 0; height: 960px; display: grid; grid-template-columns: repeat(32, 1fr); align-items: end; gap: 24px; } .timeline-bars i { min-height: 120px; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, #14b8a6, #f97316); transform-origin: bottom; } .flow-map { position: absolute; left: 0; top: 790px; width: 8600px; height: 1760px; } .flow-line { position: absolute; height: 30px; border-radius: 8px; background: linear-gradient(90deg, #14b8a6, #facc15, #f97316); box-shadow: 0 0 90px rgba(20, 184, 166, 0.46); } .line-a { left: 1100px; top: 690px; width: 5200px; transform: rotate(7deg); } .line-b { left: 2300px; top: 1050px; width: 4200px; transform: rotate(-10deg); } .flow-node { position: absolute; width: 980px; height: 420px; display: grid; place-items: center; border: 5px solid rgba(94, 234, 212, 0.62); border-radius: 8px; background: rgba(8, 20, 28, 0.92); font-size: 80px; font-weight: 780; } .node-a { left: 220px; top: 520px; } .node-b { left: 3600px; top: 220px; } .node-c { left: 7020px; top: 900px; } .side-stats { position: absolute; right: 0; top: 690px; width: 4700px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 64px; } .side-stats article { min-height: 620px; padding: 78px; } .camera-grid { position: absolute; left: 0; top: 760px; width: 9200px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 52px; } .camera-card { height: 700px; padding: 58px; display: grid; align-content: space-between; background: linear-gradient(135deg, rgba(20,184,166,0.22), rgba(249,115,22,0.14)), rgba(15,23,42,0.78); } .camera-card strong { font-size: 78px; } .camera-card span { color: #dbeafe; font-size: 52px; } .alert-rail { position: absolute; right: 0; top: 740px; width: 4300px; display: grid; gap: 44px; } .alert-card { padding: 58px 68px; border-left: 20px solid #f97316; border-radius: 8px; background: rgba(15, 23, 42, 0.78); font-size: 64px; } .hud { position: fixed; right: 12px; bottom: 12px; z-index: 10; max-width: min(980px, calc(100vw - 24px)); padding: 9px 11px; border-radius: 6px; background: rgba(0,0,0,0.72); color: rgba(255,255,255,0.82); font-size: 12px; pointer-events: none; } .preview-note { color: #facc15; } .pulse { animation: flash 520ms ease; } @keyframes flash { 0% { outline: 18px solid rgba(94, 234, 212, 0.55); } 100% { outline: 0 solid rgba(94, 234, 212, 0); } }