/* m4 - 卡片瀑布流/作品集风格：筛选标签+瀑布流+悬停遮罩 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:"PingFang SC",-apple-system,sans-serif;background:#0f172a;color:#e2e8f0;font-size:15px;line-height:1.7}
a{color:#38bdf8;text-decoration:none}a:hover{color:#7dd3fc}
img{max-width:100%}ul,ol{list-style:none;padding:0;margin:0}
.zm4-container{max-width:1200px;margin:0 auto;padding:0 20px}

/* Nav - glass morphic */
.zm4-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;position:sticky;top:0;z-index:200;background:rgba(15,23,42,0.85);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.05)}
.zm4-nav .zm4-brand{font-size:18px;font-weight:700;color:#f8fafc;display:flex;align-items:center;gap:8px}.zm4-nav .zm4-brand img{height:30px}
.zm4-nav .zm4-links{display:flex;align-items:center;gap:6px}.zm4-nav .zm4-links a{padding:6px 14px;border-radius:8px;font-size:14px;color:#94a3b8}.zm4-nav .zm4-links a:hover,.zm4-nav .zm4-links a.active{color:#38bdf8;background:rgba(56,189,248,0.06)}
.zm4-nav .drop{position:relative}.zm4-nav .drop-menu{display:none;position:absolute;top:100%;right:0;background:#1e293b;border:1px solid rgba(255,255,255,0.06);border-radius:10px;min-width:160px;padding:4px 0}.zm4-nav .drop:hover .drop-menu{display:block}.zm4-nav .drop-menu a{display:block;padding:8px 18px;font-size:13px;color:#94a3b8}
.zm4-btn{display:inline-block;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;border:none;cursor:pointer}.zm4-btn-sky{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.zm4-btn-ghost{background:transparent;color:#38bdf8;border:1px solid rgba(56,189,248,0.2)}

/* Hero */
.zm4-hero{text-align:center;padding:80px 0 60px}.zm4-hero .zm4-badge{display:inline-block;padding:3px 14px;background:rgba(56,189,248,0.08);color:#38bdf8;border-radius:50px;font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:16px}.zm4-hero h1{font-size:42px;font-weight:700;color:#f8fafc;margin-bottom:12px}.zm4-hero p{color:#64748b;font-size:16px;margin-bottom:24px}.zm4-hero .zm4-hero-visual{max-width:800px;margin:0 auto}.zm4-hero .zm4-hero-visual img{max-height:240px;border-radius:16px}

/* Filter bar */
.zm4-filter{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:0 0 40px}.zm4-filter .filt{padding:6px 18px;border-radius:50px;font-size:13px;font-weight:500;cursor:pointer;transition:.2s;background:rgba(255,255,255,0.03);color:#94a3b8;border:1px solid rgba(255,255,255,0.04)}.zm4-filter .filt:hover,.zm4-filter .filt.active{background:#38bdf8;color:#0f172a;border-color:#38bdf8;font-weight:700}

/* Masonry grid */
.zm4-masonry{columns:4 240px;gap:16px;padding:0 0 40px}.zm4-masonry .zm4-card{break-inside:avoid;margin-bottom:16px;background:#1e293b;border-radius:12px;overflow:hidden;cursor:pointer;transition:.3s;position:relative}
.zm4-masonry .zm4-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.3)}
.zm4-masonry .zm4-card .zm4-thumb{overflow:hidden;position:relative}.zm4-masonry .zm4-card .zm4-thumb img{width:100%;display:block;transition:.5s}.zm4-masonry .zm4-card:hover .zm4-thumb img{transform:scale(1.06)}
.zm4-masonry .zm4-card .zm4-overlay{position:absolute;inset:0;background:rgba(15,23,42,0.7);opacity:0;transition:.3s;display:flex;align-items:center;justify-content:center}.zm4-masonry .zm4-card:hover .zm4-overlay{opacity:1}.zm4-masonry .zm4-card .zm4-overlay .zm4-play{width:50px;height:50px;border-radius:50%;background:rgba(56,189,248,0.9);display:flex;align-items:center;justify-content:center;font-size:20px}
.zm4-masonry .zm4-card .zm4-info{padding:14px 16px}.zm4-masonry .zm4-card .zm4-info .zm4-cat{display:inline-block;padding:2px 8px;background:rgba(56,189,248,0.08);color:#38bdf8;border-radius:4px;font-size:10px;font-weight:700;margin-bottom:6px}.zm4-masonry .zm4-card .zm4-info h4{font-size:15px;font-weight:600;color:#e2e8f0}.zm4-masonry .zm4-card .zm4-info .zm4-date{font-size:11px;color:#475569;margin-top:4px}

/* 3 col cards */
.zm4-section{padding:50px 0}.zm4-sec-title{text-align:center;margin-bottom:36px}.zm4-sec-title .zm4-stag{display:inline-block;padding:3px 14px;background:rgba(56,189,248,0.06);color:#38bdf8;border-radius:50px;font-size:11px;font-weight:700;margin-bottom:10px}.zm4-sec-title h2{font-size:30px;font-weight:700;color:#f8fafc}.zm4-sec-title p{color:#64748b}
.zm4-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.zm4-gcard{background:#1e293b;border-radius:10px;overflow:hidden;transition:.2s}.zm4-gcard:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,0.2)}.zm4-gcard .zg-thumb{height:130px;overflow:hidden;position:relative}.zm4-gcard .zg-thumb img{width:100%;height:100%;object-fit:cover}.zm4-gcard .zg-thumb .zg-tag{position:absolute;top:8px;left:8px;background:rgba(239,68,68,0.8);color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.zm4-gcard .zg-body{padding:14px 16px}.zm4-gcard .zg-body h4{font-size:14px;font-weight:600;color:#e2e8f0}.zm4-gcard .zg-body p{font-size:12px;color:#64748b}

/* Stats row */
.zm4-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:40px 0}.zm4-stat{text-align:center;padding:28px 16px;background:#1e293b;border-radius:12px;border:1px solid rgba(255,255,255,0.03)}.zm4-stat .zs-val{font-size:32px;font-weight:800;color:#38bdf8}.zm4-stat .zs-lbl{font-size:12px;color:#64748b;margin-top:4px}

/* Reviews */
.zm4-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.zm4-review{background:#1e293b;border-radius:12px;padding:24px;border:1px solid rgba(255,255,255,0.03)}.zm4-review .zr-stars{color:#facc15;font-size:14px;margin-bottom:10px}.zm4-review .zr-text{font-size:14px;color:#94a3b8;line-height:1.7;font-style:italic}.zm4-review .zr-author{display:flex;align-items:center;gap:10px;margin-top:14px}.zm4-review .zr-author .zra-img{width:36px;height:36px;border-radius:50%;overflow:hidden}.zm4-review .zr-author .zra-img img{width:100%;height:100%;object-fit:cover}.zm4-review .zr-author .zra-name{font-weight:600;font-size:14px;color:#e2e8f0}

/* News row */
.zm4-news-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.zm4-ncard{background:#1e293b;border-radius:8px;overflow:hidden;transition:.2s}.zm4-ncard:hover{box-shadow:0 4px 16px rgba(0,0,0,0.2)}.zm4-ncard .zn-img{height:100px;overflow:hidden}.zm4-ncard .zn-img img{width:100%;height:100%;object-fit:cover}.zm4-ncard .zn-txt{padding:10px 14px}.zm4-ncard .zn-txt h4{font-size:13px;font-weight:600;color:#e2e8f0}.zm4-ncard .zn-txt .zn-time{font-size:10px;color:#475569}

/* FAQ */
.zm4-faq{padding:0 0 40px}.zm4-faq .fq{background:#1e293b;border:1px solid rgba(255,255,255,0.03);border-radius:10px;margin-bottom:6px;overflow:hidden}.zm4-faq .fq .q{padding:14px 20px;font-weight:600;color:#e2e8f0;cursor:pointer;display:flex;justify-content:space-between}.zm4-faq .fq .q::after{content:'+'}.zm4-faq .fq.open .q::after{content:'−'}.zm4-faq .fq .a{padding:0 20px;max-height:0;overflow:hidden;transition:.3s;color:#94a3b8}.zm4-faq .fq.open .a{padding:0 20px 16px;max-height:240px}

/* CTA */
.zm4-cta{text-align:center;padding:50px 0;background:linear-gradient(135deg,rgba(56,189,248,0.08),rgba(2,132,199,0.04));border-radius:16px;margin:20px 0}.zm4-cta h2{font-size:28px;font-weight:700;color:#f8fafc;margin-bottom:8px}.zm4-cta p{color:#64748b;margin-bottom:20px}

/* Partners */
.zm4-partners{overflow:hidden;padding:30px 0;border-top:1px solid rgba(255,255,255,0.04)}.zm4-partners .track{display:flex;gap:24px;animation:zm4p 22s linear infinite;width:fit-content}.zm4-partners .item{flex-shrink:0;background:#1e293b;border-radius:8px;padding:10px 18px}.zm4-partners .item img{height:36px;opacity:0.4}.zm4-partners .item:hover img{opacity:1}@keyframes zm4p{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Footer */
.zm4-footer{background:#0b1120;border-top:1px solid rgba(255,255,255,0.04);padding:40px 0 24px;color:#64748b;font-size:13px}.zm4-footer a{color:#64748b}.zm4-footer a:hover{color:#38bdf8}.zm4-footer .zf-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;margin-bottom:20px}.zm4-footer .zf-bot{text-align:center;padding-top:16px;border-top:1px solid rgba(255,255,255,0.04)}

/* Inner */
.zm4-detail{padding-top:24px}.zm4-row{display:flex;gap:20px;flex-wrap:wrap}.zm4-main{flex:2}.zm4-side{flex:1;min-width:250px}.zm4-card{background:#1e293b;border-radius:10px;margin-bottom:14px;border:1px solid rgba(255,255,255,0.03)}.zm4-card-hd{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,0.04);font-weight:600;color:#e2e8f0}.zm4-card-bd{padding:18px}.zm4-bread{font-size:12px;color:#475569;padding:10px 0}.zm4-art-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.02)}.zm4-art-item .art-t{width:160px;height:110px;border-radius:8px;overflow:hidden;flex-shrink:0}.zm4-art-item .art-t img{width:100%;height:100%;object-fit:cover}.zm4-art-item .art-i h4{font-size:14px;font-weight:600}.zm4-art-item .art-i h4 a{color:#e2e8f0}.zm4-art-item .art-i .art-d{font-size:12px;color:#475569;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.zm4-list-i{padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.02)}.zm4-list-i a{color:#94a3b8;font-size:13px}.zm4-tags{display:flex;gap:5px;flex-wrap:wrap}.zm4-tags a{padding:4px 10px;background:rgba(56,189,248,0.06);color:#38bdf8;border-radius:6px;font-size:11px}.zm4-pag{display:flex;justify-content:center;gap:5px;padding:20px 0}.zm4-pag a,.zm4-pag span{padding:7px 12px;border:1px solid rgba(255,255,255,0.06);border-radius:6px;font-size:12px;color:#94a3b8;background:#1e293b}.zm4-pag a:hover{background:#38bdf8;color:#0f172a}.zm4-pag .active span{background:#38bdf8;color:#0f172a}.zm4-dbody{font-size:15px;line-height:1.9;color:#94a3b8}.zm4-meta{display:flex;gap:12px;font-size:12px;color:#475569;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,0.02);margin-bottom:14px}.zm4-pn{display:flex;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,0.02);margin-top:20px}.zm4-404{text-align:center;padding:100px 20px}.zm4-404 .code{font-size:120px;color:rgba(56,189,248,0.05)}
@media(max-width:768px){.m4-nav{flex-wrap:wrap;gap:10px;justify-content:center;padding:12px 14px} .m4-nav .m4-brand{width:100%;justify-content:center} .m4-nav .m4-links{flex-wrap:wrap;justify-content:center;gap:4px;width:100%} .m4-nav .m4-links a{padding:5px 10px;font-size:11px}.zm4-masonry{columns:2 180px}.zm4-grid3,.zm4-reviews{grid-template-columns:1fr}.zm4-news-row{grid-template-columns:1fr 1fr}.zm4-stats{grid-template-columns:1fr 1fr}}
