
:root{--bg:#05060b;--ink:#e9f1ff;--muted:#7c88b0;--cyan:#00f0ff;--magenta:#ff00e5;--red:#ff2d55;--lime:#39ff14}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;overflow-x:hidden}
.bgfx{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none}
.bgfx i{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;animation:drift 20s ease-in-out infinite}
.bgfx .g1{width:560px;height:560px;background:var(--magenta);top:-160px;left:-120px}
.bgfx .g2{width:520px;height:520px;background:var(--cyan);bottom:-200px;right:-120px;animation-delay:-7s}
.bgfx .g3{width:460px;height:460px;background:var(--red);top:35%;left:60%;animation-delay:-13s}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(70px,-50px) scale(1.12)}66%{transform:translate(-60px,40px) scale(.93)}}
.gridlines{position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(0,240,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,0,229,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 50% 22%,#000 0%,transparent 78%)}
.scanlines{position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.35;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.028) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}

.home{max-width:1120px;margin:0 auto;padding:60px 18px 10px}
.hero{text-align:center;padding:28px 0 46px}
.glitch{position:relative;display:inline-block;font-size:clamp(34px,6vw,64px);font-weight:900;letter-spacing:1px;color:#fff;text-shadow:0 0 22px rgba(255,45,85,.5);line-height:1.2;margin:0}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden}
.glitch::before{color:var(--cyan);clip-path:polygon(0 2%,100% 2%,100% 40%,0 40%);animation:gl1 2.6s infinite steps(2,end);opacity:.9}
.glitch::after{color:var(--magenta);clip-path:polygon(0 58%,100% 58%,100% 100%,0 100%);animation:gl2 3.1s infinite steps(2,end);opacity:.9}
@keyframes gl1{0%,88%,100%{transform:translate(0,0)}90%{transform:translate(-3px,-1px)}94%{transform:translate(3px,1px)}}
@keyframes gl2{0%,84%,100%{transform:translate(0,0)}86%{transform:translate(3px,1px)}92%{transform:translate(-2px,-1px)}}
.sub{margin-top:16px;color:var(--muted);font-size:16px}
.sub b{color:var(--cyan);font-weight:700}
.intro{max-width:680px;margin:18px auto 0;color:#9fb0d8;font-size:14px;line-height:1.8}
.badge-local{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.5px;color:var(--lime);border:1px solid rgba(57,255,20,.4);background:rgba(57,255,20,.08)}
.cta{margin-top:30px}
.btn-go{display:inline-flex;align-items:center;gap:12px;padding:15px 34px;border:none;border-radius:11px;cursor:pointer;font-weight:900;font-size:16px;letter-spacing:1px;color:#fff;text-decoration:none;background:linear-gradient(100deg,var(--red),var(--magenta));box-shadow:0 12px 34px rgba(255,45,85,.4);transition:.18s;clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px)}
.btn-go:hover{filter:brightness(1.12);transform:translateY(-2px)}
.sec{margin-top:56px}
.sec h2{font-size:15px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);text-align:center;margin:0 0 26px}
.sec h2 span{color:var(--cyan)}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.catcard{display:flex;flex-direction:column;gap:7px;padding:22px 20px;border-radius:16px;text-decoration:none;border:1px solid rgba(120,170,255,.16);background:linear-gradient(180deg,#0b0f1c,#0e1424);transition:.2s;position:relative;overflow:hidden}
.catcard:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,240,255,.16)}
.catcard .ico{font-size:30px;filter:drop-shadow(0 0 12px rgba(255,0,229,.5))}
.catcard b{color:#fff;font-size:18px;font-weight:800}
.catcard i{color:var(--muted);font-style:normal;font-size:12.5px}
.catcard .arrow{position:absolute;right:16px;top:18px;color:var(--cyan);opacity:.5;font-size:15px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px}
.fcard{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;border-radius:11px;text-decoration:none;border:1px solid rgba(120,170,255,.16);background:linear-gradient(180deg,#0b0f1c,#0e1424);transition:.2s}
.fcard:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,240,255,.18)}
.fname-l{font-weight:900;letter-spacing:.5px;font-size:15px;color:#fff}
.ftag{font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;color:var(--cyan);background:rgba(0,240,255,.1);border:1px solid rgba(0,240,255,.3)}

/* 友情链接 */
.flinks{display:flex;flex-wrap:wrap;gap:10px;}
.flink{text-decoration:none;font-size:13.5px;color:#212122;}
.flink:hover{border-color:var(--cyan);color:#fff;box-shadow:0 8px 22px rgba(0,240,255,.16);transform:translateY(-2px)}
