/* roulang page: index */
:root {
            --primary: #0E7490;
            --primary-hover: #155E75;
            --secondary: #059669;
            --secondary-hover: #047857;
            --dark-surface: #0F172A;
            --slate-body: #1E293B;
            --slate-muted: #475569;
            --border-soft: rgba(226, 232, 240, 0.8);
            --card-shadow: 0 10px 25px -5px rgba(14, 116, 144, 0.08);
            --card-hover-shadow: 0 20px 35px -5px rgba(14, 116, 144, 0.16);
        }

        body {
            color: var(--slate-body);
            background-color: #F8FAFC;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            -webkit-font-smoothing: antialiased;
        }

        .brand-gradient-btn {
            background: linear-gradient(135deg, #0E7490 0%, #059669 100%);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .brand-gradient-btn:hover {
            opacity: 0.95;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px -3px rgba(14, 116, 144, 0.35);
        }

        .brand-gradient-text {
            background: linear-gradient(135deg, #0E7490 0%, #059669 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .brand-subtle-gradient {
            background: linear-gradient(180deg, rgba(240, 253, 250, 0.7) 0%, rgba(248, 250, 252, 1) 100%);
        }

        .medical-card {
            background: #FFFFFF;
            border: 1px solid var(--border-soft);
            border-radius: 1.25rem;
            box-shadow: var(--card-shadow);
            transition: all 0.35s ease;
        }
        .medical-card:hover {
            transform: translateY(-4px);
            border-color: rgba(14, 116, 144, 0.25);
            box-shadow: var(--card-hover-shadow);
        }

        .pulse-dot {
            position: relative;
        }
        .pulse-dot::before {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: currentColor;
            opacity: 0.75;
            animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
        }

        @keyframes ping {
            75%, 100% {
                transform: scale(2.2);
                opacity: 0;
            }
        }

        details > summary {
            list-style: none;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
