:root{
  --bg:#000;--panel:#0a0b0d;--panel2:#101216;--panel3:#15171c;--line:#1b1e24;--line2:#262a31;
  --ink:#f4f5f7;--muted:#9aa1ac;--muted2:#5b616c;
  --serif:"Georgia","Times New Roman","Songti SC","STSong",serif;
  --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;font-size:16px}
a{color:inherit;text-decoration:none}
svg{display:block}
.serif{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}

/* ===== 导航 ===== */
.nav{position:sticky;top:0;z-index:100;background:rgba(0,0,0,.72);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 28px;height:64px;display:flex;align-items:center;gap:8px;position:relative}
.brand{font-weight:800;font-size:19px;letter-spacing:.01em;margin-right:18px;flex-shrink:0}
.nav-mid{display:flex;align-items:center;gap:4px}
.navitem{position:relative}
.navitem>a,.navitem>button{display:inline-flex;align-items:center;gap:5px;font-size:14px;color:var(--muted);padding:8px 12px;border-radius:8px;background:none;border:none;cursor:pointer;font-family:inherit;transition:color .15s,background .15s}
.navitem>a:hover,.navitem>button:hover,.navitem.open>button{color:var(--ink)}
.navitem .caret{width:12px;height:12px;opacity:.6;transition:transform .2s}
.navitem.open .caret{transform:rotate(180deg)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-login{font-size:13.5px;font-weight:600;color:#cfd3da;padding:8px 14px;border-radius:9px;transition:all .16s}
.nav-login:hover{background:var(--panel3);color:#fff}
.nav-cta{font-size:13.5px;font-weight:600;color:#000;background:#fff;border:1px solid #fff;padding:8px 16px;border-radius:9px;transition:all .16s}
.nav-cta:hover{background:#d4d8df;border-color:#d4d8df}

/* ===== Mega 下拉面板 ===== */
.mega-wrap{position:absolute;left:28px;right:28px;top:60px;z-index:99;display:none}
.mega-wrap.show{display:block}
.mega{max-width:var(--maxw);margin:0 auto;background:#0b0c0f;border:1px solid var(--line2);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.6);padding:14px;animation:megaIn .18s ease}
@keyframes megaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mega-list{display:flex;flex-direction:column;padding:8px}
.mega-list.single{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}
.mega-link{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:12px;transition:background .14s}
.mega-link:hover{background:var(--panel3)}
.mega-link b{font-size:15px;font-weight:600;color:var(--ink)}
.mega-link span{font-size:13px;color:var(--muted)}
/* 右侧卡片 */
.mega-cards{display:flex;flex-direction:column;gap:10px;padding:4px}
.mega-card{display:flex;align-items:center;gap:16px;padding:16px;border-radius:14px;background:var(--panel2);border:1px solid var(--line);transition:all .16s}
.mega-card:hover{border-color:var(--line2);background:var(--panel3)}
.mega-card .mc-art{width:72px;height:72px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 30%,#2a2d34,#0a0b0d)}
.mega-card .mc-art canvas{width:72px;height:72px}
.mini3d-sm{width:72px;height:72px}
.mega-card .mc-art+span{display:flex;flex-direction:column;gap:3px}
.mega-card b{font-size:15px;font-weight:600;display:block}
.mega-card span{font-size:13px;color:var(--muted)}

/* 汉堡 */
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}
.hamb span{width:22px;height:2px;background:#cfd3da;border-radius:2px;transition:.25s}
.hamb.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamb.open span:nth-child(2){opacity:0}
.hamb.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* 移动端菜单 */
.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;z-index:98;background:#000;overflow-y:auto;padding:12px 20px 40px}
.mobile-menu.show{display:block}
.m-group{border-bottom:1px solid var(--line)}
.m-head{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 4px;background:none;border:none;color:var(--ink);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer}
.m-head .caret{width:14px;height:14px;opacity:.6;transition:transform .2s}
.m-group.open .m-head .caret{transform:rotate(180deg)}
.m-sub{display:none;padding:0 4px 14px}
.m-group.open .m-sub{display:block}
.m-sub a{display:block;padding:10px 12px;color:var(--muted);font-size:15px;border-radius:8px}
.m-sub a:hover{color:var(--ink);background:var(--panel2)}
.m-foot{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.m-foot a{text-align:center;padding:13px;border-radius:10px;font-weight:600}
.m-foot .ml{border:1px solid var(--line2);color:var(--ink)}
.m-foot .mc{background:#fff;color:#000}

/* ===== Hero ===== */
.hero{max-width:var(--maxw);margin:0 auto;padding:96px 28px 60px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.glow-pill{position:relative;display:inline-block;padding:1.5px;border-radius:30px;margin-bottom:30px;overflow:hidden}
.glow-pill::before{content:"";position:absolute;left:-50%;top:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg,#fff 40deg,#555 120deg,transparent 220deg,transparent 360deg);animation:pillspin 5s linear infinite}
@keyframes pillspin{to{transform:rotate(360deg)}}
.pill-inner{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--ink);background:#0b0d10;padding:7px 15px;border-radius:30px}
.pdot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.8)}
.arr{opacity:.5}
.hero h1{font-size:72px;line-height:1.03;letter-spacing:-.025em}
.hero h1 .dim{color:#5b616c}
.lede{color:var(--muted);font-size:18px;margin-top:26px;max-width:460px}
.hero-cta{margin-top:34px;display:flex;gap:14px;align-items:center}
.hero-cta.center{justify-content:center}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:15px;font-weight:600;transition:all .18s;cursor:pointer}
.btn-light{background:#fff;color:#000;border:1px solid #fff}
.btn-light:hover{background:#d4d8df;border-color:#d4d8df}
.btn-dark{background:var(--panel3);color:#fff;border:1px solid var(--line2)}
.btn-dark:hover{background:#fff;color:#000;border-color:#fff}
.btn-text{color:var(--muted);padding:12px 4px}
.btn-text:hover{color:var(--ink)}
.hero-visual{display:flex;justify-content:center;align-items:center;min-height:440px}
.ai-canvas{width:440px;height:440px;max-width:100%}

/* 数据条 */
.stats-bar{max-width:var(--maxw);margin:0 auto;padding:0 28px 60px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-bottom:1px solid var(--line)}
.stat-item{text-align:center;padding:16px}
.stat-num{font-size:32px;font-weight:800;font-family:var(--serif);color:var(--ink)}
.stat-label{font-size:13px;color:var(--muted);margin-top:4px}

/* 鼠标高亮大字 */
.wordmark{max-width:var(--maxw);margin:0 auto;padding:30px 28px 60px;text-align:center;overflow:hidden}
.wm-stage{position:relative;cursor:default;display:inline-block;max-width:100%;padding-bottom:14px}
.wm-base,.wm-glow{font-family:var(--serif);font-weight:700;font-size:clamp(44px,10vw,130px);line-height:1;letter-spacing:.01em;margin:0;user-select:none;white-space:nowrap}
.wm-base{background:linear-gradient(180deg,#1a1c20,#070809);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.wm-glow{position:absolute;left:0;top:0;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.9);filter:drop-shadow(0 0 8px rgba(255,255,255,.6));-webkit-mask-image:radial-gradient(90px circle at var(--mx,-999px) var(--my,-999px),#000 0%,rgba(0,0,0,.6) 40%,transparent 72%);mask-image:radial-gradient(90px circle at var(--mx,-999px) var(--my,-999px),#000 0%,rgba(0,0,0,.6) 40%,transparent 72%)}
.wm-floor{position:absolute;left:-20%;right:-20%;bottom:0;height:46%;background:linear-gradient(180deg,rgba(0,0,0,0),#000 42%);border-bottom:1px solid rgba(255,255,255,.12);pointer-events:none}
.wm-sub{color:var(--muted);font-size:16px;margin-top:26px}

/* 功能区 3D icon */
.icon3d{width:120px;height:120px;margin-bottom:18px}
.mini3d{width:120px;height:120px}

/* 信任词墙 */
.trust{max-width:var(--maxw);margin:0 auto;padding:50px 28px 80px;text-align:center;border-top:1px solid var(--line)}
.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px;max-width:900px;margin:0 auto}
.logo-wall .lw{display:flex;align-items:center;justify-content:center;gap:8px;color:#cfd3da;font-size:15px;font-weight:700;opacity:.72;transition:opacity .2s}
.logo-wall .lw:hover{opacity:1}
.logo-wall .lw svg{width:22px;height:22px;color:var(--muted)}
.trust-more{display:inline-block;margin-top:40px;color:var(--muted);font-size:14px}
.trust-more:hover{color:var(--ink)}

/* 通用居中功能区 */
.feature{max-width:var(--maxw);margin:0 auto;padding:90px 28px;text-align:center}
.feature.center{display:flex;flex-direction:column;align-items:center}
.feature h2{font-size:52px;line-height:1.1}
.feat-sub{color:var(--muted);font-size:17px;margin:18px auto 0;max-width:580px}

/* 服务砖 */
.chip-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:46px}
.chip{display:flex;flex-direction:column;align-items:center;gap:10px;width:100px}
.chip .ct{width:66px;height:66px;border-radius:16px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#c7ccd4;transition:all .18s}
.chip .ct svg{width:28px;height:28px}
.chip:hover .ct{border-color:var(--line2);background:var(--panel2);transform:translateY(-3px)}
.chip.on .ct{border-color:#fff;color:#fff;box-shadow:0 0 24px rgba(255,255,255,.12)}
.chip span{font-size:12.5px;color:var(--muted);text-align:center}

/* ===== SDK 代码 demo ===== */
.code-demo{max-width:980px;margin:46px auto 0;text-align:left}
.code-tabs{display:flex;gap:6px;margin-bottom:-1px;position:relative;z-index:1;flex-wrap:wrap}
.code-tab{font-size:13px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-bottom:none;padding:9px 16px;border-radius:10px 10px 0 0;cursor:pointer;font-family:inherit;transition:all .14s}
.code-tab:hover{color:var(--ink)}
.code-tab.on{color:var(--ink);background:var(--panel2);border-color:var(--line2)}
.code-box{background:var(--panel2);border:1px solid var(--line2);border-radius:0 14px 14px 14px;overflow:hidden}
.code-top{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}
.code-top .dot{width:11px;height:11px;border-radius:50%}
.code-top .dot.r{background:#ff5f57}.code-top .dot.y{background:#febc2e}.code-top .dot.g{background:#28c840}
.code-top .fname{margin-left:10px;font-size:12.5px;color:var(--muted);font-family:ui-monospace,"SF Mono",Menlo,monospace}
.code-copy{margin-left:auto;font-size:12px;color:var(--muted);background:var(--panel3);border:1px solid var(--line);border-radius:7px;padding:4px 10px;cursor:pointer;font-family:inherit}
.code-copy:hover{color:var(--ink)}
.code-body{padding:20px 22px;overflow-x:auto}
.code-body pre{margin:0}
.code-body code{font-family:ui-monospace,"SF Mono",Menlo,Monaco,monospace;font-size:13.5px;line-height:1.7;color:#d4d8df;white-space:pre}
.tok-kw{color:#c792ea}.tok-fn{color:#82aaff}.tok-str{color:#c3e88d}.tok-com{color:#5b616c;font-style:italic}.tok-num{color:#f78c6c}.tok-prop{color:#ffcb6b}

/* 口碑 */
.voices{padding:90px 0;overflow:hidden}
.voices .sec-head{text-align:center;max-width:var(--maxw);margin:0 auto 48px;padding:0 28px}
.voices h2{font-size:52px;line-height:1.1}
.voice-rail{display:flex;gap:18px;width:max-content;padding:0 28px;animation:rail 55s linear infinite}
@keyframes rail{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.vcard{width:360px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;flex-shrink:0}
.vcard p{font-size:15px;color:#d4d8df;line-height:1.65}
.vcard .vby{display:flex;align-items:center;gap:12px;margin-top:22px}
.vav{width:40px;height:40px;border-radius:50%;color:#000;background:#fff;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vby b{font-size:14px;display:block}
.vby span{font-size:12.5px;color:var(--muted)}

/* CTA */
.cta-sec{text-align:center;padding:100px 28px}
.cta-sec h2{font-size:48px;margin-bottom:30px}

/* 页脚 */
.foot{border-top:1px solid var(--line);position:relative;overflow:hidden}
.foot-in{max-width:var(--maxw);margin:0 auto;padding:60px 28px 40px;display:grid;grid-template-columns:260px 1fr;gap:40px;position:relative;z-index:1}
.foot-addr{color:var(--muted);font-size:13.5px;line-height:1.7}
.foot-social{display:flex;gap:10px;margin:20px 0}
.foot-social a{width:34px;height:34px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.foot-social a:hover{color:var(--ink);border-color:var(--line2)}
.foot-social svg{width:16px;height:16px}
.status{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);background:var(--panel);border:1px solid var(--line);padding:6px 12px;border-radius:20px}
.sdot{width:7px;height:7px;border-radius:50%;background:#28c840;box-shadow:0 0 8px #28c840;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fcol h5{font-size:14px;font-weight:600;margin-bottom:14px}
.fcol a{display:block;color:var(--muted);font-size:13.5px;padding:5px 0}
.fcol a:hover{color:var(--ink)}
.foot-watermark{font-family:var(--serif);font-size:180px;font-weight:700;color:#0c0d10;text-align:center;line-height:.8;margin-top:-10px;pointer-events:none;user-select:none;white-space:nowrap}

/* ===== Auth 页面(login/signup) ===== */
.auth-wrap{min-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column}
.auth-silk{position:absolute;inset:0;z-index:0;pointer-events:none}
.auth-silk canvas{width:100%;height:100%}
.auth-top{position:relative;z-index:2;padding:22px 28px}
.auth-home{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:600;font-size:14px}
.auth-home:hover{color:var(--muted)}
.auth-main{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;padding:20px 20px 60px}
.auth-card{width:100%;max-width:440px;text-align:center}
.auth-logo{width:56px;height:56px;border-radius:14px;background:#fff;color:#000;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;font-size:26px;margin:0 auto 24px}
.auth-card h1{font-size:34px;font-weight:700;letter-spacing:-.02em}
.auth-sub{color:var(--muted);font-size:15px;margin-top:10px}
.auth-sub a{color:var(--ink);font-weight:600}
.auth-oauth{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:11px;background:var(--panel2);border:1px solid var(--line2);color:var(--ink);font-size:14px;font-weight:600;transition:all .15s;cursor:pointer}
.oauth-btn:hover{background:var(--panel3);border-color:#333)}
.oauth-btn svg{width:18px;height:18px}
.auth-or{display:flex;align-items:center;gap:16px;margin:26px 0;color:var(--muted2);font-size:13px}
.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--line2)}
.auth-field{text-align:left;margin-bottom:16px}
.auth-field label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}
.auth-inwrap{position:relative}
.auth-field input{width:100%;background:var(--panel2);border:1px solid var(--line2);border-radius:11px;padding:14px 16px;color:var(--ink);font-size:15px;font-family:inherit;transition:border .15s}
.auth-field input:focus{outline:none;border-color:#555}
.auth-field input::placeholder{color:var(--muted2)}
.auth-eye{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;padding:4px}
.auth-eye svg{width:18px;height:18px}
.auth-check{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);margin-bottom:18px;cursor:pointer}
.auth-check input{width:16px;height:16px;accent-color:#fff}
.auth-submit{width:100%;padding:14px;border-radius:11px;background:var(--panel3);border:1px solid var(--line2);color:var(--muted);font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}
.auth-submit:hover{background:#fff;color:#000;border-color:#fff}
.auth-legal{margin-top:24px;font-size:12.5px;color:var(--muted2);line-height:1.6}
.auth-legal a{color:var(--muted);text-decoration:underline}
.auth-icon{width:56px;height:56px;border-radius:50%;background:var(--panel2);border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--ink)}
.auth-icon svg{width:26px;height:26px}
.auth-icon.ok{background:#fff;color:#000;border-color:#fff}
.pw-rules{list-style:none;margin:12px 0 0;padding:0;text-align:left}
.pw-rules li{position:relative;padding-left:22px;font-size:13px;color:var(--muted2);line-height:1.9}
.pw-rules li::before{content:"○";position:absolute;left:0;color:var(--muted2)}
.pw-rules li.ok{color:var(--muted)}
.pw-rules li.ok::before{content:"✓";color:#fff}
.auth-error{color:#ff6b6b;font-size:13px;min-height:18px;margin:4px 0 10px;text-align:left}

@media(max-width:860px){
  .nav-mid{display:none}
  .nav-right{display:none}
  .hamb{display:flex}
  .mega-wrap{display:none!important}
  .hero{grid-template-columns:1fr;padding:12px 22px 36px;text-align:center;gap:8px}
  .hero h1{font-size:52px}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .glow-pill{margin-bottom:20px;order:1}
  .hero h1{order:2}
  .lede{margin:18px auto 0;order:3}
  .hero-cta{justify-content:center;flex-wrap:wrap;order:4;width:100%}
  .hero-cta .btn{flex:1;justify-content:center;min-width:140px}
  .hero-visual{min-height:200px;order:-1;margin-top:4px}
  .ai-canvas{width:200px;height:200px}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .logo-wall{grid-template-columns:repeat(2,1fr)}
  .feature h2,.voices h2,.cta-sec h2{font-size:34px}
  .code-tab{flex:1;text-align:center}
  .foot-in{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:repeat(2,1fr)}
  .foot-watermark{font-size:80px}
  .auth-oauth{grid-template-columns:1fr}
}
