/* roulang page: index */
:root {
            --mg-primary: #1e50e2;
            --mg-primary-dark: #123bb0;
            --mg-primary-light: #eff4ff;
            --mg-accent: #0284c7;
            --mg-success: #059669;
            --mg-text-main: #0f172a;
            --mg-text-muted: #64748b;
            --mg-border: #e2e8f0;
            --mg-bg-light: #f8fafc;
            --mg-bg-surface: #ffffff;
            --mg-radius-sm: 8px;
            --mg-radius-md: 12px;
            --mg-radius-lg: 18px;
            --mg-shadow-subtle: 0 4px 16px rgba(15, 23, 42, 0.04);
            --mg-shadow-card: 0 10px 30px rgba(30, 80, 226, 0.07);
            --mg-shadow-hover: 0 16px 40px rgba(30, 80, 226, 0.12);
            --mg-transition: all 0.28s ease;
        }

        /* 基础重置 */
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: var(--mg-text-main);
            background-color: var(--mg-bg-light);
            line-height: 1.65;
            -webkit-font-smoothing: antialiased;
        }

        a {
            text-decoration: none;
            color: inherit;
            transition: var(--mg-transition);
        }

        /* 顶部定位与机房节点工具条 */
        .top-location-bar {
            background-color: #0b1528;
            color: #94a3b8;
            font-size: 13px;
            padding: 7px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }
        .top-location-bar a:hover {
            color: #ffffff;
        }
        .node-indicator {
            display: inline-block;
            width: 8px;
            height: 8px;
            background-color: #10b981;
            border-radius: 50%;
            margin-right: 6px;
            box-shadow: 0 0 8px #10b981;
        }

        /* 核心导航栏 */
        .site-header {
            background: rgba(255, 255, 255, 0.96);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--mg-border);
            position: sticky;
            top: 0;
            z-index: 1040;
            transition: var(--mg-transition);
        }
        .brand-logo {
            font-size: 24px;
            font-weight: 800;
            color: var(--mg-primary);
            letter-spacing: -0.5px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .brand-icon {
            width: 38px;
            height: 38px;
            background: linear-gradient(135deg, var(--mg-primary) 0%, var(--mg-accent) 100%);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            font-size: 18px;
            box-shadow: 0 4px 12px rgba(30, 80, 226, 0.25);
        }
        .nav-link-custom {
            font-weight: 600;
            color: var(--mg-text-main);
            padding: 8px 18px;
            border-radius: 6px;
        }
        .nav-link-custom:hover,
        .nav-link-custom.active {
            color: var(--mg-primary);
            background-color: var(--mg-primary-light);
        }

        /* 按钮体系 */
        .btn-mg-primary {
            background-color: var(--mg-primary);
            color: #ffffff;
            font-weight: 600;
            padding: 10px 24px;
            border-radius: var(--mg-radius-sm);
            border: 1px solid var(--mg-primary);
            transition: var(--mg-transition);
        }
        .btn-mg-primary:hover {
            background-color: var(--mg-primary-dark);
            border-color: var(--mg-primary-dark);
            color: #ffffff;
            transform: translateY(-2px);
            box-shadow: 0 6px 18px rgba(30, 80, 226, 0.25);
        }
        .btn-mg-outline {
            background-color: transparent;
            color: var(--mg-primary);
            font-weight: 600;
            padding: 10px 24px;
            border-radius: var(--mg-radius-sm);
            border: 1.5px solid var(--mg-primary);
            transition: var(--mg-transition);
        }
        .btn-mg-outline:hover {
            background-color: var(--mg-primary-light);
            color: var(--mg-primary);
            transform: translateY(-2px);
        }

        /* 紧凑型门户首屏 Hero */
        .hero-portal {
            background: linear-gradient(180deg, #f0f5ff 0%, #f8fafc 100%);
            padding: 56px 0 48px;
            border-bottom: 1px solid var(--mg-border);
        }
        .hero-badge {
            display: inline-flex;
            align-items: center;
            background: #ffffff;
            border: 1px solid #dbeafe;
            color: var(--mg-primary);
            padding: 6px 14px;
            border-radius: 30px;
            font-size: 13px;
            font-weight: 600;
            margin-bottom: 16px;
            box-shadow: 0 2px 6px rgba(30, 80, 226, 0.05);
        }
        .hero-h1 {
            font-size: 2.35rem;
            font-weight: 800;
            line-height: 1.35;
            color: var(--mg-text-main);
            margin-bottom: 16px;
            letter-spacing: -0.5px;
        }
        .hero-desc {
            font-size: 1.05rem;
            color: var(--mg-text-muted);
            margin-bottom: 28px;
            max-width: 680px;
        }
        .portal-stat-pill {
            background: #ffffff;
            border: 1px solid var(--mg-border);
            padding: 14px 20px;
            border-radius: var(--mg-radius-md);
            display: flex;
            align-items: center;
            gap: 14px;
            box-shadow: var(--mg-shadow-subtle);
        }
        .portal-stat-pill .icon-wrap {
            width: 44px;
            height: 44px;
            background: var(--mg-primary-light);
            color: var(--mg-primary);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
        }

        /* 通用板块规范 */
        .section-block {
            padding: 72px 0;
            position: relative;
        }
        .section-bg-white {
            background-color: var(--mg-bg-surface);
        }
        .section-bg-tint {
            background-color: var(--mg-bg-light);
        }
        .section-header {
            margin-bottom: 46px;
        }
        .section-tag {
            color: var(--mg-primary);
            font-weight: 700;
            text-transform: uppercase;
            font-size: 13px;
            letter-spacing: 1px;
            margin-bottom: 8px;
            display: block;
        }
        .section-title {
            font-size: 2rem;
            font-weight: 800;
            color: var(--mg-text-main);
            margin-bottom: 14px;
        }
        .section-lead {
            font-size: 1rem;
            color: var(--mg-text-muted);
            max-width: 720px;
            margin: 0 auto;
        }

        /* 卡片系统 */
        .mg-card {
            background: #ffffff;
            border: 1px solid var(--mg-border);
            border-radius: var(--mg-radius-md);
            padding: 28px;
            transition: var(--mg-transition);
            height: 100%;
            display: flex;
            flex-direction: column;
            box-shadow: var(--mg-shadow-subtle);
        }
        .mg-card:hover {
            transform: translateY(-4px);
            border-color: #cbd5e1;
            box-shadow: var(--mg-shadow-hover);
        }
        .card-icon-box {
            width: 52px;
            height: 52px;
            border-radius: 12px;
            background: var(--mg-primary-light);
            color: var(--mg-primary);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            margin-bottom: 20px;
        }

        /* 架构与技术参数条目 */
        .tech-pill {
            background: #f1f5f9;
            color: #475569;
            font-size: 12px;
            font-weight: 600;
            padding: 4px 10px;
            border-radius: 4px;
            display: inline-block;
            margin-right: 6px;
            margin-bottom: 6px;
        }

        /* 流程步骤卡片 */
        .flow-step-item {
            position: relative;
            background: #ffffff;
            border: 1px solid var(--mg-border);
            border-radius: var(--mg-radius-md);
            padding: 24px;
            height: 100%;
        }
        .flow-num {
            font-size: 32px;
            font-weight: 900;
            color: #cbd5e1;
            line-height: 1;
            margin-bottom: 12px;
        }

        /* 团队与岗位卡片 */
        .job-card {
            background: #ffffff;
            border-left: 4px solid var(--mg-primary);
            border-top: 1px solid var(--mg-border);
            border-right: 1px solid var(--mg-border);
            border-bottom: 1px solid var(--mg-border);
            border-radius: 0 var(--mg-radius-sm) var(--mg-radius-sm) 0;
            padding: 22px;
            transition: var(--mg-transition);
        }
        .job-card:hover {
            border-left-color: var(--mg-accent);
            box-shadow: var(--mg-shadow-card);
            transform: translateY(-2px);
        }

        /* 体验沙箱代码预览 */
        .code-preview-box {
            background: #0f172a;
            color: #e2e8f0;
            border-radius: var(--mg-radius-md);
            padding: 20px;
            font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
            font-size: 13px;
            overflow-x: auto;
        }

        /* 页脚设计 */
        .site-footer {
            background-color: #0b1320;
            color: #94a3b8;
            padding: 64px 0 28px;
            border-top: 1px solid #1e293b;
        }
        .site-footer h6 {
            color: #ffffff;
            font-weight: 700;
            margin-bottom: 18px;
            font-size: 15px;
        }
        .footer-links-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .footer-links-list li {
            margin-bottom: 10px;
        }
        .footer-links-list a:hover {
            color: #ffffff;
        }

        @media (max-width: 991px) {
            .hero-h1 {
                font-size: 1.95rem;
            }
            .section-block {
                padding: 56px 0;
            }
        }
        @media (max-width: 767px) {
            .hero-h1 {
                font-size: 1.65rem;
            }
            .section-title {
                font-size: 1.6rem;
            }
        }
