:root {
            --primary: #059669;
            --accent: #14b8a6;
            --bg: #f0fdfa;
            --ink: #134e4a;
            --card-radius: 24px;
            --pill-radius: 100px;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        body {
            background-color: var(--bg);
            color: var(--ink);
            font-family: 'Inter', system-ui, -apple-system, sans-serif;
            line-height: 1.5;
            overflow-x: hidden;
            position: relative;
        }

        /* 噪点纹理 (顶部细微) */
        body::before {
            content: "";
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 220px;
            pointer-events: none;
            z-index: 1;
            opacity: 0.35;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2" result="n"/><feColorMatrix type="saturate" values="0"/><feComponentTransfer><feFuncA type="linear" slope="0.05"/></feComponentTransfer></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>');
        }

        h1, h2, h3, .brand-font, .display-5, .display-4 {
            font-family: 'Baloo 2', 'Inter', cursive;
            font-weight: 700;
            letter-spacing: 0.3px;
        }

        a { text-decoration: none; color: var(--ink); }

        /* 导航栏 */
        .navbar-custom {
            background: rgba(240,253,250,0.8);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(5,150,105,0.12);
            padding: 0.8rem 2rem;
            z-index: 10;
        }
        .navbar-brand {
            font-size: 2rem;
            font-weight: 800;
            color: var(--ink) !important;
            letter-spacing: 0;
            display: flex;
            align-items: center;
            gap: 0.2rem;
        }
        .navbar-brand i {
            color: var(--primary);
            font-size: 1.8rem;
            margin-right: 6px;
        }
        .nav-link {
            font-weight: 600;
            color: var(--ink) !important;
            margin: 0 0.5rem;
            border-radius: var(--pill-radius);
            transition: 0.2s;
        }
        .nav-link:hover {
            background: rgba(20,184,166,0.1);
            color: var(--primary) !important;
        }
        .navbar-toggler {
            border: none;
            background: transparent;
            font-size: 1.8rem;
            color: var(--ink);
        }

        /* Bento 网格基础 */
        .bento-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-auto-rows: minmax(120px, auto);
            gap: 20px;
            padding: 0 0 2rem 0;
        }

        .bento-card {
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(4px);
            border-radius: var(--card-radius);
            border: 1px solid rgba(5,150,105,0.08);
            box-shadow: 0 10px 25px -8px rgba(19,78,74,0.08);
            padding: 1.8rem 1.4rem;
            transition: all 0.25s ease;
            opacity: 0; /* 滚动渐显 */
            transform: translateY(20px);
            transition: opacity 0.6s, transform 0.6s;
        }
        .bento-card.show {
            opacity: 1;
            transform: translateY(0);
        }
        .bento-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 35px -12px rgba(5,150,105,0.18);
            border-color: rgba(5,150,105,0.3);
        }

        .card-img-hover {
            overflow: hidden;
            border-radius: 18px;
            margin-bottom: 12px;
            background: #d7f2e8;
        }
        .card-img-hover img {
            width: 100%;
            height: 120px;
            object-fit: cover;
            transition: 0.3s;
        }
        .card-img-hover:hover img {
            transform: scale(1.06);
        }
        .mask-layer {
            position: relative;
        }
        .mask-layer::after {
            content: "🔍 叼嘿软件精选";
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(transparent, rgba(5,150,105,0.7));
            color: white;
            font-weight: 600;
            padding: 8px 10px;
            font-size: 0.8rem;
            opacity: 0;
            transition: 0.3s;
            border-radius: 0 0 18px 18px;
        }
        .card-img-hover:hover .mask-layer::after {
            opacity: 1;
        }

        /* 各种网格占位 */
        .col-span-2 { grid-column: span 2; }
        .col-span-3 { grid-column: span 3; }
        .row-span-2 { grid-row: span 2; }

        /* Hero渐变字 */
        .gradient-text {
            background: linear-gradient(135deg, #059669 0%, #14b8a6 80%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            display: inline-block;
        }

        /* 浮动装饰 */
        .float-deco {
            position: relative;
        }
        .float-deco span {
            position: absolute;
            font-size: 2.5rem;
            color: rgba(5,150,105,0.25);
            animation: float 6s infinite alternate ease-in-out;
        }
        @keyframes float {
            0% { transform: translateY(0) rotate(0deg); }
            100% { transform: translateY(-20px) rotate(5deg); }
        }

        /* 标签页 */
        .tab-pills .nav-link {
            border-radius: var(--pill-radius);
            background: transparent;
            color: var(--ink);
            font-weight: 600;
            padding: 0.4rem 1.2rem;
            margin: 0 4px;
        }
        .tab-pills .nav-link.active {
            background: var(--primary);
            color: #fff !important;
        }

        /* 时间线 */
        .timeline-wrap {
            position: relative;
            padding-left: 30px;
        }
        .timeline-item {
            position: relative;
            padding-bottom: 1.8rem;
            border-left: 2px solid rgba(5,150,105,0.3);
            padding-left: 22px;
        }
        .timeline-item::before {
            content: "";
            position: absolute;
            left: -8px;
            top: 0;
            width: 16px;
            height: 16px;
            background: var(--accent);
            border-radius: 50%;
            box-shadow: 0 0 0 4px rgba(20,184,166,0.15);
        }

        /* 对比表 */
        .table-custom {
            border-collapse: separate;
            border-spacing: 0 10px;
            width: 100%;
        }
        .table-custom td, .table-custom th {
            background: rgba(255,255,255,0.7);
            padding: 14px 18px;
            border-radius: 18px;
        }

        /* FAQ 手风琴 */
        .faq-card {
            background: white;
            border-radius: 20px;
            box-shadow: 0 4px 14px rgba(0,0,0,0.02);
            padding: 0.8rem 1.5rem;
            margin-bottom: 12px;
            border: 1px solid #c3eee7;
        }

        /* 页脚 / 友链 */
        .friend-links {
            background: rgba(20,184,166,0.05);
            border-radius: 30px;
            padding: 2rem;
        }

        /* 数字动画 */
        .counter-stat {
            font-size: 3rem;
            font-weight: 800;
            color: var(--primary);
        }

        /* 错落卡片延迟 */
        .delay-1 { transition-delay: 0.1s; }
        .delay-2 { transition-delay: 0.2s; }
        .delay-3 { transition-delay: 0.3s; }
        .delay-4 { transition-delay: 0.4s; }

        /* 按钮全圆 */
        .btn-pill {
            border-radius: var(--pill-radius);
            padding: 0.6rem 1.8rem;
            font-weight: 600;
        }

        @media (max-width: 768px) {
            .bento-grid { grid-template-columns: repeat(2, 1fr); }
            .col-span-2, .col-span-3 { grid-column: span 2; }
        }
        @media (max-width: 480px) {
            .bento-grid { grid-template-columns: 1fr; }
            .col-span-2, .col-span-3 { grid-column: span 1; }
            .display-4 { font-size: 2.6rem; }
        }