/* roulang page: index */
:root {
            --brand-primary: #1E3A8A;
            --brand-accent: #2563EB;
            --brand-sky: #0EA5E9;
            --tech-dark: #0F172A;
            --bg-light: #F8FAFC;
        }
        body {
            background-color: var(--bg-light);
            color: #334155;
            -webkit-font-smoothing: antialiased;
        }
        .hero-mesh {
            background-image: radial-gradient(at 0% 0%, rgba(37, 99, 235, 0.12) 0px, transparent 50%),
                              radial-gradient(at 100% 100%, rgba(14, 165, 233, 0.08) 0px, transparent 50%),
                              url('/assets/images/3d28822e9e597c7b.png');
            background-size: cover;
            background-position: center;
        }
        .hash-code {
            font-family: 'SFMono-Regular', Menlo, Monaco, Consolas, monospace;
            word-break: break-all;
        }
        .soft-card {
            border: 1px solid rgba(226, 232, 240, 0.8);
            box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .soft-card:hover {
            box-shadow: 0 20px 30px -6px rgba(15, 23, 42, 0.1);
            transform: translateY(-2px);
        }
        .status-pulse {
            animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }
        @keyframes pulse-ring {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.4; transform: scale(1.15); }
        }
        .banner-bg-cover {
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }
