:root{--night:#070b16;--night2:#0b1226;--road:#141b2e;--panel:#0e1526;--panel2:#131c30;--line:#1e2a42;--gold:#f0b90b;--gold2:#b8860b;--cyan:#22d3ee;--green:#34d399;--blue:#3b82f6;--txt:#e5e9f0;--mut:#7c88a0;--mono:'Share Tech Mono',ui-monospace,Menlo,monospace}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--night);color:var(--txt);font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;overflow-x:hidden;line-height:1.7;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
/* 顶部城市条 */
.citybar{position:sticky;top:0;z-index:60;background:rgba(7,11,22,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(240,185,11,.2)}
.citybar .in{max-width:1200px;margin:0 auto;padding:13px 28px;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px;letter-spacing:2px}
.logo .ic{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--gold),var(--gold2));display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--night)}
.logo small{display:block;font-size:8px;color:var(--mut);letter-spacing:3px;font-family:var(--mono)}
.nv{display:flex;gap:22px;font-size:13px;color:rgba(229,233,240,.7)}
.nv a{color:rgba(229,233,240,.7);letter-spacing:1px}
.nv a:hover{color:var(--gold)}
.rt{margin-left:auto;display:flex;align-items:center;gap:18px;font-family:var(--mono)}
.rt .st{font-size:10px;color:var(--green);letter-spacing:1px;display:flex;align-items:center;gap:7px}
.rt .st i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:blink 1.5s infinite}
@keyframes blink{50%{opacity:.4}}
.rt .reg{background:var(--gold);color:var(--night);font-weight:700;padding:8px 20px;border-radius:5px;font-size:12px}
/* 夜空+城市 */
.citysec{position:relative;min-height:92vh;background:radial-gradient(120% 90% at 50% 30%,#0d1730 0%,#070b16 55%,#04060d 100%);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sky-stars{position:absolute;inset:0;z-index:1}
.sky-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.3;animation:tw 4s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.15}50%{opacity:.6}}
.citysec .headline{position:relative;z-index:3;text-align:center;padding:40px 20px 10px}
.citysec .headline .k{font-family:var(--mono);font-size:11px;letter-spacing:6px;color:var(--cyan);margin-bottom:12px}
.citysec .headline h1{font-size:clamp(1.6rem,3.6vw,2.6rem);font-weight:800;letter-spacing:3px}
.citysec .headline h1 em{font-style:normal;color:var(--gold);text-shadow:0 0 30px rgba(240,185,11,.6)}
.citysec .headline p{color:var(--mut);font-size:13px;letter-spacing:2px;margin-top:10px;font-family:var(--mono)}
.map{position:relative;z-index:3;width:min(880px,92vw);height:min(480px,56vh);margin:18px auto;border-radius:18px;border:1px solid rgba(240,185,11,.15);background:linear-gradient(180deg,rgba(11,18,38,.5),rgba(7,11,22,.7));overflow:hidden;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:1fr 1fr}
.road-x{position:absolute;left:0;right:0;top:50%;height:6px;background:var(--road);z-index:1;overflow:hidden}
.road-y{position:absolute;top:0;bottom:0;left:50%;width:6px;background:var(--road);z-index:1;overflow:hidden}
.road-x i,.road-y i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.8;animation:flowx 3s linear infinite}
.road-y i{animation:flowy 3s linear infinite}
@keyframes flowx{from{left:0}to{left:100%}}
@keyframes flowy{from{top:0}to{top:100%}}
.block{position:relative;z-index:2;margin:12px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:8px;border:1px solid;transition:all .25s}
.block:hover{transform:translateY(-4px)}
.block .bld{width:100%;max-width:110px;border-radius:8px 8px 3px 3px;display:flex;align-items:center;justify-content:center;font-size:22px}
.block .name{font-size:12px;letter-spacing:1px;margin-top:8px;font-weight:700;color:var(--txt);text-align:center}
.block .tag{font-family:var(--mono);font-size:9px;color:var(--mut);letter-spacing:1px;margin-top:3px;text-align:center}
.b-spot{border-color:rgba(240,185,11,.4)} .b-spot .bld{background:linear-gradient(180deg,#1c2b1a,#0f1a12);box-shadow:0 0 30px rgba(240,185,11,.25);height:80px}
.b-contract{border-color:rgba(59,130,246,.4)} .b-contract .bld{background:linear-gradient(180deg,#1a2440,#101a30);box-shadow:0 0 30px rgba(59,130,246,.3);height:68px}
.b-wallet{border-color:rgba(212,175,55,.45)} .b-wallet .bld{background:linear-gradient(180deg,#2a2410,#161a10);box-shadow:0 0 30px rgba(212,175,55,.3);height:64px}
.b-nft{border-color:rgba(34,211,238,.4)} .b-nft .bld{background:linear-gradient(180deg,#102a32,#0a1820);box-shadow:0 0 30px rgba(34,211,238,.3);height:60px}
.b-market{border-color:rgba(52,211,153,.4)} .b-market .bld{background:linear-gradient(180deg,#123028,#0a1a14);box-shadow:0 0 30px rgba(52,211,153,.3);height:74px}
.b-support{border-color:rgba(240,185,11,.35)} .b-support .bld{background:linear-gradient(180deg,#1e2a14,#111a0a);box-shadow:0 0 24px rgba(240,185,11,.2);height:52px}
.b-spot .bld::after,.b-market .bld::after{content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:rgba(240,185,11,.15);filter:blur(5px);animation:pulse 3s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}
.cstats{position:relative;z-index:3;display:flex;gap:34px;justify-content:center;flex-wrap:wrap;padding:20px 20px;font-family:var(--mono)}
.cstats div{text-align:center}
.cstats b{font-size:clamp(1.1rem,2.4vw,1.6rem);color:var(--gold);display:block}
.cstats span{font-size:10px;color:var(--mut);letter-spacing:2px}
.cityfoot{position:relative;z-index:3;text-align:center;padding:10px 20px 40px}
.cityfoot .go{display:inline-block;background:var(--gold);color:var(--night);font-weight:800;padding:14px 44px;border-radius:6px;font-family:var(--mono);letter-spacing:2px;box-shadow:0 0 40px rgba(240,185,11,.4)}
/* 功能卡 */
.featsec{padding:60px 0;background:#0a0f1d}
.featsec .sec-h{font-size:22px;font-weight:800;letter-spacing:2px;text-align:center}
.featsec .sec-s{color:var(--gold2);font-size:12px;font-family:var(--mono);letter-spacing:3px;margin-top:6px;text-align:center}
.featsec .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.featsec .card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;transition:all .2s}
.featsec .card:hover{border-color:var(--gold)}
.featsec .card .ic{width:42px;height:42px;border-radius:10px;background:rgba(240,185,11,.12);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.featsec .card b{font-size:15px;letter-spacing:1px;color:#fff}
.featsec .card p{font-size:12px;color:var(--mut);line-height:1.9;margin-top:10px}
/* 定位介绍 */
.aboutx{padding:10px 0 56px;background:#0a0f1d}
.aboutx .in{max-width:780px;margin:0 auto;text-align:center;padding:0 28px}
.aboutx h3{font-size:20px;letter-spacing:2px;font-weight:800}
.aboutx .sub{color:var(--gold2);font-size:12px;font-family:var(--mono);letter-spacing:3px;margin-top:6px}
.aboutx p{margin-top:22px;color:var(--mut);font-size:13px;line-height:2.1}
/* 栏目入口 */
.dirs{padding:0 0 56px;background:#0a0f1d}
.dirs .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.dirs .dir{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;justify-content:space-between;align-items:center;transition:all .2s}
.dirs .dir:hover{border-color:var(--gold)}
.dirs .dir b{font-size:16px;letter-spacing:1px;color:#fff}
.dirs .dir span{display:block;font-family:var(--mono);font-size:11px;color:var(--mut);margin-top:6px}
.dirs .dir .arr{font-family:var(--mono);color:var(--gold);font-size:18px}
/* CTA */
.cta{border-radius:14px;background:linear-gradient(135deg,var(--panel2),var(--panel));border:1px solid rgba(240,185,11,.3);color:#fff;padding:46px;text-align:center;margin:0 0 60px}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(240,185,11,.14),transparent 60%)}
.cta .big{font-size:clamp(1.3rem,2.8vw,2rem);font-weight:800;letter-spacing:2px;position:relative}
.cta .big em{font-style:normal;color:var(--gold)}
.cta p{color:rgba(229,233,240,.55);font-size:12px;margin-top:12px;font-family:var(--mono);letter-spacing:3px;position:relative}
.cta .btn{display:inline-block;margin-top:24px;background:var(--gold);color:var(--night);font-weight:800;padding:13px 38px;border-radius:5px;font-family:var(--mono);letter-spacing:1px;position:relative}
/* 页脚 */
.ft{background:#04060d;border-top:1px solid rgba(240,185,11,.15);color:rgba(229,233,240,.55)}
.ft .in{max-width:1200px;margin:0 auto;padding:44px 28px 28px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
.ft h4{font-size:12px;letter-spacing:2px;color:var(--gold);font-family:var(--mono);margin-bottom:14px}
.ft a{display:block;color:rgba(229,233,240,.5);font-size:12px;line-height:2.1}
.ft a:hover{color:var(--gold)}
.ft .brand{font-size:15px;font-weight:800;color:#fff;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ft .brand .ic{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--gold),var(--gold2));display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--night)}
.ft .desc{font-size:12px;line-height:2;color:rgba(229,233,240,.4)}
.ft .reg{font-family:var(--mono);font-size:10px;color:var(--gold2);margin-top:10px;display:block;letter-spacing:1px}
.ft .risk{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.08);padding-top:16px;font-size:10px;color:rgba(229,233,240,.35);line-height:1.8}
.ft .copy{grid-column:1/-1;text-align:center;font-size:11px;color:rgba(229,233,240,.3);font-family:var(--mono);padding-top:14px}
/* L1 街区门牌卡 */
.stv{max-width:1000px;margin:0 auto;padding:120px 0 46px}
.stv .card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:30px 32px}
.stv h1{font-size:24px;letter-spacing:2px;color:#fff;margin-bottom:6px}
.stv .sub{font-family:var(--mono);font-size:12px;color:var(--gold2);letter-spacing:2px;margin-bottom:24px}
.stv a.back{font-family:var(--mono);font-size:12px;color:var(--cyan)}
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.st{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;gap:16px;align-items:center;transition:all .2s}
.st:hover{border-color:var(--gold)}
.st .sico{width:52px;height:52px;border-radius:11px;background:rgba(240,185,11,.12);display:flex;align-items:center;justify-content:center;font-size:24px;flex:none}
.st .mid{flex:1;min-width:0}
.st .mid .bn{font-family:var(--mono);font-size:10px;color:var(--gold2);letter-spacing:1px}
.st .mid b{font-size:14px;color:var(--txt);font-weight:500;display:block;margin-top:4px;letter-spacing:.5px;line-height:1.6}
.st .r{flex:none;text-align:right;font-family:var(--mono);font-size:10px;color:var(--mut)}
.st .st-l{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);display:inline-block;margin-right:6px}
.pg{display:flex;justify-content:center;gap:10px;padding:24px 0 0}
.pg a,.pg s{padding:8px 16px;border:1px solid var(--line);border-radius:6px;font-size:12px;font-weight:600;color:var(--txt);font-family:var(--mono)}
.pg s{background:var(--gold);color:var(--night);border:none}
/* L2 公告牌 */
.board{max-width:820px;margin:0 auto;padding:120px 0 46px}
.bbanner{background:linear-gradient(135deg,var(--panel2),var(--panel));border:1px solid rgba(240,185,11,.3);border-radius:14px;padding:26px 34px;position:relative;overflow:hidden;margin-bottom:16px}
.bbanner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(240,185,11,.14),transparent 55%)}
.bbanner .btag{font-family:var(--mono);font-size:10px;color:var(--gold);letter-spacing:2px;position:relative}
.bbanner h1{font-size:22px;font-weight:800;color:#fff;letter-spacing:1px;line-height:1.5;margin-top:8px;position:relative}
.bbanner .meta{font-family:var(--mono);font-size:10px;color:var(--mut);letter-spacing:1px;margin-top:12px;position:relative;display:flex;gap:16px;flex-wrap:wrap}
.bbody{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:38px 44px}
.bbody a.back{font-family:var(--mono);font-size:11px;color:var(--cyan);display:inline-block;margin-bottom:18px}
.bbody h2{font-size:18px;font-weight:700;margin:26px 0 14px;padding-left:13px;border-left:4px solid var(--gold);color:#fff}
.bbody p{margin-bottom:18px;line-height:2;color:rgba(229,233,240,.75);text-align:justify}
.bbody img{margin:16px auto;display:block;border-radius:10px;border:1px solid var(--line)}
.bfoot{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:16px 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-top:14px}
.bfoot .meta2{font-family:var(--mono);font-size:10px;color:var(--mut);display:flex;gap:18px;flex-wrap:wrap}
.bfoot .meta2 span{display:flex;align-items:center;gap:7px}
.bfoot .meta2 i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}
.bfoot .cta{background:var(--gold);color:var(--night);padding:11px 32px;border-radius:5px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:1px}
@media(max-width:900px){
.citybar .nv{order:3;flex:1 0 100%;display:flex;overflow-x:auto;white-space:nowrap;gap:20px;padding-top:8px}
.rt{margin-left:0}
.map{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto);height:auto}
.road-y{display:none}
.block{margin:8px}
.block .tag{display:none}
.featsec .grid{grid-template-columns:1fr}
.dirs .grid{grid-template-columns:1fr}
.ft .in{grid-template-columns:1fr 1fr}
.st-grid{grid-template-columns:1fr}
.bbody{padding:26px 22px}
}