
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:linear-gradient(to left,#9f80ec,#4bd5cd);background-attachment:fixed;color:#ffffff;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-width:1200px;}

/* ===== 全屏粒子画布 ===== */
#particleCanvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1;}

/* ===== 页面区块层级（高于粒子） ===== */
.hero,.features,.diagram-section,.stats,.cta-section,.footer{position:relative;z-index:2;}

/* ===== 导航 ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:64px;background:transparent;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s;min-width:1200px;}
.nav.scrolled{background:rgba(255,255,255,0.12);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,0.15);}
.nav .nav-logo img{height:36px;width:auto;display:block;}
.nav .nav-center{position:relative;flex:1;display:flex;justify-content:center;height:100%;align-items:center;min-width:600px;}
.nav .links{display:flex;gap:32px;position:absolute;left:50%;transform:translateX(-50%);transition:opacity .35s ease,transform .35s ease;white-space:nowrap;align-items:center;}
.nav .links a{font-size:14px;color:rgba(255,255,255,0.85);text-decoration:none;transition:.25s;}
.nav .links a:hover{color:#ffffff;}
.nav .links-top{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.nav .links-scrolled{opacity:0;transform:translateX(-50%) translateY(-8px);pointer-events:none;}
.nav.scrolled .links-top{opacity:0;transform:translateX(-50%) translateY(8px);pointer-events:none;}
.nav.scrolled .links-scrolled{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.nav-dropdown{position:relative;display:inline-flex;align-items:center;height:64px;}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:rgba(255,255,255,0.85);text-decoration:none;transition:.25s;cursor:pointer;}
.nav-dropdown-toggle:hover{color:#ffffff;}
.nav-dropdown-toggle .caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .25s;}
.nav-dropdown:hover .nav-dropdown-toggle .caret{transform:rotate(180deg);}
.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:170px;background:#ffffff;border-radius:12px;box-shadow:0 16px 40px -12px rgba(0,0,0,0.25),0 0 0 1px rgba(0,0,0,0.04);padding:8px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:120;}
.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav .nav-dropdown-menu a{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:13px;color:#4b5563;text-decoration:none;border-radius:8px;transition:all .2s;white-space:nowrap;}
.nav .nav-dropdown-menu a:hover{background:#ebebeb;color:#6b5fa8;}
.nav .nav-dropdown-menu a .fa{width:18px;text-align:center;color:#6b7280;}

/* ===== 按钮 ===== */
.fbf-btn{min-width:200px;margin:0 auto;display:inline-block;background:#1a1a2e;color:#ffffff;font-size:18px;font-weight:bold;padding:18px 48px;border-radius:50px;border:2px solid #ffffff;text-decoration:none;text-align:center;align-self:flex-start;transition:all 0.3s ease;box-shadow:0 12px 30px -8px rgba(0,0,0,0.4),0 0 0 6px rgba(255,255,255,0.15);animation:fbf-breath 2.5s ease-in-out infinite;cursor:pointer;}
@keyframes fbf-breath{0%,100%{box-shadow:0 12px 30px -8px rgba(0,0,0,0.4),0 0 0 6px rgba(255,255,255,0.15);}50%{box-shadow:0 12px 30px -8px rgba(0,0,0,0.5),0 0 0 12px rgba(255,255,255,0.25);}}
.fbf-btn-inline{min-width:auto;margin:0;align-self:center;padding:12px 32px;font-size:15px;border-radius:26px;box-shadow:0 8px 20px -8px rgba(0,0,0,0.35),0 0 0 4px rgba(255,255,255,0.12);animation:none;}
.fbf-btn-inline:hover{transform:translateY(-2px);}
.nav .fbf-btn-inline{padding:8px 22px;font-size:14px;border-radius:20px;border-width:2px;flex-shrink:0;}
.fbf-btn-inline.fbf-btn-ghost{background:rgba(255,255,255,0.15);color:#ffffff;border:2px solid rgba(255,255,255,0.5);backdrop-filter:blur(6px);box-shadow:none;}
.fbf-btn-inline.fbf-btn-ghost:hover{background:rgba(255,255,255,0.25);transform:translateY(-2px);}

/* ===== 首屏 ===== */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:120px 40px 80px;background:transparent;min-width:1200px;z-index:2;}
.hero::before{content:"";position:absolute;top:20%;left:50%;transform:translateX(-50%);width:900px;height:900px;background:radial-gradient(circle,rgba(255,255,255,0.18) 0%,transparent 60%);pointer-events:none;z-index:0;animation:pulse 6s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.6;transform:translateX(-50%) scale(1);}50%{opacity:1;transform:translateX(-50%) scale(1.08);}}
.hero-inner{position:relative;z-index:2;width:100%;min-width:1200px;}
.hero .badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:20px;border:1px solid rgba(255,255,255,0.4);background:rgba(255,255,255,0.15);backdrop-filter:blur(6px);font-size:13px;color:#ffffff;margin-bottom:28px;opacity:0;transform:translateY(20px);animation:fadeUp .8s cubic-bezier(.2,.7,.3,1) .1s forwards;}
.hero .badge .dot{width:6px;height:6px;border-radius:50%;background:#ffffff;box-shadow:0 0 8px rgba(255,255,255,0.9);animation:blink 1.6s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.3;}}
.hero h1{font-size:88px;font-weight:900;letter-spacing:-4px;line-height:1.02;margin-bottom:24px;color:#ffffff;text-shadow:0 4px 24px rgba(0,0,0,0.08);animation:fadeUp .9s cubic-bezier(.2,.7,.3,1) .25s forwards;opacity:0;transform:translateY(30px);}
.hero .sub{font-size:19px;color:rgba(255,255,255,0.92);margin-bottom:48px;line-height:1.7;opacity:0;transform:translateY(30px);animation:fadeUp .9s cubic-bezier(.2,.7,.3,1) .4s forwards;}
.hero .actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;transform:translateY(30px);animation:fadeUp .9s cubic-bezier(.2,.7,.3,1) .55s forwards;}
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}

/* ===== 预览窗口 ===== */
.preview-wrap{margin-top:90px;perspective:1400px;opacity:0;transform:translateY(60px);animation:fadeUp 1s cubic-bezier(.2,.7,.3,1) .75s forwards;display:flex;justify-content:center;min-width:1200px;}
.preview-window{width:960px;max-width:92vw;border-radius:18px;background:#fff;border:1px solid rgba(255,255,255,0.4);box-shadow:0 40px 80px -30px rgba(0,0,0,0.35),0 4px 20px -8px rgba(0,0,0,0.1);overflow:hidden;transform-style:preserve-3d;animation:float 7s ease-in-out infinite;transition:transform .15s ease-out;text-align:left;color:#1a1a1a;}
.preview-window .titlebar{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid #eef1f6;background:#fafbfc;}
.preview-window .titlebar span{width:11px;height:11px;border-radius:50%;}
.preview-window .titlebar span:nth-child(1){background:#ff5f57;}
.preview-window .titlebar span:nth-child(2){background:#febc2e;}
.preview-window .titlebar span:nth-child(3){background:#28c840;}
.preview-window .titlebar .url{margin-left:14px;flex:1;height:26px;border-radius:13px;background:#fff;border:1px solid #eef1f6;display:flex;align-items:center;padding:0 14px;font-size:12px;color:#9ca3af;}
.preview-body{display:grid;grid-template-columns:220px 1fr;min-height:400px;}
.preview-sidebar{background:#fafbfc;border-right:1px solid #eef1f6;padding:20px 14px;}
.preview-sidebar .side-title{font-size:12px;color:#9ca3af;padding:0 8px 12px;letter-spacing:1px;text-transform:uppercase;}
.preview-sidebar .side-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13px;color:#6b7280;margin-bottom:2px;cursor:pointer;transition:all .25s;}
.preview-sidebar .side-item:hover{background:#f2f4f8;}
.preview-sidebar .side-item.active{background:linear-gradient(to left,rgba(159,128,236,0.14),rgba(75,213,205,0.12));color:#6b5fa8;font-weight:600;}
.preview-sidebar .side-item .dot-icon{width:6px;height:6px;border-radius:50%;background:#cbd5e1;flex-shrink:0;}
.preview-sidebar .side-item.active .dot-icon{background:#9f80ec;}
.preview-main{padding:20px 24px;}
.preview-main .main-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.preview-main .main-head h4{font-size:15px;font-weight:700;color:#1a1a1a;}
.preview-main .main-head .count{font-size:12px;color:#9ca3af;}
.preview-main .main-head .count b{color:#7ecfc6;font-weight:700;}
.env-pane{display:none;animation:fadeIn .35s ease;}
.env-pane.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.env-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.env-card{background:#fff;border:1px solid #eef1f6;border-radius:12px;padding:14px 16px;transition:all .3s;}
.env-card:hover{border-color:#ddd4f0;box-shadow:0 6px 16px -8px rgba(159,128,236,0.25);}
.env-card .env-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.env-card .env-name{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1a1a1a;}
.env-card .env-flag{width:20px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(135deg,#9f80ec,#4bd5cd);flex-shrink:0;}
.env-card .status{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#16a34a;}
.env-card .status .s-dot{width:6px;height:6px;border-radius:50%;background:#16a34a;box-shadow:0 0 6px rgba(22,163,74,0.6);animation:blink 1.6s ease-in-out infinite;}
.env-card .status.off{color:#9ca3af;}
.env-card .status.off .s-dot{background:#cbd5e1;box-shadow:none;animation:none;}
.env-card .env-meta{font-size:11px;color:#9ca3af;line-height:1.7;}
.env-card .env-meta span{color:#6b7280;}
.simple-list{display:flex;flex-direction:column;gap:10px;}
.simple-item{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #eef1f6;border-radius:10px;padding:12px 16px;font-size:13px;color:#6b7280;transition:all .25s;}
.simple-item:hover{border-color:#ddd4f0;}
.simple-item .name{display:flex;align-items:center;gap:10px;color:#1a1a1a;font-weight:500;}
.simple-item .badge{font-size:11px;padding:2px 8px;border-radius:6px;background:rgba(75,213,205,0.15);color:#3a9e97;}
@keyframes float{0%,100%{transform:rotateX(6deg) translateY(0);}50%{transform:rotateX(6deg) translateY(-18px);}}

/* ===== 功能 ===== */
.features{padding:140px 40px;max-width:1100px;margin:0 auto;min-width:1200px;position:relative;z-index:2;}
.features-head{text-align:center;margin-bottom:80px;}
.features-head .eyebrow{font-size:13px;letter-spacing:3px;color:rgba(255,255,255,0.75);text-transform:uppercase;margin-bottom:16px;}
.features-head h2{font-size:48px;font-weight:800;letter-spacing:-2px;margin-bottom:16px;color:#ffffff;}
.features-head p{color:rgba(255,255,255,0.85);font-size:17px;}
.feature-row{display:flex;align-items:flex-start;gap:40px;padding:48px 0;border-bottom:1px solid rgba(255,255,255,0.2);transition:all .5s cubic-bezier(.2,.7,.3,1);}
.feature-row:last-child{border-bottom:none;}
.feature-row:hover{padding-left:16px;border-color:rgba(255,255,255,0.45);}
.feature-row .num{font-size:72px;font-weight:900;letter-spacing:-3px;line-height:1;color:#ffffff;flex-shrink:0;opacity:.35;transition:opacity .4s;min-width:120px;}
.feature-row:hover .num{opacity:1;}
.feature-row .text{flex:1;}
.feature-row .text h3{font-size:26px;font-weight:700;margin-bottom:12px;color:#ffffff;letter-spacing:-0.5px;}
.feature-row .text p{font-size:16px;color:rgba(255,255,255,0.85);line-height:1.8;max-width:640px;}

/* ===== 示意图（无背景） ===== */
.diagram-section{width:100%;padding:100px 40px;min-width:1200px;background:transparent;position:relative;z-index:2;}
.diagram-inner{width:100%;max-width:1100px;margin:0 auto;background:transparent;padding:0;}
.diagram-title{text-align:center;font-size:34px;font-weight:800;color:#ffffff;margin-bottom:14px;letter-spacing:1px;}
.diagram-sub{text-align:center;font-size:16px;color:rgba(255,255,255,0.85);margin-bottom:60px;line-height:1.8;}
.diagram-computer{position:relative;background:#1a1a2e;border-radius:20px;padding:24px 24px 0 24px;box-shadow:0 30px 60px -20px rgba(0,0,0,0.4);}
.diagram-computer::before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);width:60px;height:4px;background:#333;border-radius:2px;}
.diagram-screen{background:#e8edf5;border-radius:12px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.diagram-base{height:20px;background:#0f0f1e;border-radius:0 0 16px 16px;position:relative;}
.diagram-base::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:8px;background:#1a1a2e;border-radius:0 0 8px 8px;}
.diagram-browser{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 6px 20px -8px rgba(0,0,0,0.15);border:1px solid #e2e8f0;transition:transform 0.3s ease;}
.diagram-browser:hover{transform:translateY(-4px);}
.diagram-bar{background:#f1f5f9;padding:8px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #e2e8f0;}
.diagram-dots{display:flex;gap:5px;}
.diagram-dots span{width:9px;height:9px;border-radius:50%;display:inline-block;}
.diagram-dot-red{background:#ff5f57;}
.diagram-dot-yellow{background:#febc2e;}
.diagram-dot-green{background:#28c840;}
.diagram-url{flex:1;background:#fff;border-radius:6px;padding:4px 10px;font-size:11px;color:#64748b;border:1px solid #e2e8f0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.diagram-body{padding:14px;height:110px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:linear-gradient(135deg,#fafbff,#f1f5fb);}
.diagram-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;}
.diagram-account{font-size:13px;font-weight:600;color:#1a1a2e;}
.diagram-platform{font-size:11px;color:#94a3b8;}
.diagram-info{background:#f8fafc;padding:12px 14px;border-top:1px solid #e2e8f0;font-size:11px;color:#475569;line-height:1.8;}
.diagram-info .row{display:flex;gap:6px;align-items:flex-start;}
.diagram-info .label{flex-shrink:0;color:#94a3b8;font-weight:600;}
.diagram-info .value{color:#334155;word-break:break-all;}
.diagram-info .ip{color:#2563eb;font-weight:700;}
.diagram-theme-1 .diagram-avatar{background:linear-gradient(135deg,#2563eb,#38bdf8);}
.diagram-theme-2 .diagram-avatar{background:linear-gradient(135deg,#7c3aed,#a78bfa);}
.diagram-theme-3 .diagram-avatar{background:linear-gradient(135deg,#059669,#34d399);}
.diagram-theme-4 .diagram-avatar{background:linear-gradient(135deg,#ea580c,#fb923c);}
.diagram-note{text-align:center;margin-top:50px;font-size:15px;color:rgba(255,255,255,0.85);line-height:2;}
.diagram-note strong{color:#ffffff;}

/* ===== 数据 ===== */
.stats{padding:100px 40px;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid rgba(255,255,255,0.2);border-bottom:1px solid rgba(255,255,255,0.2);min-width:1200px;position:relative;z-index:2;}
.stat-item{text-align:center;}
.stat-item .num{font-size:52px;font-weight:900;letter-spacing:-2px;color:#ffffff;margin-bottom:8px;}
.stat-item .label{font-size:14px;color:rgba(255,255,255,0.85);}

/* ===== CTA ===== */
.cta-section{padding:140px 40px;text-align:center;position:relative;overflow:hidden;background:transparent;min-width:1200px;z-index:2;}
.cta-section::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(255,255,255,0.15) 0%,transparent 60%);pointer-events:none;}
.cta-section h2{font-size:52px;font-weight:900;letter-spacing:-2px;margin-bottom:20px;position:relative;color:#ffffff;}
.cta-section p{color:rgba(255,255,255,0.9);font-size:17px;margin-bottom:40px;position:relative;}
.cta-section .actions{display:flex;justify-content:center;gap:16px;position:relative;}

/* ===== 页脚 ===== */
.footer{position:relative;z-index:2;padding:30px 48px;border-top:1px solid rgba(255,255,255,0.2);display:flex;justify-content:center;align-items:center;min-width:1200px;}
.footer-bar{display:flex;align-items:center;gap:10px;font-size:13px;line-height:20px;color:rgba(255,255,255,0.8);}
.footer-bar .copyright{font-size:13px;line-height:20px;color:rgba(255,255,255,0.8);}
.footer-bar .footer-divider{color:rgba(255,255,255,0.5);font-size:13px;line-height:20px;}
.footer-lang{position:relative;display:inline-flex;align-items:center;}
.footer-lang-toggle{display:inline-flex;align-items:center;gap:5px;font-size:13px;line-height:20px;color:rgba(255,255,255,0.8);cursor:pointer;user-select:none;transition:color .25s;}
.footer-lang-toggle:hover{color:#ffffff;}
.footer-lang-toggle .fa{font-size:13px;line-height:20px;}
.footer-lang-toggle .caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .25s;margin-left:2px;}
.footer-lang.open .footer-lang-toggle .caret{transform:rotate(180deg);}
.footer-lang-menu{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(8px);margin-bottom:12px;min-width:150px;background:#ffffff;border-radius:12px;box-shadow:0 16px 40px -12px rgba(0,0,0,0.35),0 0 0 1px rgba(0,0,0,0.05);padding:8px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:9999;}
.footer-lang.open .footer-lang-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.footer-lang-menu a{display:block;padding:9px 14px;font-size:13px;color:#4b5563;text-decoration:none;border-radius:8px;transition:all .2s;white-space:nowrap;}
.footer-lang-menu a:hover{background:#f4f6fb;color:#6b5fa8;}
.reveal{opacity:0;transform:translateY(50px);transition:all 1s cubic-bezier(.2,.7,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}