:root{--cw:min(94%,1200px);--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;--ink:#0B1220;--sub:#5B6472;--line:#E8ECF3;--bg:#fff;--panel:#F6F8FB;--blue:#2563EB;--violet:#7C3AED;--grad:linear-gradient(90deg,#2563EB,#7C3AED)}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{text-decoration:none;color:inherit}
.container{max-width:var(--cw);margin:0 auto;padding:0 clamp(18px,2vw,32px)}
.nav{position:sticky;top:16px;z-index:90;max-width:var(--cw);margin:20px auto 0;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px;display:flex;justify-content:space-between;align-items:center;padding:13px 22px;box-shadow:0 14px 34px -24px rgba(30,50,100,.4)}
.nav .logo{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:1px}.nav .logo b{font-size:16px}.nav .logo span{font-size:10px;color:var(--sub);letter-spacing:2px;font-weight:600}
.nav .menu{display:flex;gap:20px;font-size:13.5px;color:var(--sub);align-items:center;flex:0 1 auto;min-width:0;margin-left:auto;overflow-x:auto}.nav .menu a{transition:.2s;white-space:nowrap}.nav .menu a:hover{color:var(--ink)}.nav .menu a.on{color:var(--blue);font-weight:600}.nav .menu .cta{background:var(--ink);color:#fff;padding:8px 18px;border-radius:999px}.nav .menu .cta:hover{background:#1c2536}
.hero{padding:54px 0 26px}.hero .kick{font-size:12px;letter-spacing:3px;color:var(--blue);font-weight:700}.hero h1{font-size:clamp(30px,4.6vw,46px);letter-spacing:1px;margin:12px 0;font-weight:800}.hero p{color:var(--sub);font-size:15px;line-height:1.9;max-width:760px}
.hero .stat{display:flex;gap:28px;margin-top:22px;flex-wrap:wrap}.hero .stat b{font-size:26px;font-weight:800}.hero .stat span{color:var(--sub);font-size:12.5px}
.cat{padding:26px 0 10px}.cat .cathead{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.cat .cathead .no{font-size:12px;letter-spacing:2px;color:var(--violet);font-weight:700}.cat h2{font-size:clamp(22px,3vw,30px);font-weight:800}.cat .cathead small{color:var(--sub);font-size:12.5px}
.subhead{margin:26px 0 14px;font-size:16px;font-weight:700;display:flex;align-items:center;gap:9px}.subhead span{font-size:11px;color:var(--sub);background:var(--panel);border:1px solid var(--line);padding:2px 9px;border-radius:999px}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.vcard{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#0B1220 0%,#1e2a4a 55%,#2563EB 100%);transition:.2s}.vcard:hover{box-shadow:0 18px 30px -22px rgba(30,50,100,.35);transform:translateY(-2px)}
.vcard video{width:100%;aspect-ratio:16/9;display:block;background:transparent;opacity:0;transition:opacity .25s}
.vcard.playing video{opacity:1}
.vcard figcaption{padding:12px 14px;font-size:13.5px;line-height:1.5;color:var(--ink);background:#fff}
/* 无 poster 占位：品牌渐变 + 播放按钮；点击播放后露出视频与原生控件 */
.vcard::after{content:"";position:absolute;top:0;left:0;width:100%;aspect-ratio:16/9;z-index:2;pointer-events:none;background:no-repeat center/56px 56px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='27' fill='rgba(255,255,255,.92)'/%3E%3Cpath d='M23 17 L42 28 L23 39 Z' fill='%232563EB'/%3E%3C/svg%3E");transition:opacity .25s}
.vcard.playing::after{opacity:0;visibility:hidden}
.toc{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 6px}.toc a{font-size:12.5px;color:var(--blue);border:1px solid var(--line);padding:7px 14px;border-radius:999px;background:#fff}.toc a:hover{border-color:var(--blue)}
footer{margin-top:60px;border-top:1px solid var(--line);padding:40px 0 30px;color:var(--sub);font-size:13px}.footer-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:22px}.footer-top .brand{font-size:18px;font-weight:800;color:var(--ink)}.footer-links a{display:inline-block;margin:4px 14px 4px 0;color:var(--sub)}.legal{border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:#98A1B0}
@media(max-width:760px){.vgrid{grid-template-columns:1fr 1fr;gap:12px}.nav .menu{gap:14px}}
@media(max-width:520px){.vgrid{grid-template-columns:1fr}.nav{padding:11px 14px}}
