/* roulang page: index */
:root {
            --bg-canvas: #F8FAFC;
            --bg-surface: #FFFFFF;
            --bg-deep: #090D16;
            --border-line: #E2E8F0;
            --border-dark: #1E293B;
            --color-primary: #1E3A8A;
            --color-copper: #D97706;
            --color-signal: #059669;
            --text-main: #0F172A;
            --text-muted: #64748B;
        }

        body {
            background-color: var(--bg-canvas);
            color: var(--text-main);
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            letter-spacing: 0.01em;
            line-height: 1.65;
            -webkit-font-smoothing: antialiased;
        }

        .silicon-grid {
            background-image: linear-gradient(to right, rgba(226, 232, 240, 0.45) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(226, 232, 240, 0.45) 1px, transparent 1px);
            background-size: 32px 32px;
        }

        .silicon-grid-dark {
            background-image: linear-gradient(to right, rgba(30, 41, 59, 0.5) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(30, 41, 59, 0.5) 1px, transparent 1px);
            background-size: 32px 32px;
        }

        .metric-digits {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            letter-spacing: -0.03em;
        }

        .blueprint-card {
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
            border: 1px solid var(--border-line);
        }

        .blueprint-card:hover {
            border-color: #D97706;
            box-shadow: 0 8px 24px -8px rgba(15, 23, 42, 0.08);
            transform: translateY(-2px);
        }

        .dark-blueprint-card {
            background-color: #0F172A;
            border: 1px solid #1E293B;
            transition: all 0.25s ease;
        }

        .dark-blueprint-card:hover {
            border-color: #38BDF8;
            box-shadow: 0 8px 24px -6px rgba(56, 189, 248, 0.12);
        }

        /* Accordion transition utility */
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out, opacity 0.2s ease-out;
            opacity: 0;
        }

        .faq-item.active .faq-answer {
            max-height: 240px;
            opacity: 1;
        }

        .faq-item.active .faq-icon {
            transform: rotate(180deg);
        }
