/* 全局共通: 顶部导航 + 跑马灯（主页与30个子app共用）*/
.topnav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;transition:padding .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s;border-bottom:1px solid transparent}
.topnav.solid{background:rgba(10,14,20,.88);backdrop-filter:blur(16px) saturate(1.4);padding:12px 24px;border-bottom-color:var(--line-soft)}
.topnav .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.topnav .brand-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,rgba(0,229,255,.15),rgba(0,229,255,.03));border:1.5px solid rgba(0,229,255,.4);display:grid;place-items:center;color:var(--accent);box-shadow:0 0 16px rgba(0,229,255,.15),inset 0 1px 0 rgba(255,255,255,.08);font-family:"JetBrains Mono",monospace;font-size:14px;font-weight:700}
.topnav .nav-links{display:flex;gap:28px}
.topnav .nav-links a{font-size:13px;color:var(--muted);position:relative;padding-block:4px;transition:color .3s;text-decoration:none}
.topnav .nav-links a:hover{color:var(--ink)}
.topnav .nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--accent);transition:width .35s var(--ease)}
.topnav .nav-links a:hover::after{width:100%}
.topnav .nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--canvas);border-radius:var(--r-pill);padding:9px 20px;font-size:12px;font-weight:600;letter-spacing:.02em;transition:transform .3s var(--ease),box-shadow .3s;cursor:pointer;border:none;font-family:inherit}
.topnav .nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,229,255,.3)}
.topnav .nav-user{display:none;align-items:center;gap:8px;font-size:.76rem}
.topnav .nav-user.on{display:flex}
.topnav .nav-user .email-mini{color:var(--muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"JetBrains Mono",monospace;font-size:.7rem}
@media(max-width:760px){.topnav .nav-links{display:none}}

/* ═══ marquee (mono, scrolling sections) ═══ */
.marquee{background:var(--world);overflow:hidden;padding:14px 0;border-block:1px solid var(--line-soft);margin-top:0}
.marquee-track{display:flex;width:max-content;animation:mq 75s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.marquee-track span{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;padding-right:44px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.08em}
.marquee-track span .sep{color:var(--accent);font-weight:700}

