/**
 * 平台深色风格的共用部分（landing page 那种：星空、蓝青光、胶囊按钮、EN/中文/BM）。
 * index.html 自己带一份完整的，这份给其他页用。颜色都在 :root。
 */
:root { --bg:#05070d; --ink:#f4f7ff; --sub:#9aa6bf; --dim:#5f6b84; --line:rgba(255,255,255,.08);
  --blue:#2f6bff; --blue2:#5b8cff; --cyan:#46e3ff; --glow:rgba(47,107,255,.55); }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.65 Inter, "Noto Sans SC", -apple-system, sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
html[lang="zh"] body { font-family:"Noto Sans SC", Inter, sans-serif; }
a { color:inherit; text-decoration:none; }
.w { max-width:1200px; margin:0 auto; padding:0 24px; }
svg.i { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
#stars { position:fixed; inset:0; z-index:0; pointer-events:none; }
main, header.top, footer { position:relative; z-index:1; }

.btn { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:10px; height:50px; padding:0 24px; border-radius:999px; border:0; cursor:pointer;
  font:600 15px/1 Inter, "Noto Sans SC", sans-serif; color:#fff; background:linear-gradient(180deg, #4d82ff, #2358f0);
  box-shadow:0 0 0 1px rgba(255,255,255,.14) inset, 0 12px 40px -8px var(--glow); transition:transform .2s, box-shadow .2s; }
.btn:hover { transform:translateY(-1px); }
.btn::after { content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; transform:skewX(-20deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); animation:shine 3.2s ease-in-out infinite; }
@keyframes shine { 0%,55% { left:-60%; } 100% { left:130%; } }
.btn.ghost { background:rgba(255,255,255,.04); box-shadow:0 0 0 1px var(--line) inset; }
.btn.ghost::after { display:none; }
.btn.ghost:hover { background:rgba(255,255,255,.08); }
.btn.sm { height:40px; padding:0 18px; font-size:14px; }

.top { position:sticky; top:0; z-index:40; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); background:rgba(5,7,13,.55); border-bottom:1px solid var(--line); }
.top .w { display:flex; align-items:center; justify-content:space-between; gap:20px; height:70px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; font-size:19px; letter-spacing:-.02em; }
.brand i, .brand img { width:28px; height:28px; border-radius:9px; }
.brand i { background:conic-gradient(from 200deg, var(--blue), var(--cyan), #a78bfa, var(--blue)); }
.brand img { filter:drop-shadow(0 0 14px var(--glow)); }
.menu { display:flex; gap:28px; font-size:14.5px; color:var(--sub); }
.menu a:hover, .menu a.on { color:var(--ink); }
.right { display:flex; align-items:center; gap:12px; }
.lang { display:flex; padding:3px; border-radius:999px; background:rgba(255,255,255,.04); box-shadow:0 0 0 1px var(--line) inset; font-size:12.5px; font-weight:600; }
.lang button { border:0; background:none; color:var(--sub); padding:6px 10px; border-radius:999px; cursor:pointer; font:inherit; }
.lang button.on { background:rgba(47,107,255,.9); color:#fff; box-shadow:0 0 16px var(--glow); }

.kick { display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--blue2); margin-bottom:14px; }
.grad { background:linear-gradient(180deg, #fff 35%, #9fb0d6); -webkit-background-clip:text; background-clip:text; color:transparent; }
footer { border-top:1px solid var(--line); padding:34px 0 50px; color:var(--dim); font-size:13.5px; }
footer .w { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.up { opacity:0; transform:translateY(20px); transition:opacity .7s, transform .7s cubic-bezier(.2,.8,.2,1); }
.up.in { opacity:1; transform:none; }
@media (max-width:900px) { .menu { display:none; } .right .btn.sm { display:none; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } }
